Rust Documentation
Constants
Enums
Fields
Functions
Guides
- *-apple-darwin
- *-apple-ios
- *-apple-ios-macabi
- *-apple-tvos
- *-apple-visionos
- *-apple-watchos
- *-espidf
- *-kmc-solid_*
- *-linux-android and *-linux-androideabi
- *-nuttx-elf
- *-pc-windows-gnullvm
- *-unikraft-linux-musl
- *-unknown-freebsd
- *-unknown-hermit
- *-unknown-linux-ohos
- *-unknown-netbsd
- *-unknown-openbsd
- *-unknown-redox
- *-unknown-uefi
- *-win7-windows-msvc
- *-wrs-vxworks
- A Closer Look at the Traits for Async
- A First Attempt
- A little C with your Rust
- A little Rust with your C
- A no_std Rust Environment
- Accepting Command Line Arguments
- Add IntoIterator for Box<[T]>
- Adding a new lint
- Additions to the prelude
- Advanced Features
- Advanced Functions and Closures
- Advanced Traits
- Advanced Types
- Advanced features
- Advanced migration strategies
- All the Places Patterns Can Be Used
- Allowed-by-default Lints
- An Example Program Using Structs
- An I/O Project: Building a Command Line Program
- Anonymous trait function parameters deprecated
- Appendices
- Appendix
- Appendix A: Glossary
- Appendix A: Keywords
- Appendix B: Operators and Symbols
- Appendix C: Derivable Traits
- Appendix D - Useful Development Tools
- Appendix E - Editions
- Appendix F: Translations of the Book
- Appendix G - How Rust is Made and “Nightly Rust”
- Appendix: Macro Follow-Set Ambiguity Formal Specification
- Application Binary Interface (ABI)
- Applying Concurrency with Async
- Array and array index expressions
- Array types
- Associated Items
- Attributes
- Attributes for Crate Authors
- Await expressions
- Backport Changes
- Basics for hacking on Clippy
- Behavior considered undefined
- Behavior not considered unsafe
- Block expressions
- Boolean type
- Bringing Paths into Scope with the use Keyword
- Build Commands
- Build Script Examples
- Build Scripts
- Build cache
- Building a Single-Threaded Web Server
- Built-in Targets
- C-string literals
- Call expressions
- Cargo
- Cargo
- Cargo Commands
- Cargo Home
- Cargo Reference
- Cargo Specifics - Checking Conditional Configurations
- Cargo Targets
- Cargo Workspaces
- Cargo changes
- Cargo.toml conventions
- Cargo.toml vs Cargo.lock
- Cargo: Reject unused inherited default-features
- Cargo: Rust-version aware resolver
- Cargo: Table and key name consistency
- Changelog Update
- Changes to the prelude
- Characteristics of Object-Oriented Languages
- Checking conditional configurations
- Clippy
- Clippy Development
- Clippy's Lints
- Closure expressions
- Closure types
- Closures: Anonymous Functions that Capture Their Environment
- Code generation attributes
- Codegen Options
- Collections
- Command-line Arguments
- Command-line arguments
- Comments
- Comments
- Common Collections
- Common Programming Concepts
- Common tools for writing lints
- Comparing Performance: Loops vs. Iterators
- Concise Control Flow with if let and let else
- Concurrency
- Conditional compilation
- Configuration
- Configuring Clippy
- Constant evaluation
- Constant items
- Continuous Integration
- Continuous Integration
- Contributing to rustc
- Control Flow
- Controlling How Tests Are Run
- Crates and source files
- Creating a New Package
- Creating a new project
- Credential Provider Protocol
- Custom Targets
- Customizing Builds with Release Profiles
- Data Types
- Dealing with macros and expansions
- Debugger attributes
- Default Cargo feature resolver
- Define New Lints
- Defining Modules to Control Scope and Privacy
- Defining an Enum
- Defining and Instantiating Structs
- Deny-by-default Lints
- Dependencies
- Dependency Resolution
- Deprecated and Removed Commands
- Deprecated features
- Derive
- Design Contracts
- Design Patterns
- Designated maintainers
- Destructors
- Developing the Library’s Functionality with Test-Driven Development
- Diagnostic attributes
- Disallow references to static mut
- Disjoint capture in closures
- Documentation tests
- Dynamically Sized Types
- Emitting a lint
- Enumerated types
- Enumerations
- Enums and Pattern Matching
- Environment Variables
- Error Handling
- Error code E0001
- Error code E0002
- Error code E0004
- Error code E0005
- Error code E0007
- Error code E0009
- Error code E0010
- Error code E0013
- Error code E0014
- Error code E0015
- Error code E0023
- Error code E0025
- Error code E0026
- Error code E0027
- Error code E0029
- Error code E0030
- Error code E0033
- Error code E0034
- Error code E0038
- Error code E0040
- Error code E0044
- Error code E0045
- Error code E0046
- Error code E0049
- Error code E0050
- Error code E0053
- Error code E0054
- Error code E0055
- Error code E0057
- Error code E0059
- Error code E0060
- Error code E0061
- Error code E0062
- Error code E0063
- Error code E0067
- Error code E0069
- Error code E0070
- Error code E0071
- Error code E0072
- Error code E0073
- Error code E0074
- Error code E0075
- Error code E0076
- Error code E0077
- Error code E0080
- Error code E0081
- Error code E0084
- Error code E0087
- Error code E0088
- Error code E0089
- Error code E0090
- Error code E0091
- Error code E0092
- Error code E0093
- Error code E0094
- Error code E0106
- Error code E0107
- Error code E0109
- Error code E0110
- Error code E0116
- Error code E0117
- Error code E0118
- Error code E0119
- Error code E0120
- Error code E0121
- Error code E0124
- Error code E0128
- Error code E0130
- Error code E0131
- Error code E0132
- Error code E0133
- Error code E0136
- Error code E0137
- Error code E0138
- Error code E0139
- Error code E0152
- Error code E0154
- Error code E0158
- Error code E0161
- Error code E0162
- Error code E0164
- Error code E0165
- Error code E0170
- Error code E0178
- Error code E0183
- Error code E0184
- Error code E0185
- Error code E0186
- Error code E0191
- Error code E0192
- Error code E0193
- Error code E0195
- Error code E0197
- Error code E0198
- Error code E0199
- Error code E0200
- Error code E0201
- Error code E0203
- Error code E0204
- Error code E0205
- Error code E0206
- Error code E0207
- Error code E0208
- Error code E0210
- Error code E0211
- Error code E0212
- Error code E0214
- Error code E0220
- Error code E0221
- Error code E0222
- Error code E0223
- Error code E0224
- Error code E0225
- Error code E0226
- Error code E0227
- Error code E0228
- Error code E0229
- Error code E0230
- Error code E0231
- Error code E0232
- Error code E0243
- Error code E0244
- Error code E0251
- Error code E0252
- Error code E0253
- Error code E0254
- Error code E0255
- Error code E0256
- Error code E0259
- Error code E0260
- Error code E0261
- Error code E0262
- Error code E0263
- Error code E0264
- Error code E0267
- Error code E0268
- Error code E0271
- Error code E0275
- Error code E0276
- Error code E0277
- Error code E0281
- Error code E0282
- Error code E0283
- Error code E0284
- Error code E0297
- Error code E0301
- Error code E0302
- Error code E0303
- Error code E0307
- Error code E0308
- Error code E0309
- Error code E0310
- Error code E0311
- Error code E0312
- Error code E0316
- Error code E0317
- Error code E0320
- Error code E0321
- Error code E0322
- Error code E0323
- Error code E0324
- Error code E0325
- Error code E0326
- Error code E0328
- Error code E0329
- Error code E0364
- Error code E0365
- Error code E0366
- Error code E0367
- Error code E0368
- Error code E0369
- Error code E0370
- Error code E0371
- Error code E0373
- Error code E0374
- Error code E0375
- Error code E0376
- Error code E0377
- Error code E0378
- Error code E0379
- Error code E0380
- Error code E0381
- Error code E0382
- Error code E0383
- Error code E0384
- Error code E0386
- Error code E0387
- Error code E0388
- Error code E0389
- Error code E0390
- Error code E0391
- Error code E0392
- Error code E0393
- Error code E0398
- Error code E0399
- Error code E0401
- Error code E0403
- Error code E0404
- Error code E0405
- Error code E0407
- Error code E0408
- Error code E0409
- Error code E0411
- Error code E0412
- Error code E0415
- Error code E0416
- Error code E0422
- Error code E0423
- Error code E0424
- Error code E0425
- Error code E0426
- Error code E0428
- Error code E0429
- Error code E0430
- Error code E0431
- Error code E0432
- Error code E0433
- Error code E0434
- Error code E0435
- Error code E0436
- Error code E0437
- Error code E0438
- Error code E0439
- Error code E0445
- Error code E0446
- Error code E0447
- Error code E0448
- Error code E0449
- Error code E0451
- Error code E0452
- Error code E0453
- Error code E0454
- Error code E0455
- Error code E0457
- Error code E0458
- Error code E0459
- Error code E0460
- Error code E0461
- Error code E0462
- Error code E0463
- Error code E0464
- Error code E0466
- Error code E0468
- Error code E0469
- Error code E0472
- Error code E0476
- Error code E0477
- Error code E0478
- Error code E0482
- Error code E0491
- Error code E0492
- Error code E0493
- Error code E0495
- Error code E0496
- Error code E0497
- Error code E0498
- Error code E0499
- Error code E0500
- Error code E0501
- Error code E0502
- Error code E0503
- Error code E0504
- Error code E0505
- Error code E0506
- Error code E0507
- Error code E0508
- Error code E0509
- Error code E0510
- Error code E0511
- Error code E0512
- Error code E0514
- Error code E0515
- Error code E0516
- Error code E0517
- Error code E0518
- Error code E0519
- Error code E0520
- Error code E0521
- Error code E0522
- Error code E0523
- Error code E0524
- Error code E0525
- Error code E0527
- Error code E0528
- Error code E0529
- Error code E0530
- Error code E0531
- Error code E0532
- Error code E0533
- Error code E0534
- Error code E0535
- Error code E0536
- Error code E0537
- Error code E0538
- Error code E0539
- Error code E0541
- Error code E0542
- Error code E0543
- Error code E0544
- Error code E0545
- Error code E0546
- Error code E0547
- Error code E0549
- Error code E0550
- Error code E0551
- Error code E0552
- Error code E0554
- Error code E0556
- Error code E0557
- Error code E0559
- Error code E0560
- Error code E0561
- Error code E0562
- Error code E0565
- Error code E0566
- Error code E0567
- Error code E0568
- Error code E0569
- Error code E0570
- Error code E0571
- Error code E0572
- Error code E0573
- Error code E0574
- Error code E0575
- Error code E0576
- Error code E0577
- Error code E0578
- Error code E0579
- Error code E0580
- Error code E0581
- Error code E0582
- Error code E0583
- Error code E0584
- Error code E0585
- Error code E0586
- Error code E0587
- Error code E0588
- Error code E0589
- Error code E0590
- Error code E0591
- Error code E0592
- Error code E0593
- Error code E0594
- Error code E0595
- Error code E0596
- Error code E0597
- Error code E0599
- Error code E0600
- Error code E0601
- Error code E0602
- Error code E0603
- Error code E0604
- Error code E0605
- Error code E0606
- Error code E0607
- Error code E0608
- Error code E0609
- Error code E0610
- Error code E0614
- Error code E0615
- Error code E0616
- Error code E0617
- Error code E0618
- Error code E0619
- Error code E0620
- Error code E0621
- Error code E0622
- Error code E0623
- Error code E0624
- Error code E0625
- Error code E0626
- Error code E0627
- Error code E0628
- Error code E0631
- Error code E0632
- Error code E0633
- Error code E0634
- Error code E0635
- Error code E0636
- Error code E0637
- Error code E0638
- Error code E0639
- Error code E0640
- Error code E0641
- Error code E0642
- Error code E0643
- Error code E0644
- Error code E0646
- Error code E0647
- Error code E0648
- Error code E0657
- Error code E0658
- Error code E0659
- Error code E0660
- Error code E0661
- Error code E0662
- Error code E0663
- Error code E0664
- Error code E0665
- Error code E0666
- Error code E0667
- Error code E0668
- Error code E0669
- Error code E0670
- Error code E0671
- Error code E0687
- Error code E0688
- Error code E0689
- Error code E0690
- Error code E0691
- Error code E0692
- Error code E0693
- Error code E0695
- Error code E0696
- Error code E0697
- Error code E0698
- Error code E0699
- Error code E0700
- Error code E0701
- Error code E0703
- Error code E0704
- Error code E0705
- Error code E0706
- Error code E0708
- Error code E0710
- Error code E0711
- Error code E0712
- Error code E0713
- Error code E0714
- Error code E0715
- Error code E0716
- Error code E0717
- Error code E0718
- Error code E0719
- Error code E0720
- Error code E0722
- Error code E0724
- Error code E0725
- Error code E0726
- Error code E0727
- Error code E0728
- Error code E0729
- Error code E0730
- Error code E0731
- Error code E0732
- Error code E0733
- Error code E0734
- Error code E0735
- Error code E0736
- Error code E0737
- Error code E0739
- Error code E0740
- Error code E0741
- Error code E0742
- Error code E0743
- Error code E0744
- Error code E0745
- Error code E0746
- Error code E0747
- Error code E0748
- Error code E0749
- Error code E0750
- Error code E0751
- Error code E0752
- Error code E0753
- Error code E0754
- Error code E0755
- Error code E0756
- Error code E0757
- Error code E0758
- Error code E0759
- Error code E0760
- Error code E0761
- Error code E0762
- Error code E0763
- Error code E0764
- Error code E0765
- Error code E0766
- Error code E0767
- Error code E0768
- Error code E0769
- Error code E0770
- Error code E0771
- Error code E0772
- Error code E0773
- Error code E0774
- Error code E0775
- Error code E0776
- Error code E0777
- Error code E0778
- Error code E0779
- Error code E0780
- Error code E0781
- Error code E0782
- Error code E0783
- Error code E0784
- Error code E0785
- Error code E0786
- Error code E0787
- Error code E0788
- Error code E0789
- Error code E0790
- Error code E0791
- Error code E0792
- Error code E0793
- Error code E0794
- Error code E0795
- Error code E0796
- Error code E0797
- Error code E0798
- Error code E0799
- Error code E0800
- Error code E0801
- Exceptions
- Exploit Mitigations
- Expressions
- Expressions
- Extending Cargo with Custom Commands
- Extensible Concurrency with the Sync and Send Traits
- Extern crate declarations
- External blocks
- External tools
- Fearless Concurrency
- Features
- Features Examples
- Field access expressions
- Final Project: Building a Multithreaded Web Server
- First Steps with Cargo
- Foreword
- Frequently Asked Questions
- Function item types
- Function pointer types
- Functional Language Features: Iterators and Closures
- Functions
- Functions
- Fundamentals of Asynchronous Programming: Async, Await, Futures, and Streams
- Future incompat report
- Futures and the Async Syntax
- General Commands
- Generic Data Types
- Generic Types, Traits, and Lifetimes
- Generic parameters
- Getting Started
- Getting Started
- Getting Started
- Git Authentication
- GitHub Actions
- GitLab CI
- Glossary
- Glossary
- Graceful Shutdown and Cleanup
- Grouped expressions
- Guiding principles and rationale
- HAL Design Patterns
- HAL Design Patterns Checklist
- Hardware
- Hello, Cargo!
- Hello, World!
- How to Write Tests
- How to read rustdoc output
- How to write documentation
- IO
- Identifiers
- Impl trait
- Implementations
- Implementing an Object-Oriented Design Pattern
- Improving Our I/O Project
- Index Format
- Inferred type
- Influences
- Infrastructure
- Inline assembly
- Input format
- Installation
- Installation
- Installation
- Installing Binaries with cargo install
- Installing the tools
- Instrumentation-based Code Coverage
- Interior Mutability
- Interoperability
- Interoperability
- Interrupts
- IntoIterator for arrays
- Introduction
- Introduction
- Introduction
- Introduction
- Introduction
- Items
- Items
- JSON Output
- Jobserver
- Keywords
- Known Issues
- Language
- Lexical structure
- Lifetime elision
- Limits
- Linkage
- Linker-plugin-based LTO
- Linking to items by name
- Lint Configuration Options
- Lint Groups
- Lint Levels
- Lint Listing
- Lint passes
- Lints
- Lints
- Lints
- Linux
- Literal expressions
- Loops and other breakable expressions
- Macro Fragment Specifiers
- Macros
- Macros
- Macros By Example
- Managing Growing Projects with Packages, Crates, and Modules
- Manifest Commands
- Match ergonomics reservations
- Meet Your Hardware
- Memory Mapped Registers
- Memory allocation and lifetime
- Memory model
- Method Checking
- Method Syntax
- Method dispatch for raw pointers to inference variables
- Method-call expressions
- Missing macro fragment specifiers
- Modules
- More About Cargo and Crates.io
- Mutable Global State
- Name resolution
- Names
- Namespaces
- Naming
- Never type
- Never type fallback change
- New keywords
- Nightly
- Notation
- Numeric types
- Object-Oriented Programming Features of Rust
- Operator expressions
- Optimizations: the speed size tradeoff
- Or patterns in macro-rules
- Other style advice
- Overriding Dependencies
- Package Commands
- Package ID Specifications
- Package Layout
- Packages and Crates
- Panic macro consistency
- Panicking
- Path and module system changes
- Path expressions
- Paths
- Paths for Referring to an Item in the Module Tree
- Pattern Syntax
- Patterns
- Patterns and Matching
- Performing math functionality with #[no_std]
- Peripherals
- Peripherals as State Machines
- Platform Support
- Pointer types
- Portability
- Predictability
- Preludes
- Procedural Macros
- Processing a Series of Items with Iterators
- Profile-guided Optimization
- Profiles
- Programming Language
- Programming Language
- Programming a Guessing Game
- Proposals
- Publishing Commands
- Publishing a Crate to Crates.io
- Publishing on crates.io
- Putting It All Together: Futures, Tasks, and Threads
- QEMU
- RPIT lifetime capture rules
- Range expressions
- Raw lifetimes
- Rc<T>, the Reference Counted Smart Pointer
- Re-exports
- Reading a File
- Recommendations for GPIO Interfaces
- Recoverable Errors with Result
- RefCell<T> and the Interior Mutability Pattern
- Refactoring to Improve Modularity and Error Handling
- Reference Cycles Can Leak Memory
- References
- References and Borrowing
- Refutability: Whether a Pattern Might Fail to Match
- Registries
- Registry Authentication
- Release a new Clippy Version
- Reporting build timings
- Reserved syntax
- Reserved syntax
- Roadmap 2021
- Running Code on Cleanup with the Drop Trait
- Running a Registry
- Rust 2015
- Rust 2018
- Rust 2021
- Rust 2024
- Rust Style
- Rust Version
- Rust error codes index
- Rust style editions
- Rustdoc
- Rustdoc combined tests
- Rustdoc in-doc settings
- Rustdoc nested include! change
- Rustdoc search
- Rustfmt
- Rustfmt: Formatting fixes
- Rustfmt: Raw identifier sorting
- Rustfmt: Style edition
- Rustfmt: Version sorting
- Scopes
- Scraped examples
- SemVer Compatibility
- Semihosting
- Separating Modules into Different Files
- Shared-State Concurrency
- Singletons
- Slice types
- Smart Pointers
- Source Replacement
- Special types and traits
- Specifying Dependencies
- Standard library
- Statements
- Statements
- Statements and expressions
- Static Guarantees
- Static items
- Storing Keys with Associated Values in Hash Maps
- Storing Lists of Values with Vectors
- Storing UTF-8 Encoded Text with Strings
- Streams: Futures in Sequence
- Struct expressions
- Struct types
- Structs
- Subtyping and Variance
- Summary
- Symbol Mangling
- Syncing changes between Clippy and
- Tail expression temporary scope
- Target Tier Policy
- Targets
- Test Organization
- Test summary
- Testing
- Testing attributes
- Tests
- Tests
- Textual types
- The #[doc] attribute
- The Cargo Book
- The Clippy Book
- The Manifest Format
- The Slice Type
- The match Control Flow Construct
- The team
- The unsafe keyword
- Tips for embedded C developers
- To panic! or Not to panic!
- Tokens
- Tooling
- Trait Checking
- Trait and lifetime bounds
- Trait objects
- Traits
- Traits: Defining Shared Behavior
- Transitioning an existing project to a new edition
- Travis CI
- Treating Smart Pointers Like Regular References with the Deref Trait
- Tuple and tuple indexing expressions
- Tuple types
- Turning Our Single-Threaded Server into a Multithreaded Server
- Type Checking
- Type Layout
- Type aliases
- Type coercions
- Type parameters
- Type system
- Type system attributes
- Types
- Types and Bounds
- Typestate Programming
- Understanding Ownership
- Union types
- Unions
- Unrecoverable Errors with panic!
- Unsafe Rust
- Unsafe attributes
- Unsafe extern blocks
- Unsafe functions
- Unsafety
- Unsorted topics
- Unstable Features
- Unstable features
- Usage
- Use declarations
- Using Box<T> to Point to Data on the Heap
- Using Message Passing to Transfer Data Between Threads
- Using Structs to Structure Related Data
- Using Threads to Run Code Simultaneously
- Using Trait Objects That Allow for Values of Different Types
- Validating References with Lifetimes
- Variables
- Variables and Mutability
- Verify Installation
- Visibility and Privacy
- Warn-by-default Lints
- Warnings promoted to errors
- Web API
- What Is Ownership?
- What are Editions?
- What is rustc?
- What is rustc?
- What is rustdoc?
- What to include (and exclude)
- Whitespace
- Why Cargo Exists
- Windows
- Working on an Existing Cargo Package
- Working with Any Number of Futures
- Working with Environment Variables
- Workspaces
- Writing Automated Tests
- Writing Error Messages to Standard Error Instead of Standard Output
- Zero Cost Abstractions
- _ expressions
- aarch64-nintendo-switch-freestanding
- aarch64-unknown-fuchsia and x86_64-unknown-fuchsia
- aarch64-unknown-illumos and x86_64-unknown-illumos
- aarch64-unknown-teeos
- aarch64-unknown-trusty and armv7-unknown-trusty
- arm(eb)?v7r-none-eabi(hf)?
- arm64e-apple-darwin
- arm64e-apple-ios
- arm64e-apple-tvos
- arm64ec-pc-windows-msvc
- armeb-unknown-linux-gnueabi
- armv4t-none-eabi / thumbv4t-none-eabi
- armv5te-none-eabi
- armv6k-nintendo-3ds
- armv7-rtems-eabihf
- armv7-sony-vita-newlibeabihf
- armv7-unknown-linux-uclibceabi
- armv7-unknown-linux-uclibceabihf
- armv8r-none-eabihf
- cargo(1)
- cargo-add(1)
- cargo-bench(1)
- cargo-build(1)
- cargo-check(1)
- cargo-clean(1)
- cargo-clippy(1)
- cargo-doc(1)
- cargo-fetch(1)
- cargo-fix(1)
- cargo-fmt(1)
- cargo-generate-lockfile(1)
- cargo-help(1)
- cargo-info(1)
- cargo-init(1)
- cargo-install(1)
- cargo-locate-project(1)
- cargo-login(1)
- cargo-logout(1)
- cargo-metadata(1)
- cargo-miri(1)
- cargo-new(1)
- cargo-owner(1)
- cargo-package(1)
- cargo-pkgid(1)
- cargo-publish(1)
- cargo-remove(1)
- cargo-report(1)
- cargo-run(1)
- cargo-rustc(1)
- cargo-rustdoc(1)
- cargo-search(1)
- cargo-test(1)
- cargo-tree(1)
- cargo-uninstall(1)
- cargo-update(1)
- cargo-vendor(1)
- cargo-version(1)
- cargo-yank(1)
- csky-unknown-linux-gnuabiv2
- gen keyword
- hexagon-unknown-linux-musl
- hexagon-unknown-none-elf
- i686-apple-darwin
- i686-unknown-hurd-gnu and x86_64-unknown-hurd-gnu
- if and if let expressions
- if let temporary scope
- loongarch*-unknown-linux-*
- loongarch*-unknown-none*
- m68k-unknown-linux-gnu
- macOS
- match expressions
- mips64-openwrt-linux-musl
- mipsel-sony-psx
- mipsisa*r6*-unknown-linux-gnu*
- nto-qnx
- nvptx64-nvidia-cuda
- powerpc-unknown-linux-muslspe
- powerpc64-ibm-aix
- powerpc64le-unknown-linux-musl
- return expressions
- riscv32im-risc0-zkvm-elf
- riscv32imac-unknown-xous-elf
- riscv32{e,em,emc}-unknown-none-elf
- riscv32{i,im,ima,imc,imac,imafc}-unknown-none-elf
- riscv64gc-unknown-linux-gnu
- riscv64gc-unknown-linux-musl
- runtime
- s390x-unknown-linux-gnu
- s390x-unknown-linux-musl
- sparc-unknown-none-elf
- sparcv9-sun-solaris
- target-name-here
- thumbv6m-none-eabi
- thumbv7em-none-eabi and thumbv7em-none-eabihf
- thumbv7m-none-eabi
- thumbv8m.base-none-eabi
- thumbv8m.main-none-eabi and thumbv8m.main-none-eabihf
- unsafe_op_in_unsafe_fn warning
- v0 Symbol Format
- wasm32-unknown-emscripten
- wasm32-unknown-unknown
- wasm32-wasip1
- wasm32-wasip1-threads
- wasm32-wasip2
- wasm32v1-none
- wasm64-unknown-unknown
- x86_64-fortanix-unknown-sgx
- x86_64-unknown-linux-none
- x86_64-unknown-none
- x86_64h-apple-darwin
- xtensa-*-none-elf
- {arm,thumb}*-none-eabi(hf)?
Keywords
Macros
Methods
Modules
Sections
- #[cfg(doc)]: Documenting platform-specific or feature-specific information
- #[clippy::format_args]
- #[clippy::has_significant_drop]
- #[doc(cfg)]: Recording what platforms or features are required for code to be present
- #[no_mangle]
- #[repr(C)] Enums With Fields
- #[repr(C)] Field-less Enums
- #[repr(C)] Structs
- #[repr(C)] Unions
- #[repr(transparent)]: Documenting the transparent representation
- $crate
- 'static lifetime elision
- *-sys Packages
- --bench
- --cap-lints: set the most restrictive lint level
- --cfg: configure the compilation environment
- --cfg: passing configuration flags
- --check-cfg: check configuration flags
- --check-cfg: configure compile-time checking of conditional compilation
- --check-theme: verify custom themes against the default theme
- --check: only checks the documentation
- --color COLOR
- --color: configure coloring of output
- --crate-name: controlling the name of the crate
- --crate-name: specify the name of the crate being built
- --crate-type: a list of types of crates for the compiler to emit
- --crate-version: control the crate version
- --default-theme: set the default theme
- --diagnostic-width: specify the terminal width for diagnostics
- --document-private-items: Show items that are not public
- --edition: control the edition of docs and doctests
- --edition: specify the edition to use
- --emit: specifies the types of output files to generate
- --enable-index-page: generate a default index page for docs
- --enable-per-target-ignores: allow ignore-foo style filters for doctests
- --ensure-time
- --error-format: control how errors are produced
- --exact
- --exclude-should-panic
- --explain: provide a detailed explanation of an error message
- --extern-html-root-url: control how rustdoc links to non-local crates
- --extern: specify a dependency's location
- --extern: specify where an external library is located
- --force-run-in-process
- --force-warn: force a lint to warn
- --format FORMAT
- --generate-link-to-definition: Generate links on types in source code
- --html-after-content: include more HTML after the content
- --html-before-content: include more HTML before the content
- --html-in-header: include more HTML in <head>
- --ignored
- --include-ignored
- --index-page: provide a top-level landing page for docs
- --json: configure json messages printed by the compiler
- --list
- --logfile PATH
- --markdown-after-content: include rendered Markdown after the content
- --markdown-before-content: include rendered Markdown before the content
- --markdown-css: include more CSS files when rendering markdown
- --markdown-no-toc: don't generate a table of contents
- --markdown-playground-url: control the location of the playground
- --no-defaults: don't run default passes
- --nocapture
- --nocapture: disable output capture for test
- --out-dir: directory to write the output in
- --passes: add more rustdoc passes
- --persist-doctests: persist doctest executables after running
- --playground-url: control the location of the playground
- --print: print compiler information
- --remap-path-prefix: remap source names in output
- --report-time
- --resource-suffix: modifying the name of CSS/JavaScript in crate docs
- --runtool, --runtool-arg: program to run tests with; args to pass to it
- --show-coverage: calculate the percentage of items with documentation
- --show-output
- --show-type-layout: add a section to each type's docs describing its memory layout
- --shuffle
- --shuffle-seed SEED
- --skip FILTER
- --sort-modules-by-appearance: control how items on module pages are sorted
- --static-root-path: control how static files are loaded in HTML output
- --sysroot: Override the system root
- --sysroot: override the system root
- --target: generate documentation for the specified target triple
- --target: select a target triple to build
- --test
- --test-args: pass options to test runner
- --test-builder-wrapper: wrap calls to the test builder
- --test-builder: rustc-like program to build tests
- --test-run-directory: run code examples in a specific directory
- --test-threads NUM_THREADS
- --test: build a test harness
- --test: run code examples as tests
- --theme: add a theme to the documentation output
- --update-rust-version flag for cargo add, cargo update
- --with-examples: include examples of uses of items as documentation
- -: load source code from the standard input
- -A: set lint allowed
- -C instrument-coverage=<options>
- -C/--codegen: code generation options
- -C/--codegen: pass codegen options to rustc
- -D: set lint denied
- -F: set lint forbidden
- -L/--library-path: where to look for dependencies
- -L: add a directory to the library search path
- -O: optimize your code
- -V/--version: print a version
- -V/--version: version information
- -W: set lint warnings
- -Z coverage-options=<options>
- -Z force-unstable-if-unmarked
- -Z: set unstable options
- -e/--extend-css: extend rustdoc's CSS
- -g: include debug information
- -h, --help
- -h/--help: get help
- -h/--help: help
- -l: link the generated crate to a native library
- -o/--out-dir: output directory path
- -o: filename of the output
- -q, --quiet
- -r/--input-format: input format
- -v/--verbose: more verbose output
- -v/--verbose: use verbose output
- -w/--output-format: output format
- .cargo_vcs_info.json format
- .gitignore extensions
- 1. Finding the relevant Clippy commits
- 2. Fetching the PRs between those commits
- 3. Authoring the final changelog
- 3.1 Include beta-accepted PRs
- 4. Update clippy::version attributes
- 7-bit escapes
- 8-bit escapes
- ::
- ?Sized
- @ Bindings
- @path: load command-line flags from a path
- @path: load command-line flags from a path
- A Closer Look at an HTTP Request
- A Complete Cargo Workflow
- A Shortcut for Propagating Errors: the ? Operator
- A Touch of Refactoring
- A Use Case for Interior Mutability: Mock Objects
- A Worker Struct Responsible for Sending Code from the ThreadPool to a Thread
- A complete example
- ABI
- ABI clobbers
- API compatibility
- ARM (32-bit)
- ASCII escapes
- Abstract return types
- Abstract syntax tree
- Abstractions, Send, and Sync
- Accessing Array Elements
- Accessing Fields of a Union
- Accessing Values in a Hash Map
- Accessing discriminant
- Accessing or Modifying a Mutable Static Variable
- Accessing private Git repositories
- Action options
- Active and inert attributes
- Add aliases for an item in documentation search
- Add and Register the Lint
- Adding Custom Failure Messages
- Adding Metadata to a New Crate
- Adding Useful Functionality with Derived Traits
- Adding a Key and Value Only If a Key Isn’t Present
- Adding a Reference from a Child to Its Parent
- Adding a Test to a Workspace
- Adding a dependency
- Adding a new target
- Adding a warning block
- Adding approve to Change the Behavior of content
- Adding configuration to a lint
- Adding the lint logic
- Adding your trait to the "Notable traits" dialog
- Additional Readings for Beginners
- Additional information
- Additional information
- Additional information
- Additional information
- Additional information
- Address to pointer cast
- Aliased Type
- Alignment
- Allowing Access from Multiple Threads with Sync
- Allowing Multiple Guesses with Looping
- Allowing Transference of Ownership Between Threads with Send
- Allowing/Denying Lints
- Alternate File Paths
- Alternate Registries
- Alternations (a | b)
- Alternatives
- Alternatives
- Alternatives to Using match with Result<T, E>
- Ambiguities
- An example
- An exception
- Anatomy of a Rust Program
- Anonymous type parameters
- Any (_)
- Appending to a String with push_str and push
- Appendix
- Applicability
- Application
- Application compatibility
- Approach
- Approximate desugaring
- Arc<T>
- Architecture Notes
- Argument position impl Trait (APIT)
- Arithmetic and Logical Binary Operators
- Arity
- Arm Cortex-M0
- Arm Cortex-M0+
- Arm Cortex-M1
- Arm Cortex-M23
- Arm Cortex-M3
- Arm Cortex-M33
- Arm Cortex-M35P
- Arm Cortex-M4 and Arm Cortex-M4F
- Arm Cortex-M55
- Arm Cortex-M7 and Arm Cortex-M7F
- Arm Cortex-M85
- Array
- Array Layout
- Array accesses, indexing, and slicing
- Array and slice indexing expressions
- Array expressions
- Array literals
- Artifact
- Artifact messages
- Artifact notifications
- Assigning discriminant values
- Assignment expressions
- Associated Constants
- Associated Constants Examples
- Associated Functions
- Associated Types
- Associated Types Container Example
- Associated functions and methods
- Associated item
- Associated item scopes
- Associated types
- Assumptions and Prerequisites
- Assumptions and Prerequisites
- Async closure traits
- Async closures
- Async context
- Async functions
- Async input capture
- At the crate level
- At the item level
- Atomic Access
- Atomic Reference Counting with Arc<T>
- Atomics
- Attaching zxdb
- Attribute macros
- Attribute-like macros
- Attributes
- Attributes
- Attributes
- Attributes
- Attributes in Code
- Attributes on Implementations
- Attributes on Modules
- Attributes on Statements
- Attributes on block expressions
- Attributes on closure parameters
- Attributes on extern blocks
- Attributes on function parameters
- Attributes on function parameters
- Attributes on function pointer parameters
- Attributes on functions
- Attributes on match arms
- Attributes on method parameters
- Author lint
- Auto traits
- Auto-hide item contents for large items
- Auto-hide item methods' documentation
- Auto-hide trait implementation documentation
- Automatic Formatting with rustfmt
- Automatic capturing
- Automatic dereferencing
- Automatic garbage collection
- Automatic gc configuration
- Automatically applying Clippy suggestions
- Automatically generating the interface
- Available features
- Avoid extra space in nested tuple indexing expression
- BSP
- BUGS
- Background
- Background
- Backport the changes
- Backref
- Backward-edge control flow protection
- Bare Metal Environments
- Basic assignments
- Basic usage
- Basic usage
- Basic usage
- Before publishing a new crate
- Before your first publish
- Behavior
- Benchmark Options
- Benchmarks
- Benchmarks
- Best Practices for Packages with a Binary and a Library
- Big Roadmap
- Binaries
- Binary format
- Binary operations
- Binder
- Binding modes
- Bit validity
- Bit validity
- Bit validity
- Blank lines
- Blanket implementation
- Block indent
- Blocks
- Board Crate
- Boolean literal expressions
- BootServices
- Borrow operators
- Borrowing
- Bound
- Box vs other Deref implementations
- Box with move closure
- Box with non-move closure
- Box<T>
- Brace syntax
- Brevity of specifications
- Broken extern "C" ABI
- Bugs
- Build
- Build
- Build Commands
- Build Dependencies
- Build Dependencies
- Build System
- Build and Install Cargo from Source
- Build dependencies
- Build failures
- Build finished
- Build script output
- Build scripts
- Build std
- Build-plan
- Building
- Building
- Building
- Building
- Building
- Building
- Building
- Building
- Building
- Building
- Building
- Building C/C++ code with the cc crate
- Building Our Own Async Abstractions
- Building Rust Programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs
- Building Rust programs and testing
- Building ThreadPool Using Compiler Driven Development
- Building a C API
- Building a Fuchsia package
- Building a driver
- Building a native library
- Building and Running Rust Programs
- Building and Running Rust programs
- Building and Running a Cargo Project
- Building and Testing
- Building for Release
- Building for the zkVM
- Building rust for UEFI targets
- Building the demangler
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target
- Building the target from source
- Building the targets
- Building the targets
- Building your C/C++ code
- Built-in attributes index
- Built-in path bases
- Built-in providers
- Bump Version
- But why can't we just use global variable(s)?
- But why?
- Byte and byte string literals
- Byte escapes
- Byte literal expressions
- Byte literals
- Byte order mark removal
- Byte string literal expressions
- Byte string literals
- Bytes and Scalar Values and Grapheme Clusters! Oh My!
- C string and raw C string literals
- C string literal expressions
- C string literals
- C/C++ Toolchain
- C/C++ code as a dependency in Rust
- CLI arguments
- CMake
- COMMANDS
- CRLF normalization
- Cache Invalidation
- Caching
- Caching the Cargo home in CI
- Call traits and coercions
- Calling Config::build and Handling Errors
- Calling Rust Functions from Other Languages
- Calling an Unsafe Function or Method
- Can Cargo be used inside of make (or ninja, or …)
- Can I turn these warnings into errors by denying a lint?
- Can libraries use * as a version for their dependencies?
- Canonical paths
- Capping lints
- Capture Precision
- Capture modes
- Capture modes
- Capture precision difference
- Capturing
- Capturing
- Capturing References or Moving Ownership
- Capturing references in move contexts
- Capturing the Environment with Closures
- Caret requirements
- Cargo
- Cargo
- Cargo
- Cargo Lints
- Cargo as Convention
- Cargo feature
- Cargo lints
- Cargo subcommand
- Cargo.lock
- Cargo.toml
- Cases in Which You Have More Information Than the Compiler
- Casting
- Casts (as)
- Catch-all Patterns and the _ Placeholder
- Caveat
- Chains of fields and method calls
- Change Detection
- Change categories
- Changelog update walkthrough
- Changing displayed theme
- Channels and Ownership Transference
- Character and string literals
- Character escapes
- Character literal expressions
- Character literals
- Characters and strings
- Cheat Sheet
- Checking Results with the assert! Macro
- Checking Where Errors Are Written
- Checking for Panics with should_panic
- Checking for a specific type
- Checking if a impl block implements a method
- Checking if a type defines a specific method
- Checking if a type implements a specific trait
- Checking if an expr is calling a specific method
- Checking if an expr is calling a specific method
- Choice of commit
- Choo, Choo! Release Channels and Riding the Trains
- Choosing Between Loops or Iterators
- Choosing features
- CircleCI
- Clean Options
- Clear Expectations for Team Members
- Clearer Trait Bounds with where Clauses
- Clearing the cache
- Clippy Pattern Author
- Clippy UI Tests
- Clippy-Contributors
- Clone
- Clone and Copy for Duplicating Values
- Cloning an Rc<T> Increases the Reference Count
- Closure Layout
- Closure Type Inference and Annotation
- Closure trait implementations
- Closure types difference
- Closures
- Code generation
- Coercion sites
- Coercion types
- Combinable expressions
- Combinator
- Combining async and unsafe
- Combining primitive representations of enums with fields and #[repr(C)]
- Command Line Flags
- Command Line Notation
- Command line
- Command-line feature options
- Command-line overrides
- Commenting Contained Items
- Comments
- Common Abbreviations
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Options
- Common Target Details
- Common causes
- Common causes for missing std or core
- Common rules
- Commonly Used Sections
- Community
- Community Maintained Tools
- Companies
- Comparing the Guess to the Secret Number
- Comparison Operators
- Comparison requirements
- Comparisons
- Compatibility
- Compilation Options
- Compilation Options
- Compilation Options
- Compilation Options
- Compilation Options
- Compilation Options
- Compilation Options
- Compilation Options
- Compilation Options
- Compilation Options
- Compilation Options
- Compilation Options
- Compile Time Functional Safety
- Compile progress
- Compile-Time Code Selection
- Compile-Time Sizes and Computation
- Compiler messages
- Compiling a Rust binary targeting Fuchsia
- Compiling and Running Are Separate Steps
- Compiling with coverage enabled
- Complexity
- Composing Streams
- Compound Types
- Compound assignment expressions
- Computing the Size of a Non-Recursive Type
- Concatenation with the + Operator or the format! Macro
- Conditional Loops with while
- Conditional compilation
- Conditional compilation
- Conditional if let Expressions
- Conditionally compiling code
- Conditionally compiling code
- Conditionally compiling code
- Conditionally compiling code
- Conditionally compiling code
- Conditionally compiling code
- Config Profiles
- Config-relative paths
- Configuration
- Configuration
- Configuration Discovery
- Configuration environment variables
- Configuration format
- Configuration keys
- Configure rust
- Configure rust
- Configuring
- Configuring a target
- Configuring rustdoc
- Configuring warning levels
- Conflicting lints
- Conflicting trait methods
- Conflicting trait methods
- Const
- Const Functions
- Const context
- Const functions
- Const generics
- Constant expressions
- Constant patterns
- Constant promotion
- Constants
- Constants with Destructors
- Constraints and Heuristics
- Constructors are used instead of extension traits (C-CTOR)
- Contributing
- Contributing to This Book
- Contributing to This Book
- Contributor Guide
- Control flow
- Control flow expressions
- Control-flow operators
- Controlling the compilation and run directories
- Conventions
- Convert incompatible_toolchain error into a lint
- Copy
- Copy values
- Correctness
- Correctness and Validity
- Counting Up on Two Tasks Using Message Passing
- Crate
- Crate
- Creating Custom Types for Validation
- Creating Idiomatic use Paths
- Creating Instances from Other Instances with Struct Update Syntax
- Creating Multiple Producers by Cloning the Transmitter
- Creating Space to Store the Threads
- Creating Type Synonyms with Type Aliases
- Creating Types Programmatically
- Creating Types programmatically
- Creating a Constructor for Config
- Creating a Finite Number of Threads
- Creating a Fuchsia component
- Creating a Fuchsia package
- Creating a Fuchsia package repository
- Creating a New Hash Map
- Creating a New String
- Creating a New Task with spawn_task
- Creating a New Thread with spawn
- Creating a New Vector
- Creating a Project Directory
- Creating a Project with Cargo
- Creating a Reference Cycle
- Creating a Safe Abstraction over Unsafe Code
- Creating a Tree Data Structure: a Node with Child Nodes
- Creating a Workspace
- Creating a non standard Rust program
- Creating coverage reports
- Creating the Second Package in the Workspace
- Credential hello
- Credential plugins
- Credentials
- Critical Sections
- Cross Compilation
- Cross compiling
- Cross-Compiling
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Cross-compilation toolchains and C code
- Custom CSS classes for code blocks
- Custom Target Lookup Path
- Custom named profiles
- Custom paths for individual emit kinds
- Custom profiles
- Custom search engines
- Custom subcommands
- Custom target specifications
- Custom test frameworks
- Customizing the output
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- DESCRIPTION
- Dangling References
- Dangling pointers
- Deadlocks
- Dealing with macros and expansions
- Dealing with the Lockfile
- Debug for Programmer Output
- Debuggers
- Debugging
- Debugging
- Debugging
- Debugging
- Debugging the compiler test suite
- Declaration statements
- Declarative Macros with macro_rules! for General Metaprogramming
- Declarative macro tokens and procedural macro tokens
- Decoding
- Default Generic Type Parameters and Operator Overloading
- Default Implementations
- Default for Default Values
- Default profiles
- Default requirements
- Default trait object lifetimes
- Defining Methods
- Defining Our Lint
- Defining Our Own Smart Pointer
- Defining Post and Creating a New Instance in the Draft State
- Defining Remotes
- Defining a Trait
- Defining a Trait for Common Behavior
- Defining the interface
- Defining the page_title Function
- Definitions & Conventions
- Delimiters
- Dep-info files
- Dependency features
- Dependency kinds
- Dependency options
- Dependency sections
- Dependency updates
- Depending on an External Package in a Workspace
- Deprecating Versions from Crates.io with cargo yank
- Deref and DerefMut
- Dereferencing a Raw Pointer
- Derive macro helper attributes
- Derive macro helper attributes
- Derive macros
- Designated Developer
- Designated Developers
- Designated Developers
- Designated Developers
- Designated Developers
- Designated Developers
- Designated Developers
- Destructuring
- Destructuring Enums
- Destructuring Nested Structs and Enums
- Destructuring Structs
- Destructuring Structs and Tuples
- Destructuring assignments
- Destructuring to Break Apart Values
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Details
- Determining a Single Page’s Title
- Dev-Tools
- Develop Lints with Tests
- Development
- Development dependencies
- Diagnostics
- Differences between generics and impl Trait in return position
- Different binary name
- Directives Support
- Directly go to item in search if there is only one result
- Directories:
- Directory Sources
- Disable keyboard shortcuts
- Disabling RELocation Read-Only (RELRO)
- Disabling evaluation of certain code
- Disambiguating Function Calls
- Disambiguator
- Discovering features
- Discriminants
- Dispatch
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Display Options
- Displaying source code in zxdb
- Doc comments
- Doc comments
- Document keywords
- Document primitives
- Documentation
- Documentation Comments as Tests
- Documentation Options
- Documentation Options
- Documentation Updates
- Documentation tests
- Documentation tests
- Documentation updates
- Documenting components
- Documenting macros
- Does Cargo handle multi-platform packages or cross-compilation?
- Does Cargo support environments, like production or test?
- Does Cargo work on Windows?
- Don't align unrelated trailing comments after items or at the end of blocks
- Don't indent strings in comments
- Don't use globals
- Download Endpoint
- Drawbacks
- Drawbacks
- Driver
- Drop
- Drop Order
- Drop Order
- Drop order difference
- Drop scopes
- Dropping a Value Early with std::mem::drop
- Dropping a Vector Drops Its Elements
- Duties
- Duties
- Dwarf Unwinding
- Dyn compatibility
- Dyn-compatible traits
- Dynamic library paths
- Dynamic semantics
- Dynamically Sized Types and the Sized Trait
- Dynamically sized type
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- ENVIRONMENT
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- EXIT STATUS
- Early filtering
- EarlyLintPass
- Ease of use
- Ecosystem
- Edition
- Edition
- Edition 2018 and before
- Edition 2024
- Edition migration
- Edition migration is easy and largely automated
- Edition-specific rules when no use<..> bound is present
- Editions do not split the ecosystem
- Effects of other nightly features
- Emitting a lint
- Emitting a lint
- Emitting to stdout
- Empty (())
- Empty lines in where clauses are now removed
- Emscripten ABI Compatibility
- Enable coverage profiling in the Rust compiler
- Enabled WebAssembly features
- Enabled WebAssembly features
- Enabled WebAssembly features
- Enabled WebAssembly features
- Enabled WebAssembly features
- Enabled WebAssembly features
- Enabling Recursive Types with Boxes
- Enabling the new edition to use new features
- Encapsulation that Hides Implementation Details
- Encoding States and Behavior as Types
- Encoding of Rust entities
- End return/break/continue inside a block in a match with a semicolon
- Enforcing Borrowing Rules at Runtime with RefCell<T>
- Ensuring Reproducible Builds with the Cargo.lock File
- Ensuring the Content of a Draft Post Is Empty
- Enter: Cargo
- Entity
- Enum Values
- Enum cast
- Enum literals
- Enums
- Environment variable
- Environment variables
- Environment variables Cargo reads
- Environment variables Cargo sets for 3rd party subcommands
- Environment variables Cargo sets for build scripts
- Environment variables Cargo sets for crates
- Equivalence table with --cfg
- Error example 1
- Error example 2
- Error example 3
- Error example 4
- Error numbers for compile-fail doctests
- Escapes
- Evaluation
- Evaluation order of operands
- Even more lints
- Everyone
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example
- Example communication to request a token for reading:
- Example for EarlyLintPass
- Example for LateLintPass
- Example of auto-trait
- Example of drop reorder
- Example output
- Example specifications
- Example: Cargo-like feature example
- Example: Condition names without values
- Example: Freestanding
- Example: Hello World
- Example: Hello World With std
- Example: Multiple names and values
- Example: use a binary executable from a build script
- Example: use binary artifact and its library in a binary
- Example: use cdylib artifact in build script
- Examples for C string and raw C string literals
- Examples of FIRST and LAST
- Examples of valid and invalid matchers
- Examples, Prototype Code, and Tests
- Examples:
- Exclude certain dependencies from documentation
- Executable paths with arguments
- Execution options
- Existing library support
- Exiting without calling destructors
- Experimental features
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explanation
- Explicit discriminants
- Explicitly declared entities
- Explicitly specifying the linker plugin to be used by rustc
- Exploit mitigations
- Exploring features
- Exporting a Convenient Public API with pub use
- Exposing Paths with the pub Keyword
- Exposing randomized base addresses through pointer leaks
- Expression
- Expression Attributes
- Expression precedence
- Expression statements
- Expressions
- Expressions in statement position
- Extending based on expressions
- Extending based on patterns
- Extending behavior
- Extensions
- Extensions to the #[doc] attribute
- Extern crate
- Extern crate paths
- Extern function qualifier
- Extern prelude
- Extra Conditionals with Match Guards
- Extracting Logic from main
- Extracting the Argument Parser
- FAQ
- FFI example
- FILES
- FIRST
- FIRST and FOLLOW, informally
- FIRST, LAST
- FOLLOW(M)
- FPU
- Failure response (URL not supported)
- Failure response (not found)
- Failure response (operation not supported)
- Failure response (other)
- False Positive Rate
- False Positives
- Feature
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Selection
- Feature Unification
- Feature combinations
- Feature documentation and discovery
- Feature precedence
- Feature resolver version 2
- Feature resolver version 2
- Feature unification
- Features
- Features
- Fetch options
- Field struct expression
- Fields
- Files:
- Filtering PRs to backport
- Filtering to Run Multiple Tests
- Filters
- Final: Run UI Tests to Emit the Lint
- Find the Clippy commit
- Fix Your Code with rustfix
- Fix options
- Fixed failure with => in comment after match =>
- Fixed formatting of a let-else statement with an attribute
- Fixed indentation of generics in impl blocks
- Fixing the Error Handling
- Floating-Point Types
- Floating-point literal expressions
- Floating-point literals
- Floating-point types
- Follow-set Ambiguity Restrictions
- Following the Pointer to the Value
- Footnotes
- Force block closures for closures with a single loop body
- Format string macros
- Format the last expression-statement as an expression
- Formatting conventions
- Formatting conventions
- Forms of conditional compilation
- Forward-edge control flow protection
- Forwarding a matched fragment
- Free item
- From Source
- Fully Qualified Syntax for Disambiguation: Calling Methods with the Same Name
- Function Parameters
- Function Pointers
- Function body
- Function calls
- Function definitions
- Function parameters
- Function-like macros
- Function-like procedural macros
- Functional composition
- Functional update syntax
- Functions
- Functions with Return Values
- Fundamental traits
- Fundamental type constructors
- Further Reading
- Future incompat report
- Future possibilities
- Future-incompatible lints
- Future-incompatible reports
- GDB (GNU Debugger)
- GNU Make
- General
- General Commands
- Generated code
- Generating a Random Number
- Generating a Secret Number
- Generic Implementations
- Generic Lifetimes in Functions
- Generic Type Parameters, Trait Bounds, and Lifetimes Together
- Generic functions
- Generic parameter scopes
- Generic parameter shadowing
- Generic traits
- Generics
- Get a C toolchain
- Get a C toolchain
- Get mdBook
- Get success response
- Get the Code
- Getting Started
- Getting Started
- Getting Started
- Getting started
- Git Protocol
- GitHub Actions
- GitHub permissions
- GitLab CI
- Glob imports
- Global Mutable Data
- Going further
- Grammar
- Grammar notation
- Grouped patterns
- Grouping Configuration Values
- Grouping Related Code in Modules
- Guide-level explanation
- Guidelines for Error Handling
- HAL
- HAL implementation
- HALs reexport their register access crate (C-REEXPORT-PAC)
- HTTPS authentication
- Handling Errors Returned from run in main
- Handling Invalid Input
- Handling Multiple Conditions with else if
- Handling Potential Failure with Result
- Hardware Representation
- Hash Maps and Ownership
- Hash for Mapping a Value to a Value of Fixed Size
- Hashing Functions
- Having Multiple Owners of Mutable Data by Combining Rc<T> and RefCell<T>
- Heap corruption protection
- Help Messages
- Hexadecimal literals
- Hiding portions of the example
- Hierarchical structure
- Higher-ranked trait bound scopes
- Higher-ranked trait bounds
- History
- Host toolchain
- Hosted Environments
- How Deref Coercion Interacts with Mutability
- How can Cargo work offline?
- How do we do this in Rust?
- How it works
- How it works
- How migrations work
- How to Use This Book
- How to Use This Book
- How to Use This Book
- How to Work with Macros
- How to Write a Custom derive Macro
- How to choose between notes, help messages and suggestions
- How to handle multiple matches?
- How to use native-completions feature:
- How to use this book
- How to use this feature
- How type-based search works
- How yank works
- Hygiene
- I2C
- IDE Integration Using rust-analyzer
- Identifier
- Identifier patterns
- Ignoring Parts of a Value with a Nested _
- Ignoring Remaining Parts of a Value with ..
- Ignoring Some Tests Unless Specifically Requested
- Ignoring Values in a Pattern
- Ignoring an Entire Value with _
- Ignoring an Unused Variable by Starting Its Name with _
- Impl trait restrictions
- Implement rest of Rust Syntax
- Implementation Reference
- Implemented features
- Implementing Clippy lints using patterns
- Implementing Send and Sync Manually Is Unsafe
- Implementing Transitions as Transformations into Different Types
- Implementing a Trait on a Type
- Implementing an Unsafe Trait
- Implementing the Drop Trait on ThreadPool
- Implementing the Trait
- Implementing the execute Method
- Implementing the search_case_insensitive Function
- Implicit Borrows
- Implicit Deref Coercions with Functions and Methods
- Implicit discriminants
- Implicitly declared entities
- Implied bounds
- Impls
- Imports (use statements)
- Improving Throughput with a Thread Pool
- Improving the Error Message
- In Enum Definitions
- In Function Definitions
- In Method Definitions
- In Struct Definitions
- Include items only when collecting doctests
- Including doc tests
- Incompletely supported library functionality
- Indentation and line width
- Index
- Index Configuration
- Index Protocols
- Index files
- Indexing into Strings
- Infinite loops
- Info Options
- Information about package structure
- Inhabited
- Inherent Implementations
- Inherent implementation
- Inherent method
- Inherent methods
- Inherent methods on dyn Trait objects
- Inheritance as a Type System and as Code Sharing
- Inheriting a dependency from a workspace
- Init Options
- Initialization of a union
- Initialized
- Inlining rules
- Inlining with #[doc(inline)]
- Inputs to the Build Script
- Inspecting
- Inspecting resolved features
- Install Options
- Install Rust and Cargo
- Install from source
- Install tools with
- Install tools with
- Installing LLVM coverage tools
- Installing rustup on Linux or macOS
- Installing rustup on Windows
- Instantiating crate
- Instruction Sets
- Integer Overflow
- Integer Types
- Integer literal expressions
- Integer literals
- Integer overflow
- Integer overflow checks
- Integer types
- Integration Tests
- Integration Tests for Binary Crates
- Integration tests
- Integration with build systems
- Interactions between platform-specific docs
- Interior Mutability: A Mutable Borrow to an Immutable Value
- Internal
- Internal Representation
- Interop with C required
- Interoperability with C code
- Interoperability with RTOSs
- Interoperability with other build systems
- Interpreting reports
- Invalid Array Element Access
- Invalid values
- Is the plan to use GitHub as a package repository?
- Item declarations
- Item filtering
- Item scopes
- Item visibility
- Iterating Over the Values in a Vector
- Iterating Through Lines with the lines Method
- Iterator loops
- Iterators vs Array Access
- J-Link
- JSON format
- JSON messages
- JSON messages
- JSON output
- JSON schema
- Jobserver
- Keeping Track of Borrows at Runtime with RefCell<T>
- Keywords
- Keywords Currently in Use
- Keywords Reserved for Future Use
- Know your hardware
- LAST
- Labelled block expressions
- Labelled block expressions
- Language prelude
- Large list imports
- LateContext and TypeckResults
- LateLintPass
- Launching x.py
- Layout and bit validity
- Lazy boolean operators
- Leaks of memory and other resources
- Least upper bound coercions
- Let statements
- Library
- Life Cycle of a Build Script
- Lifetime
- Lifetime Annotation Syntax
- Lifetime Annotations in Function Signatures
- Lifetime Annotations in Method Definitions
- Lifetime Annotations in Struct Definitions
- Lifetime Elision
- Lifetime bounds
- Lifetime elision in functions
- Lifetime generic parameter scopes
- Lifetime scopes
- Lifetimes and loop labels
- Lifetimes from higher-ranked binders
- Limitations
- Limitations
- Limitations
- Limitations and quirks of type-based search
- Line breaks
- Line-breaking
- Linear and Real Memory Space
- Linking and greater project context.
- Linking effects
- Linking modifiers: bundle
- Linking modifiers: bundle
- Linking modifiers: verbatim
- Linking modifiers: verbatim
- Linking modifiers: whole-archive
- Linking modifiers: whole-archive
- Linking to system libraries
- Lint Groups
- Lint Reasons
- Lint check attributes
- Lint configuration
- Lint declaration
- Lint groups
- Lint name
- Lint passes
- Lint registration
- Lint registration
- Lint types
- Lints Section in Cargo.toml
- List of unstable features
- Listening to the TCP Connection
- Literal (<lit>)
- Literal patterns
- Literals
- Local Documentation
- Local Registry Sources
- Local paths in published crates
- Local trait
- Local type
- Lock file
- Lock-file behavior
- Logic errors
- Logical and
- Logical not
- Logical or
- Logical xor
- Login
- Login Options
- Login request
- Login success response
- Logout Options
- Logout success response
- Long array and slice patterns are now wrapped
- Long strings don't prevent formatting expressions
- Loop Labels to Disambiguate Between Multiple Loops
- Loop label scopes
- Loop labels
- Looping Through a Collection with for
- MCU-Link
- MSRV-aware cargo add
- MSRV-aware resolver
- Machine-dependent integer types
- Macro Invocation
- Macro hygiene
- Macro uses
- Macros
- Macros
- Macros in statement position
- Main Functions
- Maintenance time
- Major: Adding repr(align) to a struct, union, or enum
- Major: Adding repr(packed) to a struct or union
- Major: Changing the alignment, layout, or size of a well-defined type
- Major: Changing the order of public fields of a repr(C) type
- Major: Changing the primitive representation of a repr(<int>) enum
- Major: Changing the value N of repr(align(N)) if that changes the alignment
- Major: Changing the value N of repr(packed(N)) if that changes the alignment or layout
- Major: Removing repr(<int>) from an enum
- Major: Removing repr(C) from a struct, union, or enum
- Major: Removing repr(align) from a struct, union, or enum
- Major: Removing repr(packed) from a struct or union
- Major: Removing repr(transparent) from a struct or enum
- Major: adding a non-defaulted trait item
- Major: adding a private struct field when all current fields are public
- Major: adding a public field when no private field exists
- Major: adding a trait item that makes the trait non-object safe
- Major: adding a type parameter without a default
- Major: adding new enum variants (without non_exhaustive)
- Major: adding new fields to an enum variant
- Major: adding non_exhaustive to an existing enum, variant, or struct with no private fields
- Major: adding/removing function parameters
- Major: any change to trait item signatures
- Major: capturing more generic parameters in RPIT
- Major: generalizing a function to use generics with type mismatch
- Major: generalizing a type to use generics (with possibly different types)
- Major: removing a Cargo feature
- Major: removing a feature from a feature list if that changes functionality or public items
- Major: renaming/moving/removing any public items
- Major: switching from no_std support to requiring std
- Major: tightening generic bounds
- Make changes
- Making Code Clearer with Iterator Adapters
- Making Structs and Enums Public
- Making Useful Documentation Comments
- Management
- Managing a crates.io-based crate
- Mangling versions
- Manifest
- Manifest Commands
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest Options
- Manifest-commands
- Manual garbage collection with cargo clean
- Markdown
- Match
- Match descendant
- Match guards
- Matches Are Exhaustive
- Matching Literals
- Matching Named Variables
- Matching Ranges of Values with ..=
- Matching on Different Errors
- Matching with Option<T>
- Member
- Membership
- Membership
- Memory Mapped Peripherals
- Memory and Allocation
- Memory usage
- Merging Streams
- Merging/un-merging imports
- Meta Item Attribute Syntax
- Metabuild
- Metadata conventions
- Metavariables
- Method calls
- Method has generic type parameters
- Method has no receiver
- Method references the Self type in its parameters or return type
- Methods
- Methods are decorated with #[inline] where appropriate (C-INLINE)
- Methods for Iterating Over Strings
- Methods that Consume the Iterator
- Methods that Produce Other Iterators
- Methods with More Parameters
- Micro-architecture crate
- Migrating a large project or workspace
- Migrating away from the Captures trick
- Migrating away from the outlives trick
- Migrating cases involving APIT
- Migrating macros
- Migrating multiple configurations
- Migrating non-Cargo projects
- Migrating to an unstable edition
- Migrating while avoiding overcapturing
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration
- Migration needed
- Migrations
- Minimizing build times and file sizes
- Minor: Adding repr(<int>) to an enum
- Minor: Adding repr(C) to a default representation
- Minor: Adding repr(transparent) to a default representation struct or enum
- Minor: adding a defaulted trait type parameter
- Minor: adding a new Cargo feature
- Minor: adding defaulted type parameters
- Minor: adding dependencies
- Minor: adding new public items
- Minor: adding or removing private fields when at least one already exists
- Minor: changing a generic type to a more generic type
- Minor: changing dependency features
- Minor: generalizing a function to use generics (supporting original type)
- Minor: generalizing a type to use generics (with identical types)
- Minor: going from a tuple struct with all private fields (with at least one field) to a normal struct, or vice versa
- Minor: introducing new lints
- Minor: loosening generic bounds
- Minor: making an unsafe function safe
- Minor: repr(C) add enum variant
- Minor: repr(C) add, remove, or change a private field
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Miscellaneous Options
- Mixed Rust and foreign codebases
- Modifying
- Module
- Module
- Module Source Filenames
- Modules
- Modules
- Modules Cheat Sheet
- More Information About the Cons List
- More Lints with Clippy
- More details
- Motivation
- Motivation
- Motivation
- Motivation
- Motivation - why use a formatting tool?
- Moved and copied types
- Moving Captured Values Out of Closures and the Fn Traits
- Multi-line calls
- Multi-line elements
- Multiple Cores
- Multiple Ownership with Multiple Threads
- Multiple Patterns
- Multiple Policies in a Workspace
- Multiple impl Blocks
- Multiple inner attributes in a match expression indented incorrectly
- Multiple locations
- Multiple version requirements
- Mutability
- Mutable References
- Mutable references (&mut)
- Mutable statics
- Mutex or RwLock
- Mutexes
- Mutually exclusive features
- My example is not showing up in the documentation
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NAME
- NDK/API Update Policy
- Name
- Name resolution
- Name restrictions
- Named entities without a namespace
- Named submatch (<a>#<name>)
- Names
- Namespace
- Namespace
- Namespaced features
- Namespaces and Disambiguators
- Native compilation
- Navigation
- Negation operator for alternatives
- Negation operators
- Nested imports
- Nesting
- Never type fallback
- New Options
- Nightly-gated functionality
- Nightly-only features
- No Concurrency
- No Output After cargo check
- No interop with C required
- No local path traversal
- No migration needed
- No more extern crate
- No more mod.rs
- No optimizations
- Node (<node-name>(<args>))
- Nominal types
- Non-doc comments
- Non-executable memory regions
- Non-operator Symbols
- Nonexistent Crates
- Normalisation
- Normalization
- Not running destructors
- Note: this error code is no longer emitted by the compiler
- Note: this error code is no longer emitted by the compiler
- Note: this error code is no longer emitted by the compiler
- Note: this error code is no longer emitted by the compiler
- Note: this error code is no longer emitted by the compiler
- Note: this error code is no longer emitted by the compiler
- Note: this error code is no longer emitted by the compiler
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Note: this error code is no longer emitted by the compiler.
- Notes
- Noteworthy
- Noteworthy
- Noteworthy
- Noteworthy
- Number literals
- Numbers
- Numeric Operations
- Numeric cast
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OPTIONS
- OS Version
- OS version
- OS version
- OS version
- OS version
- OS version
- OS version
- OS version
- OS-Specific Instructions
- OUTPUT FORMAT
- Objects Contain Data and Behavior
- Off-by-one error for format_macro_matchers
- Off-by-one error for wrapping enum variant doc comments
- Official
- Offline Mode
- On ARM
- OnceLock or LazyLock
- One or More Policies
- Open PR in the Rust repository
- Open Source Developers
- OpenOCD
- OpenOCD (Open On-Chip Debugger)
- Operand type
- Operands
- Operations on boolean values
- Operator Traits
- Operators
- Optimization hints
- Optimize for size
- Optimize for speed
- Optimizing dependencies
- Optional dependencies
- Optional migration
- Options
- Or-patterns
- Ordering list import
- Ordering of imports
- Orphan rules
- Other Resources
- Other Resources
- Other Resources
- Other Slices
- Other references
- Other traits
- Other values
- Our First Async Program
- Out Of Memory and error handling
- Outer and inner documentation
- Outer generic parameters
- Output Options
- Output Options
- Output Options
- Output Options
- Output Options
- Output Options
- Output Options
- Output Options
- Output Options
- Output Options
- Output options
- Outputs of the Build Script
- Overflow
- Overloading Traits
- Overrides
- Overrides
- Overrides and generics
- Overriding Build Scripts
- Overriding repository URL
- Overview
- Overview
- Overview
- Overview
- Overwriting a Value
- Owner Options
- Owners
- Owners: Add
- Owners: List
- Owners: Remove
- Ownership Rules
- Ownership and Functions
- Ownership of Struct Data
- PAC
- PR
- PR Checklist
- Package
- Package Commands
- Package ID specifications
- Package Options
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package Selection
- Package manager
- Package registry
- Package selection
- Packages
- Packaging a crate
- Packed and Aligned Types
- Parallelism and Concurrency
- Parameter patterns
- Parameters
- Parenthesized types
- Parsing / Lowering
- Partial migration with broken code
- PartialEq and Eq for Equality Comparisons
- PartialOrd and Ord for Ordering Comparisons
- Passes
- Passing arguments to rustc when compiling doctests
- Passing or failing a doctest
- Patching git-subtree to work with big repos
- Path
- Path Bases
- Path patterns
- Path qualifiers
- Path-Based Scope
- Path: Crate root
- Path: Generic arguments
- Path: Impl
- Path: Inherent impl
- Path: Nested path
- Path: Trait definition
- Path: Trait impl
- Paths in expressions
- Paths in types
- Pattern binding scopes
- Pattern binding shadowing
- Pattern matching on unions
- Pattern syntax
- PatternTree
- Patterns
- Patterns That Bind to Values
- Pedantic
- People Who Value Speed and Stability
- Per-item control
- Perf
- Performance
- Performance of Code Using Generics
- Performing the sync from
- Performing the sync from Clippy to
- PhantomData<T>
- Pin state should be encoded as type parameters (C-PIN-STATE)
- Pin types are zero-sized by default (C-ZST-PIN)
- Pin types provide methods to erase pin and port (C-ERASED-PIN)
- Pin<P>
- Place Expressions and Value Expressions
- Placeholders
- Places based on misaligned pointers
- Platform requirements
- Platform requirements
- Platform specific dependencies
- Pointed-to bytes
- Pointer casting
- Pointer to address cast
- Pointer-to-pointer cast
- Pointers and References Layout
- Polymorphism
- Position-independent executable
- Possibly-breaking change: adding any inherent items
- Possibly-breaking: adding a defaulted trait item
- Possibly-breaking: changing the minimum version of Rust required
- Possibly-breaking: changing the platform and environment requirements
- Possibly-breaking: introducing a new function type parameter
- Possibly-breaking: removing an optional dependency
- Pre-processing examples
- Pre-releases
- Precedence with other undelimited patterns
- Precise capturing
- Predicate loops
- Predicate pattern loops
- Preliminaries
- Prelude
- Prelude scopes
- Preparation
- Preprocessor
- Prepublishing a breaking change
- Prerequisite: Disable debuginfo
- Prerequisite: Enable rustix's libc backend
- Prerequisite: Supplying OpenSSL
- Preventing Dangling References with Lifetimes
- Preventing Reference Cycles: Turning an Rc<T> into a Weak<T>
- Preventing inlining with #[doc(no_inline)]
- Primary relocation models
- Primitive Data Layout
- Primitive Representation of Enums With Fields
- Primitive Representation of Field-less Enums
- Primitive representations
- Primitive to integer cast
- Primitives with Special Syntax
- Print HIR lint
- Printing Errors to Standard Error
- Printing Values with println! Placeholders
- Prior Art
- Prior art
- Prioritization
- Probe-rs
- Probe-rs Visual Studio Code Extension
- Probes
- Problems
- Proc-macro companion package
- Procedural Macros for Generating Code from Attributes
- Procedural macro hygiene
- Process for New and Existing Lints
- Processes
- Processing a Guess
- Profile Overrides
- Profile rustflags option
- Profile selection
- Profile settings
- Profile strip option
- Profile trim-paths option
- Program Overview
- Project
- Propagating Errors
- Providing New Names with the as Keyword
- Publish
- Publish Options
- Publish clippy_utils
- Publish request
- Publishing Commands
- Publishing Fuchsia package to repository
- Publishing a Fuchsia package
- Publishing a New Version of an Existing Crate
- Publishing a new version of an existing crate
- Publishing to Crates.io
- Publishing to an Alternate Registry
- Punctuation
- Punycode identifiers
- QEMU
- QuRT OS
- Qualified paths
- Quitting After a Correct Guess
- Quote escapes
- RTIC
- Racing Futures
- Racing Our Two URLs Against Each Other
- Range patterns
- Ranges
- Rationale and alternatives
- Rationale relative to wasm32-unknown-unknown
- Raw C string literals
- Raw Identifiers
- Raw borrow operators
- Raw byte string literals
- Raw identifiers
- Raw pointer dereference
- Raw pointers
- Raw pointers (*const and *mut)
- Raw string literals
- Rc<T>
- Re-exporting Names with pub use
- Re-exporting and Visibility
- Re-exporting dependency features
- Re-using this material
- Re-using this material
- Read request
- Read-only relocations and immediate binding
- Reading
- Reading Elements of Vectors
- Reading and writing union fields
- Reading the Argument Values
- Reading the Request
- Reading the graphs
- Real Time Operating Systems
- Receiving User Input
- Recommendations
- Recommended configuration
- Recommended fix
- Recursive types
- Refactoring with Structs: Adding More Meaning
- Refactoring with Tuples
- Reference into unaligned structs
- Reference patterns
- Reference patterns restriction
- Reference-level explanation
- References
- References (& and &mut)
- References to union fields
- References vs Pointers
- Reformatting with rustfmt
- Refutability
- Register names
- Register operands
- Registry
- Registry Protocols
- Registry Sources
- Registry information
- Regular Meetings
- Relabel backported PRs
- Relationship between Bounds and WhereBounds
- Reliability
- Removing Duplication by Extracting a Function
- Removing a clone Using an Iterator
- Renaming crates
- Renaming dependencies in Cargo.toml
- Repeating Code with loop
- Repetition (<a>*, <a>+, <a>?, <a>{n}, <a>{n,m}, <a>{n,})
- Repetition with Loops
- Repetitions
- Reporting bugs and helping out
- Representations
- Requesting a Review of the Post Changes Its State
- Required features
- Required where clauses on generic associated types
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Requirements
- Reserved forms similar to number literals
- Reserved guards
- Reserved keywords
- Reserved prefixes
- Resolver
- Resolver version 2 command-line flags
- Resolver versions
- Rest patterns
- Restriction
- Restrictions
- Restrictions
- Retrieving the type of expression
- Return Values and Scope
- Return-position impl Trait in traits and trait implementations
- Returning Closures
- Returning Errors from the run Function
- Returning Real HTML
- Returning Types That Implement Traits
- Returning Values from Loops
- Returning a Result Instead of Calling panic!
- Reusing code from other architectures - x86_64 or AArch64?
- Rightmost shared reference truncation
- Root package
- Rules for inline assembly
- Run in a chroot
- Running
- Running Single Tests
- Running Tests in Parallel or Consecutively
- Running a Fuchsia component
- Running a Fuchsia component on an emulator
- Running a Subset of Tests by Name
- Running rustfmt
- Running the Rust test suite
- Running the compiler test suite
- Running the instrumented binary to generate raw coverage profiling data
- Running unit tests
- Rust 2015/2018/2021 style edition
- Rust 2024 style edition
- Rust Roadmap
- Rust Toolchain
- Rust build.rs build scripts
- Rust releases
- Rust staticlib as dependency in C/C++ program
- Rust std for UEFI
- Rust std library test suite
- Rust version
- Rust-like pattern syntax
- RustcEncodable and RustcDecodable
- RustcEncodable and RustcDecodable removal
- Rustfix Tests
- Rustfix tests
- Rustup and the Role of Rust Nightly
- Rusty-probe
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SEE ALSO
- SPI
- SSH Known Hosts
- SSH authentication
- ST-LINK USB driver
- ST-Link
- STM32F3DISCOVERY (the "F3")
- SVD
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- SYNOPSIS
- Safe references
- Safety requirements
- Same formatting between function and macro calls
- Sanitizers
- Saving the Argument Values in Variables
- Scalar Types
- Scaling up the Team
- Scope
- Scope
- Scope
- Scope
- Scope and Assignment
- Scopes of function parameters
- Scopes of local variables
- Scoping, Exporting, and Importing
- Scrutinee
- Search
- Search By Name
- Search Options
- Search query syntax
- Searching By Type Signature for functions
- Searching Each Line for the Query
- Section options
- Section options
- Sections
- Sections
- See Also
- Selecting supported Rust versions
- Selection options
- Self
- Self scope
- SemVer compatibility
- SemVer compatibility
- SemVer-breaking patch release breaks the build
- Semantics
- Send
- Sending Multiple Values and Seeing the Receiver Waiting
- Sending Requests to Threads via Channels
- Separation of Concerns for Binary Projects
- Sequence (<a> <b>)
- Serving a Fuchsia package
- Set Configuration Options
- Setting Up a Crates.io Account
- Setting Up a New Project
- Setting and Updating Rust Version
- Setting up a project
- Setup
- Setup
- Setup
- Shadowing
- Shared cache
- Shared prefix
- Shared references (&)
- Sharing Peripherals
- Sharing a Mutex<T> Between Multiple Threads
- Shebang removal
- Short-lived references
- Shortcuts
- Shortcuts for Panic on Error: unwrap and expect
- Shouldn't you fix the old borrow checker?
- Show line numbers on code examples
- Showing Function Output
- Showing warnings in doctests
- Signaling to the Threads to Stop Listening for Jobs
- Similarities Between RefCell<T>/Rc<T> and Mutex<T>/Arc<T>
- Simple Paths
- Simple escapes
- Simulating a Slow Request in the Current Server Implementation
- Single line formatting
- Single line if else
- Single-file packages
- Single-line
- Single-line calls
- Size
- Size and Alignment
- Sized
- Slice
- Slice Layout
- Slice patterns
- Slicing Strings
- Small example application
- Smart Pointers
- Smart punctuation
- Snippets
- Software that drives debugging tools
- Sorting
- Source
- Source Code
- Source Code
- Source encoding
- Source options
- Span.ctxt method
- Sparse Limitations
- Sparse Protocol
- Sparse authentication
- Spawning a Thread for Each Request
- Spec
- Special Options
- Special relocation models
- Specific Type
- Specific Type
- Specification grammar
- Specifying Multiple Trait Bounds with the + Syntax
- Specifying Placeholder Types in Trait Definitions with Associated Types
- Specifying dependencies from crates.io
- Specifying dependencies from git repositories
- Specifying dependencies from other registries
- Specifying expected names and values
- Specifying path dependencies
- Specifying the lint's minimum supported Rust version (MSRV)
- Specifying the minimum supported Rust version
- Splitting Code into a Library Crate
- Stability Without Stagnation
- Stabilized and removed features
- Stack clashing protection
- Stack smashing protection
- Stack-Only Data: Copy
- Standalone
- Standalone
- Standalone OS
- Standard behavior
- Standard library prelude
- Starting Relative Paths with super
- Starting the Fuchsia emulator
- Starting the migration
- Statement
- Statements and Expressions
- Static and dynamic C runtimes
- Static semantics
- Statics
- Statics & generics
- Staying on the “happy path” with let else
- Storing Matching Lines
- Storing Values with Variables
- Storing the Text of the Post Content
- Strict keywords
- Strikethrough
- String Literals as Slices
- String Slices
- String Slices as Parameters
- String continuation escapes
- String literal
- String literal expressions
- String literals
- String slice
- String table productions
- Strings Are Not So Simple
- Strong Types
- Struct field init shorthand
- Struct literals
- Struct patterns
- Structs and Unions
- Structure
- Structured Exception Handling
- Students
- Style
- Sub-namespaces
- Submodules in Integration Tests
- Suffixes
- Suggestions
- Suggestions: Automatic fixes
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Summary
- Supertraits
- Support Expectations
- Supporting other syntaxes
- Suspicious
- Symbol grammar summary
- Symbol name
- Symbol path
- Sync
- Syntax
- Syntax reference
- Table of Contents
- Table of contents
- Table of supported CPUs
- Table of supported CPUs
- Table of supported CPUs
- Table of supported CPUs for thumbv7em-none-eabi
- Table of supported CPUs for thumbv7em-none-eabihf
- Table of supported CPUs for thumbv8m.main-none-eabi
- Table of supported CPUs for thumbv8m.main-none-eabihf
- Tables
- Tabs in the Search By Name interface
- Tag the stable commit
- Target
- Target CPU and Target Feature options
- Target CPU and Target Feature options
- Target CPU and Target Feature options
- Target CPU and Target Feature options
- Target CPU and Target Feature options
- Target CPU and Target Feature options
- Target Features
- Target Features
- Target Maintainers
- Target Maintainers
- Target Maintainers
- Target Maintainers
- Target Selection
- Target Selection
- Target Selection
- Target Selection
- Target Selection
- Target Selection
- Target Selection
- Target Selection
- Target Selection
- Target Specific Directive Support
- Target auto-discovery
- Target definition
- Target libraries
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Target maintainers
- Targeting Fuchsia with a compiler built from source
- Targeting Fuchsia with rustup and cargo
- Task context
- Task lists
- Teams of Developers
- Template modifiers
- Template string arguments
- Temporaries
- Temporary lifetime extension
- Temporary scope may be narrowed
- Temporary scopes
- Termination
- Test Options
- Test Targets
- Test attributes
- Test coverage
- Test with QEMU
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing
- Testing Equality with the assert_eq! and assert_ne! Macros
- Testing Manually
- Testing Private Functions
- Testing a bugfix
- Testing manually
- Testing the First Part
- Testing your code in the new edition
- Tests
- Tests Location
- Text Editors and Integrated Development Environments
- Textual Scope
- The #[expect] attribute
- The API of Mutex<T>
- The Anatomy of a Test Function
- The Array Type
- The Boolean Type
- The Borrow Checker
- The Borrow Checker
- The C Approach
- The C Representation
- The Character Type
- The Clippy Team
- The Difference Between Macros and Functions
- The Future Trait
- The Glob Operator
- The IsMatch Trait
- The Item Documentation
- The Iterator Trait and the next Method
- The Matcher Invariants
- The Navigation Bar
- The Never Type that Never Returns
- The Option Enum and Its Advantages Over Null Values
- The Pin and Unpin Traits
- The RFC Process and Teams
- The Registers
- The Rules of References
- The Rust Representation
- The Rusty Wrapper
- The Span.from_expansion method
- The Stack and the Heap
- The Static Lifetime
- The Stream Trait
- The String Type
- The Tests Module and #[cfg(test)]
- The Theme Picker and Search Interface
- The Trade-Offs of Using clone
- The Tuple Type
- The [badges] section
- The [features] section
- The [lints] section
- The [package] section
- The [patch] section
- The [profile.*] sections
- The [replace] section
- The [workspace] section
- The alignment modifiers
- The args Function and Invalid Unicode
- The authors field
- The automatically_derived attribute
- The bench field
- The build field
- The categories field
- The cfg attribute
- The cfg macro
- The cfg_attr attribute
- The cold attribute
- The collapse_debuginfo attribute
- The crate is named appropriately (C-CRATE-NAME)
- The crate keyword refers to the current crate
- The crate-type field
- The crate_name attribute
- The debugger_visualizer attribute
- The default Rust style
- The default exception handler
- The default feature
- The default-members field
- The default-run field
- The define_clippy_lints macro
- The dependencies table
- The deprecated attribute
- The dereference operator
- The description field
- The diagnostic tool attribute namespace
- The diagnostic::do_not_recommend attribute
- The diagnostic::on_unimplemented attribute
- The doc field
- The doctest field
- The documentation field
- The edition field
- The edition field
- The exclude and include fields
- The export_name attribute
- The global_allocator attribute
- The hard fault handler
- The harness field
- The homepage field
- The ignore attribute
- The import_name_type key
- The in_external_macro function
- The inline attribute
- The instruction_set attribute
- The keywords field
- The libstd Runtime
- The license and license-file fields
- The link attribute
- The link_name attribute
- The link_ordinal attribute
- The link_section attribute
- The links Manifest Key
- The links field
- The lints table
- The macro_use attribute
- The members and exclude fields
- The metadata table
- The metadata table
- The must_use attribute
- The name field
- The name field
- The no_builtins attribute
- The no_implicit_prelude attribute
- The no_link attribute
- The no_main attribute
- The no_mangle attribute
- The no_std attribute
- The non_exhaustive attribute
- The package table
- The panic_handler attribute
- The path attribute
- The path field
- The plugin field
- The proc-macro field
- The proc_macro crate
- The publish field
- The question mark operator
- The readme field
- The recursion_limit attribute
- The repository field
- The required-features field
- The result type
- The role of the version key
- The rust-version field
- The should_panic attribute
- The target_feature attribute
- The test attribute
- The test field
- The tests Directory
- The track_caller attribute
- The trait requires Self: Sized
- The transparent Representation
- The type_length_limit attribute
- The used attribute
- The version field
- The windows_subsystem attribute
- The workspace field
- Thinking in Terms of Lifetimes
- This error code is internal to the compiler and will not be emitted with normal Rust code.
- This error code is internal to the compiler and will not be emitted with normal Rust code.
- This error code is internal to the compiler and will not be emitted with normal Rust code.
- This error code is internal to the compiler and will not be emitted with normal Rust code.
- This error code is internal to the compiler and will not be emitted with normal Rust code.
- Tier 1
- Tier 1 target policy
- Tier 1 with Host Tools
- Tier 1 with host tools
- Tier 2 Target List
- Tier 2 target policy
- Tier 2 with Host Tools
- Tier 2 with host tools
- Tier 2 without Host Tools
- Tier 3
- Tier 3 Target List
- Tier 3 target policy
- Tilde requirements
- Tips
- Tips for building Rust programs for MIPS R6
- Tips for listing the binaries automatically
- Tokenization
- Too many lints
- Tool attributes
- Tool lint attributes
- Tool prelude
- Toolchain Compatibility
- Tooling and environment compatibility
- Tooling for Embedded Rust Debugging
- Trade-offs
- Trade-offs of the State Pattern
- Trailing commas
- Trait
- Trait Bound Syntax
- Trait Implementation Coherence
- Trait Implementations
- Trait Object Layout
- Trait Object Lifetime Bounds
- Trait Objects Perform Dynamic Dispatch
- Trait bounds
- Trait contains associated constants
- Trait implementations
- Trait uses Self as a type parameter in the supertrait listing
- Traits
- Traits as Parameters
- Transcribing
- Translations
- Translations
- Treat your hardware like data
- Treating a Type Like a Reference by Implementing the Deref Trait
- Tree Formatting Options
- Tree Options
- Triaging
- Triggering external build systems
- Troubleshooting
- Troubleshooting
- Troubleshooting
- Troubleshooting GitHub team access errors
- Tuple Layout
- Tuple expressions
- Tuple index
- Tuple indexing expressions
- Tuple literals
- Tuple patterns
- Tuple struct expression
- Tuple struct literals
- Tuple struct patterns
- Tuple structs
- Tuples and tuple structs
- Turbofish
- Two stages
- Ty
- TyKind
- Type
- Type States
- Type aliases
- Type cast expressions
- Type expressions
- Types implement the embedded-hal traits (C-HAL-TRAITS)
- Types of paths
- UART
- USART
- Unary operations
- Unconditional warnings
- Uncovered type
- Undefined behavior
- Underscore Imports
- Underscore Imports
- Unexpected dependency duplication
- Unicode escapes
- Unicode escapes
- Uninhabited
- Uninstall Options
- Union fields
- Unique immutable borrows in captures
- Unit Tests
- Unit struct expression
- Unit-Like Structs Without Any Fields
- Unnamed constant
- Unresolved questions
- Unsafe Superpowers
- Unsafe attributes (#[unsafe(attr)])
- Unsafe blocks (unsafe {})
- Unsafe code in functions
- Unsafe external blocks (unsafe extern)
- Unsafe functions (unsafe fn)
- Unsafe trait implementations (unsafe impl)
- Unsafe traits
- Unsafe traits (unsafe trait)
- UnsafeCell with Sync
- UnsafeCell<T>
- Unsized Coercions
- Unstable Features
- Unstable command-line arguments
- Unstable options
- Unused Dependency Notifications
- Unwinding the Stack or Aborting in Response to a Panic
- Unyank
- Update CHANGELOG.md
- Update Options
- Update cargo new template to set package.rust-version = "toolchain"
- Update the beta branch
- Update the stable branch
- Update timeline
- Updating a Crate to Get a New Version
- Updating a Hash Map
- Updating a String
- Updating a Value Based on the Old Value
- Updating a Vector
- Updating and Uninstalling
- Updating your code to be compatible with the new edition
- Updating your dependencies
- Uploading the crate
- Usability
- Usage
- Usage
- Usage with clang-cl and x86_64-pc-windows-msvc
- Use bounds
- Use correct indentation when formatting a complex fn
- Use declarations
- Use the Rust logo as the crate logo
- Useful Links
- User Facing
- Users of the embedded-hal
- Uses
- Using ? in doc tests
- Using Box<T> Like a Reference
- Using Box<T> to Get a Recursive Type with a Known Size
- Using Clippy without cargo: clippy-driver
- Using Closures that Capture Their Environment
- Using Diagnostic Items
- Using External Packages
- Using Iterator Trait Methods Instead of Indexing
- Using Lang Items
- Using Miri to check unsafe code
- Using Mutexes to Allow Access to Data from One Thread at a Time
- Using Nested Paths to Clean Up Large use Lists
- Using Rc<T> to Share Data
- Using Result<T, E> in Tests
- Using Rustup
- Using Statics or Consts
- Using Supertraits to Require One Trait’s Functionality Within Another Trait
- Using Trait Bounds to Conditionally Implement Methods
- Using Tuple Structs Without Named Fields to Create Different Types
- Using Type Path
- Using [patch] with multiple versions
- Using a Box<T> to Store Data on the Heap
- Using a Crate to Get More Functionality
- Using a HAL crate
- Using a Peripheral Access Crate (PAC)
- Using alloc
- Using an Alternate Registry
- Using an Enum to Store Multiple Types
- Using another sys crate
- Using cargo-generate
- Using debugger_visualizer with GDB
- Using debugger_visualizer with Natvis
- Using extern Functions to Call External Code
- Using git
- Using heapless
- Using if in a let Statement
- Using move Closures with Threads
- Using neither
- Using rustdoc with Cargo
- Using standalone Markdown files
- Using the Field Init Shorthand
- Using the Newtype Pattern for Type Safety and Abstraction
- Using the Newtype Pattern to Implement External Traits on External Types
- Using the Returned Iterator Directly
- Using the search Function in the run Function
- Using zxdb
- Valid links
- Validating the Number of Threads in new
- Validating the Request and Selectively Responding
- Variable Scope
- Variables and Data Interacting with Clone
- Variables and Data Interacting with Move
- Variadic functions
- Variance
- Variant visibility
- Vendor Options
- Vendor-specific suffix
- Vendoring all dependencies of a project
- Vendoring of C libraries
- Verifying Latest Dependencies
- Verifying rust-version
- Version metadata
- Version numbers
- Version requirement syntax
- Version requirements
- Version uniqueness
- Version-incompatibility hazards
- Via an attribute
- Via compiler flag
- Via mem::discriminant
- Virtual workspace
- Visualizing Changes to strong_count and weak_count
- Volatile Access
- Volatile Accesses
- Waiting for All Threads to Finish Using join Handles
- Walkthrough structure
- Warn-by-default
- Warnings, re-exports, and scoping
- Watching emulator logs
- Weak dependency features
- Weak keywords
- Well known names and values
- What Is Profiled-Guided Optimization?
- What Is a String?
- What The Reference is not
- What are Peripherals?
- What do I do?
- What does “version conflict” mean and how to resolve it?
- What happens in case an intra-doc link cannot be generated
- What is embedded-hal?
- What it does
- What should our rules be?
- What this guide covers
- What to Exclude
- When are these warnings going to turn into errors?
- When to Use Unsafe Code
- When to update
- When to yank
- Where The ? Operator Can Be Used
- Where clauses
- Where’s the -> Operator?
- Who Embedded Rust is For
- Who Embedded Rust is For
- Who Rust Is For
- Who This Book Is For
- Who This Book is For
- Who This Book is For
- Why Cargo.toml?
- Why Not An Enum?
- Why build crates.io rather than use GitHub as a registry?
- Why do I get this message with code that doesn't involve borrowing?
- Why have Cargo.lock in version control?
- Why is Cargo rebuilding my code?
- Why it is bad
- Why was a dependency included?
- Why was that feature on this dependency enabled?
- Why wasn’t a newer version selected?
- Why?
- Wild Card Patterns
- Wildcard pattern
- Wildcard pattern bindings
- Wildcard requirements
- Will Cargo work with C code (or other languages)?
- Working directory of benchmarks
- Working directory of tests
- Working with an unpublished minor version
- Workspace
- Workspace Inheritance
- Workspaces
- Worst Case Execution Time (WCET)
- Wrapper types provide a destructor method (C-FREE)
- Wrappers that can be omitted
- Wrapping C functions and Datatypes
- Write Test Cases
- Writing
- Writing Code to Pass the Test
- Writing a Failing Test
- Writing a Failing Test for the Case-Insensitive search Function
- Writing a Response
- Writing and Running a Rust Program
- Writing code
- Writing idiomatic code in a new edition
- Yank
- Yank Options
- Yanked versions
- Yielding Control to the Runtime
- Zero Sized Types
- Zero-variant enums
- [alias]
- [build]
- [cargo-new]
- [credential-alias]
- [doc]
- [env]
- [future-incompat-report]
- [http]
- [install]
- [lints.cargo]
- [lints]
- [net]
- [patch]
- [profile.<name>.build-override]
- [profile.<name>.package.<name>]
- [profile]
- [registries]
- [registry]
- [resolver]
- [source]
- [target]
- [term]
- aarch64
- aarch64-linux-android on Nightly compilers
- abi-unsupported-vector-types
- absolute-paths-allowed-crates
- absolute-paths-max-segments
- absolute-paths-not-starting-with-crate
- accept-comment-above-attributes
- accept-comment-above-statement
- alias
- alloc
- allow
- allow-comparison-to-zero
- allow-dbg-in-tests
- allow-expect-in-tests
- allow-features
- allow-indexing-slicing-in-tests
- allow-mixed-uninlined-format-args
- allow-one-hash-in-raw-strings
- allow-panic-in-tests
- allow-print-in-tests
- allow-private-module-inception
- allow-renamed-params-for
- allow-unwrap-in-tests
- allow-useless-vec-in-tests
- allowed-dotfiles
- allowed-duplicate-crates
- allowed-idents-below-min-chars
- allowed-prefixes
- allowed-scripts
- allowed-wildcard-imports
- ambiguous-associated-items
- ambiguous-glob-imports
- ambiguous-glob-reexports
- ambiguous-negative-literals
- ambiguous-wide-pointer-comparisons
- anonymous-parameters
- ar
- args
- arithmetic-overflow
- arithmetic-side-effects-allowed
- arithmetic-side-effects-allowed-binary
- arithmetic-side-effects-allowed-unary
- arm-none-eabi-gdb
- array-into-iter
- array-size-threshold
- artifact-dependencies
- artifact-dependencies: Dependency declarations
- artifact-dependencies: Environment variables
- artifact-dependencies: Examples
- artifact-dir
- as renames
- asm-sub-register
- asymmetric-token
- async and await
- async blocks
- async-fn-in-trait
- async-idents
- avoid-breaking-exported-api
- avoid-dev-deps
- await-holding-invalid-types
- bad-asm-style
- bare-trait-object
- bare-trait-objects
- bare_trait_objects:
- bare_urls
- base-62-number
- bench
- binary-asm-labels
- binary-dep-depinfo
- bindings-with-variant-name
- boxed-slice-into-iter
- break and loop values
- break expressions
- break-with-label-and-loop
- broken_intra_doc_links
- build-std
- build-std-features
- build.dep-info-basedir
- build.incremental
- build.jobs
- build.pipelining
- build.rustc
- build.rustc-workspace-wrapper
- build.rustc-wrapper
- build.rustdoc
- build.rustdocflags
- build.rustflags
- build.target
- build.target-dir
- build.warnings
- builds.sr.ht
- cache-messages
- cargo bless
- cargo config
- cargo dev
- cargo logout
- cargo owner
- cargo yank
- cargo-binutils
- cargo-binutils
- cargo-generate
- cargo-generate OR git
- cargo-ignore-publish
- cargo-new.email
- cargo-new.name
- cargo-new.vcs
- cargo::error=MESSAGE
- cargo::rerun-if-changed=PATH
- cargo::rerun-if-env-changed=NAME
- cargo::rustc-cdylib-link-arg=FLAG
- cargo::rustc-cfg=KEY[="VALUE"]
- cargo::rustc-check-cfg for build.rs/build-script
- cargo::rustc-check-cfg=CHECK_CFG
- cargo::rustc-env=VAR=VALUE
- cargo::rustc-flags=FLAGS
- cargo::rustc-link-arg-benches=FLAG
- cargo::rustc-link-arg-bin=BIN=FLAG
- cargo::rustc-link-arg-bins=FLAG
- cargo::rustc-link-arg-examples=FLAG
- cargo::rustc-link-arg-tests=FLAG
- cargo::rustc-link-arg=FLAG
- cargo::rustc-link-lib=LIB
- cargo::rustc-link-search=[KIND=]PATH
- cargo::warning=MESSAGE
- cargo:libsecret
- cargo:macos-keychain
- cargo:token
- cargo:token-from-stdout <command> <args>
- cargo:wincred
- cenum-impl-drop-cast
- check-cfg
- check-cfg in [lints.rust] table
- check-private-items
- checksum-freshness
- clashing-extern-declarations
- clippy::pedantic
- clippy::restriction
- closure-returning-async-block
- cmath
- code-model
- codegen-backend
- codegen-units
- codegen-units
- cognitive-complexity-threshold
- coherence-leak-check
- collapse-macro-debuginfo
- config-cli
- config-include
- configurable-env
- conflicting-repr-hints
- confusable-idents
- const blocks
- const-evaluatable-unchecked
- const-item-mutation
- continue expressions
- control-flow-guard
- crate
- crate-type
- crate-versions
- credential-process
- dangling-pointers-from-temporaries
- dead-code
- debug
- debug-assertions
- debug-assertions
- debug_assertions
- debuginfo
- default-linker-libraries
- default-overrides-default-fields
- default-run
- deny
- dependency-on-unit-never-type-fallback
- deprecated
- deprecated-safe-2024
- deprecated-where-clause-location
- deref-into-dyn-supertrait
- deref-nullptr
- dev
- dev-dependency cycles
- direct-minimal-versions
- disallowed-macros
- disallowed-methods
- disallowed-names
- disallowed-types
- disjoint-capture-migration
- dlltool
- doc-valid-idents
- doc.browser
- doc_auto_cfg: Automatically generate #[doc(cfg)]
- doctest-in-workspace
- doctest-xcompile
- drop-bounds
- dropping-copy-types
- dropping-references
- duplicate-macro-attributes
- dylib versus raw-dylib
- dyn Trait for trait objects
- dyn-drop
- edition 2021
- edition-2024-expr-fragment-specifier
- elided-lifetime-in-path
- elided-lifetimes-in-associated-constant
- elided-lifetimes-in-paths
- elided-named-lifetimes
- ellipsis-inclusive-range-patterns
- ellipsis_inclusive_range_patterns:
- else blocks (let-else statements)
- embed-bitcode
- enable-raw-pointer-heuristic-for-send
- enforce-iter-loop-reborrow
- enforced-import-renames
- enum-intrinsics-non-enums
- enum-variant-name-threshold
- enum-variant-size-threshold
- env
- exceeding-bitshifts
- excessive-nesting-threshold
- expect
- explicit-builtin-cfgs-in-flags
- explicit-outlives-requirements
- exported-private-dependencies
- extern "C"
- extern items
- extra-filename
- extra-link-arg
- feature(precise_capturing)
- ffi-unwind-calls
- for Loops
- for-loops-over-fallibles
- forbid
- forbidden-lint-groups
- force-frame-pointers
- force-unwind-tables
- force-warn
- forgetting-copy-types
- forgetting-references
- function-item-references
- fundamental types
- future-incompat-report.frequency
- future-size-threshold
- fuzzy-provenance-casts
- gc
- git
- gitoxide
- hidden
- hidden-glob-reexports
- hir::Ty and ty::Ty
- host-config
- html_favicon_url
- html_logo_url
- html_no_source
- html_playground_url
- html_root_url
- http.cainfo
- http.check-revoke
- http.debug
- http.low-speed-limit
- http.multiplexing
- http.proxy
- http.ssl-version
- http.timeout
- http.user-agent
- if Expressions
- if expressions
- if let expressions
- if-let-rescope
- ignore-interior-mutability
- ill-formed-attribute-input
- impl-trait-overcaptures
- impl-trait-redundant-captures
- improper-ctypes
- improper-ctypes-definitions
- incomplete-features
- incomplete-include
- incremental
- incremental
- ineffective-unstable-trait-impl
- inline and no_inline
- inline-no-sanitize
- inline-threshold
- install-upgrade
- install.root
- instrument-coverage
- internal-features
- invalid-atomic-ordering
- invalid-doc-attributes
- invalid-from-utf8
- invalid-from-utf8-unchecked
- invalid-macro-export-arguments
- invalid-nan-comparisons
- invalid-reference-casting
- invalid-type-param-default
- invalid-value
- invalid_codeblock_attributes
- invalid_html_tags
- invalid_rust_codeblocks
- irrefutable-let-patterns
- is_* Usage
- issue_tracker_base_url
- keep-going
- keyword-idents
- keyword-idents-2018
- keyword-idents-2024
- kind Usage
- large-assignments
- large-error-threshold
- late-bound-lifetime-arguments
- legacy-derive-helpers
- let Statements
- let statements
- let-underscore-drop
- let-underscore-lock
- link-arg
- link-args
- link-dead-code
- link-self-contained
- linker
- linker-flavor
- linker-plugin-lto
- links
- lintcheck
- lints.toml Configuration
- literal-representation-threshold
- llvm-args
- lockfile-path
- locks
- long-running-const-eval
- lossy-provenance-casts
- lto
- lto
- macro-expanded-macro-exports-accessed-by-absolute-paths
- macro-use-extern-crate
- macro_rules scopes
- macro_rules!
- macro_use prelude
- map-unit-fn
- match Arms
- matches-for-let-else
- max-fn-params-bools
- max-include-file-size
- max-struct-bools
- max-suggested-slice-pattern-length
- max-trait-bounds
- meta-variable-misuse
- metadata
- min-ident-chars-threshold
- minimal-versions
- missing-abi
- missing-copy-implementations
- missing-debug-implementations
- missing-docs
- missing-docs-in-crate-items
- missing-fragment-specifier
- missing-unsafe-on-extern
- missing_crate_level_docs
- missing_doc_code_examples
- missing_doc_code_examples lint
- missing_docs
- mixed-script-confusables
- module-item-order-groupings
- msrv
- msrv-policy
- mtime-on-use
- multiple-supertrait-upcastable
- multitarget
- must-not-suspend
- mut restriction
- mutable-transmutes
- named-arguments-used-positionally
- named-asm-labels
- native-completions
- net.git-fetch-with-cli
- net.offline
- net.retry
- net.ssh
- net.ssh.known-hosts
- never-type-fallback-flowing-into-unsafe
- never_type_fallback_flowing_into_unsafe
- no-index-update
- no-mangle-const-items
- no-mangle-generic-items
- no-prepopulate-passes
- no-redzone
- no-stack-check
- no-vectorize-loops
- no-vectorize-slp
- no_std one-time initialization
- no_std support
- non-ascii-idents
- non-camel-case-types
- non-contiguous-range-endpoints
- non-exhaustive-omitted-patterns
- non-fmt-panic
- non-fmt-panics
- non-local-definitions
- non-shorthand-field-patterns
- non-snake-case
- non-upper-case-globals
- noop-method-call
- opaque-hidden-inferred-bound
- open-namespaces
- opt-level
- opt-level
- or-patterns-back-compat
- order-dependent-trait-objects
- os_str
- out-of-scope-macro-calls
- output-format for rustdoc
- overflow-checks
- overflow-checks
- overflowing-literals
- overlapping-patterns
- overlapping-range-endpoints
- package-features
- package-workspace
- package.rust-version = "toolchain"
- panic
- panic
- panic
- panic-abort-tests
- pass-by-value-size-limit
- passes
- patch-in-config
- path-statements
- paths
- paths overrides
- patterns-in-fns-without-body
- per-package-target
- precise-pre-release
- prefer-dynamic
- private-bounds
- private-interfaces
- private-macro-use
- private_doc_tests
- private_intra_doc_links
- proc-macro-derive-resolution-fallback
- proc_macro
- profile-generate
- profile-use
- profile.<name>.codegen-units
- profile.<name>.debug
- profile.<name>.debug-assertions
- profile.<name>.incremental
- profile.<name>.lto
- profile.<name>.opt-level
- profile.<name>.overflow-checks
- profile.<name>.panic
- profile.<name>.rpath
- profile.<name>.split-debuginfo
- profile.<name>.strip
- ptr-cast-add-auto-to-object
- ptr-to-integer-transmute-in-consts
- pub(in path), pub(crate), pub(super), and pub(self)
- pub-underscore-fields-behavior
- pub-use-of-private-extern-crate
- public-dependency
- publish-lockfile
- publish-timeout
- qemu-system-arm
- redundant-imports
- redundant-lifetimes
- redundant-semicolon
- redundant-semicolons
- redundant_explicit_links
- ref / ref mut restriction
- refining-impl-trait-internal
- refining-impl-trait-reachable
- registries.<name>.credential-provider
- registries.<name>.index
- registries.<name>.token
- registries.crates-io.protocol
- registry-auth
- registry.credential-provider
- registry.default
- registry.global-credential-providers
- registry.index
- registry.token
- release
- relocation-model
- relro-level
- remark
- rename-dependency
- renamed-and-removed-lints
- repr-transparent-external-private-fields
- resolver.incompatible-rust-versions
- riscv32 or riscv64
- riscv64-linux-android
- root-dir
- rpath
- rpath
- rust-2021-incompatible-closure-captures
- rust-2021-incompatible-or-patterns
- rust-2021-prefixes-incompatible-syntax
- rust-2021-prelude-collisions
- rust-2024-guarded-string-incompatible-syntax
- rust-2024-incompatible-pat
- rust-2024-prelude-collisions
- rust-version
- rustc --print
- rustc integration
- rustdoc-map
- save-temps
- scrape-examples
- script
- self
- self imports
- self-constructor-from-outer-item
- semicolon-in-expressions-from-macros
- semicolon-inside-block-ignore-singleline
- semicolon-outside-block-ignore-multiline
- single-char-binding-names-threshold
- single-use-lifetime
- single-use-lifetimes
- small items
- soft-float
- soft-unstable
- source-item-ordering
- source.<name>.branch
- source.<name>.directory
- source.<name>.git
- source.<name>.local-registry
- source.<name>.registry
- source.<name>.replace-with
- source.<name>.rev
- source.<name>.tag
- sparse-registry
- special-module-name
- split-debuginfo
- split-debuginfo
- stable-features
- stack-size-threshold
- standalone_crate tag
- standard-macro-braces
- static-mut-ref
- static-mut-refs
- std::env::{set_var, remove_var}
- std::os::unix::process::CommandExt::before_exec
- stdio
- str Layout
- strip
- strip
- struct-field-name-threshold
- super
- suppress-restriction-lint-in-const
- suspicious-double-ref-op
- symbol-mangling-version
- tail-expr-drop-order
- target-applies-to-host
- target-cpu
- target-feature
- target.<cfg>.linker
- target.<cfg>.runner
- target.<cfg>.rustflags
- target.<triple>.<links>
- target.<triple>.ar
- target.<triple>.linker
- target.<triple>.runner
- target.<triple>.rustdocflags
- target.<triple>.rustflags
- target_abi
- target_arch
- target_endian
- target_env
- target_family
- target_feature
- target_has_atomic
- target_os
- target_pointer_width
- target_vendor
- term.color
- term.hyperlinks
- term.progress.when
- term.progress.width
- term.quiet
- term.unicode
- term.verbose
- terminal-width
- test
- test
- test(attr(...))
- test(no_crate_inject)
- test-unstable-lint
- text-direction-codepoint-in-comment
- text-direction-codepoint-in-literal
- timings
- toml Tests
- too-large-for-stack
- too-many-arguments-threshold
- too-many-lines-threshold
- trait-assoc-item-kinds-order
- trim-paths
- trivial-bounds
- trivial-casts
- trivial-copy-size-limit
- trivial-numeric-casts
- try keyword
- tune-cpu
- type-alias-bounds
- type-complexity-threshold
- tyvar-behind-raw-pointer
- u8 to char cast
- udev rules
- uncommon-codepoints
- unconditional-panic
- unconditional-recursion
- uncovered-param-in-projection
- undefined-naked-function-abi
- undropped-manually-drops
- unescaped_backticks
- unexpected-cfgs
- unfulfilled-lint-expectations
- ungated-async-fn-track-caller
- uninhabited-static
- unit-bindings
- unit-graph
- unix and windows
- unknown-crate-types
- unknown-lints
- unknown-or-malformed-diagnostic-attributes
- unknown_lints
- unnameable-test-items
- unnameable-types
- unnecessary-box-size
- unpredictable-function-pointer-comparisons
- unqualified-local-imports
- unreachable-code
- unreachable-patterns
- unreachable-pub
- unreadable-literal-lint-fractions
- unsafe blocks
- unsafe-attr-outside-unsafe
- unsafe-code
- unsafe-op-in-unsafe-fn
- unstable-features
- unstable-name-collision
- unstable-name-collisions
- unstable-syntax-pre-expansion
- unsupported-fn-ptr-calling-conventions
- unused-allocation
- unused-assignments
- unused-associated-type-bounds
- unused-attributes
- unused-braces
- unused-comparisons
- unused-crate-dependencies
- unused-doc-comment
- unused-doc-comments
- unused-extern-crates
- unused-features
- unused-import-braces
- unused-imports
- unused-labels
- unused-lifetimes
- unused-macro-rules
- unused-macros
- unused-must-use
- unused-mut
- unused-parens
- unused-qualifications
- unused-results
- unused-tuple-struct-fields
- unused-unsafe
- unused-variables
- update-breaking
- upper-case-acronyms-aggressive
- use Paths
- use Visibility
- use paths
- useless-deprecated
- useless-ptr-null-checks
- variant-size-differences
- vec-box-size-threshold
- verbose-bit-mask-threshold
- warn
- warn-on-all-wildcard-imports
- warn-unsafe-macro-metavars-in-private-macros
- warnings
- warnings
- wasm-c-abi
- wasm32 or wasm64
- where clauses
- while let Conditional Loops
- while-true
- x86 (32-bit and 64-bit)
- x86 or x86_64
- x86_64-pc-solaris
- zxdb
Traits
Types
Unions
Variants
_Structs