Description

Book Synopsis
Donis Marshall has more than twenty years of experience in designing and building enterprise software with Microsoft technologies for leading companies in multiple industries. An endorsed trainer for Microsoft Global Learning Services, he has trained Microsoft developers and engineers for many years. His Microsoft Press books include Solid Code and Programming Microsoft Visual C#.

Table of Contents

Chapter 1: Introduction to Rust 1

Introduction 1

Features 4

Rust Terminology 6

Tools 7

Summary 8

Chapter 2: Getting Started 9

Preliminaries 9

Rust and Windows 10

Installing Rust 10

Advanced Rustup 11

“Hello, World” 11

Compile and Run 12

Cargo 13

Library 15

Comments 17

Published Crates 20

Main Function 21

Command-Line Arguments 22

Summary 23

Chapter 3: Variables 25

Terminology 25

Variables 26

Primitives 26

Integer Types 27

Overflow 28

Notations 29

Floating Point Types 30

Floating Point Constants 30

Infinity 31

NaN 31

Numeric Ranges 32

Casting 33

Boolean Types 34

Char 34

Pointers 35

Operators 37

Summary 40

Chapter 4: Strings 41

Str 41

String 42

Length 43

Extending a String 44

Capacity 45

Accessing a String Value 46

String Characters 48

Deref Coercion 48

Formatted String 49

Helpful Functions 49

Summary 52

Chapter 5: Console 53

Print 53

Positional Arguments 54

Variable Arguments 55

Named Arguments 55

Padding, Alignment, and Precision 56

Base 58

Developer Facing 59

Write! Macro 60

Display Trait 60

Debug Trait 62

Format! Macro 63

Console Read and Write 63

Summary 64

Chapter 6: Control Flow 65

The if Expression 65

The while Expression 68

The for Expression 70

The loop Expression 73

The Iterator Trait 76

Summary 78

Chapter 7: Collections 79

Arrays 79

Vectors 86

HashMap 91

Summary 95

Chapter 8: Ownership 97

Stack and Heap Memory 98

Shallow versus Deep Copy 98

Car Analogy 99

Move Semantics 99

Borrow 101

Copy Semantics 101

Clone Trait 102

Copy Trait 103

Clone Trait 104

Summary 105

Chapter 9: Lifetimes 107

Introduction to Lifetimes 108

Function Headers and Lifetimes 109

Lifetime Annotation 111

Lifetime Elision 112

Complex Lifetimes 113

Sharing a Lifetime 114

Static Lifetimes 115

Structs and Lifetimes 116

Methods and Lifetimes 116

Subtyping Lifetimes 118

Anonymous Lifetimes 120

Generics and Lifetimes 121

Summary 121

Chapter 10: References 123

Declaration 124

Borrowing 124

Dereferencing 125

Comparing References 126

Reference Notation 127

Reference to Reference 128

Mutability 129

Limits to Multiple Borrowers 130

Summary 131

Chapter 11: Functions 133

Function Definition 133

Parameters 134

Function Return 136

Const Functions 138

Nested Functions 139

Function Pointers 140

Function Aliases 142

Summary 143

Chapter 12: Error Handling 145

Handling Error Handling 145

The Result Enum 146

The Option Enum 147

Panics 148

Unwrapping 154

Match Pattern for Result and Option 156

Map 158

Rich Errors 160

Custom Errors 161

Summary 163

Chapter 13: Structures 165

Alternate Initialization 167

Move Semantics 169

Mutability 170

Methods 170

Self 172

Associated Functions 173

Impl Blocks 174

Operator Overloading 175

Tuple Struct 179

Summary 180

Chapter 14: Generics 181

Generic Functions 182

Bounds 186

The where Clause 188

Structs 190

Associated Functions 194

Enums 195

Generic Traits 197

Explicit Specialization 200

Summary 205

Chapter 15: Patterns 207

Let Statement 207

Wildcards 208

Complex Patterns 209

Ownership 210

Irrefutable 212

Ranges 213

Multiple Patterns 214

Control Flow 215

Structs 216

Functions 219

Match Expressions 220

Match Guards 224

Summary 227

Chapter 16: Closures 229

“Hello, World” 229

Closure Syntax 230

Closed Over 231

Closures as Function Arguments 233

Closures as Function Return Values 234

Implementation of Closures 235

Matrix Example 242

Summary 244

Chapter 17: Traits 245

Trait Definition 245

Default Functions 248

Marker Trait 249

Associated Functions 249

Associated Types 251

Extension Methods 253

Fully Qualified Syntax 254

Supertraits 257

Static Dispatch 260

Dynamic Dispatch 262

Enums and Traits 263

Summary 265

Chapter 18: Threads 1 267

Synchronous Function Calls 268

Threads 269

The Thread Type 273

Processor Time 274

Builder 275

Communicating Sequential Process 276

Asynchronous Channel 277

Synchronous Channel 279

Rendezvous Channel 280

The try Methods 281

Store Example 286

Summary 290

Chapter 19: Threads 2 291

Mutex 291

Nonscoped Mutex 294

Mutex Poisoning 296

Reader-Writer Lock 297

Condition Variables 299

Atomic Operations 301

Summary 305

Chapter 20: Memory 307

Stacks 307

Static Values 309

The Heap 310

Interior Mutability 312

RefCell 316

OnceCell 318

Summary 319

Chapter 21: Macros 321

Tokens 322

Declarative Macros 323

Repetition 325

Multiple Macro Matchers 327

Procedural Macros 328

Derive Macros 329

Attribute Macros 332

Function-Like Macros 334

Summary 335

Chapter 22: Interoperability 337

Foreign Function Interface 337

Basic Example 339

Libc Crate 341

Structs 342

Bindgen 346

C Calling Rust Functions 347

Cbindgen 348

Summary 351

Chapter 23: Modules 353

Module Items 354

Module Files 358

The path Attribute 360

Functions and Modules 361

The crate, super, and self Keywords 362

Legacy Model 363

Summary 365

Index 367

Programming with Rust

    Product form

    £30.59

    Includes FREE delivery

    RRP £33.99 – you save £3.40 (10%)

    Order before 4pm today for delivery by Wed 17 Jun 2026.

    A Paperback / softback by Donis Marshall


      View other formats and editions of Programming with Rust by Donis Marshall

      Publisher: Pearson Education (US)
      Publication Date: 03/01/2024
      ISBN13: 9780137889655, 978-0137889655
      ISBN10: 0137889658

      Description

      Book Synopsis
      Donis Marshall has more than twenty years of experience in designing and building enterprise software with Microsoft technologies for leading companies in multiple industries. An endorsed trainer for Microsoft Global Learning Services, he has trained Microsoft developers and engineers for many years. His Microsoft Press books include Solid Code and Programming Microsoft Visual C#.

      Table of Contents

      Chapter 1: Introduction to Rust 1

      Introduction 1

      Features 4

      Rust Terminology 6

      Tools 7

      Summary 8

      Chapter 2: Getting Started 9

      Preliminaries 9

      Rust and Windows 10

      Installing Rust 10

      Advanced Rustup 11

      “Hello, World” 11

      Compile and Run 12

      Cargo 13

      Library 15

      Comments 17

      Published Crates 20

      Main Function 21

      Command-Line Arguments 22

      Summary 23

      Chapter 3: Variables 25

      Terminology 25

      Variables 26

      Primitives 26

      Integer Types 27

      Overflow 28

      Notations 29

      Floating Point Types 30

      Floating Point Constants 30

      Infinity 31

      NaN 31

      Numeric Ranges 32

      Casting 33

      Boolean Types 34

      Char 34

      Pointers 35

      Operators 37

      Summary 40

      Chapter 4: Strings 41

      Str 41

      String 42

      Length 43

      Extending a String 44

      Capacity 45

      Accessing a String Value 46

      String Characters 48

      Deref Coercion 48

      Formatted String 49

      Helpful Functions 49

      Summary 52

      Chapter 5: Console 53

      Print 53

      Positional Arguments 54

      Variable Arguments 55

      Named Arguments 55

      Padding, Alignment, and Precision 56

      Base 58

      Developer Facing 59

      Write! Macro 60

      Display Trait 60

      Debug Trait 62

      Format! Macro 63

      Console Read and Write 63

      Summary 64

      Chapter 6: Control Flow 65

      The if Expression 65

      The while Expression 68

      The for Expression 70

      The loop Expression 73

      The Iterator Trait 76

      Summary 78

      Chapter 7: Collections 79

      Arrays 79

      Vectors 86

      HashMap 91

      Summary 95

      Chapter 8: Ownership 97

      Stack and Heap Memory 98

      Shallow versus Deep Copy 98

      Car Analogy 99

      Move Semantics 99

      Borrow 101

      Copy Semantics 101

      Clone Trait 102

      Copy Trait 103

      Clone Trait 104

      Summary 105

      Chapter 9: Lifetimes 107

      Introduction to Lifetimes 108

      Function Headers and Lifetimes 109

      Lifetime Annotation 111

      Lifetime Elision 112

      Complex Lifetimes 113

      Sharing a Lifetime 114

      Static Lifetimes 115

      Structs and Lifetimes 116

      Methods and Lifetimes 116

      Subtyping Lifetimes 118

      Anonymous Lifetimes 120

      Generics and Lifetimes 121

      Summary 121

      Chapter 10: References 123

      Declaration 124

      Borrowing 124

      Dereferencing 125

      Comparing References 126

      Reference Notation 127

      Reference to Reference 128

      Mutability 129

      Limits to Multiple Borrowers 130

      Summary 131

      Chapter 11: Functions 133

      Function Definition 133

      Parameters 134

      Function Return 136

      Const Functions 138

      Nested Functions 139

      Function Pointers 140

      Function Aliases 142

      Summary 143

      Chapter 12: Error Handling 145

      Handling Error Handling 145

      The Result Enum 146

      The Option Enum 147

      Panics 148

      Unwrapping 154

      Match Pattern for Result and Option 156

      Map 158

      Rich Errors 160

      Custom Errors 161

      Summary 163

      Chapter 13: Structures 165

      Alternate Initialization 167

      Move Semantics 169

      Mutability 170

      Methods 170

      Self 172

      Associated Functions 173

      Impl Blocks 174

      Operator Overloading 175

      Tuple Struct 179

      Summary 180

      Chapter 14: Generics 181

      Generic Functions 182

      Bounds 186

      The where Clause 188

      Structs 190

      Associated Functions 194

      Enums 195

      Generic Traits 197

      Explicit Specialization 200

      Summary 205

      Chapter 15: Patterns 207

      Let Statement 207

      Wildcards 208

      Complex Patterns 209

      Ownership 210

      Irrefutable 212

      Ranges 213

      Multiple Patterns 214

      Control Flow 215

      Structs 216

      Functions 219

      Match Expressions 220

      Match Guards 224

      Summary 227

      Chapter 16: Closures 229

      “Hello, World” 229

      Closure Syntax 230

      Closed Over 231

      Closures as Function Arguments 233

      Closures as Function Return Values 234

      Implementation of Closures 235

      Matrix Example 242

      Summary 244

      Chapter 17: Traits 245

      Trait Definition 245

      Default Functions 248

      Marker Trait 249

      Associated Functions 249

      Associated Types 251

      Extension Methods 253

      Fully Qualified Syntax 254

      Supertraits 257

      Static Dispatch 260

      Dynamic Dispatch 262

      Enums and Traits 263

      Summary 265

      Chapter 18: Threads 1 267

      Synchronous Function Calls 268

      Threads 269

      The Thread Type 273

      Processor Time 274

      Builder 275

      Communicating Sequential Process 276

      Asynchronous Channel 277

      Synchronous Channel 279

      Rendezvous Channel 280

      The try Methods 281

      Store Example 286

      Summary 290

      Chapter 19: Threads 2 291

      Mutex 291

      Nonscoped Mutex 294

      Mutex Poisoning 296

      Reader-Writer Lock 297

      Condition Variables 299

      Atomic Operations 301

      Summary 305

      Chapter 20: Memory 307

      Stacks 307

      Static Values 309

      The Heap 310

      Interior Mutability 312

      RefCell 316

      OnceCell 318

      Summary 319

      Chapter 21: Macros 321

      Tokens 322

      Declarative Macros 323

      Repetition 325

      Multiple Macro Matchers 327

      Procedural Macros 328

      Derive Macros 329

      Attribute Macros 332

      Function-Like Macros 334

      Summary 335

      Chapter 22: Interoperability 337

      Foreign Function Interface 337

      Basic Example 339

      Libc Crate 341

      Structs 342

      Bindgen 346

      C Calling Rust Functions 347

      Cbindgen 348

      Summary 351

      Chapter 23: Modules 353

      Module Items 354

      Module Files 358

      The path Attribute 360

      Functions and Modules 361

      The crate, super, and self Keywords 362

      Legacy Model 363

      Summary 365

      Index 367

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account