Index

!, see exclamation mark
π, 1
(), 1, 2
.., see struct update syntax
?, 1, 2, 3, 4, 5, 6
abstract class, 1
abstract syntax tree, 1, 2, 3
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
allocation, fallible, 1
allocation, infallible, 1
allow, 1
also-implements, 1
Any, 1
any, 1
anyhow, 1
Arc, 1, 2, 3, 4, 5
array, 1, 2
as, 1, 2, 3
as_ref, 1
AsMut, 1, 2, 3
AsRef, 1, 2, 3, 4
associated type, 1, 2
AST, see abstract syntax tree
async, 1
attacker, 1
auto trait, 1
B language, 1
back-compatibility, 1, 2, 3, 4, 5, 6, 7, 8, 9
Barbossa, Hector, 1
benchmarks, 1
bindgen, 1, 2
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
BoringSSL, 1
Borrow, 1, 2
borrow, 1
borrow checker, 1, 2, 3, 4, 5, 6, 7, 8, 9
BorrowMut, 1, 2
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.rs, 1, 2
builder pattern, 1, 2
byteorder, 1
C, 1, 2, 3, 4, 5
      C99, 1
C++, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
      C++11, 1, 2, 3
      C++20, 1
c++filt, 1
c_int, 1
cackle maniacally, 1
Cargill, Tom, 1
Cargo, 1, 2, 3, 4, 5, 6, 7
cargo bench, 1
cargo check, 1
cargo doc, 1, 2, 3
cargo fmt, 1
cargo metadata, 1
cargo update, 1
cargo-bench, 1, 2
cargo-deny, 1, 2, 3, 4
cargo-expand, 1
cargo-fmt, 1
cargo-fuzz, 1
cargo-tarpaulin, 1, 2
cargo-tree, 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_unwind, 1
Cell, 1, 2, 3
cfg, 1
cfg_attr, 1
chain, 1
channel (Go), 1
char, 1
Chromium, 1
CI, see continuous integration
Clang, 1
Clippy, 1, 2, 3, 4
Clone, 1, 2, 3, 4, 5, 6
cloned, 1, 2
closure, 1
coercion, see type coercion
collect, 1
conditional compilation, 1
const, 1
continuous integration, 1, 2, 3, 4, 5, 6, 7, 8, 9
copied, 1
Copy, 1, 2, 3, 4, 5
copy semantics, 1
core, 1, 2
corpus, 1
Cow, 1, 2, 3
CPAN, 1
crates.io, 1, 2, 3, 4, 5, 6
Criterion, 1
cross-compilation, 1
CRUD, 1
CString, 1
cxx, 1, 2
cycle, 1
data race, 1, 2
deadlock, 1, 2
Debug, 1, 2, 3, 4
Default, 1, 2, 3, 4
default features, 1, 2
default implementation, 1, 2, 3, 4, 5
defer (Go), 1
Dependabot, 1, 2
dependency graph, 1
Deref, 1, 2, 3, 4, 5
DerefMut, 1, 2, 3, 4, 5
derive, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
derive_builder, 1
directed graph, 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, 9
drop, 1
DSL, see domain-specific language
duck typing, 1
dynamic_cast (C++), 1
Effective C++, 1, 2
Effective Java, 1, 2, 3, 4
enum, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
enumerate, 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
Ferris, 1
FFI, see foreign function interface
file!(), 1
filter, 1
find, 1
flatten, 1
floating point, 1, 2
Fn, 1, 2, 3
FnMut, 1, 2, 3
FnOnce, 1, 2, 3
fold, 1
for, 1, 2
for-each, 1
for_each, 1
foreign function interface, 1, 2, 3, 4, 5
formal verification, 1
format!, 1
free (C), 1
From, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
from_utf8, 1
from_utf8_unchecked, 1
FromIterator, 1
function pointer, 1, 2
functional style, 1
fuzz test, see test, fuzz
Galileo, 1
generics, 1, 2, 3, 4, 5, 6, 7
      generic function, 1, 2, 3, 4
      generic method, 1, 2
      generic trait, 1
      generic type, 1
get_mut, 1
GitHub Actions, 1
Gjengset, Jon, 1
glob import, see wildcard import
global variable, 1
global variables, 1
Go, 1, 2, 3, 4, 5, 6, 7, 8
Godbolt compiler explorer, 1, 2
Graham, Paul, 1
Groenen, Nick, 1
Hash, 1, 2, 3, 4
HashMap, 1, 2, 3, 4
HashSet, 1, 2
Haskell, 1
heap, 1, 2, 3, 4, 5, 6, 7, 8
hygienic macro, 1
Hyrum's Law, 1, 2
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
Into, 1, 2, 3, 4
IntoIterator, 1, 2
is, 1
is_empty(), 1
isize, 1
iterable, 1
Iterator, 1, 2, 3, 4, 5, 6, 7
iterator, 1
iterator transform, 1
Java, 1, 2, 3, 4, 5, 6
lambda expression, 1
lattice, 1
layout, 1, 2
leak, 1
let, 1
libFuzzer, 1
license, 1, 2
lifetime, 1, 2, 3, 4
lifetime annotation, 1, 2
lifetime bounds, 1, 2
lifetime elision, 1, 2
line!(), 1
linker, 1, 2, 3
Liskov substitution, 1, 2
Lisp, 1
lock inversion, 1
lock_guard (C++), 1
locking hierarchy, 1
macro, 1, 2, 3, 4, 5, 6
      macro, declarative, 1, 2
      macro, derive, 1, 2, 3
      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 signature, 1
methods, 1
Meyers, Scott, 1, 2
min, 1
min_by, 1
minimal-versions, 1, 2
minimum supported Rust version, 1, 2, 3
Miri, 1
module, 1, 2, 3
monomorphization, 1, 2, 3, 4
More Effective C++, 1
move semantics, 1, 2, 3
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
MutexGuard, 1, 2, 3, 4
name mangling, 1
Neg, 1, 2
newtype pattern, 1, 2, 3
nm, 1
no_deadlocks, 1
no_mangle, 1
no_panic, 1
no_std, 1, 2, 3, 4
non-lexical lifetimes, 1, 2, 3
non_exhaustive, 1, 2
None, 1, 2, 3
NonNull, 1
Not, 1
nothrow (C++), 1
nth, 1
NULL (SQL), 1
nullptr (C++), 1
object safety, 1, 2, 3
object-oriented, 1, 2, 3, 4
OCaml, 1
ODR, see one definition rule
Ok, 1, 2
once_cell, 1
one definition rule, 1, 2
Option, 1, 2, 3, 4, 5, 6, 7
Ord, 1, 2, 3, 4
orphan rule, 1, 2, 3, 4
OSS-Fuzz, 1
ostrich manoeuvre, 1
ouroborous, 1
panic!, 1, 2, 3, 4, 5, 6, 7, 8, 9
parking_lot::deadlock, 1
PartialEq, 1, 2, 3
PartialOrd, 1, 2, 3
partition, 1
PhantomPinned, 1
Pin, 1, 2
Pointer, 1, 2
pointer, 1, 2, 3
position, 1
prelude, 1, 2, 3, 4
preprocessor (C), 1, 2
principle of least astonishment, 1, 2
product, 1
Programming Rust, 1
prost, 1
protocol buffer, 1
pub, 1, 2, 3
      pub(crate), 1
      pub(super), 1
Python, 1, 2
question mark, see ?
RAII, 1, 2, 3, 4, 5, 6
rand, 1, 2, 3
Range, 1
range expression, 1
range expressions, 1
raw pointer, 1, 2, 3, 4
Rc, 1, 2, 3, 4, 5
re-export, 1, 2, 3
reduce, 1
Ref, 1
Ref<T>, 1
RefCell, 1, 2, 3, 4
RefCell<T>, 1
reference, 1, 2, 3, 4, 5
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
RIIR, see rewrite it in Rust
ring, 1
RTTI, 1
Rust for Rustaceans, 1
rust-semverver, 1
RustCrypto, 1
rustfilt, 1
rustfmt, 1, 2
Rustonomicon, 1, 2
RwLock, 1, 2, 3
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, 4, 5
sentinel values, 1, 2
separate compilation, 1
serde, 1
shared-state, 1, 2, 3, 4, 5, 6
shared_ptr (C++), 1, 2
Shl, 1
ShlAssign, 1
Shr, 1
ShrAssign, 1
Sized, 1, 2
      !Sized, 1
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
spin, 1
SQL, 1
stack, 1, 2
stack frame, 1
stack pointer, 1
'static, 1, 2
static, 1
std, 1, 2
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
Sync, 1, 2, 3, 4
synchronization, 1
syntactic sugar, 1
tag (Git), 1
take, 1, 2
take_while, 1
taste, 1
template (C++), 1, 2
temporaries, 1
test, 1
      test, doc, 1, 2, 3
      test, fuzz, 1
      test, integration, 1, 2, 3
      test, unit, 1, 2, 3
test, flaky, 1
@thingskatedid, 1
thiserror, 1
thread-compatible, 1
thread-hostile, 1
thread-safe, 1, 2
ThreadSanitizer, 1, 2
Tolnay, David, 1
ToOwned, 1, 2
trait, 1, 2, 3, 4
trait bound, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
trait coherence, 1
trait object, 1, 2, 3, 4, 5, 6, 7, 8
try_find, 1
try_fold, 1
try_for_each, 1
TryFrom, 1, 2, 3
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
type_name, 1
TypeId, 1
typeid (C++), 1
u128, 1
u16, 1
u32, 1
u64, 1
u8, 1
Unicode, 1, 2
unique_ptr (C++), 1
unit test, see test, unit
unit type, see ()
Unpin, 1
unreachable!, 1
unsafe, 1, 2, 3, 4, 5, 6, 7
unwrap, 1, 2
unwrap_err, 1
unzip, 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