Index
!, see exclamation mark
π, 1
()
, 1, 2
..
, see struct update syntax
2018 edition, 1
2021 edition, 1
?
, 1, 2, 3, 4, 5, 6, 7
abstract class, 1
abstract syntax tree, 1, 2
Adams, Douglas, 1
Add
, 1, 2
AddAssign
, 1
AddressSanitizer, 1
ADT, see algebraic data type
AFL, 1
afraid, reasons to be, 1
algebraic data type, 1, 2
aliasing, 1
alignment, 1, 2
all
, 1
alloc
, 1, 2, 3
allocation, fallible, 1
allocation, infallible, 1
allow
, 1
also-implements, 1
Android, 1
anonymous lifetime, 1
Any
, 1
any
, 1
anyhow
, 1
ar
, 1
Arc
, 1, 2, 3, 4, 5, 6
array, 1, 2
as
, 1, 2, 3
AsMut
, 1, 2, 3
AsRef
, 1, 2, 3, 4
as_ref
, 1
associated type, 1, 2
AST, see abstract syntax tree
async
, 1, 2
atomic, 1
attacker, 1
auto trait, 1
B language, 1
back-compatibility, 1, 2, 3, 4, 5, 6, 7, 8, 9
Barbossa, Hector, 1
bare-metal Rust, 1
benchmarks, 1, 2
bindgen
, 1, 2, 3
BitAnd
, 1
BitAndAssign
, 1
BitOr
, 1
BitOrAssign
, 1
BitXor
, 1
BitXorAssign
, 1
black_box
, 1
blanket implementation, 1, 2, 3, 4, 5
bool
, 1, 2, 3
Borrow
, 1, 2
borrow, 1
borrow checker, 1, 2, 3, 4, 5, 6, 7, 8
BorrowMut
, 1, 2
Bos, Mara, 1, 2
bounds checking, 1
Box
, 1, 2, 3
Box::from_raw
, 1
Box::into_raw
, 1
BTreeMap
, 1
BTreeSet
, 1, 2
bug, 1, 2, 3, 4, 5, 6
build script, see build.rs
build.rs
, 1, 2, 3
builder, 1, 2
builder pattern, 1, 2
byteorder
, 1
C, 1, 2, 3, 4, 5, 6
C99, 1
C++, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
C++11, 1, 2, 3
C++20, 1
c++filt
, 1
cackle maniacally, 1
Cargill, Tom, 1
Cargo, 1, 2, 3, 4, 5, 6, 7, 8
cargo
, 1
cargo bench
, 1, 2
cargo check
, 1
cargo doc
, 1, 2, 3
cargo fmt
, 1
cargo metadata
, 1
cargo tree
, 1, 2
cargo update
, 1
cargo-bench
, 1
cargo-deny
, 1, 2, 3, 4
cargo-expand
, 1, 2, 3, 4
cargo-fuzz
, 1, 2
cargo-semver-checks
, 1, 2
cargo-tarpaulin
, 1, 2
cargo-udeps
, 1, 2, 3
Cargo.lock, 1, 2
Cargo.toml, 1, 2, 3, 4, 5, 6
cargo_metadata
, 1
cast, 1, 2, 3, 4
catch
(C++), 1
catch_unwind
, 1, 2
Cell
, 1, 2, 3
cfg
, 1
cfg_attr
, 1
chain
, 1
channel (Go), 1
char
, 1
Chromium, 1
CI, see continuous integration
c_int
, 1
Clang, 1
Clippit, 1
Clippy, 1, 2, 3, 4, 5
Clone
, 1, 2, 3, 4, 5, 6
clone-on-write, 1, 2
cloned
, 1, 2
closure, 1
coercion, see type coercion
collect
, 1
Comprehensive Rust, 1
conditional compilation, 1
continuous integration, 1, 2, 3, 4, 5, 6, 7, 8, 9
copied
, 1
Copy
, 1, 2, 3, 4, 5
copy semantics, 1, 2
core
, 1, 2
corpus, 1
Cow
, 1, 2
CPAN, 1
crates.io
, 1, 2, 3, 4, 5, 6
criterion
, 1, 2
cross-compilation, 1
CRUD, 1
CStr
, 1
CString
, 1
cxx
, 1, 2
cycle
, 1
data race, 1, 2
Davidoff, Sergey "Shnatsel", 1
deadlock, 1, 2, 3
Debug
, 1, 2, 3, 4, 5
decorator, 1
Default
, 1, 2, 3, 4
default features, 1, 2
default implementation, 1, 2, 3, 4, 5
defer
(Go), 1
denial-of-service, 1
Dependabot, 1, 2, 3
dependency graph, 1, 2
Deref
, 1, 2, 3, 4
DerefMut
, 1, 2, 3, 4
derive
, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
derive macro, 1
derive_builder
, 1
Display
, 1, 2, 3, 4, 5
Div
, 1
DivAssign
, 1
dlopen
, 1
doc test, see test, doc
domain-specific language, 1, 2
DoubleEndedIterator
, 1, 2
downcast_mut
, 1
downcast_ref
, 1
Drop
, 1, 2, 3, 4, 5, 6, 7, 8
drop
, 1
DSL, see domain-specific language
duck typing, 1
dynamic_cast
(C++), 1
Effective C++, 1
Effective Java, 1, 2, 3, 4
enum
, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
enumerate
, 1
eprintln!
, 1
Eq
, 1, 2, 3
Err
, 1, 2
Error
, 1, 2, 3, 4
error handling, 1
ExactSizeIterator
, 1, 2
exception, 1, 2
exception safety, 1
exclamation mark, 1
expect
, 1, 2, 3
expect_err
, 1
extern "C"
, 1, 2
extern crate
, 1
f32
, 1
f32::NAN
, 1
f64
, 1
f64::NAN
, 1
fallible, 1, 2
fat pointer, 1, 2, 3, 4, 5
@FearlessSon, 1
feature, 1, 2, 3, 4, 5, 6, 7
feature unification, 1, 2
FFI, see foreign function interface
file!()
, 1
filter
, 1
find
, 1
flatten
, 1
floating point, 1, 2
fmt
, 1
Fn
, 1, 2
FnMut
, 1, 2
FnOnce
, 1, 2
fold
, 1
for
, 1, 2
for-each, 1
for_each
, 1
foreign function interface, 1, 2, 3, 4, 5
formal verification, 1
format!
, 1, 2
format_args!
, 1
free
(C), 1
From
, 1, 2, 3, 4, 5, 6, 7, 8, 9
FromIterator
, 1
from_utf8
, 1
from_utf8_unchecked
, 1
function, 1
function pointer, 1, 2
functional style, 1
fuzz test, see test, fuzz
generics, 1, 2, 3, 4, 5, 6
generic function, 1, 2, 3, 4
generic method, 1
generic trait, 1
generic type, 1
get_mut
, 1
GitHub Actions, 1
Gjengset, Jon, 1, 2
glob import, see wildcard import
global variable, 1, 2
Go, 1, 2, 3, 4, 5, 6, 7
Godbolt compiler explorer, 1, 2, 3
Graham, Paul, 1
gratuitous use of Latin, 1
Groenen, Nick, 1
Hash
, 1, 2, 3, 4
HashMap
, 1, 2, 3, 4
HashSet
, 1, 2
Haskell, 1
header file (C), 1
heap, 1, 2, 3, 4, 5, 6
Here Be Dragons, 1, 2
hygienic macro, 1, 2
Hyrum's Law, 1, 2, 3
i128
, 1
i16
, 1
i32
, 1
i64
, 1
i8
, 1
if let
, 1
include!
, 1
Index
, 1, 2
IndexMut
, 1, 2
infallible, 1, 2
inline
, 1
integration test, see test, integration
interior mutability, 1, 2, 3
Into
, 1, 2, 3, 4
IntoIterator
, 1, 2
is
, 1
is_empty()
, 1
isize
, 1
iterable, 1
Iterator
, 1, 2, 3, 4, 5, 6
iterator, 1
iterator adaptor, see iterator transform
iterator transform, 1, 2
Java, 1, 2, 3, 4, 5, 6
lambda expression, 1
lattice, 1
layout, 1, 2
leak
, 1
let
, 1
libFuzzer
, 1
library, 1
static library, 1
license, 1, 2
lifetime, 1, 2, 3, 4
lifetime annotation, 1, 2
lifetime bound, 1
lifetime elision, 1, 2
lifetime parameter, 1
line!()
, 1
linker, 1, 2, 3, 4
Liskov substitution, 1, 2, 3
Lisp, 1
lock inversion, 1
lock_guard
(C++), 1
locking hierarchy, 1
log
, 1
macro, 1, 2, 3, 4, 5, 6
macro, declarative, 1, 2
macro, derive, 1, 2, 3, 4, 5
macro, procedural, 1
macro_export
, 1
main
, 1, 2
map
, 1
map_err
, 1
Markdown, 1
marker trait, 1, 2, 3, 4, 5
match
, 1, 2, 3
max
, 1
max_by
, 1
memory safety, 1
metaprogramming, 1
method, 1, 2, 3
method signature, 1
Meyers, Scott, 1, 2
min
, 1
min_by
, 1
minimum supported Rust version, 1, 2, 3
Miri, 1, 2
module, 1, 2, 3
monomorphization, 1, 2, 3, 4
More Effective C++, 1
move semantics, 1, 2, 3, 4
mpsc
, 1
MSRV, see minimum supported Rust version
Mul
, 1
MulAssign
, 1
must_use
, 1
mutable reference, 1
Mutex
, 1, 2, 3, 4, 5, 6, 7, 8
MutexGuard
, 1, 2, 3, 4
name mangling, 1, 2
Neg
, 1, 2
newtype pattern, 1, 2, 3
nm
, 1
no_deadlocks
, 1
no_global_oom_handling
, 1
no_mangle
, 1, 2
non-lexical lifetimes, 1, 2, 3
None
, 1, 2, 3
non_exhaustive
, 1, 2
no_panic
, 1
no_std
, 1, 2, 3, 4, 5
Not
, 1
nothrow
(C++), 1
nth
, 1
NULL
(SQL), 1
nullptr
(C++), 1
object safety, 1, 2, 3
object-oriented, 1, 2, 3, 4, 5
OCaml, 1
ODR, see one definition rule
Ok
, 1, 2
once_cell
, 1
one definition rule, 1, 2
OO, see object-oriented
open-box, 1
Option
, 1, 2, 3, 4, 5, 6, 7
Ord
, 1, 2, 3, 4, 5
orphan rule, 1, 2, 3, 4
OSS-Fuzz, 1
ostrich maneuver, 1
ouroborous
, 1
panic!
, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
parking_lot::deadlock
, 1
PartialEq
, 1, 2, 3
PartialOrd
, 1, 2, 3
partition
, 1
Pin
, 1, 2
Pointer
, 1, 2
pointer, 1, 2
pop
, 1
position
, 1
prelude, 1, 2, 3, 4
preprocessor (C), 1, 2
principle of least astonishment, 1, 2, 3
printf
(C), 1
println!
, 1
proc macro, see macro, procedural
product
, 1
Programming Rust, 1, 2
prost
, 1
protocol buffer, 1
pseudo-pointer, 1
pub
, 1, 2, 3
pub(crate)
, 1
pub(super)
, 1
push
, 1
Python, 1, 2
question mark, see ?
RAII, 1, 2, 3, 4, 5, 6
rand
, 1, 2
Range
, 1
range expression, 1, 2
raw identifier prefix, 1
raw pointer, 1, 2, 3, 4
Rc
, 1, 2, 3, 4, 5, 6
re-export, 1, 2, 3
receiver, 1, 2
Reddit, 1
reduce
, 1
Ref<T>
, 1
RefCell
, 1, 2, 3, 4, 5
reference, 1, 2, 3, 4, 5, 6
reflection, 1
reflexive, 1, 2
RefMut<T>
, 1
Reid, Alastair, 1
Rem
, 1
RemAssign
, 1
replace
, 1, 2
repr(C)
, 1
repr(transparent)
, 1
required method, 1
Result
, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
return
, 1
rev
, 1
rewrite it in Rust, 1, 2
RiiR, see rewrite it in Rust
RTTI, 1
Rust for Rustaceans, 1, 2
Rust playground, 1
rust-analyzer
, 1
rust-toolchain.toml, 1
RustCrypto, 1
rustfilt
, 1
rustfmt
, 1, 2, 3
Rustonomicon, 1, 2
rustup
, 1
RwLock
, 1, 2, 3
safety comments, 1, 2
scan
, 1
scope, 1
segment, 1
Self
, 1, 2, 3, 4, 5
semantic versioning, 1, 2, 3, 4, 5
semicolon, 1
semver, see semantic versioning
Send
, 1, 2, 3
sentinel values, 1, 2
separate compilation, 1
serde
, 1, 2
shared-state, 1, 2, 3, 4, 5, 6
shared_ptr
(C++), 1, 2
Shl
, 1
ShlAssign
, 1
Shr
, 1
ShrAssign
, 1
signature, 1
Sized
, 1, 2
skip
, 1
skip_while
, 1
sleep
, 1
slice, 1
SliceIndex<T>
, 1
smart pointer, 1, 2, 3, 4
Smith, Agent, 1
software engineering, 1
Some
, 1, 2, 3
Soong, 1
spin
, 1
SQL, 1
stack, 1, 2
stack pointer, 1
'static
, 1
static
, 1
std
, 1, 2
std::any::type_name
, 1
step_by
, 1
String
, 1, 2, 3
struct
, 1, 2, 3, 4, 5
struct, 1
struct update syntax, 1, 2
Sub
, 1, 2
SubAssign
, 1
sum
, 1
supply chain attacks, 1, 2
Sutter, Herb, 1
swap
, 1
syn
, 1, 2, 3
Sync
, 1, 2, 3
synchronization, 1
syntactic sugar, 1
sysroot crates, 1
tag (Git), 1
take
, 1, 2
take_while
, 1
target_arch
, 1
target_endian
, 1
target_os
, 1
target_pointer_width
, 1
taste, 1
template (C++), 1, 2
temporary, 1
test, 1
test, doc, 1, 2, 3
test, flaky, 1
test, fuzz, 1
test, integration, 1, 2, 3
test, unit, 1, 2, 3
text section, 1
theory vs. practice, 1
@thingskatedid, 1
thiserror
, 1
thread-compatible, 1
thread-hostile, 1
thread-safe, 1, 2
ThreadSanitizer, 1, 2
TLV, 1
Tolnay, David, 1, 2, 3, 4, 5
ToOwned
, 1, 2
trait, 1, 2, 3, 4, 5
trait bound, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
trait coherence, 1, 2
trait object, 1, 2, 3, 4, 5, 6, 7, 8
trentj, 1
Triplett, Josh, 1
try_find
, 1
try_fold
, 1
try_for_each
, 1
TryFrom
, 1, 2
TryInto
, 1, 2
tuple, 1
tuple struct, 1, 2
Turon, Aaron, 1
type alias, 1, 2
type coercion, 1, 2, 3, 4
type erasure, 1
type system, 1, 2, 3, 4
TypeId
, 1
typeid
(C++), 1
u128
, 1
u16
, 1
u32
, 1
u64
, 1
u8
, 1
Unicode, 1, 2
union
, 1
unique_ptr
(C++), 1
unit test, see test, unit
unit type, see ()
unreachable!
, 1
unsafe
, 1, 2, 3, 4, 5, 6, 7
unsafe_op_in_unsafe_fn
, 1
Unstable Book, 1
unwrap
, 1, 2
unwrap_err
, 1
unzip
, 1
upcast, 1
use
, 1, 2, 3
use-after-free, 1
usize
, 1
UTF-8, 1, 2, 3
Vec
, 1, 2, 3, 4
vigilance, constant, 1
void
(C), 1
vtable, 1, 2, 3, 4, 5, 6, 7
Weak
, 1, 2
weak_ptr
(C++), 1
WebAssembly, 1
wildcard dependency, 1, 2
wildcard import, 1, 2, 3
Wilde, Oscar, 1
Winters, Titus, 1, 2
zip
, 1