Skip to content

Appendix J. Index

A

A

addCSourceFile, 327
addExecutable, 318
addImport, 321
alignment, 78
allocators, 182
ArrayList, 252
arrays, 90
assembly, 364
atomics, 356

B

blocks, 145
boolean operators, 286
build system, 311
build.zig, 311
builtins, 289
byte strings, 96

C

@cImport, 346
casts, 294
catch, 132
C ABI, 344
C interop, 343
comments, 271
compile errors, 371
compile-time execution, 156
comptime, 156
const, 31
containers, 305
copyForwards, 251
cross compilation, 238

D

debug allocator, 379
defer, 66
dependencies, 325
division, 288
documentation comments, 271

E

enums, 111
errdefer, 136
error handling, 124
error sets, 124
error unions, 127
expectEqual, 260
export, 304
extern, 303

F

fields, 108
files, 214
filesystem, 255
FixedBufferAllocator, 248
floats, 36
for loops, 58
formatting, 254
functions, 69

G

GeneralPurposeAllocator, 246
generic functions, 170
getStdOut, 257

H

hash maps, 253
heap allocation, 182

I

if expressions, 49
imports, 28
inline for, 162
integers, 33

J

JSON, 258

L

labels, 61
linkLibC, 351
linkSystemLibrary, 352

M

memory, 74
memcpy, 298
memset, 298
modules, 320
multiline strings, 275

N

null, 118

O

opaque types, 306
optionals, 118
orelse, 121
overflow, 385

P

packed structs, 114
page allocator, 245
pointers, 74
printing, 13
process arguments, 257
pub, 27

R

reflection, 163
ReleaseFast, 316
ReleaseSafe, 316
run steps, 323

S

safety checks, 239
slices, 85
standard library, 243
std.debug, 243
std.fs, 255
std.heap, 245
std.io, 257
std.mem, 250
strings, 96
structs, 103
switch, 52

T

tagged unions, 113
tests, 259
threads, 229
try, 130
type inference, 40

U

undefined, 302
unions, 112
unreachable, 301

V

variables, 30
volatile, 365

W

while loops, 55
writers, 257