aboutsummaryrefslogtreecommitdiffstats
path: root/epubs/zig-0.12.0.epub
blob: 05bb36e659637db7266658aa27fc505d04d7e60f (plain)
ofshex dumpascii
0000 50 4b 03 04 14 00 00 00 00 00 00 00 21 52 6f 61 ab 2c 14 00 00 00 14 00 00 00 08 00 00 00 6d 69 PK..........!Roa.,............mi
0020 6d 65 74 79 70 65 61 70 70 6c 69 63 61 74 69 6f 6e 2f 65 70 75 62 2b 7a 69 70 50 4b 03 04 14 00 metypeapplication/epub+zipPK....
0040 00 00 00 00 00 00 21 52 6f 92 d0 0a fc 00 00 00 fc 00 00 00 16 00 00 00 4d 45 54 41 2d 49 4e 46 ......!Ro...............META-INF
0060 2f 63 6f 6e 74 61 69 6e 65 72 2e 78 6d 6c 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 /container.xml<?xml.version="1.0
0080 22 20 65 6e 63 6f 64 69 6e 67 3d 22 75 74 66 2d 38 22 3f 3e 0a 3c 63 6f 6e 74 61 69 6e 65 72 20 ".encoding="utf-8"?>.<container.
00a0 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 78 6d 6c 6e 73 3d 22 75 72 6e 3a 6f 61 73 69 73 3a 6e version="1.0".xmlns="urn:oasis:n
00c0 61 6d 65 73 3a 74 63 3a 6f 70 65 6e 64 6f 63 75 6d 65 6e 74 3a 78 6d 6c 6e 73 3a 63 6f 6e 74 61 ames:tc:opendocument:xmlns:conta
00e0 69 6e 65 72 22 3e 0a 20 20 3c 72 6f 6f 74 66 69 6c 65 73 3e 0a 20 20 20 20 3c 72 6f 6f 74 66 69 iner">...<rootfiles>.....<rootfi
0100 6c 65 20 66 75 6c 6c 2d 70 61 74 68 3d 22 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 66 22 le.full-path="OEBPS/content.opf"
0120 20 6d 65 64 69 61 2d 74 79 70 65 3d 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6f 65 62 70 73 2d 70 .media-type="application/oebps-p
0140 61 63 6b 61 67 65 2b 78 6d 6c 22 2f 3e 0a 20 20 3c 2f 72 6f 6f 74 66 69 6c 65 73 3e 0a 3c 2f 63 ackage+xml"/>...</rootfiles>.</c
0160 6f 6e 74 61 69 6e 65 72 3e 0a 50 4b 03 04 14 00 00 00 00 00 00 00 21 52 e8 13 71 8b c4 02 00 00 ontainer>.PK..........!R..q.....
0180 c4 02 00 00 11 00 00 00 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 66 3c 3f 78 6d 6c 20 76 ........OEBPS/content.opf<?xml.v
01a0 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 75 74 66 2d 38 22 3f 3e 0a ersion="1.0".encoding="utf-8"?>.
01c0 3c 70 61 63 6b 61 67 65 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 69 64 70 66 2e <package.xmlns="http://www.idpf.
01e0 6f 72 67 2f 32 30 30 37 2f 6f 70 66 22 20 76 65 72 73 69 6f 6e 3d 22 33 2e 30 22 20 75 6e 69 71 org/2007/opf".version="3.0".uniq
0200 75 65 2d 69 64 65 6e 74 69 66 69 65 72 3d 22 70 75 62 2d 69 64 22 3e 0a 20 20 3c 6d 65 74 61 64 ue-identifier="pub-id">...<metad
0220 61 74 61 20 78 6d 6c 6e 73 3a 64 63 3d 22 68 74 74 70 3a 2f 2f 70 75 72 6c 2e 6f 72 67 2f 64 63 ata.xmlns:dc="http://purl.org/dc
0240 2f 65 6c 65 6d 65 6e 74 73 2f 31 2e 31 2f 22 3e 0a 20 20 20 20 3c 64 63 3a 69 64 65 6e 74 69 66 /elements/1.1/">.....<dc:identif
0260 69 65 72 20 69 64 3d 22 70 75 62 2d 69 64 22 3e 75 72 6e 3a 7a 69 67 6c 61 6e 67 2d 64 6f 63 73 ier.id="pub-id">urn:ziglang-docs
0280 3a 30 2e 31 32 2e 30 3c 2f 64 63 3a 69 64 65 6e 74 69 66 69 65 72 3e 0a 20 20 20 20 3c 64 63 3a :0.12.0</dc:identifier>.....<dc:
02a0 74 69 74 6c 65 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 30 2e title>Zig.Language.Reference.(0.
02c0 31 32 2e 30 29 3c 2f 64 63 3a 74 69 74 6c 65 3e 0a 20 20 20 20 3c 64 63 3a 6c 61 6e 67 75 61 67 12.0)</dc:title>.....<dc:languag
02e0 65 3e 65 6e 3c 2f 64 63 3a 6c 61 6e 67 75 61 67 65 3e 0a 20 20 20 20 3c 6d 65 74 61 20 70 72 6f e>en</dc:language>.....<meta.pro
0300 70 65 72 74 79 3d 22 64 63 74 65 72 6d 73 3a 6d 6f 64 69 66 69 65 64 22 3e 32 30 32 31 2d 30 31 perty="dcterms:modified">2021-01
0320 2d 30 31 54 30 30 3a 30 30 3a 30 30 5a 3c 2f 6d 65 74 61 3e 0a 20 20 3c 2f 6d 65 74 61 64 61 74 -01T00:00:00Z</meta>...</metadat
0340 61 3e 0a 20 20 3c 6d 61 6e 69 66 65 73 74 3e 0a 20 20 20 20 3c 69 74 65 6d 20 69 64 3d 22 6e 61 a>...<manifest>.....<item.id="na
0360 76 22 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 22 20 6d 65 64 69 61 2d 74 79 70 65 3d 22 v".href="nav.xhtml".media-type="
0380 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 2b 78 6d 6c 22 20 70 72 6f 70 65 72 74 69 65 application/xhtml+xml".propertie
03a0 73 3d 22 6e 61 76 22 2f 3e 0a 20 20 20 20 3c 69 74 65 6d 20 69 64 3d 22 69 6e 64 65 78 22 20 68 s="nav"/>.....<item.id="index".h
03c0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 22 20 6d 65 64 69 61 2d 74 79 70 65 3d 22 61 70 ref="index.xhtml".media-type="ap
03e0 70 6c 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 2b 78 6d 6c 22 2f 3e 0a 20 20 3c 2f 6d 61 6e 69 66 plication/xhtml+xml"/>...</manif
0400 65 73 74 3e 0a 20 20 3c 73 70 69 6e 65 3e 0a 20 20 20 20 3c 69 74 65 6d 72 65 66 20 69 64 72 65 est>...<spine>.....<itemref.idre
0420 66 3d 22 6e 61 76 22 2f 3e 0a 20 20 20 20 3c 69 74 65 6d 72 65 66 20 69 64 72 65 66 3d 22 69 6e f="nav"/>.....<itemref.idref="in
0440 64 65 78 22 2f 3e 0a 20 20 3c 2f 73 70 69 6e 65 3e 0a 3c 2f 70 61 63 6b 61 67 65 3e 0a 50 4b 03 dex"/>...</spine>.</package>.PK.
0460 04 14 00 00 00 00 00 00 00 21 52 f4 4f 90 37 25 88 00 00 25 88 00 00 0f 00 00 00 4f 45 42 50 53 .........!R.O.7%...%.......OEBPS
0480 2f 6e 61 76 2e 78 68 74 6d 6c 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e /nav.xhtml<?xml.version="1.0".en
04a0 63 6f 64 69 6e 67 3d 22 75 74 66 2d 38 22 3f 3e 0a 3c 68 74 6d 6c 20 78 6d 6c 6e 73 3d 22 68 74 coding="utf-8"?>.<html.xmlns="ht
04c0 74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78 68 74 6d 6c 22 20 78 6d 6c 6e tp://www.w3.org/1999/xhtml".xmln
04e0 73 3a 65 70 75 62 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 69 64 70 66 2e 6f 72 67 2f 32 30 30 37 s:epub="http://www.idpf.org/2007
0500 2f 6f 70 73 22 20 6c 61 6e 67 3d 22 65 6e 22 3e 0a 20 20 3c 68 65 61 64 3e 3c 74 69 74 6c 65 3e /ops".lang="en">...<head><title>
0520 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 30 2e 31 32 2e 30 29 3c Zig.Language.Reference.(0.12.0)<
0540 2f 74 69 74 6c 65 3e 3c 2f 68 65 61 64 3e 0a 20 20 3c 62 6f 64 79 3e 0a 20 20 20 20 3c 6e 61 76 /title></head>...<body>.....<nav
0560 20 65 70 75 62 3a 74 79 70 65 3d 22 74 6f 63 22 20 69 64 3d 22 74 6f 63 22 3e 0a 20 20 20 20 20 .epub:type="toc".id="toc">......
0580 20 3c 68 31 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 30 2e 31 .<h1>Zig.Language.Reference.(0.1
05a0 32 2e 30 29 3c 2f 68 31 3e 0a 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 2.0)</h1>.......<ol>.........<li
05c0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 20 68 72 65 66 3d 22 ><a.id="toc-Introduction".href="
05e0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 49 6e 74 72 6f 64 index.xhtml#Introduction">Introd
0600 75 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 uction</a></li>.........<li><a.i
0620 64 3d 22 74 6f 63 2d 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 20 68 72 65 d="toc-Zig-Standard-Library".hre
0640 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 f="index.xhtml#Zig-Standard-Libr
0660 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c ary">Zig.Standard.Library</a></l
0680 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 48 65 6c 6c 6f 2d i>.........<li><a.id="toc-Hello-
06a0 57 6f 72 6c 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 48 65 6c 6c 6f 2d 57 World".href="index.xhtml#Hello-W
06c0 6f 72 6c 64 22 3e 48 65 6c 6c 6f 20 57 6f 72 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 orld">Hello.World</a></li>......
06e0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 20 68 72 65 66 ...<li><a.id="toc-Comments".href
0700 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 6d 65 6e 74 73 22 3e 43 6f 6d 6d 65 6e 74 73 ="index.xhtml#Comments">Comments
0720 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c </a>.........<ol>.............<l
0740 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 20 68 72 65 66 3d i><a.id="toc-Doc-Comments".href=
0760 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 44 6f 63 20 43 "index.xhtml#Doc-Comments">Doc.C
0780 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 omments</a></li>.............<li
07a0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e ><a.id="toc-Top-Level-Doc-Commen
07c0 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 6f 70 2d 4c 65 76 65 6c 2d ts".href="index.xhtml#Top-Level-
07e0 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 54 6f 70 2d 4c 65 76 65 6c 20 44 6f 63 20 43 6f 6d 6d Doc-Comments">Top-Level.Doc.Comm
0800 65 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e ents</a></li>.........</ol></li>
0820 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 61 6c 75 65 73 22 20 .........<li><a.id="toc-Values".
0840 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 56 61 6c 75 65 73 22 3e 56 61 6c 75 65 73 href="index.xhtml#Values">Values
0860 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c </a>.........<ol>.............<l
0880 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 20 68 72 i><a.id="toc-Primitive-Types".hr
08a0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 ef="index.xhtml#Primitive-Types"
08c0 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 >Primitive.Types</a></li>.......
08e0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 56 ......<li><a.id="toc-Primitive-V
0900 61 6c 75 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 72 69 6d 69 74 69 alues".href="index.xhtml#Primiti
0920 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 61 3e 3c ve-Values">Primitive.Values</a><
0940 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
0960 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 String-Literals-and-Unicode-Code
0980 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 -Point-Literals".href="index.xht
09a0 6d 6c 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 ml#String-Literals-and-Unicode-C
09c0 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 53 74 72 69 6e 67 20 4c 69 74 65 72 ode-Point-Literals">String.Liter
09e0 61 6c 73 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 43 6f 64 65 20 50 6f 69 6e 74 20 4c 69 74 65 72 als.and.Unicode.Code.Point.Liter
0a00 61 6c 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 als</a>.............<ol>........
0a20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 73 63 61 70 65 2d 53 .........<li><a.id="toc-Escape-S
0a40 65 71 75 65 6e 63 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 73 63 61 equences".href="index.xhtml#Esca
0a60 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f pe-Sequences">Escape.Sequences</
0a80 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 a></li>.................<li><a.i
0aa0 64 3d 22 74 6f 63 2d 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 d="toc-Multiline-String-Literals
0ac0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 ".href="index.xhtml#Multiline-St
0ae0 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 3e 4d 75 6c 74 69 6c 69 6e 65 20 53 74 72 69 6e 67 20 ring-Literals">Multiline.String.
0b00 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f Literals</a></li>.............</
0b20 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ol></li>.............<li><a.id="
0b40 74 6f 63 2d 41 73 73 69 67 6e 6d 65 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d toc-Assignment".href="index.xhtm
0b60 6c 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e 41 73 73 69 67 6e 6d 65 6e 74 3c 2f 61 3e 0a 20 20 20 l#Assignment">Assignment</a>....
0b80 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c .........<ol>.................<l
0ba0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 64 65 66 69 6e 65 64 22 20 68 72 65 66 3d 22 69 6e i><a.id="toc-undefined".href="in
0bc0 64 65 78 2e 78 68 74 6d 6c 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f dex.xhtml#undefined">undefined</
0be0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 a></li>.............</ol></li>..
0c00 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 .......</ol></li>.........<li><a
0c20 20 69 64 3d 22 74 6f 63 2d 5a 69 67 2d 54 65 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 .id="toc-Zig-Test".href="index.x
0c40 68 74 6d 6c 23 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 0a 20 20 20 20 html#Zig-Test">Zig.Test</a>.....
0c60 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ....<ol>.............<li><a.id="
0c80 74 6f 63 2d 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 toc-Test-Declarations".href="ind
0ca0 65 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 54 65 73 74 ex.xhtml#Test-Declarations">Test
0cc0 20 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f .Declarations</a>.............<o
0ce0 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f l>.................<li><a.id="to
0d00 63 2d 44 6f 63 74 65 73 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 6f c-Doctests".href="index.xhtml#Do
0d20 63 74 65 73 74 73 22 3e 44 6f 63 74 65 73 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ctests">Doctests</a></li>.......
0d40 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ......</ol></li>.............<li
0d60 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 46 61 69 6c 75 72 65 22 20 68 72 65 66 3d 22 ><a.id="toc-Test-Failure".href="
0d80 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d 46 61 69 6c 75 72 65 22 3e 54 65 73 74 20 46 index.xhtml#Test-Failure">Test.F
0da0 61 69 6c 75 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ailure</a></li>.............<li>
0dc0 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6b 69 70 2d 54 65 73 74 73 22 20 68 72 65 66 3d 22 69 6e 64 <a.id="toc-Skip-Tests".href="ind
0de0 65 78 2e 78 68 74 6d 6c 23 53 6b 69 70 2d 54 65 73 74 73 22 3e 53 6b 69 70 20 54 65 73 74 73 3c ex.xhtml#Skip-Tests">Skip.Tests<
0e00 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
0e20 74 6f 63 2d 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 20 68 72 65 66 3d 22 69 toc-Report-Memory-Leaks".href="i
0e40 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e ndex.xhtml#Report-Memory-Leaks">
0e60 52 65 70 6f 72 74 20 4d 65 6d 6f 72 79 20 4c 65 61 6b 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 Report.Memory.Leaks</a></li>....
0e80 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 74 65 63 74 69 6e .........<li><a.id="toc-Detectin
0ea0 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 g-Test-Build".href="index.xhtml#
0ec0 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 44 65 74 65 63 74 69 6e 67 20 Detecting-Test-Build">Detecting.
0ee0 54 65 73 74 20 42 75 69 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 Test.Build</a></li>.............
0f00 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c <li><a.id="toc-Test-Output-and-L
0f20 6f 67 67 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d 4f ogging".href="index.xhtml#Test-O
0f40 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e 54 65 73 74 20 4f 75 74 70 75 74 20 61 utput-and-Logging">Test.Output.a
0f60 6e 64 20 4c 6f 67 67 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 nd.Logging</a></li>.............
0f80 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 <li><a.id="toc-The-Testing-Names
0fa0 70 61 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 68 65 2d 54 65 73 74 pace".href="index.xhtml#The-Test
0fc0 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 54 68 65 20 54 65 73 74 69 6e 67 20 4e 61 6d 65 73 ing-Namespace">The.Testing.Names
0fe0 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 pace</a></li>.............<li><a
1000 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e .id="toc-Test-Tool-Documentation
1020 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f ".href="index.xhtml#Test-Tool-Do
1040 63 75 6d 65 6e 74 61 74 69 6f 6e 22 3e 54 65 73 74 20 54 6f 6f 6c 20 44 6f 63 75 6d 65 6e 74 61 cumentation">Test.Tool.Documenta
1060 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e tion</a></li>.........</ol></li>
1080 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 61 72 69 61 62 6c 65 .........<li><a.id="toc-Variable
10a0 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 56 61 72 69 61 62 6c 65 73 22 3e s".href="index.xhtml#Variables">
10c0 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 Variables</a>.........<ol>......
10e0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 64 65 6e 74 69 66 69 65 72 .......<li><a.id="toc-Identifier
1100 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 64 65 6e 74 69 66 69 65 72 73 s".href="index.xhtml#Identifiers
1120 22 3e 49 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ">Identifiers</a></li>..........
1140 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 ...<li><a.id="toc-Container-Leve
1160 6c 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 l-Variables".href="index.xhtml#C
1180 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 ontainer-Level-Variables">Contai
11a0 6e 65 72 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ner.Level.Variables</a></li>....
11c0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 61 74 69 63 2d 4c .........<li><a.id="toc-Static-L
11e0 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d ocal-Variables".href="index.xhtm
1200 6c 23 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 53 74 61 74 69 63 l#Static-Local-Variables">Static
1220 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .Local.Variables</a></li>.......
1240 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 72 65 61 64 2d 4c 6f 63 61 ......<li><a.id="toc-Thread-Loca
1260 6c 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 l-Variables".href="index.xhtml#T
1280 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f hread-Local-Variables">Thread.Lo
12a0 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 cal.Variables</a></li>..........
12c0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 ...<li><a.id="toc-Local-Variable
12e0 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4c 6f 63 61 6c 2d 56 61 72 69 61 s".href="index.xhtml#Local-Varia
1300 62 6c 65 73 22 3e 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 bles">Local.Variables</a></li>..
1320 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 .......</ol></li>.........<li><a
1340 20 69 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 .id="toc-Integers".href="index.x
1360 68 74 6d 6c 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 0a 20 20 20 20 html#Integers">Integers</a>.....
1380 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ....<ol>.............<li><a.id="
13a0 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 toc-Integer-Literals".href="inde
13c0 78 2e 78 68 74 6d 6c 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 x.xhtml#Integer-Literals">Intege
13e0 72 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 r.Literals</a></li>.............
1400 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 <li><a.id="toc-Runtime-Integer-V
1420 61 6c 75 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 75 6e 74 69 6d 65 alues".href="index.xhtml#Runtime
1440 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e 52 75 6e 74 69 6d 65 20 49 6e 74 65 67 65 72 -Integer-Values">Runtime.Integer
1460 20 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f .Values</a></li>.........</ol></
1480 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 li>.........<li><a.id="toc-Float
14a0 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 6c 6f 61 74 73 22 3e 46 6c 6f s".href="index.xhtml#Floats">Flo
14c0 61 74 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ats</a>.........<ol>............
14e0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 20 .<li><a.id="toc-Float-Literals".
1500 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 href="index.xhtml#Float-Literals
1520 22 3e 46 6c 6f 61 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ">Float.Literals</a></li>.......
1540 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 69 6e 67 2d 50 6f ......<li><a.id="toc-Floating-Po
1560 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d int-Operations".href="index.xhtm
1580 6c 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f l#Floating-Point-Operations">Flo
15a0 61 74 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a ating.Point.Operations</a></li>.
15c0 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ........</ol></li>.........<li><
15e0 61 20 69 64 3d 22 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 a.id="toc-Operators".href="index
1600 2e 78 68 74 6d 6c 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 0a .xhtml#Operators">Operators</a>.
1620 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ........<ol>.............<li><a.
1640 69 64 3d 22 74 6f 63 2d 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 20 68 72 65 66 id="toc-Table-of-Operators".href
1660 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 ="index.xhtml#Table-of-Operators
1680 22 3e 54 61 62 6c 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ">Table.of.Operators</a></li>...
16a0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 65 63 65 64 65 ..........<li><a.id="toc-Precede
16c0 6e 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 72 65 63 65 64 65 6e 63 nce".href="index.xhtml#Precedenc
16e0 65 22 3e 50 72 65 63 65 64 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c e">Precedence</a></li>.........<
1700 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 /ol></li>.........<li><a.id="toc
1720 2d 41 72 72 61 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 72 72 61 79 -Arrays".href="index.xhtml#Array
1740 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 s">Arrays</a>.........<ol>......
1760 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 75 6c 74 69 64 69 6d 65 6e .......<li><a.id="toc-Multidimen
1780 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c sional-Arrays".href="index.xhtml
17a0 23 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e 4d 75 6c 74 69 64 #Multidimensional-Arrays">Multid
17c0 69 6d 65 6e 73 69 6f 6e 61 6c 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 imensional.Arrays</a></li>......
17e0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 .......<li><a.id="toc-Sentinel-T
1800 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 erminated-Arrays".href="index.xh
1820 74 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e tml#Sentinel-Terminated-Arrays">
1840 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f Sentinel-Terminated.Arrays</a></
1860 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c li>.........</ol></li>.........<
1880 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 65 63 74 6f 72 73 22 20 68 72 65 66 3d 22 69 6e 64 li><a.id="toc-Vectors".href="ind
18a0 65 78 2e 78 68 74 6d 6c 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c ex.xhtml#Vectors">Vectors</a></l
18c0 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 6f 69 6e 74 65 i>.........<li><a.id="toc-Pointe
18e0 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 6f 69 6e 74 65 72 73 22 3e rs".href="index.xhtml#Pointers">
1900 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 Pointers</a>.........<ol>.......
1920 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 76 6f 6c 61 74 69 6c 65 22 20 68 ......<li><a.id="toc-volatile".h
1940 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 ref="index.xhtml#volatile">volat
1960 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ile</a></li>.............<li><a.
1980 69 64 3d 22 74 6f 63 2d 41 6c 69 67 6e 6d 65 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 id="toc-Alignment".href="index.x
19a0 68 74 6d 6c 23 41 6c 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c html#Alignment">Alignment</a></l
19c0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 6c i>.............<li><a.id="toc-al
19e0 6c 6f 77 7a 65 72 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 6c 6c 6f 77 lowzero".href="index.xhtml#allow
1a00 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 zero">allowzero</a></li>........
1a20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 .....<li><a.id="toc-Sentinel-Ter
1a40 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 minated-Pointers".href="index.xh
1a60 74 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 tml#Sentinel-Terminated-Pointers
1a80 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f ">Sentinel-Terminated.Pointers</
1aa0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 a></li>.........</ol></li>......
1ac0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6c 69 63 65 73 22 20 68 72 65 66 3d 22 ...<li><a.id="toc-Slices".href="
1ae0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 0a 20 index.xhtml#Slices">Slices</a>..
1b00 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 .......<ol>.............<li><a.i
1b20 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 d="toc-Sentinel-Terminated-Slice
1b40 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 s".href="index.xhtml#Sentinel-Te
1b60 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e rminated-Slices">Sentinel-Termin
1b80 61 74 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f ated.Slices</a></li>.........</o
1ba0 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 l></li>.........<li><a.id="toc-s
1bc0 74 72 75 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 74 72 75 63 74 22 truct".href="index.xhtml#struct"
1be0 3e 73 74 72 75 63 74 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 >struct</a>.........<ol>........
1c00 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c .....<li><a.id="toc-Default-Fiel
1c20 64 2d 56 61 6c 75 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 66 61 d-Values".href="index.xhtml#Defa
1c40 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 44 65 66 61 75 6c 74 20 46 69 65 6c 64 20 ult-Field-Values">Default.Field.
1c60 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e Values</a></li>.............<li>
1c80 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 20 68 72 65 66 3d 22 <a.id="toc-extern-struct".href="
1ca0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 index.xhtml#extern-struct">exter
1cc0 6e 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c n.struct</a></li>.............<l
1ce0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 20 68 72 65 66 i><a.id="toc-packed-struct".href
1d00 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 ="index.xhtml#packed-struct">pac
1d20 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ked.struct</a></li>.............
1d40 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 20 68 72 <li><a.id="toc-Struct-Naming".hr
1d60 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 53 ef="index.xhtml#Struct-Naming">S
1d80 74 72 75 63 74 20 4e 61 6d 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 truct.Naming</a></li>...........
1da0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 ..<li><a.id="toc-Anonymous-Struc
1dc0 74 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 6e t-Literals".href="index.xhtml#An
1de0 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f onymous-Struct-Literals">Anonymo
1e00 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 us.Struct.Literals</a></li>.....
1e20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 75 70 6c 65 73 22 20 68 ........<li><a.id="toc-Tuples".h
1e40 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 75 70 6c 65 73 22 3e 54 75 70 6c 65 73 3c ref="index.xhtml#Tuples">Tuples<
1e60 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 /a></li>.........</ol></li>.....
1e80 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 69 ....<li><a.id="toc-enum".href="i
1ea0 6e 64 65 78 2e 78 68 74 6d 6c 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 0a 20 20 20 20 20 20 ndex.xhtml#enum">enum</a>.......
1ec0 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ..<ol>.............<li><a.id="to
1ee0 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c c-extern-enum".href="index.xhtml
1f00 23 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c #extern-enum">extern.enum</a></l
1f20 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 6e i>.............<li><a.id="toc-En
1f40 75 6d 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 um-Literals".href="index.xhtml#E
1f60 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c num-Literals">Enum.Literals</a><
1f80 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
1fa0 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 Non-exhaustive-enum".href="index
1fc0 2e 78 68 74 6d 6c 23 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 4e 6f 6e 2d .xhtml#Non-exhaustive-enum">Non-
1fe0 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 exhaustive.enum</a></li>........
2000 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 .</ol></li>.........<li><a.id="t
2020 6f 63 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 75 6e 69 6f oc-union".href="index.xhtml#unio
2040 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 n">union</a>.........<ol>.......
2060 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 61 67 67 65 64 2d 75 6e 69 6f ......<li><a.id="toc-Tagged-unio
2080 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 61 67 67 65 64 2d 75 6e 69 6f n".href="index.xhtml#Tagged-unio
20a0 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 n">Tagged.union</a></li>........
20c0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 75 6e 69 6f 6e .....<li><a.id="toc-extern-union
20e0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e ".href="index.xhtml#extern-union
2100 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ">extern.union</a></li>.........
2120 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 ....<li><a.id="toc-packed-union"
2140 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 .href="index.xhtml#packed-union"
2160 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 >packed.union</a></li>..........
2180 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f ...<li><a.id="toc-Anonymous-Unio
21a0 6e 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 6e n-Literals".href="index.xhtml#An
21c0 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 onymous-Union-Literals">Anonymou
21e0 73 20 55 6e 69 6f 6e 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 s.Union.Literals</a></li>.......
2200 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ..</ol></li>.........<li><a.id="
2220 74 6f 63 2d 6f 70 61 71 75 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6f 70 toc-opaque".href="index.xhtml#op
2240 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c aque">opaque</a></li>.........<l
2260 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 6c 6f 63 6b 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 i><a.id="toc-Blocks".href="index
2280 2e 78 68 74 6d 6c 23 42 6c 6f 63 6b 73 22 3e 42 6c 6f 63 6b 73 3c 2f 61 3e 0a 20 20 20 20 20 20 .xhtml#Blocks">Blocks</a>.......
22a0 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ..<ol>.............<li><a.id="to
22c0 63 2d 53 68 61 64 6f 77 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 c-Shadowing".href="index.xhtml#S
22e0 68 61 64 6f 77 69 6e 67 22 3e 53 68 61 64 6f 77 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 hadowing">Shadowing</a></li>....
2300 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 6d 70 74 79 2d 42 6c .........<li><a.id="toc-Empty-Bl
2320 6f 63 6b 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 6d 70 74 79 2d 42 6c ocks".href="index.xhtml#Empty-Bl
2340 6f 63 6b 73 22 3e 45 6d 70 74 79 20 42 6c 6f 63 6b 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ocks">Empty.Blocks</a></li>.....
2360 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ....</ol></li>.........<li><a.id
2380 3d 22 74 6f 63 2d 73 77 69 74 63 68 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ="toc-switch".href="index.xhtml#
23a0 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a switch">switch</a>.........<ol>.
23c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 68 61 75 ............<li><a.id="toc-Exhau
23e0 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 stive-Switching".href="index.xht
2400 6d 6c 23 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 3e 45 78 68 61 75 73 74 ml#Exhaustive-Switching">Exhaust
2420 69 76 65 20 53 77 69 74 63 68 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ive.Switching</a></li>..........
2440 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 ...<li><a.id="toc-Switching-with
2460 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d -Enum-Literals".href="index.xhtm
2480 6c 23 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e l#Switching-with-Enum-Literals">
24a0 53 77 69 74 63 68 69 6e 67 20 77 69 74 68 20 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e Switching.with.Enum.Literals</a>
24c0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
24e0 2d 49 6e 6c 69 6e 65 2d 53 77 69 74 63 68 2d 50 72 6f 6e 67 73 22 20 68 72 65 66 3d 22 69 6e 64 -Inline-Switch-Prongs".href="ind
2500 65 78 2e 78 68 74 6d 6c 23 49 6e 6c 69 6e 65 2d 53 77 69 74 63 68 2d 50 72 6f 6e 67 73 22 3e 49 ex.xhtml#Inline-Switch-Prongs">I
2520 6e 6c 69 6e 65 20 53 77 69 74 63 68 20 50 72 6f 6e 67 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 nline.Switch.Prongs</a></li>....
2540 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 .....</ol></li>.........<li><a.i
2560 64 3d 22 74 6f 63 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 d="toc-while".href="index.xhtml#
2580 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 while">while</a>.........<ol>...
25a0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 ..........<li><a.id="toc-Labeled
25c0 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4c 61 62 65 6c 65 -while".href="index.xhtml#Labele
25e0 64 2d 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a d-while">Labeled.while</a></li>.
2600 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 ............<li><a.id="toc-while
2620 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 -with-Optionals".href="index.xht
2640 6d 6c 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 ml#while-with-Optionals">while.w
2660 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ith.Optionals</a></li>..........
2680 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 ...<li><a.id="toc-while-with-Err
26a0 6f 72 2d 55 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 68 69 or-Unions".href="index.xhtml#whi
26c0 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 68 le-with-Error-Unions">while.with
26e0 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .Error.Unions</a></li>..........
2700 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 20 ...<li><a.id="toc-inline-while".
2720 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e href="index.xhtml#inline-while">
2740 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f inline.while</a></li>.........</
2760 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d ol></li>.........<li><a.id="toc-
2780 66 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6f 72 22 3e 66 6f 72 3c for".href="index.xhtml#for">for<
27a0 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 /a>.........<ol>.............<li
27c0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 20 68 72 65 66 3d 22 69 ><a.id="toc-Labeled-for".href="i
27e0 6e 64 65 78 2e 78 68 74 6d 6c 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 ndex.xhtml#Labeled-for">Labeled.
2800 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 for</a></li>.............<li><a.
2820 69 64 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e id="toc-inline-for".href="index.
2840 78 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e xhtml#inline-for">inline.for</a>
2860 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 </li>.........</ol></li>........
2880 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e .<li><a.id="toc-if".href="index.
28a0 78 68 74 6d 6c 23 69 66 22 3e 69 66 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 xhtml#if">if</a>.........<ol>...
28c0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 66 2d 77 69 74 68 ..........<li><a.id="toc-if-with
28e0 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 66 -Optionals".href="index.xhtml#if
2900 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 69 66 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 -with-Optionals">if.with.Optiona
2920 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 ls</a></li>.........</ol></li>..
2940 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 65 66 65 72 22 20 68 72 65 .......<li><a.id="toc-defer".hre
2960 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c f="index.xhtml#defer">defer</a><
2980 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 72 65 /li>.........<li><a.id="toc-unre
29a0 61 63 68 61 62 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 75 6e 72 65 61 achable".href="index.xhtml#unrea
29c0 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 chable">unreachable</a>.........
29e0 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d <ol>.............<li><a.id="toc-
2a00 42 61 73 69 63 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 42 61 73 69 63 73 Basics".href="index.xhtml#Basics
2a20 22 3e 42 61 73 69 63 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c ">Basics</a></li>.............<l
2a40 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 20 68 72 i><a.id="toc-At-Compile-Time".hr
2a60 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 ef="index.xhtml#At-Compile-Time"
2a80 3e 41 74 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 >At.Compile-Time</a></li>.......
2aa0 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ..</ol></li>.........<li><a.id="
2ac0 74 6f 63 2d 6e 6f 72 65 74 75 72 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 toc-noreturn".href="index.xhtml#
2ae0 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 noreturn">noreturn</a></li>.....
2b00 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 ....<li><a.id="toc-Functions".hr
2b20 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 ef="index.xhtml#Functions">Funct
2b40 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 ions</a>.........<ol>...........
2b60 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 ..<li><a.id="toc-Pass-by-value-P
2b80 61 72 61 6d 65 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 61 73 arameters".href="index.xhtml#Pas
2ba0 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 50 61 73 73 2d 62 79 2d 76 s-by-value-Parameters">Pass-by-v
2bc0 61 6c 75 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 alue.Parameters</a></li>........
2be0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 50 61 72 .....<li><a.id="toc-Function-Par
2c00 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 20 68 72 65 66 3d 22 69 6e 64 ameter-Type-Inference".href="ind
2c20 65 78 2e 78 68 74 6d 6c 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 ex.xhtml#Function-Parameter-Type
2c40 2d 49 6e 66 65 72 65 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 -Inference">Function.Parameter.T
2c60 79 70 65 20 49 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ype.Inference</a></li>..........
2c80 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6e 22 20 68 72 65 ...<li><a.id="toc-inline-fn".hre
2ca0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 66 6e 22 3e 69 6e 6c 69 6e 65 f="index.xhtml#inline-fn">inline
2cc0 20 66 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 .fn</a></li>.............<li><a.
2ce0 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 20 68 72 65 id="toc-Function-Reflection".hre
2d00 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 f="index.xhtml#Function-Reflecti
2d20 6f 6e 22 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 6c 65 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e on">Function.Reflection</a></li>
2d40 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e .........</ol></li>.........<li>
2d60 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 <a.id="toc-Errors".href="index.x
2d80 68 74 6d 6c 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 html#Errors">Errors</a>.........
2da0 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d <ol>.............<li><a.id="toc-
2dc0 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d Error-Set-Type".href="index.xhtm
2de0 6c 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 l#Error-Set-Type">Error.Set.Type
2e00 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 </a>.............<ol>...........
2e20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 6c 2d ......<li><a.id="toc-The-Global-
2e40 45 72 72 6f 72 2d 53 65 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 68 65 Error-Set".href="index.xhtml#The
2e60 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 -Global-Error-Set">The.Global.Er
2e80 72 6f 72 20 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f ror.Set</a></li>.............</o
2ea0 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 l></li>.............<li><a.id="t
2ec0 6f 63 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 oc-Error-Union-Type".href="index
2ee0 2e 78 68 74 6d 6c 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 .xhtml#Error-Union-Type">Error.U
2f00 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 nion.Type</a>.............<ol>..
2f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 ...............<li><a.id="toc-ca
2f40 74 63 68 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 61 74 63 68 22 3e 63 61 tch".href="index.xhtml#catch">ca
2f60 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 tch</a></li>.................<li
2f80 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 ><a.id="toc-try".href="index.xht
2fa0 6d 6c 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ml#try">try</a></li>............
2fc0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 64 65 66 65 72 22 20 68 72 .....<li><a.id="toc-errdefer".hr
2fe0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 ef="index.xhtml#errdefer">errdef
3000 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e er</a></li>.................<li>
3020 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 6d 6f 6e 2d 65 72 72 64 65 66 65 72 2d 53 6c 69 70 2d <a.id="toc-Common-errdefer-Slip-
3040 55 70 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 6d 6f 6e 2d 65 72 Ups".href="index.xhtml#Common-er
3060 72 64 65 66 65 72 2d 53 6c 69 70 2d 55 70 73 22 3e 43 6f 6d 6d 6f 6e 20 65 72 72 64 65 66 65 72 rdefer-Slip-Ups">Common.errdefer
3080 20 53 6c 69 70 2d 55 70 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .Slip-Ups</a></li>..............
30a0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d ...<li><a.id="toc-Merging-Error-
30c0 53 65 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4d 65 72 67 69 6e 67 2d Sets".href="index.xhtml#Merging-
30e0 45 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f Error-Sets">Merging.Error.Sets</
3100 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 a></li>.................<li><a.i
3120 64 3d 22 74 6f 63 2d 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 20 68 72 65 66 d="toc-Inferred-Error-Sets".href
3140 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 ="index.xhtml#Inferred-Error-Set
3160 73 22 3e 49 6e 66 65 72 72 65 64 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a s">Inferred.Error.Sets</a></li>.
3180 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ............</ol></li>..........
31a0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 ...<li><a.id="toc-Error-Return-T
31c0 72 61 63 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 72 72 6f 72 2d 52 races".href="index.xhtml#Error-R
31e0 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 eturn-Traces">Error.Return.Trace
3200 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 s</a>.............<ol>..........
3220 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 61 .......<li><a.id="toc-Implementa
3240 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 tion-Details".href="index.xhtml#
3260 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d 65 6e Implementation-Details">Implemen
3280 74 61 74 69 6f 6e 20 44 65 74 61 69 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 tation.Details</a></li>.........
32a0 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 ....</ol></li>.........</ol></li
32c0 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 >.........<li><a.id="toc-Optiona
32e0 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4f 70 74 69 6f 6e 61 6c 73 22 ls".href="index.xhtml#Optionals"
3300 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 >Optionals</a>.........<ol>.....
3320 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d ........<li><a.id="toc-Optional-
3340 54 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4f 70 74 69 6f 6e 61 6c Type".href="index.xhtml#Optional
3360 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 -Type">Optional.Type</a></li>...
3380 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6e 75 6c 6c 22 20 68 ..........<li><a.id="toc-null".h
33a0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 3c ref="index.xhtml#null">null</a><
33c0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
33e0 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 Optional-Pointers".href="index.x
3400 68 74 6d 6c 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c html#Optional-Pointers">Optional
3420 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e .Pointers</a></li>.........</ol>
3440 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 </li>.........<li><a.id="toc-Cas
3460 74 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 61 73 74 69 6e 67 22 ting".href="index.xhtml#Casting"
3480 3e 43 61 73 74 69 6e 67 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 >Casting</a>.........<ol>.......
34a0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 ......<li><a.id="toc-Type-Coerci
34c0 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 on".href="index.xhtml#Type-Coerc
34e0 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 ion">Type.Coercion</a>..........
3500 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 ...<ol>.................<li><a.i
3520 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 d="toc-Type-Coercion-Stricter-Qu
3540 61 6c 69 66 69 63 61 74 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 alification".href="index.xhtml#T
3560 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 ype-Coercion-Stricter-Qualificat
3580 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 51 75 61 ion">Type.Coercion:.Stricter.Qua
35a0 6c 69 66 69 63 61 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 lification</a></li>.............
35c0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e ....<li><a.id="toc-Type-Coercion
35e0 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 20 68 72 65 -Integer-and-Float-Widening".hre
3600 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 f="index.xhtml#Type-Coercion-Int
3620 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e 54 79 70 65 20 43 6f eger-and-Float-Widening">Type.Co
3640 65 72 63 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 61 6e 64 20 46 6c 6f 61 74 20 57 69 64 65 6e 69 ercion:.Integer.and.Float.Wideni
3660 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ng</a></li>.................<li>
3680 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 <a.id="toc-Type-Coercion-Float-t
36a0 6f 2d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f o-Int".href="index.xhtml#Type-Co
36c0 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e 54 79 70 65 20 43 6f 65 72 63 69 ercion-Float-to-Int">Type.Coerci
36e0 6f 6e 3a 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 on:.Float.to.Int</a></li>.......
3700 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f ..........<li><a.id="toc-Type-Co
3720 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 ercion-Slices-Arrays-and-Pointer
3740 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 s".href="index.xhtml#Type-Coerci
3760 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 3e 54 on-Slices-Arrays-and-Pointers">T
3780 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 6c 69 63 65 73 2c 20 41 72 72 61 79 73 20 61 6e 64 ype.Coercion:.Slices,.Arrays.and
37a0 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .Pointers</a></li>..............
37c0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d ...<li><a.id="toc-Type-Coercion-
37e0 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 Optionals".href="index.xhtml#Typ
3800 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 54 79 70 65 20 43 6f 65 72 63 e-Coercion-Optionals">Type.Coerc
3820 69 6f 6e 3a 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ion:.Optionals</a></li>.........
3840 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 ........<li><a.id="toc-Type-Coer
3860 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 cion-Error-Unions".href="index.x
3880 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 html#Type-Coercion-Error-Unions"
38a0 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e >Type.Coercion:.Error.Unions</a>
38c0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d </li>.................<li><a.id=
38e0 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d "toc-Type-Coercion-Compile-Time-
3900 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c Known-Numbers".href="index.xhtml
3920 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 #Type-Coercion-Compile-Time-Know
3940 6e 2d 4e 75 6d 62 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 6d 70 69 6c n-Numbers">Type.Coercion:.Compil
3960 65 2d 54 69 6d 65 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 e-Time.Known.Numbers</a></li>...
3980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 ..............<li><a.id="toc-Typ
39a0 65 2d 43 6f 65 72 63 69 6f 6e 2d 55 6e 69 6f 6e 73 2d 61 6e 64 2d 45 6e 75 6d 73 22 20 68 72 65 e-Coercion-Unions-and-Enums".hre
39c0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 55 6e 69 f="index.xhtml#Type-Coercion-Uni
39e0 6f 6e 73 2d 61 6e 64 2d 45 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 55 6e ons-and-Enums">Type.Coercion:.Un
3a00 69 6f 6e 73 20 61 6e 64 20 45 6e 75 6d 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ions.and.Enums</a></li>.........
3a20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 ........<li><a.id="toc-Type-Coer
3a40 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d cion-undefined".href="index.xhtm
3a60 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e 54 79 70 65 20 l#Type-Coercion-undefined">Type.
3a80 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 Coercion:.undefined</a></li>....
3aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 .............<li><a.id="toc-Type
3ac0 2d 43 6f 65 72 63 69 6f 6e 2d 54 75 70 6c 65 73 2d 74 6f 2d 41 72 72 61 79 73 22 20 68 72 65 66 -Coercion-Tuples-to-Arrays".href
3ae0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 54 75 70 6c ="index.xhtml#Type-Coercion-Tupl
3b00 65 73 2d 74 6f 2d 41 72 72 61 79 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 54 75 70 es-to-Arrays">Type.Coercion:.Tup
3b20 6c 65 73 20 74 6f 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 les.to.Arrays</a></li>..........
3b40 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ...</ol></li>.............<li><a
3b60 20 69 64 3d 22 74 6f 63 2d 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 20 68 72 65 66 3d 22 69 .id="toc-Explicit-Casts".href="i
3b80 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e 45 78 70 6c 69 ndex.xhtml#Explicit-Casts">Expli
3ba0 63 69 74 20 43 61 73 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c cit.Casts</a></li>.............<
3bc0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 li><a.id="toc-Peer-Type-Resoluti
3be0 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 65 65 72 2d 54 79 70 65 2d on".href="index.xhtml#Peer-Type-
3c00 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e Resolution">Peer.Type.Resolution
3c20 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 </a></li>.........</ol></li>....
3c40 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 .....<li><a.id="toc-Zero-Bit-Typ
3c60 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 65 72 6f 2d 42 69 74 2d 54 es".href="index.xhtml#Zero-Bit-T
3c80 79 70 65 73 22 3e 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 ypes">Zero.Bit.Types</a>........
3ca0 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 .<ol>.............<li><a.id="toc
3cc0 2d 76 6f 69 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 76 6f 69 64 22 3e 76 -void".href="index.xhtml#void">v
3ce0 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a oid</a></li>.........</ol></li>.
3d00 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f ........<li><a.id="toc-Result-Lo
3d20 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 cation-Semantics".href="index.xh
3d40 74 6d 6c 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 52 tml#Result-Location-Semantics">R
3d60 65 73 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 20 53 65 6d 61 6e 74 69 63 73 3c 2f 61 3e 0a 20 20 20 esult.Location.Semantics</a>....
3d80 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d .....<ol>.............<li><a.id=
3da0 22 74 6f 63 2d 52 65 73 75 6c 74 2d 54 79 70 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 "toc-Result-Types".href="index.x
3dc0 68 74 6d 6c 23 52 65 73 75 6c 74 2d 54 79 70 65 73 22 3e 52 65 73 75 6c 74 20 54 79 70 65 73 3c html#Result-Types">Result.Types<
3de0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
3e00 74 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 toc-Result-Locations".href="inde
3e20 78 2e 78 68 74 6d 6c 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 73 22 3e 52 65 73 75 6c 74 x.xhtml#Result-Locations">Result
3e40 20 4c 6f 63 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c .Locations</a></li>.........</ol
3e60 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 73 ></li>.........<li><a.id="toc-us
3e80 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ingnamespace".href="index.xhtml#
3ea0 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f usingnamespace">usingnamespace</
3ec0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 a></li>.........<li><a.id="toc-c
3ee0 6f 6d 70 74 69 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6d 70 74 omptime".href="index.xhtml#compt
3f00 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 ime">comptime</a>.........<ol>..
3f20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 74 72 6f 64 ...........<li><a.id="toc-Introd
3f40 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 20 ucing-the-Compile-Time-Concept".
3f60 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 href="index.xhtml#Introducing-th
3f80 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 49 6e 74 72 6f 64 75 63 e-Compile-Time-Concept">Introduc
3fa0 69 6e 67 20 74 68 65 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 43 6f 6e 63 65 70 74 3c 2f 61 3e ing.the.Compile-Time.Concept</a>
3fc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............<ol>...............
3fe0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 ..<li><a.id="toc-Compile-Time-Pa
4000 72 61 6d 65 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 rameters".href="index.xhtml#Comp
4020 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d ile-Time-Parameters">Compile-Tim
4040 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 e.Parameters</a></li>...........
4060 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d ......<li><a.id="toc-Compile-Tim
4080 65 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 e-Variables".href="index.xhtml#C
40a0 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 ompile-Time-Variables">Compile-T
40c0 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ime.Variables</a></li>..........
40e0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 .......<li><a.id="toc-Compile-Ti
4100 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d me-Expressions".href="index.xhtm
4120 6c 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e 43 6f 6d 70 l#Compile-Time-Expressions">Comp
4140 69 6c 65 2d 54 69 6d 65 20 45 78 70 72 65 73 73 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ile-Time.Expressions</a></li>...
4160 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ..........</ol></li>............
4180 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 .<li><a.id="toc-Generic-Data-Str
41a0 75 63 74 75 72 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 47 65 6e 65 72 uctures".href="index.xhtml#Gener
41c0 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e 47 65 6e 65 72 69 63 20 44 61 74 61 ic-Data-Structures">Generic.Data
41e0 20 53 74 72 75 63 74 75 72 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 .Structures</a></li>............
4200 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 .<li><a.id="toc-Case-Study-print
4220 2d 69 6e 2d 5a 69 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 61 73 65 2d -in-Zig".href="index.xhtml#Case-
4240 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e 43 61 73 65 20 53 74 75 64 79 3a 20 Study-print-in-Zig">Case.Study:.
4260 70 72 69 6e 74 20 69 6e 20 5a 69 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f print.in.Zig</a></li>.........</
4280 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d ol></li>.........<li><a.id="toc-
42a0 41 73 73 65 6d 62 6c 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 73 73 65 Assembly".href="index.xhtml#Asse
42c0 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a mbly">Assembly</a>.........<ol>.
42e0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 75 74 70 75 ............<li><a.id="toc-Outpu
4300 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c t-Constraints".href="index.xhtml
4320 23 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 4f 75 74 70 75 74 20 43 6f 6e 73 #Output-Constraints">Output.Cons
4340 74 72 61 69 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 traints</a></li>.............<li
4360 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 20 68 ><a.id="toc-Input-Constraints".h
4380 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e ref="index.xhtml#Input-Constrain
43a0 74 73 22 3e 49 6e 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 ts">Input.Constraints</a></li>..
43c0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6c 6f 62 62 65 ...........<li><a.id="toc-Clobbe
43e0 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6c 6f 62 62 65 72 73 22 3e rs".href="index.xhtml#Clobbers">
4400 43 6c 6f 62 62 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c Clobbers</a></li>.............<l
4420 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 20 68 72 i><a.id="toc-Global-Assembly".hr
4440 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 ef="index.xhtml#Global-Assembly"
4460 3e 47 6c 6f 62 61 6c 20 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 >Global.Assembly</a></li>.......
4480 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ..</ol></li>.........<li><a.id="
44a0 74 6f 63 2d 41 74 6f 6d 69 63 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 toc-Atomics".href="index.xhtml#A
44c0 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 tomics">Atomics</a></li>........
44e0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 .<li><a.id="toc-Async-Functions"
4500 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f .href="index.xhtml#Async-Functio
4520 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ns">Async.Functions</a></li>....
4540 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 46 75 6e 63 .....<li><a.id="toc-Builtin-Func
4560 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 42 75 69 6c 74 69 6e tions".href="index.xhtml#Builtin
4580 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 -Functions">Builtin.Functions</a
45a0 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 20 73 74 79 6c 65 3d 22 63 6f 6c 75 6d 6e 73 3a 20 32 22 >.........<ol.style="columns:.2"
45c0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 64 64 >.............<li><a.id="toc-add
45e0 72 53 70 61 63 65 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 64 rSpaceCast".href="index.xhtml#ad
4600 64 72 53 70 61 63 65 43 61 73 74 22 3e 40 61 64 64 72 53 70 61 63 65 43 61 73 74 3c 2f 61 3e 3c drSpaceCast">@addrSpaceCast</a><
4620 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
4640 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 addWithOverflow".href="index.xht
4660 6d 6c 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 ml#addWithOverflow">@addWithOver
4680 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 flow</a></li>.............<li><a
46a0 20 69 64 3d 22 74 6f 63 2d 61 6c 69 67 6e 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e .id="toc-alignCast".href="index.
46c0 78 68 74 6d 6c 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 3c xhtml#alignCast">@alignCast</a><
46e0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
4700 61 6c 69 67 6e 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 6c 69 67 6e alignOf".href="index.xhtml#align
4720 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 Of">@alignOf</a></li>...........
4740 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 ..<li><a.id="toc-as".href="index
4760 2e 78 68 74 6d 6c 23 61 73 22 3e 40 61 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .xhtml#as">@as</a></li>.........
4780 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 74 6f 6d 69 63 4c 6f 61 64 22 20 68 ....<li><a.id="toc-atomicLoad".h
47a0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 ref="index.xhtml#atomicLoad">@at
47c0 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c omicLoad</a></li>.............<l
47e0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 74 6f 6d 69 63 52 6d 77 22 20 68 72 65 66 3d 22 69 6e i><a.id="toc-atomicRmw".href="in
4800 64 65 78 2e 78 68 74 6d 6c 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c dex.xhtml#atomicRmw">@atomicRmw<
4820 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
4840 74 6f 63 2d 61 74 6f 6d 69 63 53 74 6f 72 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 toc-atomicStore".href="index.xht
4860 6d 6c 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e ml#atomicStore">@atomicStore</a>
4880 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
48a0 2d 62 69 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 69 74 43 -bitCast".href="index.xhtml#bitC
48c0 61 73 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ast">@bitCast</a></li>..........
48e0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 74 4f 66 66 73 65 74 4f 66 22 20 68 ...<li><a.id="toc-bitOffsetOf".h
4900 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 ref="index.xhtml#bitOffsetOf">@b
4920 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 itOffsetOf</a></li>.............
4940 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 74 53 69 7a 65 4f 66 22 20 68 72 65 66 3d 22 <li><a.id="toc-bitSizeOf".href="
4960 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 4f index.xhtml#bitSizeOf">@bitSizeO
4980 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 f</a></li>.............<li><a.id
49a0 3d 22 74 6f 63 2d 62 72 65 61 6b 70 6f 69 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 ="toc-breakpoint".href="index.xh
49c0 74 6d 6c 23 62 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 61 3e 3c tml#breakpoint">@breakpoint</a><
49e0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
4a00 6d 75 6c 41 64 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 75 6c 41 64 64 mulAdd".href="index.xhtml#mulAdd
4a20 22 3e 40 6d 75 6c 41 64 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ">@mulAdd</a></li>.............<
4a40 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 79 74 65 53 77 61 70 22 20 68 72 65 66 3d 22 69 6e li><a.id="toc-byteSwap".href="in
4a60 64 65 78 2e 78 68 74 6d 6c 23 62 79 74 65 53 77 61 70 22 3e 40 62 79 74 65 53 77 61 70 3c 2f 61 dex.xhtml#byteSwap">@byteSwap</a
4a80 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
4aa0 63 2d 62 69 74 52 65 76 65 72 73 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 c-bitReverse".href="index.xhtml#
4ac0 62 69 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 3c 2f 6c 69 3e bitReverse">@bitReverse</a></li>
4ae0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6f 66 66 73 .............<li><a.id="toc-offs
4b00 65 74 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6f 66 66 73 65 74 4f 66 etOf".href="index.xhtml#offsetOf
4b20 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ">@offsetOf</a></li>............
4b40 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 6c 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 .<li><a.id="toc-call".href="inde
4b60 78 2e 78 68 74 6d 6c 23 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 x.xhtml#call">@call</a></li>....
4b80 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 44 65 66 69 6e 65 22 .........<li><a.id="toc-cDefine"
4ba0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 .href="index.xhtml#cDefine">@cDe
4bc0 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 fine</a></li>.............<li><a
4be0 20 69 64 3d 22 74 6f 63 2d 63 49 6d 70 6f 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 .id="toc-cImport".href="index.xh
4c00 74 6d 6c 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 tml#cImport">@cImport</a></li>..
4c20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 49 6e 63 6c 75 ...........<li><a.id="toc-cInclu
4c40 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 49 6e 63 6c 75 64 65 22 3e de".href="index.xhtml#cInclude">
4c60 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c @cInclude</a></li>.............<
4c80 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6c 7a 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 li><a.id="toc-clz".href="index.x
4ca0 68 74 6d 6c 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 html#clz">@clz</a></li>.........
4cc0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 ....<li><a.id="toc-cmpxchgStrong
4ce0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6d 70 78 63 68 67 53 74 72 6f 6e ".href="index.xhtml#cmpxchgStron
4d00 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 g">@cmpxchgStrong</a></li>......
4d20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6d 70 78 63 68 67 57 65 61 .......<li><a.id="toc-cmpxchgWea
4d40 6b 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6d 70 78 63 68 67 57 65 61 6b k".href="index.xhtml#cmpxchgWeak
4d60 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ">@cmpxchgWeak</a></li>.........
4d80 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 ....<li><a.id="toc-compileError"
4da0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 .href="index.xhtml#compileError"
4dc0 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 >@compileError</a></li>.........
4de0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 69 6c 65 4c 6f 67 22 20 68 ....<li><a.id="toc-compileLog".h
4e00 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 40 63 6f ref="index.xhtml#compileLog">@co
4e20 6d 70 69 6c 65 4c 6f 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c mpileLog</a></li>.............<l
4e40 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6e 73 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e i><a.id="toc-constCast".href="in
4e60 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6e 73 74 43 61 73 74 22 3e 40 63 6f 6e 73 74 43 61 73 74 3c dex.xhtml#constCast">@constCast<
4e80 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
4ea0 74 6f 63 2d 63 74 7a 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 74 7a 22 3e toc-ctz".href="index.xhtml#ctz">
4ec0 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 @ctz</a></li>.............<li><a
4ee0 20 69 64 3d 22 74 6f 63 2d 63 55 6e 64 65 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 .id="toc-cUndef".href="index.xht
4f00 6d 6c 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ml#cUndef">@cUndef</a></li>.....
4f20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 56 61 41 72 67 22 20 68 ........<li><a.id="toc-cVaArg".h
4f40 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 56 61 41 72 67 22 3e 40 63 56 61 41 72 67 ref="index.xhtml#cVaArg">@cVaArg
4f60 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d </a></li>.............<li><a.id=
4f80 22 74 6f 63 2d 63 56 61 43 6f 70 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 "toc-cVaCopy".href="index.xhtml#
4fa0 63 56 61 43 6f 70 79 22 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 cVaCopy">@cVaCopy</a></li>......
4fc0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 56 61 45 6e 64 22 20 68 72 .......<li><a.id="toc-cVaEnd".hr
4fe0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c ef="index.xhtml#cVaEnd">@cVaEnd<
5000 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
5020 74 6f 63 2d 63 56 61 53 74 61 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 toc-cVaStart".href="index.xhtml#
5040 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 cVaStart">@cVaStart</a></li>....
5060 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 69 76 45 78 61 63 74 .........<li><a.id="toc-divExact
5080 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 64 69 76 45 78 61 63 74 22 3e 40 64 ".href="index.xhtml#divExact">@d
50a0 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ivExact</a></li>.............<li
50c0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 69 76 46 6c 6f 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 ><a.id="toc-divFloor".href="inde
50e0 78 2e 78 68 74 6d 6c 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 3c x.xhtml#divFloor">@divFloor</a><
5100 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
5120 64 69 76 54 72 75 6e 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 64 69 76 54 divTrunc".href="index.xhtml#divT
5140 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 runc">@divTrunc</a></li>........
5160 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6d 62 65 64 46 69 6c 65 22 20 68 .....<li><a.id="toc-embedFile".h
5180 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 ref="index.xhtml#embedFile">@emb
51a0 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e edFile</a></li>.............<li>
51c0 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e <a.id="toc-enumFromInt".href="in
51e0 64 65 78 2e 78 68 74 6d 6c 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e 40 65 6e 75 6d 46 72 6f 6d dex.xhtml#enumFromInt">@enumFrom
5200 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 Int</a></li>.............<li><a.
5220 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 id="toc-errorFromInt".href="inde
5240 78 2e 78 68 74 6d 6c 23 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 3e 40 65 72 72 6f 72 46 72 6f 6d x.xhtml#errorFromInt">@errorFrom
5260 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 Int</a></li>.............<li><a.
5280 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 4e 61 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 id="toc-errorName".href="index.x
52a0 68 74 6d 6c 23 65 72 72 6f 72 4e 61 6d 65 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 61 3e 3c 2f html#errorName">@errorName</a></
52c0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 li>.............<li><a.id="toc-e
52e0 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 rrorReturnTrace".href="index.xht
5300 6d 6c 23 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e 40 65 72 72 6f 72 52 65 74 75 72 ml#errorReturnTrace">@errorRetur
5320 6e 54 72 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e nTrace</a></li>.............<li>
5340 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 <a.id="toc-errorCast".href="inde
5360 78 2e 78 68 74 6d 6c 23 65 72 72 6f 72 43 61 73 74 22 3e 40 65 72 72 6f 72 43 61 73 74 3c 2f 61 x.xhtml#errorCast">@errorCast</a
5380 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
53a0 63 2d 65 78 70 6f 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 70 6f c-export".href="index.xhtml#expo
53c0 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 rt">@export</a></li>............
53e0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 22 20 68 72 65 66 3d 22 69 6e .<li><a.id="toc-extern".href="in
5400 64 65 78 2e 78 68 74 6d 6c 23 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 3c 2f 6c dex.xhtml#extern">@extern</a></l
5420 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 65 i>.............<li><a.id="toc-fe
5440 6e 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 65 6e 63 65 22 3e 40 66 nce".href="index.xhtml#fence">@f
5460 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ence</a></li>.............<li><a
5480 20 69 64 3d 22 74 6f 63 2d 66 69 65 6c 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d .id="toc-field".href="index.xhtm
54a0 6c 23 66 69 65 6c 64 22 3e 40 66 69 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 l#field">@field</a></li>........
54c0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 69 65 6c 64 50 61 72 65 6e 74 50 .....<li><a.id="toc-fieldParentP
54e0 74 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 69 65 6c 64 50 61 72 65 6e tr".href="index.xhtml#fieldParen
5500 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 tPtr">@fieldParentPtr</a></li>..
5520 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 43 ...........<li><a.id="toc-floatC
5540 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6c 6f 61 74 43 61 73 74 ast".href="index.xhtml#floatCast
5560 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ">@floatCast</a></li>...........
5580 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 20 68 ..<li><a.id="toc-floatFromInt".h
55a0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e 40 ref="index.xhtml#floatFromInt">@
55c0 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 floatFromInt</a></li>...........
55e0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 72 61 6d 65 41 64 64 72 65 73 73 22 20 68 ..<li><a.id="toc-frameAddress".h
5600 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 ref="index.xhtml#frameAddress">@
5620 66 72 61 6d 65 41 64 64 72 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 frameAddress</a></li>...........
5640 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 68 61 73 44 65 63 6c 22 20 68 72 65 66 3d 22 ..<li><a.id="toc-hasDecl".href="
5660 69 6e 64 65 78 2e 78 68 74 6d 6c 23 68 61 73 44 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 index.xhtml#hasDecl">@hasDecl</a
5680 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
56a0 63 2d 68 61 73 46 69 65 6c 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 68 61 c-hasField".href="index.xhtml#ha
56c0 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 sField">@hasField</a></li>......
56e0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6d 70 6f 72 74 22 20 68 72 .......<li><a.id="toc-import".hr
5700 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c ef="index.xhtml#import">@import<
5720 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
5740 74 6f 63 2d 69 6e 43 6f 6d 70 74 69 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d toc-inComptime".href="index.xhtm
5760 6c 23 69 6e 43 6f 6d 70 74 69 6d 65 22 3e 40 69 6e 43 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c l#inComptime">@inComptime</a></l
5780 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e i>.............<li><a.id="toc-in
57a0 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 43 61 73 74 tCast".href="index.xhtml#intCast
57c0 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ">@intCast</a></li>.............
57e0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 42 6f 6f 6c 22 20 68 72 65 66 <li><a.id="toc-intFromBool".href
5800 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 42 6f 6f 6c 22 3e 40 69 6e 74 46 ="index.xhtml#intFromBool">@intF
5820 72 6f 6d 42 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 romBool</a></li>.............<li
5840 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 45 6e 75 6d 22 20 68 72 65 66 3d 22 69 ><a.id="toc-intFromEnum".href="i
5860 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 45 6e 75 6d 22 3e 40 69 6e 74 46 72 6f 6d ndex.xhtml#intFromEnum">@intFrom
5880 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 Enum</a></li>.............<li><a
58a0 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 45 72 72 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 .id="toc-intFromError".href="ind
58c0 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 45 72 72 6f 72 22 3e 40 69 6e 74 46 72 6f 6d 45 ex.xhtml#intFromError">@intFromE
58e0 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 rror</a></li>.............<li><a
5900 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 22 20 68 72 65 66 3d 22 69 6e 64 .id="toc-intFromFloat".href="ind
5920 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 22 3e 40 69 6e 74 46 72 6f 6d 46 ex.xhtml#intFromFloat">@intFromF
5940 6c 6f 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 loat</a></li>.............<li><a
5960 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 50 74 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 .id="toc-intFromPtr".href="index
5980 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 50 74 72 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f .xhtml#intFromPtr">@intFromPtr</
59a0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
59c0 6f 63 2d 6d 61 78 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 61 78 22 3e 40 oc-max".href="index.xhtml#max">@
59e0 6d 61 78 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 max</a></li>.............<li><a.
5a00 69 64 3d 22 74 6f 63 2d 6d 65 6d 63 70 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d id="toc-memcpy".href="index.xhtm
5a20 6c 23 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 l#memcpy">@memcpy</a></li>......
5a40 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 65 6d 73 65 74 22 20 68 72 .......<li><a.id="toc-memset".hr
5a60 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 65 6d 73 65 74 22 3e 40 6d 65 6d 73 65 74 3c ef="index.xhtml#memset">@memset<
5a80 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
5aa0 74 6f 63 2d 6d 69 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 69 6e 22 3e toc-min".href="index.xhtml#min">
5ac0 40 6d 69 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 @min</a></li>.............<li><a
5ae0 20 69 64 3d 22 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 20 68 72 65 66 3d 22 69 .id="toc-wasmMemorySize".href="i
5b00 6e 64 65 78 2e 78 68 74 6d 6c 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e 40 77 61 73 6d ndex.xhtml#wasmMemorySize">@wasm
5b20 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 MemorySize</a></li>.............
5b40 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 20 68 <li><a.id="toc-wasmMemoryGrow".h
5b60 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 ref="index.xhtml#wasmMemoryGrow"
5b80 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 >@wasmMemoryGrow</a></li>.......
5ba0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 6f 64 22 20 68 72 65 66 3d 22 ......<li><a.id="toc-mod".href="
5bc0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 index.xhtml#mod">@mod</a></li>..
5be0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 75 6c 57 69 74 ...........<li><a.id="toc-mulWit
5c00 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 75 6c hOverflow".href="index.xhtml#mul
5c20 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f WithOverflow">@mulWithOverflow</
5c40 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
5c60 6f 63 2d 70 61 6e 69 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 61 6e 69 oc-panic".href="index.xhtml#pani
5c80 63 22 3e 40 70 61 6e 69 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c c">@panic</a></li>.............<
5ca0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 6f 70 43 6f 75 6e 74 22 20 68 72 65 66 3d 22 69 6e li><a.id="toc-popCount".href="in
5cc0 64 65 78 2e 78 68 74 6d 6c 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 dex.xhtml#popCount">@popCount</a
5ce0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
5d00 63 2d 70 72 65 66 65 74 63 68 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 72 c-prefetch".href="index.xhtml#pr
5d20 65 66 65 74 63 68 22 3e 40 70 72 65 66 65 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 efetch">@prefetch</a></li>......
5d40 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 74 72 43 61 73 74 22 20 68 .......<li><a.id="toc-ptrCast".h
5d60 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 ref="index.xhtml#ptrCast">@ptrCa
5d80 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 st</a></li>.............<li><a.i
5da0 64 3d 22 74 6f 63 2d 70 74 72 46 72 6f 6d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 d="toc-ptrFromInt".href="index.x
5dc0 68 74 6d 6c 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e html#ptrFromInt">@ptrFromInt</a>
5de0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
5e00 2d 72 65 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 72 65 6d 22 3e 40 72 65 -rem".href="index.xhtml#rem">@re
5e20 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 m</a></li>.............<li><a.id
5e40 3d 22 74 6f 63 2d 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 ="toc-returnAddress".href="index
5e60 2e 78 68 74 6d 6c 23 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 40 72 65 74 75 72 6e 41 64 64 .xhtml#returnAddress">@returnAdd
5e80 72 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ress</a></li>.............<li><a
5ea0 20 69 64 3d 22 74 6f 63 2d 73 65 6c 65 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 .id="toc-select".href="index.xht
5ec0 6d 6c 23 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ml#select">@select</a></li>.....
5ee0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 41 6c 69 67 6e 53 ........<li><a.id="toc-setAlignS
5f00 74 61 63 6b 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 41 6c 69 67 6e tack".href="index.xhtml#setAlign
5f20 53 74 61 63 6b 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 Stack">@setAlignStack</a></li>..
5f40 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 43 6f 6c ...........<li><a.id="toc-setCol
5f60 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 43 6f 6c 64 22 3e 40 73 d".href="index.xhtml#setCold">@s
5f80 65 74 43 6f 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e etCold</a></li>.............<li>
5fa0 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 20 68 <a.id="toc-setEvalBranchQuota".h
5fc0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 ref="index.xhtml#setEvalBranchQu
5fe0 6f 74 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 3c 2f 6c 69 ota">@setEvalBranchQuota</a></li
6000 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 >.............<li><a.id="toc-set
6020 46 6c 6f 61 74 4d 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 FloatMode".href="index.xhtml#set
6040 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 FloatMode">@setFloatMode</a></li
6060 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 >.............<li><a.id="toc-set
6080 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c RuntimeSafety".href="index.xhtml
60a0 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 #setRuntimeSafety">@setRuntimeSa
60c0 66 65 74 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 fety</a></li>.............<li><a
60e0 20 69 64 3d 22 74 6f 63 2d 73 68 6c 45 78 61 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 .id="toc-shlExact".href="index.x
6100 68 74 6d 6c 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 html#shlExact">@shlExact</a></li
6120 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 6c >.............<li><a.id="toc-shl
6140 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 WithOverflow".href="index.xhtml#
6160 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f shlWithOverflow">@shlWithOverflo
6180 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 w</a></li>.............<li><a.id
61a0 3d 22 74 6f 63 2d 73 68 72 45 78 61 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d ="toc-shrExact".href="index.xhtm
61c0 6c 23 73 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 l#shrExact">@shrExact</a></li>..
61e0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 75 66 66 6c ...........<li><a.id="toc-shuffl
6200 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 68 75 66 66 6c 65 22 3e 40 73 e".href="index.xhtml#shuffle">@s
6220 68 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e huffle</a></li>.............<li>
6240 3c 61 20 69 64 3d 22 74 6f 63 2d 73 69 7a 65 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 <a.id="toc-sizeOf".href="index.x
6260 68 74 6d 6c 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 html#sizeOf">@sizeOf</a></li>...
6280 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 70 6c 61 74 22 20 ..........<li><a.id="toc-splat".
62a0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c href="index.xhtml#splat">@splat<
62c0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
62e0 74 6f 63 2d 72 65 64 75 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 72 65 toc-reduce".href="index.xhtml#re
6300 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 duce">@reduce</a></li>..........
6320 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 72 63 22 20 68 72 65 66 3d 22 69 6e 64 ...<li><a.id="toc-src".href="ind
6340 65 78 2e 78 68 74 6d 6c 23 73 72 63 22 3e 40 73 72 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ex.xhtml#src">@src</a></li>.....
6360 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 71 72 74 22 20 68 72 65 ........<li><a.id="toc-sqrt".hre
6380 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 71 72 74 22 3e 40 73 71 72 74 3c 2f 61 3e 3c 2f f="index.xhtml#sqrt">@sqrt</a></
63a0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 li>.............<li><a.id="toc-s
63c0 69 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 69 6e 22 3e 40 73 69 6e 3c in".href="index.xhtml#sin">@sin<
63e0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
6400 74 6f 63 2d 63 6f 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 73 22 3e toc-cos".href="index.xhtml#cos">
6420 40 63 6f 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 @cos</a></li>.............<li><a
6440 20 69 64 3d 22 74 6f 63 2d 74 61 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 .id="toc-tan".href="index.xhtml#
6460 74 61 6e 22 3e 40 74 61 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c tan">@tan</a></li>.............<
6480 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 70 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 li><a.id="toc-exp".href="index.x
64a0 68 74 6d 6c 23 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 html#exp">@exp</a></li>.........
64c0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 70 32 22 20 68 72 65 66 3d 22 69 ....<li><a.id="toc-exp2".href="i
64e0 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 70 32 22 3e 40 65 78 70 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a ndex.xhtml#exp2">@exp2</a></li>.
6500 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 22 20 ............<li><a.id="toc-log".
6520 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6c 6f 67 22 3e 40 6c 6f 67 3c 2f 61 3e 3c href="index.xhtml#log">@log</a><
6540 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /li>.............<li><a.id="toc-
6560 6c 6f 67 32 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6c 6f 67 32 22 3e 40 6c log2".href="index.xhtml#log2">@l
6580 6f 67 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 og2</a></li>.............<li><a.
65a0 69 64 3d 22 74 6f 63 2d 6c 6f 67 31 30 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c id="toc-log10".href="index.xhtml
65c0 23 6c 6f 67 31 30 22 3e 40 6c 6f 67 31 30 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 #log10">@log10</a></li>.........
65e0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 62 73 22 20 68 72 65 66 3d 22 69 6e ....<li><a.id="toc-abs".href="in
6600 64 65 78 2e 78 68 74 6d 6c 23 61 62 73 22 3e 40 61 62 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 dex.xhtml#abs">@abs</a></li>....
6620 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 6f 72 22 20 68 .........<li><a.id="toc-floor".h
6640 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6c 6f 6f 72 22 3e 40 66 6c 6f 6f 72 3c 2f ref="index.xhtml#floor">@floor</
6660 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
6680 6f 63 2d 63 65 69 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 65 69 6c 22 oc-ceil".href="index.xhtml#ceil"
66a0 3e 40 63 65 69 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e >@ceil</a></li>.............<li>
66c0 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 75 6e 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 <a.id="toc-trunc".href="index.xh
66e0 74 6d 6c 23 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 tml#trunc">@trunc</a></li>......
6700 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 72 6f 75 6e 64 22 20 68 72 65 .......<li><a.id="toc-round".hre
6720 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e f="index.xhtml#round">@round</a>
6740 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
6760 2d 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 -subWithOverflow".href="index.xh
6780 74 6d 6c 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 tml#subWithOverflow">@subWithOve
67a0 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c rflow</a></li>.............<li><
67c0 61 20 69 64 3d 22 74 6f 63 2d 74 61 67 4e 61 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 a.id="toc-tagName".href="index.x
67e0 68 74 6d 6c 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a html#tagName">@tagName</a></li>.
6800 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 69 73 22 ............<li><a.id="toc-This"
6820 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 68 69 73 22 3e 40 54 68 69 73 3c 2f .href="index.xhtml#This">@This</
6840 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
6860 6f 63 2d 74 72 61 70 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 72 61 70 22 oc-trap".href="index.xhtml#trap"
6880 3e 40 74 72 61 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e >@trap</a></li>.............<li>
68a0 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 75 6e 63 61 74 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 <a.id="toc-truncate".href="index
68c0 2e 78 68 74 6d 6c 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 3c 2f .xhtml#truncate">@truncate</a></
68e0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 li>.............<li><a.id="toc-T
6900 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 22 3e 40 54 79 ype".href="index.xhtml#Type">@Ty
6920 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 pe</a></li>.............<li><a.i
6940 64 3d 22 74 6f 63 2d 74 79 70 65 49 6e 66 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 d="toc-typeInfo".href="index.xht
6960 6d 6c 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a ml#typeInfo">@typeInfo</a></li>.
6980 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 79 70 65 4e ............<li><a.id="toc-typeN
69a0 61 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 79 70 65 4e 61 6d 65 22 ame".href="index.xhtml#typeName"
69c0 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >@typeName</a></li>.............
69e0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 <li><a.id="toc-TypeOf".href="ind
6a00 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 4f 66 22 3e 40 54 79 70 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 ex.xhtml#TypeOf">@TypeOf</a></li
6a20 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 69 >.............<li><a.id="toc-uni
6a40 6f 6e 49 6e 69 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 75 6e 69 6f 6e 49 onInit".href="index.xhtml#unionI
6a60 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 nit">@unionInit</a></li>........
6a80 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 65 63 74 6f 72 22 20 68 72 65 66 .....<li><a.id="toc-Vector".href
6aa0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 56 65 63 74 6f 72 22 3e 40 56 65 63 74 6f 72 3c 2f 61 ="index.xhtml#Vector">@Vector</a
6ac0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
6ae0 63 2d 76 6f 6c 61 74 69 6c 65 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d c-volatileCast".href="index.xhtm
6b00 6c 23 76 6f 6c 61 74 69 6c 65 43 61 73 74 22 3e 40 76 6f 6c 61 74 69 6c 65 43 61 73 74 3c 2f 61 l#volatileCast">@volatileCast</a
6b20 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
6b40 63 2d 77 6f 72 6b 47 72 6f 75 70 49 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c c-workGroupId".href="index.xhtml
6b60 23 77 6f 72 6b 47 72 6f 75 70 49 64 22 3e 40 77 6f 72 6b 47 72 6f 75 70 49 64 3c 2f 61 3e 3c 2f #workGroupId">@workGroupId</a></
6b80 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 li>.............<li><a.id="toc-w
6ba0 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 orkGroupSize".href="index.xhtml#
6bc0 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 3e 40 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 3c 2f 61 workGroupSize">@workGroupSize</a
6be0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
6c00 63 2d 77 6f 72 6b 49 74 65 6d 49 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 c-workItemId".href="index.xhtml#
6c20 77 6f 72 6b 49 74 65 6d 49 64 22 3e 40 77 6f 72 6b 49 74 65 6d 49 64 3c 2f 61 3e 3c 2f 6c 69 3e workItemId">@workItemId</a></li>
6c40 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e .........</ol></li>.........<li>
6c60 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 64 2d 4d 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 <a.id="toc-Build-Mode".href="ind
6c80 65 78 2e 78 68 74 6d 6c 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c ex.xhtml#Build-Mode">Build.Mode<
6ca0 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 /a>.........<ol>.............<li
6cc0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 62 75 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 ><a.id="toc-Debug".href="index.x
6ce0 68 74 6d 6c 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 html#Debug">Debug</a></li>......
6d00 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 46 61 73 .......<li><a.id="toc-ReleaseFas
6d20 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6c 65 61 73 65 46 61 73 74 t".href="index.xhtml#ReleaseFast
6d40 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ">ReleaseFast</a></li>..........
6d60 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 53 61 66 65 22 20 68 ...<li><a.id="toc-ReleaseSafe".h
6d80 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 ref="index.xhtml#ReleaseSafe">Re
6da0 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c leaseSafe</a></li>.............<
6dc0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 20 68 72 65 66 li><a.id="toc-ReleaseSmall".href
6de0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 ="index.xhtml#ReleaseSmall">Rele
6e00 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c aseSmall</a></li>.........</ol><
6e20 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 69 6e 67 /li>.........<li><a.id="toc-Sing
6e40 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e le-Threaded-Builds".href="index.
6e60 78 68 74 6d 6c 23 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 53 69 xhtml#Single-Threaded-Builds">Si
6e80 6e 67 6c 65 20 54 68 72 65 61 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ngle.Threaded.Builds</a></li>...
6ea0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 2d 42 ......<li><a.id="toc-Undefined-B
6ec0 65 68 61 76 69 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 55 6e 64 65 66 ehavior".href="index.xhtml#Undef
6ee0 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f ined-Behavior">Undefined.Behavio
6f00 72 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c r</a>.........<ol>.............<
6f20 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 li><a.id="toc-Reaching-Unreachab
6f40 6c 65 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 61 63 68 le-Code".href="index.xhtml#Reach
6f60 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 52 65 61 63 68 69 6e 67 20 55 ing-Unreachable-Code">Reaching.U
6f80 6e 72 65 61 63 68 61 62 6c 65 20 43 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 nreachable.Code</a></li>........
6fa0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 .....<li><a.id="toc-Index-out-of
6fc0 2d 42 6f 75 6e 64 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 64 65 78 -Bounds".href="index.xhtml#Index
6fe0 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e 49 6e 64 65 78 20 6f 75 74 20 6f 66 20 42 6f 75 -out-of-Bounds">Index.out.of.Bou
7000 6e 64 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 nds</a></li>.............<li><a.
7020 69 64 3d 22 74 6f 63 2d 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d id="toc-Cast-Negative-Number-to-
7040 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 Unsigned-Integer".href="index.xh
7060 74 6d 6c 23 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 tml#Cast-Negative-Number-to-Unsi
7080 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e 43 61 73 74 20 4e 65 67 61 74 69 76 65 20 4e 75 6d 62 gned-Integer">Cast.Negative.Numb
70a0 65 72 20 74 6f 20 55 6e 73 69 67 6e 65 64 20 49 6e 74 65 67 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a er.to.Unsigned.Integer</a></li>.
70c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 2d ............<li><a.id="toc-Cast-
70e0 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d Truncates-Data".href="index.xhtm
7100 6c 23 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 43 61 73 74 20 54 72 75 6e l#Cast-Truncates-Data">Cast.Trun
7120 63 61 74 65 73 20 44 61 74 61 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 cates.Data</a></li>.............
7140 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 <li><a.id="toc-Integer-Overflow"
7160 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 .href="index.xhtml#Integer-Overf
7180 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 0a 20 20 20 20 20 20 low">Integer.Overflow</a>.......
71a0 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ......<ol>.................<li><
71c0 61 20 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 a.id="toc-Default-Operations".hr
71e0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f ef="index.xhtml#Default-Operatio
7200 6e 73 22 3e 44 65 66 61 75 6c 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a ns">Default.Operations</a></li>.
7220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 ................<li><a.id="toc-S
7240 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 20 tandard-Library-Math-Functions".
7260 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 href="index.xhtml#Standard-Libra
7280 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 53 74 61 6e 64 61 72 64 20 4c 69 62 72 ry-Math-Functions">Standard.Libr
72a0 61 72 79 20 4d 61 74 68 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ary.Math.Functions</a></li>.....
72c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 74 ............<li><a.id="toc-Built
72e0 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 in-Overflow-Functions".href="ind
7300 65 78 2e 78 68 74 6d 6c 23 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 ex.xhtml#Builtin-Overflow-Functi
7320 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 4f 76 65 72 66 6c 6f 77 20 46 75 6e 63 74 69 6f 6e 73 3c ons">Builtin.Overflow.Functions<
7340 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 /a></li>.................<li><a.
7360 69 64 3d 22 74 6f 63 2d 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 id="toc-Wrapping-Operations".hre
7380 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f f="index.xhtml#Wrapping-Operatio
73a0 6e 73 22 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e ns">Wrapping.Operations</a></li>
73c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .............</ol></li>.........
73e0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 ....<li><a.id="toc-Exact-Left-Sh
7400 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ift-Overflow".href="index.xhtml#
7420 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 Exact-Left-Shift-Overflow">Exact
7440 20 4c 65 66 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 .Left.Shift.Overflow</a></li>...
7460 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 52 ..........<li><a.id="toc-Exact-R
7480 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 ight-Shift-Overflow".href="index
74a0 2e 78 68 74 6d 6c 23 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f .xhtml#Exact-Right-Shift-Overflo
74c0 77 22 3e 45 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 w">Exact.Right.Shift.Overflow</a
74e0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
7500 63 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e c-Division-by-Zero".href="index.
7520 78 68 74 6d 6c 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e xhtml#Division-by-Zero">Division
7540 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c .by.Zero</a></li>.............<l
7560 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d i><a.id="toc-Remainder-Division-
7580 62 79 2d 5a 65 72 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6d 61 69 by-Zero".href="index.xhtml#Remai
75a0 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 nder-Division-by-Zero">Remainder
75c0 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 .Division.by.Zero</a></li>......
75e0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 44 69 76 69 .......<li><a.id="toc-Exact-Divi
7600 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d sion-Remainder".href="index.xhtm
7620 6c 23 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 45 78 61 63 l#Exact-Division-Remainder">Exac
7640 74 20 44 69 76 69 73 69 6f 6e 20 52 65 6d 61 69 6e 64 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 t.Division.Remainder</a></li>...
7660 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 74 65 6d 70 74 ..........<li><a.id="toc-Attempt
7680 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 -to-Unwrap-Null".href="index.xht
76a0 6d 6c 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e 41 74 74 65 6d ml#Attempt-to-Unwrap-Null">Attem
76c0 70 74 20 74 6f 20 55 6e 77 72 61 70 20 4e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 pt.to.Unwrap.Null</a></li>......
76e0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f .......<li><a.id="toc-Attempt-to
7700 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c -Unwrap-Error".href="index.xhtml
7720 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 41 74 74 65 6d 70 #Attempt-to-Unwrap-Error">Attemp
7740 74 20 74 6f 20 55 6e 77 72 61 70 20 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 t.to.Unwrap.Error</a></li>......
7760 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 .......<li><a.id="toc-Invalid-Er
7780 72 6f 72 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 76 61 ror-Code".href="index.xhtml#Inva
77a0 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 43 6f lid-Error-Code">Invalid.Error.Co
77c0 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 de</a></li>.............<li><a.i
77e0 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 20 68 72 65 66 3d 22 d="toc-Invalid-Enum-Cast".href="
7800 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 index.xhtml#Invalid-Enum-Cast">I
7820 6e 76 61 6c 69 64 20 45 6e 75 6d 20 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 nvalid.Enum.Cast</a></li>.......
7840 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 ......<li><a.id="toc-Invalid-Err
7860 6f 72 2d 53 65 74 2d 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 or-Set-Cast".href="index.xhtml#I
7880 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 nvalid-Error-Set-Cast">Invalid.E
78a0 72 72 6f 72 20 53 65 74 20 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 rror.Set.Cast</a></li>..........
78c0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e ...<li><a.id="toc-Incorrect-Poin
78e0 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c ter-Alignment".href="index.xhtml
7900 23 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 49 6e #Incorrect-Pointer-Alignment">In
7920 63 6f 72 72 65 63 74 20 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c correct.Pointer.Alignment</a></l
7940 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 72 i>.............<li><a.id="toc-Wr
7960 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 20 68 72 65 66 3d 22 69 6e ong-Union-Field-Access".href="in
7980 64 65 78 2e 78 68 74 6d 6c 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 dex.xhtml#Wrong-Union-Field-Acce
79a0 73 73 22 3e 57 72 6f 6e 67 20 55 6e 69 6f 6e 20 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e ss">Wrong.Union.Field.Access</a>
79c0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
79e0 2d 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d -Out-of-Bounds-Float-to-Integer-
7a00 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4f 75 74 2d 6f 66 2d 42 Cast".href="index.xhtml#Out-of-B
7a20 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e 4f 75 74 ounds-Float-to-Integer-Cast">Out
7a40 20 6f 66 20 42 6f 75 6e 64 73 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 65 67 65 72 20 43 61 73 74 .of.Bounds.Float.to.Integer.Cast
7a60 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d </a></li>.............<li><a.id=
7a80 22 74 6f 63 2d 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 20 "toc-Pointer-Cast-Invalid-Null".
7aa0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 href="index.xhtml#Pointer-Cast-I
7ac0 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 nvalid-Null">Pointer.Cast.Invali
7ae0 64 20 4e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c d.Null</a></li>.........</ol></l
7b00 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 65 6d 6f 72 79 i>.........<li><a.id="toc-Memory
7b20 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f ".href="index.xhtml#Memory">Memo
7b40 72 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ry</a>.........<ol>.............
7b60 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 <li><a.id="toc-Choosing-an-Alloc
7b80 61 74 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 68 6f 6f 73 69 6e 67 ator".href="index.xhtml#Choosing
7ba0 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 -an-Allocator">Choosing.an.Alloc
7bc0 61 74 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ator</a></li>.............<li><a
7be0 20 69 64 3d 22 74 6f 63 2d 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 20 68 72 .id="toc-Where-are-the-bytes".hr
7c00 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 ef="index.xhtml#Where-are-the-by
7c20 74 65 73 22 3e 57 68 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c 2f 6c tes">Where.are.the.bytes?</a></l
7c40 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6d i>.............<li><a.id="toc-Im
7c60 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 20 68 72 65 66 3d 22 69 plementing-an-Allocator".href="i
7c80 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 ndex.xhtml#Implementing-an-Alloc
7ca0 61 74 6f 72 22 3e 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c ator">Implementing.an.Allocator<
7cc0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
7ce0 74 6f 63 2d 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 20 68 72 65 toc-Heap-Allocation-Failure".hre
7d00 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 f="index.xhtml#Heap-Allocation-F
7d20 61 69 6c 75 72 65 22 3e 48 65 61 70 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 46 61 69 6c 75 72 65 3c ailure">Heap.Allocation.Failure<
7d40 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
7d60 74 6f 63 2d 52 65 63 75 72 73 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c toc-Recursion".href="index.xhtml
7d80 23 52 65 63 75 72 73 69 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 #Recursion">Recursion</a></li>..
7da0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 69 66 65 74 69 ...........<li><a.id="toc-Lifeti
7dc0 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 me-and-Ownership".href="index.xh
7de0 74 6d 6c 23 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e 4c 69 66 65 tml#Lifetime-and-Ownership">Life
7e00 74 69 6d 65 20 61 6e 64 20 4f 77 6e 65 72 73 68 69 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 time.and.Ownership</a></li>.....
7e20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 ....</ol></li>.........<li><a.id
7e40 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 ="toc-Compile-Variables".href="i
7e60 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f ndex.xhtml#Compile-Variables">Co
7e80 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 mpile.Variables</a></li>........
7ea0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 .<li><a.id="toc-Root-Source-File
7ec0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d ".href="index.xhtml#Root-Source-
7ee0 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a File">Root.Source.File</a></li>.
7f00 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 69 67 2d 42 75 69 6c 64 ........<li><a.id="toc-Zig-Build
7f20 2d 53 79 73 74 65 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 69 67 2d 42 -System".href="index.xhtml#Zig-B
7f40 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 uild-System">Zig.Build.System</a
7f60 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 22 ></li>.........<li><a.id="toc-C"
7f80 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 22 3e 43 3c 2f 61 3e 0a 20 20 20 20 .href="index.xhtml#C">C</a>.....
7fa0 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ....<ol>.............<li><a.id="
7fc0 74 6f 63 2d 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 20 68 72 65 66 3d 22 69 6e 64 toc-C-Type-Primitives".href="ind
7fe0 65 78 2e 78 68 74 6d 6c 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 43 20 54 79 ex.xhtml#C-Type-Primitives">C.Ty
8000 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 pe.Primitives</a></li>..........
8020 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d ...<li><a.id="toc-Import-from-C-
8040 48 65 61 64 65 72 2d 46 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 Header-File".href="index.xhtml#I
8060 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 mport-from-C-Header-File">Import
8080 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 .from.C.Header.File</a></li>....
80a0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 54 72 61 6e 73 6c .........<li><a.id="toc-C-Transl
80c0 61 74 69 6f 6e 2d 43 4c 49 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 54 ation-CLI".href="index.xhtml#C-T
80e0 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c ranslation-CLI">C.Translation.CL
8100 49 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 I</a>.............<ol>..........
8120 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 6d 61 6e 64 2d 6c 69 .......<li><a.id="toc-Command-li
8140 6e 65 2d 66 6c 61 67 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 6d ne-flags".href="index.xhtml#Comm
8160 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 66 6c 61 and-line-flags">Command.line.fla
8180 67 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e gs</a></li>.................<li>
81a0 3c 61 20 69 64 3d 22 74 6f 63 2d 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 <a.id="toc-Using--target-and--cf
81c0 6c 61 67 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 55 73 69 6e 67 2d 2d 74 lags".href="index.xhtml#Using--t
81e0 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 55 73 69 6e 67 20 2d 74 61 72 67 65 74 arget-and--cflags">Using.-target
8200 20 61 6e 64 20 2d 63 66 6c 61 67 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 .and.-cflags</a></li>...........
8220 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 49 6d 70 6f 72 74 2d 76 73 2d ......<li><a.id="toc-cImport-vs-
8240 74 72 61 6e 73 6c 61 74 65 2d 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 translate-c".href="index.xhtml#c
8260 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e 40 63 49 6d 70 6f 72 74 20 Import-vs-translate-c">@cImport.
8280 76 73 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 vs.translate-c</a></li>.........
82a0 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ....</ol></li>.............<li><
82c0 61 20 69 64 3d 22 74 6f 63 2d 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 a.id="toc-C-Translation-Caching"
82e0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e .href="index.xhtml#C-Translation
8300 2d 43 61 63 68 69 6e 67 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 61 63 68 69 6e 67 3c -Caching">C.Translation.Caching<
8320 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 /a></li>.............<li><a.id="
8340 74 6f 63 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 22 20 68 72 65 66 3d 22 toc-Translation-failures".href="
8360 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 index.xhtml#Translation-failures
8380 22 3e 54 72 61 6e 73 6c 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a ">Translation.failures</a></li>.
83a0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 4d 61 63 ............<li><a.id="toc-C-Mac
83c0 72 6f 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 4d 61 63 72 6f 73 22 ros".href="index.xhtml#C-Macros"
83e0 3e 43 20 4d 61 63 72 6f 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c >C.Macros</a></li>.............<
8400 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 li><a.id="toc-C-Pointers".href="
8420 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 index.xhtml#C-Pointers">C.Pointe
8440 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 rs</a></li>.............<li><a.i
8460 64 3d 22 74 6f 63 2d 43 2d 56 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 d="toc-C-Variadic-Functions".hre
8480 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 56 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 f="index.xhtml#C-Variadic-Functi
84a0 6f 6e 73 22 3e 43 20 56 61 72 69 61 64 69 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c ons">C.Variadic.Functions</a></l
84c0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 i>.............<li><a.id="toc-Ex
84e0 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 porting-a-C-Library".href="index
8500 2e 78 68 74 6d 6c 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 .xhtml#Exporting-a-C-Library">Ex
8520 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 porting.a.C.Library</a></li>....
8540 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 69 78 69 6e 67 2d 4f .........<li><a.id="toc-Mixing-O
8560 62 6a 65 63 74 2d 46 69 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4d bject-Files".href="index.xhtml#M
8580 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 4d 69 78 69 6e 67 20 4f 62 6a 65 63 ixing-Object-Files">Mixing.Objec
85a0 74 20 46 69 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f t.Files</a></li>.........</ol></
85c0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 65 62 41 73 li>.........<li><a.id="toc-WebAs
85e0 73 65 6d 62 6c 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 65 62 41 73 73 sembly".href="index.xhtml#WebAss
8600 65 6d 62 6c 79 22 3e 57 65 62 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c embly">WebAssembly</a>.........<
8620 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 ol>.............<li><a.id="toc-F
8640 72 65 65 73 74 61 6e 64 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 reestanding".href="index.xhtml#F
8660 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 46 72 65 65 73 74 61 6e 64 69 6e 67 3c 2f 61 3e 3c 2f 6c reestanding">Freestanding</a></l
8680 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 41 i>.............<li><a.id="toc-WA
86a0 53 49 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 41 53 49 22 3e 57 41 53 49 SI".href="index.xhtml#WASI">WASI
86c0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 </a></li>.........</ol></li>....
86e0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 61 72 67 65 74 73 22 20 68 72 65 .....<li><a.id="toc-Targets".hre
8700 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 61 72 67 65 74 73 22 3e 54 61 72 67 65 74 73 3c f="index.xhtml#Targets">Targets<
8720 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d /a></li>.........<li><a.id="toc-
8740 53 74 79 6c 65 2d 47 75 69 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 Style-Guide".href="index.xhtml#S
8760 74 79 6c 65 2d 47 75 69 64 65 22 3e 53 74 79 6c 65 20 47 75 69 64 65 3c 2f 61 3e 0a 20 20 20 20 tyle-Guide">Style.Guide</a>.....
8780 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 ....<ol>.............<li><a.id="
87a0 74 6f 63 2d 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 63 79 2d 69 6e 2d 4e 61 6d 65 73 22 20 68 toc-Avoid-Redundancy-in-Names".h
87c0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 63 ref="index.xhtml#Avoid-Redundanc
87e0 79 2d 69 6e 2d 4e 61 6d 65 73 22 3e 41 76 6f 69 64 20 52 65 64 75 6e 64 61 6e 63 79 20 69 6e 20 y-in-Names">Avoid.Redundancy.in.
8800 4e 61 6d 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c Names</a></li>.............<li><
8820 61 20 69 64 3d 22 74 6f 63 2d 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 74 2d 4e 61 6d 65 73 2d a.id="toc-Avoid-Redundant-Names-
8840 69 6e 2d 46 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 2d 4e 61 6d 65 73 70 61 63 65 73 22 20 68 in-Fully-Qualified-Namespaces".h
8860 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 74 ref="index.xhtml#Avoid-Redundant
8880 2d 4e 61 6d 65 73 2d 69 6e 2d 46 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 2d 4e 61 6d 65 73 70 -Names-in-Fully-Qualified-Namesp
88a0 61 63 65 73 22 3e 41 76 6f 69 64 20 52 65 64 75 6e 64 61 6e 74 20 4e 61 6d 65 73 20 69 6e 20 46 aces">Avoid.Redundant.Names.in.F
88c0 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 20 4e 61 6d 65 73 70 61 63 65 73 3c 2f 61 3e 3c 2f 6c ully-Qualified.Namespaces</a></l
88e0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 68 i>.............<li><a.id="toc-Wh
8900 69 74 65 73 70 61 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 68 69 74 itespace".href="index.xhtml#Whit
8920 65 73 70 61 63 65 22 3e 57 68 69 74 65 73 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 espace">Whitespace</a></li>.....
8940 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4e 61 6d 65 73 22 20 68 72 ........<li><a.id="toc-Names".hr
8960 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4e 61 6d 65 73 22 3e 4e 61 6d 65 73 3c 2f 61 3e ef="index.xhtml#Names">Names</a>
8980 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
89a0 2d 45 78 61 6d 70 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 61 -Examples".href="index.xhtml#Exa
89c0 6d 70 6c 65 73 22 3e 45 78 61 6d 70 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 mples">Examples</a></li>........
89e0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d .....<li><a.id="toc-Doc-Comment-
8a00 47 75 69 64 61 6e 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 6f 63 2d Guidance".href="index.xhtml#Doc-
8a20 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 20 47 75 Comment-Guidance">Doc.Comment.Gu
8a40 69 64 61 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c idance</a></li>.........</ol></l
8a60 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6f 75 72 63 65 i>.........<li><a.id="toc-Source
8a80 2d 45 6e 63 6f 64 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 6f 75 -Encoding".href="index.xhtml#Sou
8aa0 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 rce-Encoding">Source.Encoding</a
8ac0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4b 65 ></li>.........<li><a.id="toc-Ke
8ae0 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 yword-Reference".href="index.xht
8b00 6d 6c 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 ml#Keyword-Reference">Keyword.Re
8b20 66 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ference</a></li>.........<li><a.
8b40 69 64 3d 22 74 6f 63 2d 41 70 70 65 6e 64 69 78 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 id="toc-Appendix".href="index.xh
8b60 74 6d 6c 23 41 70 70 65 6e 64 69 78 22 3e 41 70 70 65 6e 64 69 78 3c 2f 61 3e 0a 20 20 20 20 20 tml#Appendix">Appendix</a>......
8b80 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 ...<ol>.............<li><a.id="t
8ba0 6f 63 2d 43 6f 6e 74 61 69 6e 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c oc-Containers".href="index.xhtml
8bc0 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e 43 6f 6e 74 61 69 6e 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e #Containers">Containers</a></li>
8be0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 72 61 6d .............<li><a.id="toc-Gram
8c00 6d 61 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 47 72 61 6d 6d 61 72 22 3e mar".href="index.xhtml#Grammar">
8c20 47 72 61 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 Grammar</a></li>.............<li
8c40 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 65 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 ><a.id="toc-Zen".href="index.xht
8c60 6d 6c 23 5a 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f ml#Zen">Zen</a></li>.........</o
8c80 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 6f 6c 3e 0a 20 20 20 20 3c 2f 6e 61 76 3e 0a 20 20 3c l></li>.....</ol>.....</nav>...<
8ca0 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b 03 04 14 00 00 00 00 00 00 00 21 52 99 0a 47 /body>.</html>.PK..........!R..G
8cc0 eb 36 8f 0d 00 36 8f 0d 00 11 00 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 6d 6c 3c 3f .6...6.......OEBPS/index.xhtml<?
8ce0 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 75 74 66 2d xml.version="1.0".encoding="utf-
8d00 38 22 3f 3e 0a 0a 3c 68 74 6d 6c 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33 8"?>..<html.xmlns="http://www.w3
8d20 2e 6f 72 67 2f 31 39 39 39 2f 78 68 74 6d 6c 22 20 6c 61 6e 67 3d 22 65 6e 22 3e 0a 20 20 3c 68 .org/1999/xhtml".lang="en">...<h
8d40 65 61 64 3e 0a 20 20 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 75 74 66 2d 38 22 2f 3e ead>.....<meta.charset="utf-8"/>
8d60 0a 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 76 69 65 77 70 6f 72 74 22 20 63 6f 6e 74 65 .....<meta.name="viewport".conte
8d80 6e 74 3d 22 77 69 64 74 68 3d 64 65 76 69 63 65 2d 77 69 64 74 68 2c 20 69 6e 69 74 69 61 6c 2d nt="width=device-width,.initial-
8da0 73 63 61 6c 65 3d 31 2e 30 22 2f 3e 0a 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 63 6f 6c scale=1.0"/>.....<meta.name="col
8dc0 6f 72 2d 73 63 68 65 6d 65 22 20 63 6f 6e 74 65 6e 74 3d 22 6c 69 67 68 74 20 64 61 72 6b 22 2f or-scheme".content="light.dark"/
8de0 3e 0a 20 20 20 20 3c 74 69 74 6c 65 3e 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 2d 20 54 68 65 >.....<title>Documentation.-.The
8e00 20 5a 69 67 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 4c 61 6e 67 75 61 67 65 3c 2f 74 69 74 6c 65 .Zig.Programming.Language</title
8e20 3e 0a 20 20 20 20 3c 6c 69 6e 6b 20 72 65 6c 3d 22 69 63 6f 6e 22 20 68 72 65 66 3d 22 64 61 74 >.....<link.rel="icon".href="dat
8e40 61 3a 69 6d 61 67 65 2f 70 6e 67 3b 62 61 73 65 36 34 2c 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 a:image/png;base64,iVBORw0KGgoAA
8e60 41 41 4e 53 55 68 45 55 67 41 41 41 42 41 41 41 41 41 51 43 41 59 41 41 41 41 66 38 2f 39 68 41 AANSUhEUgAAABAAAAAQCAYAAAAf8/9hA
8e80 41 41 41 67 6b 6c 45 51 56 52 34 41 57 4d 59 57 75 44 37 45 6c 6c 4a 49 4d 34 47 34 67 34 67 35 AAAgklEQVR4AWMYWuD7EllJIM4G4g4g5
8ea0 6f 49 4a 2f 6f 64 68 4f 4a 38 77 54 6f 4f 78 53 54 58 67 4e 78 44 48 6f 65 69 42 4d 66 41 34 2b oIJ/odhOJ8wToOxSTXgNxDHoeiBMfA4+
8ec0 77 47 53 68 6a 79 59 4f 43 6b 47 2f 49 47 71 57 51 7a 69 45 7a 59 41 6f 55 41 65 69 46 39 44 35 wGShjyYOCkG/IGqWQziEzYAoUAeiF9D5
8ee0 55 2b 44 78 45 67 31 34 44 52 55 37 6a 57 49 54 35 49 42 49 4f 64 43 78 66 2b 41 2b 43 51 5a 41 U+DxEg14DRU7jWIT5IBIOdCxf+A+CQZA
8f00 41 6f 6f 70 45 42 37 51 4a 77 42 43 42 77 48 69 69 70 38 55 59 6d 52 64 72 41 6c 44 70 49 4d 67 AoopEB7QJwBCBwHiip8UYmRdrAlDpIMg
8f20 41 70 77 51 5a 4e 6e 4e 69 69 35 44 71 30 4d 42 67 43 78 78 79 63 42 6e 77 45 64 2b 77 41 41 41 ApwQZNnNii5Dq0MBgCxxycBnwEd+wAAA
8f40 41 42 4a 52 55 35 45 72 6b 4a 67 67 67 3d 3d 22 2f 3e 0a 20 20 20 20 3c 6c 69 6e 6b 20 72 65 6c ABJRU5ErkJggg=="/>.....<link.rel
8f60 3d 22 69 63 6f 6e 22 20 68 72 65 66 3d 22 64 61 74 61 3a 69 6d 61 67 65 2f 73 76 67 2b 78 6d 6c ="icon".href="data:image/svg+xml
8f80 3b 62 61 73 65 36 34 2c 50 48 4e 32 5a 79 42 34 62 57 78 75 63 7a 30 69 61 48 52 30 63 44 6f 76 ;base64,PHN2ZyB4bWxucz0iaHR0cDov
8fa0 4c 33 64 33 64 79 35 33 4d 79 35 76 63 6d 63 76 4d 6a 41 77 4d 43 39 7a 64 6d 63 69 49 48 5a 70 L3d3dy53My5vcmcvMjAwMC9zdmciIHZp
8fc0 5a 58 64 43 62 33 67 39 49 6a 41 67 4d 43 41 78 4e 54 4d 67 4d 54 51 77 49 6a 34 38 5a 79 42 6d ZXdCb3g9IjAgMCAxNTMgMTQwIj48ZyBm
8fe0 61 57 78 73 50 53 49 6a 52 6a 64 42 4e 44 46 45 49 6a 34 38 5a 7a 34 38 63 47 39 73 65 57 64 76 aWxsPSIjRjdBNDFEIj48Zz48cG9seWdv
9000 62 69 42 77 62 32 6c 75 64 48 4d 39 49 6a 51 32 4c 44 49 79 49 44 49 34 4c 44 51 30 49 44 45 35 biBwb2ludHM9IjQ2LDIyIDI4LDQ0IDE5
9020 4c 44 4d 77 49 69 38 2b 50 48 42 76 62 48 6c 6e 62 32 34 67 63 47 39 70 62 6e 52 7a 50 53 49 30 LDMwIi8+PHBvbHlnb24gcG9pbnRzPSI0
9040 4e 69 77 79 4d 69 41 7a 4d 79 77 7a 4d 79 41 79 4f 43 77 30 4e 43 41 79 4d 69 77 30 4e 43 41 79 NiwyMiAzMywzMyAyOCw0NCAyMiw0NCAy
9060 4d 69 77 35 4e 53 41 7a 4d 53 77 35 4e 53 41 79 4d 43 77 78 4d 44 41 67 4d 54 49 73 4d 54 45 33 Miw5NSAzMSw5NSAyMCwxMDAgMTIsMTE3
9080 49 44 41 73 4d 54 45 33 49 44 41 73 4d 6a 49 69 49 48 4e 6f 59 58 42 6c 4c 58 4a 6c 62 6d 52 6c IDAsMTE3IDAsMjIiIHNoYXBlLXJlbmRl
90a0 63 6d 6c 75 5a 7a 30 69 59 33 4a 70 63 33 42 46 5a 47 64 6c 63 79 49 76 50 6a 78 77 62 32 78 35 cmluZz0iY3Jpc3BFZGdlcyIvPjxwb2x5
90c0 5a 32 39 75 49 48 42 76 61 57 35 30 63 7a 30 69 4d 7a 45 73 4f 54 55 67 4d 54 49 73 4d 54 45 33 Z29uIHBvaW50cz0iMzEsOTUgMTIsMTE3
90e0 49 44 51 73 4d 54 41 32 49 69 38 2b 50 43 39 6e 50 6a 78 6e 50 6a 78 77 62 32 78 35 5a 32 39 75 IDQsMTA2Ii8+PC9nPjxnPjxwb2x5Z29u
9100 49 48 42 76 61 57 35 30 63 7a 30 69 4e 54 59 73 4d 6a 49 67 4e 6a 49 73 4d 7a 59 67 4d 7a 63 73 IHBvaW50cz0iNTYsMjIgNjIsMzYgMzcs
9120 4e 44 51 69 4c 7a 34 38 63 47 39 73 65 57 64 76 62 69 42 77 62 32 6c 75 64 48 4d 39 49 6a 55 32 NDQiLz48cG9seWdvbiBwb2ludHM9IjU2
9140 4c 44 49 79 49 44 45 78 4d 53 77 79 4d 69 41 78 4d 54 45 73 4e 44 51 67 4d 7a 63 73 4e 44 51 67 LDIyIDExMSwyMiAxMTEsNDQgMzcsNDQg
9160 4e 54 59 73 4d 7a 49 69 49 48 4e 6f 59 58 42 6c 4c 58 4a 6c 62 6d 52 6c 63 6d 6c 75 5a 7a 30 69 NTYsMzIiIHNoYXBlLXJlbmRlcmluZz0i
9180 59 33 4a 70 63 33 42 46 5a 47 64 6c 63 79 49 76 50 6a 78 77 62 32 78 35 5a 32 39 75 49 48 42 76 Y3Jpc3BFZGdlcyIvPjxwb2x5Z29uIHBv
91a0 61 57 35 30 63 7a 30 69 4d 54 45 32 4c 44 6b 31 49 44 6b 33 4c 44 45 78 4e 79 41 35 4d 43 77 78 aW50cz0iMTE2LDk1IDk3LDExNyA5MCwx
91c0 4d 44 51 69 4c 7a 34 38 63 47 39 73 65 57 64 76 62 69 42 77 62 32 6c 75 64 48 4d 39 49 6a 45 78 MDQiLz48cG9seWdvbiBwb2ludHM9IjEx
91e0 4e 69 77 35 4e 53 41 78 4d 44 41 73 4d 54 41 30 49 44 6b 33 4c 44 45 78 4e 79 41 30 4d 69 77 78 Niw5NSAxMDAsMTA0IDk3LDExNyA0Miwx
9200 4d 54 63 67 4e 44 49 73 4f 54 55 69 49 48 4e 6f 59 58 42 6c 4c 58 4a 6c 62 6d 52 6c 63 6d 6c 75 MTcgNDIsOTUiIHNoYXBlLXJlbmRlcmlu
9220 5a 7a 30 69 59 33 4a 70 63 33 42 46 5a 47 64 6c 63 79 49 76 50 6a 78 77 62 32 78 35 5a 32 39 75 Zz0iY3Jpc3BFZGdlcyIvPjxwb2x5Z29u
9240 49 48 42 76 61 57 35 30 63 7a 30 69 4d 54 55 77 4c 44 41 67 4e 54 49 73 4d 54 45 33 49 44 4d 73 IHBvaW50cz0iMTUwLDAgNTIsMTE3IDMs
9260 4d 54 51 77 49 44 45 77 4d 53 77 79 4d 69 49 76 50 6a 77 76 5a 7a 34 38 5a 7a 34 38 63 47 39 73 MTQwIDEwMSwyMiIvPjwvZz48Zz48cG9s
9280 65 57 64 76 62 69 42 77 62 32 6c 75 64 48 4d 39 49 6a 45 30 4d 53 77 79 4d 69 41 78 4e 44 41 73 eWdvbiBwb2ludHM9IjE0MSwyMiAxNDAs
92a0 4e 44 41 67 4d 54 49 79 4c 44 51 31 49 69 38 2b 50 48 42 76 62 48 6c 6e 62 32 34 67 63 47 39 70 NDAgMTIyLDQ1Ii8+PHBvbHlnb24gcG9p
92c0 62 6e 52 7a 50 53 49 78 4e 54 4d 73 4d 6a 49 67 4d 54 55 7a 4c 44 45 78 4e 79 41 78 4d 44 59 73 bnRzPSIxNTMsMjIgMTUzLDExNyAxMDYs
92e0 4d 54 45 33 49 44 45 79 4d 43 77 78 4d 44 55 67 4d 54 49 31 4c 44 6b 31 49 44 45 7a 4d 53 77 35 MTE3IDEyMCwxMDUgMTI1LDk1IDEzMSw5
9300 4e 53 41 78 4d 7a 45 73 4e 44 55 67 4d 54 49 79 4c 44 51 31 49 44 45 7a 4d 69 77 7a 4e 69 41 78 NSAxMzEsNDUgMTIyLDQ1IDEzMiwzNiAx
9320 4e 44 45 73 4d 6a 49 69 49 48 4e 6f 59 58 42 6c 4c 58 4a 6c 62 6d 52 6c 63 6d 6c 75 5a 7a 30 69 NDEsMjIiIHNoYXBlLXJlbmRlcmluZz0i
9340 59 33 4a 70 63 33 42 46 5a 47 64 6c 63 79 49 76 50 6a 78 77 62 32 78 35 5a 32 39 75 49 48 42 76 Y3Jpc3BFZGdlcyIvPjxwb2x5Z29uIHBv
9360 61 57 35 30 63 7a 30 69 4d 54 49 31 4c 44 6b 31 49 44 45 7a 4d 43 77 78 4d 54 41 67 4d 54 41 32 aW50cz0iMTI1LDk1IDEzMCwxMTAgMTA2
9380 4c 44 45 78 4e 79 49 76 50 6a 77 76 5a 7a 34 38 4c 32 63 2b 50 43 39 7a 64 6d 63 2b 22 2f 3e 0a LDExNyIvPjwvZz48L2c+PC9zdmc+"/>.
93a0 20 20 20 20 3c 73 74 79 6c 65 3e 0a 20 20 20 20 20 20 3a 72 6f 6f 74 7b 0a 20 20 20 20 20 20 20 ....<style>.......:root{........
93c0 20 20 2d 2d 6e 61 76 2d 77 69 64 74 68 3a 20 32 36 65 6d 3b 0a 20 20 20 20 20 20 20 20 20 2d 2d ..--nav-width:.26em;..........--
93e0 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 nav-margin-l:.1em;.......}......
9400 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69 6c 79 3a 20 73 79 73 74 .body{.........font-family:.syst
9420 65 6d 2d 75 69 2c 20 2d 61 70 70 6c 65 2d 73 79 73 74 65 6d 2c 20 52 6f 62 6f 74 6f 2c 20 22 53 em-ui,.-apple-system,.Roboto,."S
9440 65 67 6f 65 20 55 49 22 2c 20 73 61 6e 73 2d 73 65 72 69 66 3b 0a 20 20 20 20 20 20 20 20 6d 61 egoe.UI",.sans-serif;.........ma
9460 72 67 69 6e 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 20 31 2e rgin:.0;.........line-height:.1.
9480 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 65 61 64 65 72 20 7b 0a 20 20 20 20 20 20 5;.......}.......header.{.......
94a0 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..padding:.0.1em;.......}.......
94c0 23 63 6f 6e 74 65 6e 74 73 20 7b 0a 20 20 20 20 20 20 20 20 6d 61 78 2d 77 69 64 74 68 3a 20 36 #contents.{.........max-width:.6
94e0 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 0em;.........margin:.auto;......
9500 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ...padding:.0.1em;.......}......
9520 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 .#navigation.{.........padding:.
9540 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 61 62 6c 65 20 75 6c 20 7b 0a 0.1em;.......}.......table.ul.{.
9560 20 20 20 20 20 20 20 20 6c 69 73 74 2d 73 74 79 6c 65 2d 74 79 70 65 3a 20 6e 6f 6e 65 3b 0a 20 ........list-style-type:.none;..
9580 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 .......padding:.0em;.......}....
95a0 20 20 20 74 61 62 6c 65 20 6c 69 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 62 6f ...table.li.{.........padding-bo
95c0 74 74 6f 6d 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 31 ttom:.1em;.........line-height:1
95e0 2e 32 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 61 62 6c 65 2c 20 74 68 2c 20 74 .2em;.......}.......table,.th,.t
9600 64 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6c 61 70 73 65 3a 20 63 6f 6c d.{.........border-collapse:.col
9620 6c 61 70 73 65 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 lapse;.........border:.1px.solid
9640 20 67 72 65 79 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 68 2c 20 74 64 20 7b 0a 20 20 .grey;.......}.......th,.td.{...
9660 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 ......padding:.0.5em;.......}...
9680 20 20 20 20 74 68 5b 73 63 6f 70 65 3d 72 6f 77 5d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 74 65 ....th[scope=row].{...........te
96a0 78 74 2d 61 6c 69 67 6e 3a 20 6c 65 66 74 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 xt-align:.left;...........font-w
96c0 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 40 6d eight:.normal;.......}........@m
96e0 65 64 69 61 20 73 63 72 65 65 6e 20 61 6e 64 20 28 6d 69 6e 2d 77 69 64 74 68 3a 20 31 30 32 35 edia.screen.and.(min-width:.1025
9700 70 78 29 20 7b 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 px).{.........header.{..........
9720 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 63 61 6c 63 28 76 61 72 28 2d 2d 6e 61 76 2d 77 69 64 .margin-left:.calc(var(--nav-wid
9740 74 68 29 20 2b 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 29 3b 0a 20 20 20 20 th).+.var(--nav-margin-l));.....
9760 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 20 68 31 20 7b 0a 20 20 20 20 20 20 ....}.........header.h1.{.......
9780 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 78 2d ....margin:.auto;...........max-
97a0 77 69 64 74 68 3a 20 33 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 width:.30em;.........}.........#
97c0 6e 61 76 69 67 61 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a navigation.{...........overflow:
97e0 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 3a 20 76 61 72 28 2d 2d 6e 61 .auto;...........width:.var(--na
9800 76 2d 77 69 64 74 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 68 65 69 67 68 74 3a 20 31 30 30 76 v-width);...........height:.100v
9820 68 3b 0a 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 3a 20 66 69 78 65 64 3b 0a 20 20 h;...........position:.fixed;...
9840 20 20 20 20 20 20 20 20 74 6f 70 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 6c 65 66 74 3a 30 3b ........top:0;...........left:0;
9860 0a 20 20 20 20 20 20 20 20 20 20 62 6f 74 74 6f 6d 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 70 ...........bottom:0;...........p
9880 61 64 64 69 6e 67 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 2d adding:.unset;...........margin-
98a0 6c 65 66 74 3a 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 3b 0a 20 20 20 20 20 left:.var(--nav-margin-l);......
98c0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 6e 61 76 20 75 6c 20 ...}.........#navigation.nav.ul.
98e0 7b 0a 20 20 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 31 65 6d 3b 0a 20 {...........padding-left:.1em;..
9900 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 .......}.........#contents-wrapp
9920 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 63 61 6c 63 er.{...........margin-left:.calc
9940 28 76 61 72 28 2d 2d 6e 61 76 2d 77 69 64 74 68 29 20 2b 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 (var(--nav-width).+.var(--nav-ma
9960 72 67 69 6e 2d 6c 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 rgin-l));.........}.......}.....
9980 20 20 20 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 ...a:hover,a:focus.{.........bac
99a0 6b 67 72 6f 75 6e 64 3a 20 23 66 66 66 32 61 38 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 kground:.#fff2a8;.......}.......
99c0 64 74 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a dt.{.........font-weight:.bold;.
99e0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 73 67 72 2d 31 6d 20 7b 0a 20 20 20 20 20 20 20 20 ......}........sgr-1m.{.........
9a00 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 font-weight:.bold;.......}......
9a20 20 2e 73 67 72 2d 32 6d 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 35 37 35 37 35 ..sgr-2m.{.........color:.#57575
9a40 37 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 73 67 72 2d 33 31 5f 31 6d 20 7b 0a 20 20 7;.......}........sgr-31_1m.{...
9a60 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 62 34 30 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 ......color:.#b40000;.......}...
9a80 20 20 20 20 2e 73 67 72 2d 33 32 5f 31 6d 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 .....sgr-32_1m.{.........color:.
9aa0 67 72 65 65 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 73 67 72 2d 33 36 5f 31 6d 20 green;.......}........sgr-36_1m.
9ac0 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 37 41 3b 0a 20 20 20 20 20 20 {.........color:.#005C7A;.......
9ae0 7d 0a 20 20 20 20 20 20 2e 66 69 6c 65 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 }........file.{.........font-wei
9b00 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 ght:.bold;.........border:.unset
9b20 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 62 ;.......}.......code.{.........b
9b40 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 38 66 38 66 38 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 ackground:.#f8f8f8;.........bord
9b60 65 72 3a 20 31 70 78 20 64 6f 74 74 65 64 20 73 69 6c 76 65 72 3b 0a 20 20 20 20 20 20 20 20 70 er:.1px.dotted.silver;.........p
9b80 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 30 2e 33 65 6d 3b 0a 20 20 20 20 20 20 20 20 70 61 64 64 adding-left:.0.3em;.........padd
9ba0 69 6e 67 2d 72 69 67 68 74 3a 20 30 2e 33 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ing-right:.0.3em;.......}.......
9bc0 70 72 65 20 3e 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 62 6c pre.>.code.{.........display:.bl
9be0 6f 63 6b 3b 0a 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f 3b 0a 20 20 20 ock;.........overflow:.auto;....
9c00 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 .....padding:.0.5em;.........bor
9c20 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 65 65 65 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e der:.1px.solid.#eee;.........lin
9c40 65 2d 68 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 e-height:.normal;.......}.......
9c60 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 61 66 61 samp.{.........background:.#fafa
9c80 66 61 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 7b 0a 20 fa;.......}.......pre.>.samp.{..
9ca0 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 20 20 6f .......display:.block;.........o
9cc0 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 verflow:.auto;.........padding:.
9ce0 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 0.5em;.........border:.1px.solid
9d00 20 23 65 65 65 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 20 6e 6f 72 6d .#eee;.........line-height:.norm
9d20 61 6c 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 6b 62 64 20 7b 0a 20 20 20 20 20 20 20 20 al;.......}.......kbd.{.........
9d40 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 font-weight:.normal;.......}....
9d60 20 20 20 2e 74 61 62 6c 65 2d 77 72 61 70 70 65 72 20 7b 0a 20 20 20 20 20 20 20 20 77 69 64 74 ....table-wrapper.{.........widt
9d80 68 3a 20 31 30 30 25 3b 0a 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 2d 78 3a 20 61 75 74 h:.100%;.........overflow-x:.aut
9da0 6f 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 20 20 o;.......}.........tok-kw.{.....
9dc0 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e ......color:.#333;...........fon
9de0 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 t-weight:.bold;.......}........t
9e00 6f 6b 2d 73 74 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 64 31 34 3b 0a ok-str.{...........color:.#d14;.
9e20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 62 75 69 6c 74 69 6e 20 7b 0a 20 20 20 ......}........tok-builtin.{....
9e40 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 37 41 3b 0a 20 20 20 20 20 20 7d 0a 20 .......color:.#005C7A;.......}..
9e60 20 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f ......tok-comment.{...........co
9e80 6c 6f 72 3a 20 23 35 34 35 34 35 34 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 74 79 lor:.#545454;...........font-sty
9ea0 6c 65 3a 20 69 74 61 6c 69 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 66 le:.italic;.......}........tok-f
9ec0 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 30 30 3b 0a 20 20 20 20 20 n.{...........color:.#900;......
9ee0 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a .....font-weight:.bold;.......}.
9f00 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f .......tok-null.{...........colo
9f20 72 3a 20 23 30 30 35 43 35 43 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6e r:.#005C5C;.......}........tok-n
9f40 75 6d 62 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 35 43 umber.{...........color:.#005C5C
9f60 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 74 79 70 65 20 7b 0a 20 20 20 20 ;.......}........tok-type.{.....
9f80 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 34 35 38 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e ......color:.#458;...........fon
9fa0 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 66 t-weight:.bold;.......}........f
9fc0 69 67 75 72 65 20 7b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 20 30 3b 0a igure.{.........margin:.auto.0;.
9fe0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 75 72 65 20 70 72 65 20 7b 0a 20 20 20 20 20 ......}.......figure.pre.{......
a000 20 20 20 6d 61 72 67 69 6e 2d 74 6f 70 3a 20 30 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ...margin-top:.0;.......}.......
a020 20 66 69 67 63 61 70 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 .figcaption.{.........padding-le
a040 66 74 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 73 6d ft:.0.5em;.........font-size:.sm
a060 61 6c 6c 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d 6c 65 66 74 2d 72 61 64 all;.........border-top-left-rad
a080 69 75 73 3a 20 35 70 78 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d 72 69 67 ius:.5px;.........border-top-rig
a0a0 68 74 2d 72 61 64 69 75 73 3a 20 35 70 78 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 ht-radius:.5px;.......}.......fi
a0c0 67 63 61 70 74 69 6f 6e 2e 7a 69 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 gcaption.zig-cap.{.........backg
a0e0 72 6f 75 6e 64 3a 20 23 66 63 64 62 61 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 round:.#fcdba5;.......}.......fi
a100 67 63 61 70 74 69 6f 6e 2e 63 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f gcaption.c-cap.{.........backgro
a120 75 6e 64 3a 20 23 61 38 62 39 63 63 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 und:.#a8b9cc;.........color:.#00
a140 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 70 65 67 2d 0;.......}.......figcaption.peg-
a160 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 63 64 62 61 cap.{.........background:.#fcdba
a180 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 6a 61 76 61 5;.......}.......figcaption.java
a1a0 73 63 72 69 70 74 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a script-cap.{.........background:
a1c0 20 23 33 36 35 64 39 35 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 0a 20 .#365d95;.........color:.#fff;..
a1e0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 73 68 65 6c 6c 2d 63 61 .....}.......figcaption.shell-ca
a200 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 63 63 63 3b 0a 20 20 p.{.........background:.#ccc;...
a220 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 ......color:.#000;.......}......
a240 20 20 61 73 69 64 65 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a 20 30 ..aside.{.........border-left:.0
a260 2e 32 35 65 6d 20 73 6f 6c 69 64 20 23 66 37 61 34 31 64 3b 0a 20 20 20 20 20 20 20 20 70 61 64 .25em.solid.#f7a41d;.........pad
a280 64 69 6e 67 3a 20 30 20 31 65 6d 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 ding:.0.1em.0.1em;.......}......
a2a0 20 20 68 31 20 61 2c 20 68 32 20 61 2c 20 68 33 20 61 2c 20 68 34 20 61 2c 20 68 35 20 61 20 7b ..h1.a,.h2.a,.h3.a,.h4.a,.h5.a.{
a2c0 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 6e 6f 6e 65 3b 0a .........text-decoration:.none;.
a2e0 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 ........color:.#333;.......}....
a300 20 20 20 20 61 2e 68 64 72 20 7b 0a 20 20 20 20 20 20 20 20 76 69 73 69 62 69 6c 69 74 79 3a 20 ....a.hdr.{.........visibility:.
a320 68 69 64 64 65 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 31 3a 68 6f 76 65 72 20 3e hidden;.......}.......h1:hover.>
a340 20 61 2e 68 64 72 2c 20 68 32 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 33 3a 68 6f 76 .a.hdr,.h2:hover.>.a.hdr,.h3:hov
a360 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 34 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 35 er.>.a.hdr,.h4:hover.>.a.hdr,.h5
a380 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 20 7b 0a 20 20 20 20 20 20 20 20 76 69 73 69 62 69 6c :hover.>.a.hdr.{.........visibil
a3a0 69 74 79 3a 20 76 69 73 69 62 6c 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 74 68 20 ity:.visible;.......}........th.
a3c0 70 72 65 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a pre.code.{...........background:
a3e0 20 6e 6f 6e 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 40 6d 65 64 69 61 20 28 70 72 .none;.......}........@media.(pr
a400 65 66 65 72 73 2d 63 6f 6c 6f 72 2d 73 63 68 65 6d 65 3a 20 64 61 72 6b 29 20 7b 0a 20 20 20 20 efers-color-scheme:.dark).{.....
a420 20 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 ....body{.............background
a440 3a 23 31 32 31 32 31 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 :#121212;.............color:.#cc
a460 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 61 20 7b 0a 20 20 20 20 20 20 20 c;.........}.........a.{........
a480 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 38 38 66 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .....color:.#88f;.........}.....
a4a0 20 20 20 20 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ....a:hover,a:focus.{...........
a4c0 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ..color:.#000;.........}........
a4e0 20 74 61 62 6c 65 2c 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 .table,.th,.td.{.............bor
a500 64 65 72 2d 63 6f 6c 6f 72 3a 20 67 72 65 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 der-color:.grey;.........}......
a520 20 20 20 2e 73 67 72 2d 32 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 ....sgr-2m.{.............color:.
a540 67 72 65 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 73 67 72 2d 33 31 5f grey;.........}..........sgr-31_
a560 31 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 72 65 64 3b 0a 20 20 20 1m.{.............color:.red;....
a580 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 73 67 72 2d 33 32 5f 31 6d 20 7b 0a 20 20 20 20 .....}..........sgr-32_1m.{.....
a5a0 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 42 38 30 30 3b 0a 20 20 20 20 20 20 20 20 ........color:.#00B800;.........
a5c0 7d 0a 20 20 20 20 20 20 20 20 2e 73 67 72 2d 33 36 5f 31 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 }..........sgr-36_1m.{..........
a5e0 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 38 36 62 33 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ...color:.#0086b3;.........}....
a600 20 20 20 20 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 .....code.{...........background
a620 3a 20 23 32 32 32 3b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6f 72 3a 20 :.#222;...........border-color:.
a640 23 34 34 34 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 70 72 65 20 3e 20 63 6f #444;.........}.........pre.>.co
a660 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 de.{.............color:.#ccc;...
a680 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 32 32 3b 0a 20 20 20 20 ..........background:.#222;.....
a6a0 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 20 20 7d ........border:.unset;.........}
a6c0 0a 20 20 20 20 20 20 20 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 .........samp.{...........backgr
a6e0 6f 75 6e 64 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 ound:.#000;...........color:.#cc
a700 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 c;.........}.........pre.>.samp.
a720 7b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 {...........border:.unset;......
a740 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 20 20 20 20 20 20 20 ...}..........tok-kw.{..........
a760 20 20 20 63 6f 6c 6f 72 3a 20 23 65 65 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ...color:.#eee;.........}.......
a780 20 20 2e 74 6f 6b 2d 73 74 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 ...tok-str.{.............color:.
a7a0 23 32 65 35 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 62 75 69 #2e5;.........}..........tok-bui
a7c0 6c 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 38 39 34 ltin.{.............color:.#ff894
a7e0 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e c;.........}..........tok-commen
a800 74 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 61 61 37 3b 0a 20 20 20 t.{.............color:.#aa7;....
a820 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a 20 20 20 20 20 20 20 .....}..........tok-fn.{........
a840 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 42 31 41 30 46 38 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 .....color:.#B1A0F8;.........}..
a860 20 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 ........tok-null.{.............c
a880 6f 6c 6f 72 3a 20 23 66 66 38 30 38 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 olor:.#ff8080;.........}........
a8a0 20 2e 74 6f 6b 2d 6e 75 6d 62 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 ..tok-number.{.............color
a8c0 3a 20 23 66 66 38 30 38 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f :.#ff8080;.........}..........to
a8e0 6b 2d 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 36 38 66 k-type.{.............color:.#68f
a900 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 68 31 20 61 2c 20 68 32 20 61 2c 20 ;.........}.........h1.a,.h2.a,.
a920 68 33 20 61 2c 20 68 34 20 61 2c 20 68 35 20 61 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 h3.a,.h4.a,.h5.a.{.............c
a940 6f 6c 6f 72 3a 20 23 61 61 61 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 69 olor:.#aaa;.........}.........fi
a960 67 63 61 70 74 69 6f 6e 2e 7a 69 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 gcaption.zig-cap.{.............b
a980 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 62 32 37 33 30 36 3b 0a 20 20 20 20 20 20 ackground-color:.#b27306;.......
a9a0 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ......color:.#000;.........}....
a9c0 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 70 65 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 .....figcaption.peg-cap.{.......
a9e0 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 62 32 37 33 30 36 3b ......background-color:.#b27306;
aa00 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 .............color:.#000;.......
aa20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 73 68 65 6c 6c 2d 63 61 70 ..}.........figcaption.shell-cap
aa40 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 61 32 61 32 61 .{...........background:.#2a2a2a
aa60 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 0a 20 20 20 20 20 20 20 ;...........color:.#fff;........
aa80 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 3c 2f 73 74 79 6c 65 3e 0a 3c 2f 68 65 61 64 3e 0a .}.......}.....</style>.</head>.
aaa0 3c 62 6f 64 79 3e 0a 20 20 3c 68 65 61 64 65 72 3e 3c 68 31 3e 5a 69 67 20 4c 61 6e 67 75 61 67 <body>...<header><h1>Zig.Languag
aac0 65 20 52 65 66 65 72 65 6e 63 65 3c 2f 68 31 3e 3c 2f 68 65 61 64 65 72 3e 0a 20 20 3c 64 69 76 e.Reference</h1></header>...<div
aae0 20 69 64 3d 22 6d 61 69 6e 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 .id="main-wrapper">.............
ab00 20 3c 64 69 76 20 69 64 3d 22 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 72 22 3e 3c 6d 61 69 .<div.id="contents-wrapper"><mai
ab20 6e 20 69 64 3d 22 63 6f 6e 74 65 6e 74 73 22 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 n.id="contents">.......<h2.id="I
ab40 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 72 6f ntroduction"><a.href="#toc-Intro
ab60 64 75 63 74 69 6f 6e 22 3e 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 duction">Introduction</a>.<a.cla
ab80 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e c2 a7 ss="hdr".href="#Introduction">..
aba0 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 </a></h2>........<p>.......<a.hr
abc0 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 22 3e 5a 69 67 3c 2f 61 3e ef="https://ziglang.org">Zig</a>
abe0 20 69 73 20 61 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 70 72 6f 67 72 61 6d 6d 69 6e .is.a.general-purpose.programmin
ac00 67 20 6c 61 6e 67 75 61 67 65 20 61 6e 64 20 74 6f 6f 6c 63 68 61 69 6e 20 66 6f 72 20 6d 61 69 g.language.and.toolchain.for.mai
ac20 6e 74 61 69 6e 69 6e 67 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 72 6f 62 75 73 74 3c 2f 73 ntaining.......<strong>robust</s
ac40 74 72 6f 6e 67 3e 2c 20 3c 73 74 72 6f 6e 67 3e 6f 70 74 69 6d 61 6c 3c 2f 73 74 72 6f 6e 67 3e trong>,.<strong>optimal</strong>
ac60 2c 20 61 6e 64 20 3c 73 74 72 6f 6e 67 3e 72 65 75 73 61 62 6c 65 3c 2f 73 74 72 6f 6e 67 3e 20 ,.and.<strong>reusable</strong>.
ac80 73 6f 66 74 77 61 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c 3e 0a software........</p>.......<dl>.
aca0 20 20 20 20 20 20 20 20 3c 64 74 3e 52 6f 62 75 73 74 3c 2f 64 74 3e 3c 64 64 3e 42 65 68 61 76 ........<dt>Robust</dt><dd>Behav
acc0 69 6f 72 20 69 73 20 63 6f 72 72 65 63 74 20 65 76 65 6e 20 66 6f 72 20 65 64 67 65 20 63 61 73 ior.is.correct.even.for.edge.cas
ace0 65 73 20 73 75 63 68 20 61 73 20 6f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 2e 3c 2f 64 64 3e 0a 20 es.such.as.out.of.memory.</dd>..
ad00 20 20 20 20 20 20 20 3c 64 74 3e 4f 70 74 69 6d 61 6c 3c 2f 64 74 3e 3c 64 64 3e 57 72 69 74 65 .......<dt>Optimal</dt><dd>Write
ad20 20 70 72 6f 67 72 61 6d 73 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 68 65 79 20 63 61 6e 20 .programs.the.best.way.they.can.
ad40 62 65 68 61 76 65 20 61 6e 64 20 70 65 72 66 6f 72 6d 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 behave.and.perform.</dd>........
ad60 20 3c 64 74 3e 52 65 75 73 61 62 6c 65 3c 2f 64 74 3e 3c 64 64 3e 54 68 65 20 73 61 6d 65 20 63 .<dt>Reusable</dt><dd>The.same.c
ad80 6f 64 65 20 77 6f 72 6b 73 20 69 6e 20 6d 61 6e 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 77 ode.works.in.many.environments.w
ada0 68 69 63 68 20 68 61 76 65 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 63 6f hich.have.different...........co
adc0 6e 73 74 72 61 69 6e 74 73 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 4d 61 69 6e nstraints.</dd>.........<dt>Main
ade0 74 61 69 6e 61 62 6c 65 3c 2f 64 74 3e 3c 64 64 3e 50 72 65 63 69 73 65 6c 79 20 63 6f 6d 6d 75 tainable</dt><dd>Precisely.commu
ae00 6e 69 63 61 74 65 20 69 6e 74 65 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e nicate.intent.to.the.compiler.an
ae20 64 0a 20 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 65 72 73 2e 20 54 d...........other.programmers..T
ae40 68 65 20 6c 61 6e 67 75 61 67 65 20 69 6d 70 6f 73 65 73 20 61 20 6c 6f 77 20 6f 76 65 72 68 65 he.language.imposes.a.low.overhe
ae60 61 64 20 74 6f 20 72 65 61 64 69 6e 67 20 63 6f 64 65 20 61 6e 64 20 69 73 0a 20 20 20 20 20 20 ad.to.reading.code.and.is.......
ae80 20 20 20 20 72 65 73 69 6c 69 65 6e 74 20 74 6f 20 63 68 61 6e 67 69 6e 67 20 72 65 71 75 69 72 ....resilient.to.changing.requir
aea0 65 6d 65 6e 74 73 20 61 6e 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e 3c 2f 64 64 3e 0a 20 20 ements.and.environments.</dd>...
aec0 20 20 20 20 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 66 74 65 6e 20 ....</dl>.......<p>.......Often.
aee0 74 68 65 20 6d 6f 73 74 20 65 66 66 69 63 69 65 6e 74 20 77 61 79 20 74 6f 20 6c 65 61 72 6e 20 the.most.efficient.way.to.learn.
af00 73 6f 6d 65 74 68 69 6e 67 20 6e 65 77 20 69 73 20 74 6f 20 73 65 65 20 65 78 61 6d 70 6c 65 73 something.new.is.to.see.examples
af20 2c 20 73 6f 0a 20 20 20 20 20 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 73 68 ,.so.......this.documentation.sh
af40 6f 77 73 20 68 6f 77 20 74 6f 20 75 73 65 20 65 61 63 68 20 6f 66 20 5a 69 67 27 73 20 66 65 61 ows.how.to.use.each.of.Zig's.fea
af60 74 75 72 65 73 2e 20 49 74 20 69 73 0a 20 20 20 20 20 20 61 6c 6c 20 6f 6e 20 6f 6e 65 20 70 61 tures..It.is.......all.on.one.pa
af80 67 65 20 73 6f 20 79 6f 75 20 63 61 6e 20 73 65 61 72 63 68 20 77 69 74 68 20 79 6f 75 72 20 62 ge.so.you.can.search.with.your.b
afa0 72 6f 77 73 65 72 27 73 20 73 65 61 72 63 68 20 74 6f 6f 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e rowser's.search.tool........</p>
afc0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 .......<p>.......The.code.sample
afe0 73 20 69 6e 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 s.in.this.document.are.compiled.
b000 61 6e 64 20 74 65 73 74 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 74 and.tested.as.part.of.the.main.t
b020 65 73 74 20 73 75 69 74 65 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 est.suite.of.Zig........</p>....
b040 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 48 54 4d 4c 20 64 6f 63 75 6d 65 6e 74 20 ...<p>.......This.HTML.document.
b060 64 65 70 65 6e 64 73 20 6f 6e 20 6e 6f 20 65 78 74 65 72 6e 61 6c 20 66 69 6c 65 73 2c 20 73 6f depends.on.no.external.files,.so
b080 20 79 6f 75 20 63 61 6e 20 75 73 65 20 69 74 20 6f 66 66 6c 69 6e 65 2e 0a 20 20 20 20 20 20 3c .you.can.use.it.offline........<
b0a0 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 53 74 /p>...............<h2.id="Zig-St
b0c0 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 69 andard-Library"><a.href="#toc-Zi
b0e0 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 g-Standard-Library">Zig.Standard
b100 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 .Library</a>.<a.class="hdr".href
b120 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c ="#Zig-Standard-Library">..</a><
b140 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 61 20 68 /h2>........<p>.........The.<a.h
b160 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e ref="https://ziglang.org/documen
b180 74 61 74 69 6f 6e 2f 30 2e 31 32 2e 30 2f 73 74 64 2f 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 tation/0.12.0/std/">Zig.Standard
b1a0 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 68 61 73 20 69 74 73 20 6f 77 6e 20 64 6f 63 75 6d 65 6e .Library</a>.has.its.own.documen
b1c0 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 tation........</p>.......<p>....
b1e0 20 20 20 20 20 5a 69 67 27 73 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 63 6f 6e 74 .....Zig's.Standard.Library.cont
b200 61 69 6e 73 20 63 6f 6d 6d 6f 6e 6c 79 20 75 73 65 64 20 61 6c 67 6f 72 69 74 68 6d 73 2c 20 64 ains.commonly.used.algorithms,.d
b220 61 74 61 20 73 74 72 75 63 74 75 72 65 73 2c 20 61 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 ata.structures,.and.definitions.
b240 74 6f 20 68 65 6c 70 20 79 6f 75 20 62 75 69 6c 64 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 6c 69 to.help.you.build.programs.or.li
b260 62 72 61 72 69 65 73 2e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 77 69 6c 6c 20 73 65 65 20 6d 61 braries..........You.will.see.ma
b280 6e 79 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 5a 69 67 27 73 20 53 74 61 6e 64 61 72 64 20 4c 69 ny.examples.of.Zig's.Standard.Li
b2a0 62 72 61 72 79 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e brary.used.in.this.documentation
b2c0 2e 20 54 6f 20 6c 65 61 72 6e 20 6d 6f 72 65 20 61 62 6f 75 74 20 74 68 65 20 5a 69 67 20 53 74 ..To.learn.more.about.the.Zig.St
b2e0 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 2c 0a 20 20 20 20 20 20 20 20 76 69 73 69 74 20 74 68 andard.Library,.........visit.th
b300 65 20 6c 69 6e 6b 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a e.link.above........</p>........
b320 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 3c 61 20 68 .......<h2.id="Hello-World"><a.h
b340 72 65 66 3d 22 23 74 6f 63 2d 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 48 65 6c 6c 6f 20 57 6f 72 ref="#toc-Hello-World">Hello.Wor
b360 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 6c ld</a>.<a.class="hdr".href="#Hel
b380 6c 6f 2d 57 6f 72 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 0a 20 20 20 20 20 20 3c 66 lo-World">..</a></h2>.........<f
b3a0 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 igure><figcaption.class="zig-cap
b3c0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f "><cite.class="file">hello.zig</
b3e0 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 cite></figcaption><pre><code><sp
b400 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 an.class="tok-kw">const</span>.s
b420 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 td.=.<span.class="tok-builtin">@
b440 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 import</span>(<span.class="tok-s
b460 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 tr">&quot;std&quot;</span>);..<s
b480 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 pan.class="tok-kw">pub</span>.<s
b4a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 pan.class="tok-kw">fn</span>.<sp
b4c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 an.class="tok-fn">main</span>().
b4e0 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 !<span.class="tok-type">void</sp
b500 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
b520 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 6f 75 74 20 3d 20 73 74 64 2e 69 6f 2e 67 65 74 53 onst</span>.stdout.=.std.io.getS
b540 74 64 4f 75 74 28 29 2e 77 72 69 74 65 72 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 tdOut().writer();.....<span.clas
b560 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 6f 75 74 2e 70 72 69 s="tok-kw">try</span>.stdout.pri
b580 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 nt(<span.class="tok-str">&quot;H
b5a0 65 6c 6c 6f 2c 20 7b 73 7d 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 ello,.{s}!\n&quot;</span>,..{<sp
b5c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 26 71 an.class="tok-str">&quot;world&q
b5e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 uot;</span>});.}</code></pre></f
b600 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
b620 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
b640 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 68 65 re><samp>$.<kbd>zig.build-exe.he
b660 6c 6c 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c 6c 6f 3c 2f 6b 62 llo.zig</kbd>.$.<kbd>./hello</kb
b680 64 3e 0a 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f d>.Hello,.world!.</samp></pre></
b6a0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 6f 73 74 20 6f 66 20 figure>.......<p>.......Most.of.
b6c0 74 68 65 20 74 69 6d 65 2c 20 69 74 20 69 73 20 6d 6f 72 65 20 61 70 70 72 6f 70 72 69 61 74 65 the.time,.it.is.more.appropriate
b6e0 20 74 6f 20 77 72 69 74 65 20 74 6f 20 73 74 64 65 72 72 20 72 61 74 68 65 72 20 74 68 61 6e 20 .to.write.to.stderr.rather.than.
b700 73 74 64 6f 75 74 2c 20 61 6e 64 0a 20 20 20 20 20 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 stdout,.and.......whether.or.not
b720 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 77 72 69 .the.message.is.successfully.wri
b740 74 74 65 6e 20 74 6f 20 74 68 65 20 73 74 72 65 61 6d 20 69 73 20 69 72 72 65 6c 65 76 61 6e 74 tten.to.the.stream.is.irrelevant
b760 2e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 69 73 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 2c 20 74 68 ........For.this.common.case,.th
b780 65 72 65 20 69 73 20 61 20 73 69 6d 70 6c 65 72 20 41 50 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e ere.is.a.simpler.API:.......</p>
b7a0 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 .......<figure><figcaption.class
b7c0 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 ="zig-cap"><cite.class="file">he
b7e0 6c 6c 6f 5f 61 67 61 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e llo_again.zig</cite></figcaption
b800 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
b820 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.std.=.<span.class=
b840 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@import</span>(<sp
b860 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f an.class="tok-str">&quot;std&quo
b880 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 t;</span>);..<span.class="tok-kw
b8a0 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">pub</span>.<span.class="tok-kw
b8c0 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 ">fn</span>.<span.class="tok-fn"
b8e0 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >main</span>().<span.class="tok-
b900 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 type">void</span>.{.....std.debu
b920 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 g.print(<span.class="tok-str">&q
b940 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e uot;Hello,.world!\n&quot;</span>
b960 2c 20 2e 7b 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c ,..{});.}</code></pre></figure><
b980 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d figure><figcaption.class="shell-
b9a0 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d cap">Shell</figcaption><pre><sam
b9c0 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 68 65 6c 6c 6f 5f 61 67 61 p>$.<kbd>zig.build-exe.hello_aga
b9e0 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c 6c 6f 5f 61 67 61 69 in.zig</kbd>.$.<kbd>./hello_agai
ba00 6e 3c 2f 6b 62 64 3e 0a 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 n</kbd>.Hello,.world!.</samp></p
ba20 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 re></figure>.......<p>.......In.
ba40 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 21 3c 2f 63 6f 64 65 3e 20 6d 61 this.case,.the.<code>!</code>.ma
ba60 79 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 74 75 72 6e 0a 20 20 20 y.be.omitted.from.the.return....
ba80 20 20 20 74 79 70 65 20 62 65 63 61 75 73 65 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 ...type.because.no.errors.are.re
baa0 74 75 72 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 turned.from.the.function........
bac0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a </p>.......<p>See.also:</p><ul>.
bae0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 61 6c 75 65 73 22 3e 56 61 6c 75 65 73 3c 2f 61 3e <li><a.href="#Values">Values</a>
bb00 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 </li>.<li><a.href="#import">@imp
bb20 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 ort</a></li>.<li><a.href="#Error
bb40 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 s">Errors</a></li>.<li><a.href="
bb60 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 #Root-Source-File">Root.Source.F
bb80 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 ile</a></li>.<li><a.href="#Sourc
bba0 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 3c e-Encoding">Source.Encoding</a><
bbc0 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d /li>.</ul>...............<h2.id=
bbe0 22 43 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 6d 65 6e 74 "Comments"><a.href="#toc-Comment
bc00 73 22 3e 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 s">Comments</a>.<a.class="hdr".h
bc20 72 65 66 3d 22 23 43 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 ref="#Comments">..</a></h2>.....
bc40 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 33 20 74 79 70 65 ...<p>.......Zig.supports.3.type
bc60 73 20 6f 66 20 63 6f 6d 6d 65 6e 74 73 2e 20 4e 6f 72 6d 61 6c 20 63 6f 6d 6d 65 6e 74 73 20 61 s.of.comments..Normal.comments.a
bc80 72 65 20 69 67 6e 6f 72 65 64 2c 20 62 75 74 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 0a 20 20 20 re.ignored,.but.doc.comments....
bca0 20 20 20 61 6e 64 20 74 6f 70 2d 6c 65 76 65 6c 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 61 72 ...and.top-level.doc.comments.ar
bcc0 65 20 75 73 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 67 65 6e 65 72 61 e.used.by.the.compiler.to.genera
bce0 74 65 20 74 68 65 20 70 61 63 6b 61 67 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 te.the.package.documentation....
bd00 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 67 65 6e ....</p>.......<p>.......The.gen
bd20 65 72 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 73 74 69 6c 6c 20 65 78 erated.documentation.is.still.ex
bd40 70 65 72 69 6d 65 6e 74 61 6c 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 70 72 6f 64 75 63 65 64 20 perimental,.and.can.be.produced.
bd60 77 69 74 68 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c with:.......</p>.......<figure><
bd80 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
bda0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 7a 69 67 20 74 65 ll</figcaption><pre><samp>zig.te
bdc0 73 74 20 2d 66 65 6d 69 74 2d 64 6f 63 73 20 6d 61 69 6e 2e 7a 69 67 0a 3c 2f 73 61 6d 70 3e 3c st.-femit-docs.main.zig.</samp><
bde0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 /pre></figure>.......<figure><fi
be00 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 gcaption.class="zig-cap"><cite.c
be20 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c lass="file">comments.zig</cite><
be40 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><code><span.cla
be60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d ss="tok-kw">const</span>.print.=
be80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f .<span.class="tok-builtin">@impo
bea0 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e rt</span>(<span.class="tok-str">
bec0 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 &quot;std&quot;</span>).debug.pr
bee0 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f int;..<span.class="tok-kw">pub</
bf00 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 span>.<span.class="tok-kw">fn</s
bf20 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f pan>.<span.class="tok-fn">main</
bf40 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 span>().<span.class="tok-type">v
bf60 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f oid</span>.{.....<span.class="to
bf80 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 6d 65 6e 74 73 20 69 6e 20 5a 69 67 20 73 74 k-comment">//.Comments.in.Zig.st
bfa0 61 72 74 20 77 69 74 68 20 26 71 75 6f 74 3b 2f 2f 26 71 75 6f 74 3b 20 61 6e 64 20 65 6e 64 20 art.with.&quot;//&quot;.and.end.
bfc0 61 74 20 74 68 65 20 6e 65 78 74 20 4c 46 20 62 79 74 65 20 28 65 6e 64 20 6f 66 20 6c 69 6e 65 at.the.next.LF.byte.(end.of.line
bfe0 29 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ).</span>.....<span.class="tok-c
c000 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6c 69 6e 65 20 62 65 6c 6f 77 20 69 73 20 61 20 63 omment">//.The.line.below.is.a.c
c020 6f 6d 6d 65 6e 74 20 61 6e 64 20 77 6f 6e 27 74 20 62 65 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 omment.and.won't.be.executed.</s
c040 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 pan>......<span.class="tok-comme
c060 6e 74 22 3e 2f 2f 70 72 69 6e 74 28 26 71 75 6f 74 3b 48 65 6c 6c 6f 3f 26 71 75 6f 74 3b 2c 20 nt">//print(&quot;Hello?&quot;,.
c080 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c .{});</span>......print(<span.cl
c0a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 ass="tok-str">&quot;Hello,.world
c0c0 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 20 3c 73 70 61 6e 20 63 6c !\n&quot;</span>,..{});.<span.cl
c0e0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 6f 74 68 65 72 20 63 6f 6d ass="tok-comment">//.another.com
c100 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ment</span>.}</code></pre></figu
c120 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
c140 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
c160 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 6f 6d 6d 65 <samp>$.<kbd>zig.build-exe.comme
c180 6e 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 63 6f 6d 6d 65 6e 74 73 3c nts.zig</kbd>.$.<kbd>./comments<
c1a0 2f 6b 62 64 3e 0a 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 /kbd>.Hello,.world!.</samp></pre
c1c0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 ></figure>.......<p>.......There
c1e0 20 61 72 65 20 6e 6f 20 6d 75 6c 74 69 6c 69 6e 65 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 5a 69 .are.no.multiline.comments.in.Zi
c200 67 20 28 65 2e 67 2e 20 6c 69 6b 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 2f 2a 20 g.(e.g..like.<code.class="c">/*.
c220 2a 2f 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 43 29 2e 20 */</code>.......comments.in.C)..
c240 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 5a 69 67 20 74 6f 20 68 61 76 65 20 74 68 65 20 70 72 6f .This.allows.Zig.to.have.the.pro
c260 70 65 72 74 79 20 74 68 61 74 20 65 61 63 68 20 6c 69 6e 65 0a 20 20 20 20 20 20 6f 66 20 63 6f perty.that.each.line.......of.co
c280 64 65 20 63 61 6e 20 62 65 20 74 6f 6b 65 6e 69 7a 65 64 20 6f 75 74 20 6f 66 20 63 6f 6e 74 65 de.can.be.tokenized.out.of.conte
c2a0 78 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 6f 63 xt........</p>.......<h3.id="Doc
c2c0 2d 43 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 6f 63 2d 43 6f 6d -Comments"><a.href="#toc-Doc-Com
c2e0 6d 65 6e 74 73 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ments">Doc.Comments</a>.<a.class
c300 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f ="hdr".href="#Doc-Comments">..</
c320 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 64 6f 63 20 63 a></h3>........<p>.......A.doc.c
c340 6f 6d 6d 65 6e 74 20 69 73 20 6f 6e 65 20 74 68 61 74 20 62 65 67 69 6e 73 20 77 69 74 68 20 65 omment.is.one.that.begins.with.e
c360 78 61 63 74 6c 79 20 74 68 72 65 65 20 73 6c 61 73 68 65 73 20 28 69 2e 65 2e 0a 20 20 20 20 20 xactly.three.slashes.(i.e.......
c380 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 .<code><span.class="tok-comment"
c3a0 3e 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 74 20 6e 6f 74 20 3c 63 6f 64 65 >///</span></code>.but.not.<code
c3c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 2f 3c ><span.class="tok-comment">////<
c3e0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 3b 0a 20 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 64 /span></code>);.......multiple.d
c400 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 61 20 72 6f 77 20 61 72 65 20 6d 65 72 67 65 64 20 oc.comments.in.a.row.are.merged.
c420 74 6f 67 65 74 68 65 72 20 74 6f 20 66 6f 72 6d 20 61 20 6d 75 6c 74 69 6c 69 6e 65 0a 20 20 20 together.to.form.a.multiline....
c440 20 20 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 2e 20 20 54 68 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 ...doc.comment...The.doc.comment
c460 20 64 6f 63 75 6d 65 6e 74 73 20 77 68 61 74 65 76 65 72 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 .documents.whatever.immediately.
c480 66 6f 6c 6c 6f 77 73 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 follows.it........</p>.......<fi
c4a0 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
c4c0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 6f 63 5f 63 6f 6d 6d 65 6e 74 73 ><cite.class="file">doc_comments
c4e0 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
c500 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f de><span.class="tok-comment">///
c520 20 41 20 73 74 72 75 63 74 75 72 65 20 66 6f 72 20 73 74 6f 72 69 6e 67 20 61 20 74 69 6d 65 73 .A.structure.for.storing.a.times
c540 74 61 6d 70 2c 20 77 69 74 68 20 6e 61 6e 6f 73 65 63 6f 6e 64 20 70 72 65 63 69 73 69 6f 6e 20 tamp,.with.nanosecond.precision.
c560 28 74 68 69 73 20 69 73 20 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 (this.is.a</span>.<span.class="t
c580 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6d 75 6c 74 69 6c 69 6e 65 20 64 6f 63 20 63 6f ok-comment">///.multiline.doc.co
c5a0 6d 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d mment).</span>.<span.class="tok-
c5c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 69 6d 65 73 74 61 6d 70 20 3d 20 3c 73 70 kw">const</span>.Timestamp.=.<sp
c5e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">struct</span>.
c600 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e {.....<span.class="tok-comment">
c620 2f 2f 2f 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 20 73 69 6e 63 65 20 ///.The.number.of.seconds.since.
c640 74 68 65 20 65 70 6f 63 68 20 28 74 68 69 73 20 69 73 20 61 6c 73 6f 20 61 20 64 6f 63 20 63 6f the.epoch.(this.is.also.a.doc.co
c660 6d 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 73 65 63 6f 6e 64 73 3a 20 3c 73 70 61 mment).</span>.....seconds:.<spa
c680 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 20 20 n.class="tok-type">i64</span>,..
c6a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 69 67 <span.class="tok-comment">//.sig
c6c0 6e 65 64 20 73 6f 20 77 65 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 70 72 65 2d 31 39 37 30 ned.so.we.can.represent.pre-1970
c6e0 20 28 6e 6f 74 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 .(not.a.doc.comment)</span>.....
c700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 <span.class="tok-comment">///.Th
c720 65 20 6e 75 6d 62 65 72 20 6f 66 20 6e 61 6e 6f 73 65 63 6f 6e 64 73 20 70 61 73 74 20 74 68 65 e.number.of.nanoseconds.past.the
c740 20 73 65 63 6f 6e 64 20 28 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 61 67 61 69 6e 29 2e 3c 2f 73 70 .second.(doc.comment.again).</sp
c760 61 6e 3e 0a 20 20 20 20 6e 61 6e 6f 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.....nanos:.<span.class="tok-
c780 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 type">u32</span>,......<span.cla
c7a0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 52 65 74 75 72 6e 73 20 61 20 60 ss="tok-comment">///.Returns.a.`
c7c0 54 69 6d 65 73 74 61 6d 70 60 20 73 74 72 75 63 74 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 Timestamp`.struct.representing.t
c7e0 68 65 20 55 6e 69 78 20 65 70 6f 63 68 3b 20 74 68 61 74 20 69 73 2c 20 74 68 65 3c 2f 73 70 61 he.Unix.epoch;.that.is,.the</spa
c800 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 n>.....<span.class="tok-comment"
c820 3e 2f 2f 2f 20 6d 6f 6d 65 6e 74 20 6f 66 20 31 39 37 30 20 4a 61 6e 20 31 20 30 30 3a 30 30 3a >///.moment.of.1970.Jan.1.00:00:
c840 30 30 20 55 54 43 20 28 74 68 69 73 20 69 73 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 74 6f 00.UTC.(this.is.a.doc.comment.to
c860 6f 29 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d o).</span>.....<span.class="tok-
c880 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d kw">pub</span>.<span.class="tok-
c8a0 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
c8c0 6e 22 3e 75 6e 69 78 45 70 6f 63 68 3c 2f 73 70 61 6e 3e 28 29 20 54 69 6d 65 73 74 61 6d 70 20 n">unixEpoch</span>().Timestamp.
c8e0 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 {.........<span.class="tok-kw">r
c900 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 54 69 6d 65 73 74 61 6d 70 7b 0a 20 20 20 20 20 20 20 20 eturn</span>.Timestamp{.........
c920 20 20 20 20 2e 73 65 63 6f 6e 64 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .....seconds.=.<span.class="tok-
c940 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6e number">0</span>,..............n
c960 61 6e 6f 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e anos.=.<span.class="tok-number">
c980 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 7d 3b 3c 2f 63 0</span>,.........};.....}.};</c
c9a0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ode></pre></figure>.......<p>...
c9c0 20 20 20 20 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 ....Doc.comments.are.only.allowe
c9e0 64 20 69 6e 20 63 65 72 74 61 69 6e 20 70 6c 61 63 65 73 3b 20 69 74 20 69 73 20 61 20 63 6f 6d d.in.certain.places;.it.is.a.com
ca00 70 69 6c 65 20 65 72 72 6f 72 20 74 6f 0a 20 20 20 20 20 20 68 61 76 65 20 61 20 64 6f 63 20 63 pile.error.to.......have.a.doc.c
ca20 6f 6d 6d 65 6e 74 20 69 6e 20 61 6e 20 75 6e 65 78 70 65 63 74 65 64 20 70 6c 61 63 65 2c 20 73 omment.in.an.unexpected.place,.s
ca40 75 63 68 20 61 73 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 61 6e 20 65 78 70 72 65 uch.as.in.the.middle.of.an.expre
ca60 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 6f 72 20 6a 75 73 74 20 62 65 66 6f 72 65 20 61 20 6e 6f ssion,.......or.just.before.a.no
ca80 6e 2d 64 6f 63 20 63 6f 6d 6d 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 n-doc.comment........</p>.......
caa0 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
cac0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 76 61 6c 69 64 5f 64 ap"><cite.class="file">invalid_d
cae0 6f 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f oc-comment.zig</cite></figcaptio
cb00 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f n><pre><code><span.class="tok-co
cb20 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 64 6f 63 2d 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 mment">///.doc-comment</span>.<s
cb40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 74 6f 70 2d pan.class="tok-comment">//!.top-
cb60 6c 65 76 65 6c 20 64 6f 63 2d 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 level.doc-comment</span>.<span.c
cb80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d lass="tok-kw">const</span>.std.=
cba0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f .<span.class="tok-builtin">@impo
cbc0 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e rt</span>(<span.class="tok-str">
cbe0 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 63 6f 64 65 3e 3c &quot;std&quot;</span>);</code><
cc00 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f /pre></figure><figure><figcaptio
cc20 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 n.class="shell-cap">Shell</figca
cc40 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c ption><pre><samp>$.<kbd>zig.buil
cc60 64 2d 6f 62 6a 20 69 6e 76 61 6c 69 64 5f 64 6f 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3c 2f 6b d-obj.invalid_doc-comment.zig</k
cc80 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f bd>.<span.class="sgr-1m">docgen_
cca0 74 6d 70 2f 69 6e 76 61 6c 69 64 5f 64 6f 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3a 31 3a 31 36 tmp/invalid_doc-comment.zig:1:16
ccc0 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 :.</span><span.class="sgr-31m">e
cce0 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d rror:.</span><span.class="sgr-1m
cd00 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 66 6f 75 6e ">expected.type.expression,.foun
cd20 64 20 27 61 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6d 6d 65 6e 74 27 0a 3c 2f 73 70 61 6e 3e 2f 2f d.'a.document.comment'.</span>//
cd40 2f 20 64 6f 63 2d 63 6f 6d 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 /.doc-comment................<sp
cd60 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 an.class="sgr-32m">^.</span>.</s
cd80 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 amp></pre></figure>.......<figur
cda0 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
cdc0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 75 6e 61 74 74 61 63 68 65 64 5f 64 6f 63 2d ite.class="file">unattached_doc-
cde0 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c comment.zig</cite></figcaption><
ce00 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 pre><code><span.class="tok-kw">p
ce20 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ub</span>.<span.class="tok-kw">f
ce40 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 n</span>.<span.class="tok-fn">ma
ce60 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
ce80 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">void</span>.{}..<span.class="
cea0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 6e 64 20 6f 66 20 66 69 6c 65 3c 2f 73 70 tok-comment">///.End.of.file</sp
cec0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 an></code></pre></figure><figure
cee0 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 ><figcaption.class="shell-cap">S
cf00 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
cf20 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 75 6e 61 74 74 61 63 68 65 64 5f 64 6f 63 2d bd>zig.build-obj.unattached_doc-
cf40 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 comment.zig</kbd>.<span.class="s
cf60 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 75 6e 61 74 74 61 63 68 65 64 5f 64 6f 63 gr-1m">docgen_tmp/unattached_doc
cf80 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3a 33 3a 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 -comment.zig:3:1:.</span><span.c
cfa0 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 lass="sgr-31m">error:.</span><sp
cfc0 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 61 74 74 61 63 68 65 64 20 64 6f 63 an.class="sgr-1m">unattached.doc
cfe0 75 6d 65 6e 74 61 74 69 6f 6e 20 63 6f 6d 6d 65 6e 74 0a 3c 2f 73 70 61 6e 3e 2f 2f 2f 20 45 6e umentation.comment.</span>///.En
d000 64 20 6f 66 20 66 69 6c 65 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e d.of.file.<span.class="sgr-32m">
d020 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c ^~~~~~~~~~~~~~~.</span>.</samp><
d040 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 /pre></figure>.......<p>.......D
d060 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 63 61 6e 20 62 65 20 69 6e 74 65 72 6c 65 61 76 65 64 20 77 oc.comments.can.be.interleaved.w
d080 69 74 68 20 6e 6f 72 6d 61 6c 20 63 6f 6d 6d 65 6e 74 73 2e 20 43 75 72 72 65 6e 74 6c 79 2c 20 ith.normal.comments..Currently,.
d0a0 77 68 65 6e 20 70 72 6f 64 75 63 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 70 61 63 6b 61 67 65 when.producing.......the.package
d0c0 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 6e 6f 72 6d 61 6c 20 63 6f 6d 6d 65 6e 74 73 20 .documentation,.normal.comments.
d0e0 61 72 65 20 6d 65 72 67 65 64 20 77 69 74 68 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 2e 0a 20 20 are.merged.with.doc.comments....
d100 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 6f ....</p>..............<h3.id="To
d120 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 p-Level-Doc-Comments"><a.href="#
d140 74 6f 63 2d 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 54 6f 70 2d toc-Top-Level-Doc-Comments">Top-
d160 4c 65 76 65 6c 20 44 6f 63 20 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d Level.Doc.Comments</a>.<a.class=
d180 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 "hdr".href="#Top-Level-Doc-Comme
d1a0 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 nts">..</a></h3>........<p>.....
d1c0 20 20 41 20 74 6f 70 2d 6c 65 76 65 6c 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 73 20 6f 6e 65 ..A.top-level.doc.comment.is.one
d1e0 20 74 68 61 74 20 62 65 67 69 6e 73 20 77 69 74 68 20 74 77 6f 20 73 6c 61 73 68 65 73 20 61 6e .that.begins.with.two.slashes.an
d200 64 20 61 6e 20 65 78 63 6c 61 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 70 6f 69 6e 74 3a 20 3c 63 d.an.exclamation.......point:.<c
d220 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ode><span.class="tok-comment">//
d240 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3b 20 69 74 20 64 6f 63 75 6d 65 6e 74 73 20 74 68 !</span></code>;.it.documents.th
d260 65 20 63 75 72 72 65 6e 74 20 6d 6f 64 75 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 e.current.module........</p>....
d280 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 ...<p>.......It.is.a.compile.err
d2a0 6f 72 20 69 66 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 73 or.if.a.top-level.doc.comment.is
d2c0 20 6e 6f 74 20 70 6c 61 63 65 64 20 61 74 20 74 68 65 20 73 74 61 72 74 0a 20 20 20 20 20 20 6f .not.placed.at.the.start.......o
d2e0 66 20 61 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e 63 6f 6e 74 61 69 f.a.<a.href="#Containers">contai
d300 6e 65 72 3c 2f 61 3e 2c 20 62 65 66 6f 72 65 20 61 6e 79 20 65 78 70 72 65 73 73 69 6f 6e 73 2e ner</a>,.before.any.expressions.
d320 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 .......</p>.......<figure><figca
d340 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 ption.class="zig-cap"><cite.clas
d360 73 3d 22 66 69 6c 65 22 3e 74 6c 64 6f 63 5f 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 s="file">tldoc_comments.zig</cit
d380 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e></figcaption><pre><code><span.
d3a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 54 68 69 73 20 6d 6f 64 class="tok-comment">//!.This.mod
d3c0 75 6c 65 20 70 72 6f 76 69 64 65 73 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 72 65 74 72 69 ule.provides.functions.for.retri
d3e0 65 76 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 61 74 65 20 61 6e 64 3c 2f 73 70 61 6e eving.the.current.date.and</span
d400 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 >.<span.class="tok-comment">//!.
d420 74 69 6d 65 20 77 69 74 68 20 76 61 72 79 69 6e 67 20 64 65 67 72 65 65 73 20 6f 66 20 70 72 65 time.with.varying.degrees.of.pre
d440 63 69 73 69 6f 6e 20 61 6e 64 20 61 63 63 75 72 61 63 79 2e 20 49 74 20 64 6f 65 73 20 6e 6f 74 cision.and.accuracy..It.does.not
d460 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 </span>.<span.class="tok-comment
d480 22 3e 2f 2f 21 20 64 65 70 65 6e 64 20 6f 6e 20 6c 69 62 63 2c 20 62 75 74 20 77 69 6c 6c 20 75 ">//!.depend.on.libc,.but.will.u
d4a0 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 69 74 20 69 66 20 61 76 61 69 6c 61 62 6c se.functions.from.it.if.availabl
d4c0 65 2e 3c 2f 73 70 61 6e 3e 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e e.</span>..<span.class="tok-kw">
d4e0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f const</span>.S.=.<span.class="to
d500 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 k-kw">struct</span>.{.....<span.
d520 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 54 6f 70 20 6c 65 76 65 class="tok-comment">//!.Top.leve
d540 6c 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 69 6e 73 69 64 65 20 61 20 l.comments.are.allowed.inside.a.
d560 63 6f 6e 74 61 69 6e 65 72 20 6f 74 68 65 72 20 74 68 61 6e 20 61 20 6d 6f 64 75 6c 65 2c 3c 2f container.other.than.a.module,</
d580 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 span>.....<span.class="tok-comme
d5a0 6e 74 22 3e 2f 2f 21 20 62 75 74 20 69 74 20 69 73 20 6e 6f 74 20 76 65 72 79 20 75 73 65 66 75 nt">//!.but.it.is.not.very.usefu
d5c0 6c 2e 20 20 43 75 72 72 65 6e 74 6c 79 2c 20 77 68 65 6e 20 70 72 6f 64 75 63 69 6e 67 20 74 68 l...Currently,.when.producing.th
d5e0 65 20 70 61 63 6b 61 67 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e.package</span>.....<span.class
d600 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ="tok-comment">//!.documentation
d620 2c 20 74 68 65 73 65 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 3c 2f 73 ,.these.comments.are.ignored.</s
d640 70 61 6e 3e 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 pan>.};</code></pre></figure>...
d660 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 61 6c 75 65 73 ..................<h2.id="Values
d680 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 56 61 6c 75 65 73 22 3e 56 61 6c 75 65 73 3c 2f "><a.href="#toc-Values">Values</
d6a0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 61 6c 75 65 73 22 a>.<a.class="hdr".href="#Values"
d6c0 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 >..</a></h2>........<figure><fig
d6e0 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c caption.class="zig-cap"><cite.cl
d700 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ass="file">values.zig</cite></fi
d720 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><code><span.class=
d740 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 "tok-comment">//.Top-level.decla
d760 72 61 74 69 6f 6e 73 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 3a 3c 2f rations.are.order-independent:</
d780 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 span>.<span.class="tok-kw">const
d7a0 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b </span>.print.=.std.debug.print;
d7c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
d7e0 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n>.std.=.<span.class="tok-builti
d800 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">@import</span>(<span.class="t
d820 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b ok-str">&quot;std&quot;</span>);
d840 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
d860 6e 3e 20 6f 73 20 3d 20 73 74 64 2e 6f 73 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n>.os.=.std.os;.<span.class="tok
d880 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 -kw">const</span>.assert.=.std.d
d8a0 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ebug.assert;..<span.class="tok-k
d8c0 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b w">pub</span>.<span.class="tok-k
d8e0 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e w">fn</span>.<span.class="tok-fn
d900 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">main</span>().<span.class="tok
d920 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 -type">void</span>.{.....<span.c
d940 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 74 65 67 65 72 73 3c 2f lass="tok-comment">//.integers</
d960 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 span>.....<span.class="tok-kw">c
d980 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 3a 20 3c 73 70 61 6e 20 onst</span>.one_plus_one:.<span.
d9a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 class="tok-type">i32</span>.=.<s
d9c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 pan.class="tok-number">1</span>.
d9e0 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 +.<span.class="tok-number">1</sp
da00 61 6e 3e 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>;.....print(<span.class="tok-
da20 73 74 72 22 3e 26 71 75 6f 74 3b 31 20 2b 20 31 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 str">&quot;1.+.1.=.{}\n&quot;</s
da40 70 61 6e 3e 2c 20 2e 7b 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 pan>,..{one_plus_one});......<sp
da60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 6c 6f 61 74 73 an.class="tok-comment">//.floats
da80 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 </span>.....<span.class="tok-kw"
daa0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 65 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 3a 20 3c >const</span>.seven_div_three:.<
dac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">f32</span>
dae0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 2e 30 3c .=.<span.class="tok-number">7.0<
db00 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 /span>./.<span.class="tok-number
db20 22 3e 33 2e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c ">3.0</span>;.....print(<span.cl
db40 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 37 2e 30 20 2f 20 33 2e 30 20 3d 20 ass="tok-str">&quot;7.0./.3.0.=.
db60 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 73 65 76 65 6e 5f 64 69 76 5f 74 {}\n&quot;</span>,..{seven_div_t
db80 68 72 65 65 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f hree});......<span.class="tok-co
dba0 6d 6d 65 6e 74 22 3e 2f 2f 20 62 6f 6f 6c 65 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 mment">//.boolean</span>.....pri
dbc0 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b nt(<span.class="tok-str">&quot;{
dbe0 7d 5c 6e 7b 7d 5c 6e 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 }\n{}\n{}\n&quot;</span>,..{....
dc00 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 .....<span.class="tok-null">true
dc20 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 </span>.<span.class="tok-kw">and
dc40 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 </span>.<span.class="tok-null">f
dc60 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 alse</span>,.........<span.class
dc80 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ="tok-null">true</span>.<span.cl
dca0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ass="tok-kw">or</span>.<span.cla
dcc0 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 ss="tok-null">false</span>,.....
dce0 20 20 20 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 ....!<span.class="tok-null">true
dd00 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 </span>,.....});......<span.clas
dd20 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 s="tok-comment">//.optional</spa
dd40 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c n>.....<span.class="tok-kw">var<
dd60 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 3a 20 3f 5b 5d 3c 73 70 61 6e 20 /span>.optional_value:.?[]<span.
dd80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 class="tok-kw">const</span>.<spa
dda0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c n.class="tok-type">u8</span>.=.<
ddc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e span.class="tok-null">null</span
dde0 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 3d 20 >;.....assert(optional_value.==.
de00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 <span.class="tok-null">null</spa
de20 6e 3e 29 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n>);......print(<span.class="tok
de40 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 6f 70 74 69 6f 6e 61 6c 20 31 5c 6e 74 79 70 65 3a 20 -str">&quot;\noptional.1\ntype:.
de60 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 3f 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 {}\nvalue:.{?s}\n&quot;</span>,.
de80 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c .{.........<span.class="tok-buil
dea0 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c tin">@TypeOf</span>(optional_val
dec0 75 65 29 2c 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2c 0a 20 20 20 20 7d 29 3b 0a 0a 20 20 ue),.optional_value,.....});....
dee0 20 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ..optional_value.=.<span.class="
df00 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a tok-str">&quot;hi&quot;</span>;.
df20 20 20 20 20 61 73 73 65 72 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 21 3d 20 3c 73 70 ....assert(optional_value.!=.<sp
df40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 an.class="tok-null">null</span>)
df60 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 ;......print(<span.class="tok-st
df80 72 22 3e 26 71 75 6f 74 3b 5c 6e 6f 70 74 69 6f 6e 61 6c 20 32 5c 6e 74 79 70 65 3a 20 7b 7d 5c r">&quot;\noptional.2\ntype:.{}\
dfa0 6e 76 61 6c 75 65 3a 20 7b 3f 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a nvalue:.{?s}\n&quot;</span>,..{.
dfc0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ........<span.class="tok-builtin
dfe0 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 ">@TypeOf</span>(optional_value)
e000 2c 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2c 0a 20 20 20 20 7d 29 3b 0a 0a 20 20 20 20 3c ,.optional_value,.....});......<
e020 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 72 72 6f span.class="tok-comment">//.erro
e040 72 20 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r.union</span>.....<span.class="
e060 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 tok-kw">var</span>.number_or_err
e080 6f 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 or:.<span.class="tok-type">anyer
e0a0 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ror</span>!<span.class="tok-type
e0c0 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">i32</span>.=.<span.class="tok-
e0e0 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 72 67 4e 6f 74 46 6f 75 6e 64 3b 0a 0a 20 kw">error</span>.ArgNotFound;...
e100 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ...print(<span.class="tok-str">&
e120 71 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e 69 6f 6e 20 31 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e quot;\nerror.union.1\ntype:.{}\n
e140 76 61 6c 75 65 3a 20 7b 21 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 value:.{!}\n&quot;</span>,..{...
e160 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ......<span.class="tok-builtin">
e180 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 2c @TypeOf</span>(number_or_error),
e1a0 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 2c 20 7d 29 3b 0a 0a 20 20 20 20 6e 75 6d 62 65 .number_or_error,.});......numbe
e1c0 72 5f 6f 72 5f 65 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r_or_error.=.<span.class="tok-nu
e1e0 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 mber">1234</span>;......print(<s
e200 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 72 6f pan.class="tok-str">&quot;\nerro
e220 72 20 75 6e 69 6f 6e 20 32 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 21 7d 5c r.union.2\ntype:.{}\nvalue:.{!}\
e240 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e n&quot;</span>,..{.........<span
e260 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 .class="tok-builtin">@TypeOf</sp
e280 61 6e 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 2c 20 6e 75 6d 62 65 72 5f 6f 72 5f an>(number_or_error),.number_or_
e2a0 65 72 72 6f 72 2c 0a 20 20 20 20 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 error,.....});.}</code></pre></f
e2c0 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
e2e0 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
e300 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 76 61 re><samp>$.<kbd>zig.build-exe.va
e320 6c 75 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 76 61 6c 75 65 73 3c 2f lues.zig</kbd>.$.<kbd>./values</
e340 6b 62 64 3e 0a 31 20 2b 20 31 20 3d 20 32 0a 37 2e 30 20 2f 20 33 2e 30 20 3d 20 32 2e 33 33 33 kbd>.1.+.1.=.2.7.0./.3.0.=.2.333
e360 33 33 33 33 65 30 0a 66 61 6c 73 65 0a 74 72 75 65 0a 66 61 6c 73 65 0a 0a 6f 70 74 69 6f 6e 61 3333e0.false.true.false..optiona
e380 6c 20 31 0a 74 79 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 0a 76 61 6c 75 65 3a 20 6e 75 6c l.1.type:.?[]const.u8.value:.nul
e3a0 6c 0a 0a 6f 70 74 69 6f 6e 61 6c 20 32 0a 74 79 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 0a l..optional.2.type:.?[]const.u8.
e3c0 76 61 6c 75 65 3a 20 68 69 0a 0a 65 72 72 6f 72 20 75 6e 69 6f 6e 20 31 0a 74 79 70 65 3a 20 61 value:.hi..error.union.1.type:.a
e3e0 6e 79 65 72 72 6f 72 21 69 33 32 0a 76 61 6c 75 65 3a 20 65 72 72 6f 72 2e 41 72 67 4e 6f 74 46 nyerror!i32.value:.error.ArgNotF
e400 6f 75 6e 64 0a 0a 65 72 72 6f 72 20 75 6e 69 6f 6e 20 32 0a 74 79 70 65 3a 20 61 6e 79 65 72 72 ound..error.union.2.type:.anyerr
e420 6f 72 21 69 33 32 0a 76 61 6c 75 65 3a 20 31 32 33 34 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e or!i32.value:.1234.</samp></pre>
e440 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 72 69 6d 69 74 69 76 </figure>.......<h3.id="Primitiv
e460 65 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 e-Types"><a.href="#toc-Primitive
e480 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 3c 2f 61 3e 20 3c 61 20 63 -Types">Primitive.Types</a>.<a.c
e4a0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 lass="hdr".href="#Primitive-Type
e4c0 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 s">..</a></h3>........<div.class
e4e0 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a ="table-wrapper">.......<table>.
e500 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 ........<caption>Primitive.Types
e520 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 </caption>.........<thead>......
e540 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 .......<tr>.............<th.scop
e560 65 3d 22 63 6f 6c 22 3e 54 79 70 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 e="col">Type</th>.............<t
e580 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 43 20 45 71 75 69 76 61 6c 65 6e 74 3c 2f 74 68 3e 0a h.scope="col">C.Equivalent</th>.
e5a0 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 44 65 73 63 ............<th.scope="col">Desc
e5c0 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 ription</th>.........</tr>......
e5e0 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 ...</thead>.........<tbody>.....
e600 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 ....<tr>.............<th.scope="
e620 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 row"><code><span.class="tok-type
e640 22 3e 69 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 ">i8</span></code></th>.........
e660 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 38 5f 74 3c 2f 63 6f ..<td><code.class="c">int8_t</co
e680 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 38 2d de></td>...........<td>signed.8-
e6a0 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 bit.integer</td>.........</tr>..
e6c0 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 .......<tr>.............<th.scop
e6e0 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 e="row"><code><span.class="tok-t
e700 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 ype">u8</span></code></th>......
e720 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 38 5f 74 .....<td><code.class="c">uint8_t
e740 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 </code></td>...........<td>unsig
e760 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c ned.8-bit.integer</td>.........<
e780 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 /tr>.........<tr>.............<t
e7a0 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d h.scope="row"><code><span.class=
e7c0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 "tok-type">i16</span></code></th
e7e0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e >...........<td><code.class="c">
e800 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 int16_t</code></td>...........<t
e820 64 3e 73 69 67 6e 65 64 20 31 36 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 d>signed.16-bit.integer</td>....
e840 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 .....</tr>.........<tr>.........
e860 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ....<th.scope="row"><code><span.
e880 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 class="tok-type">u16</span></cod
e8a0 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 e></th>...........<td><code.clas
e8c0 73 3d 22 63 22 3e 75 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 s="c">uint16_t</code></td>......
e8e0 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 31 36 2d 62 69 74 20 69 6e 74 65 67 65 72 .....<td>unsigned.16-bit.integer
e900 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e </td>.........</tr>.........<tr>
e920 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f .............<th.scope="row"><co
e940 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 de><span.class="tok-type">i32</s
e960 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c pan></code></th>...........<td><
e980 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 33 32 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 code.class="c">int32_t</code></t
e9a0 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 69 d>...........<td>signed.32-bit.i
e9c0 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 nteger</td>.........</tr>.......
e9e0 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f ..<tr>.............<th.scope="ro
ea00 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e w"><code><span.class="tok-type">
ea20 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 u32</span></code></th>..........
ea40 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 33 32 5f 74 3c 2f 63 .<td><code.class="c">uint32_t</c
ea60 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 ode></td>...........<td>unsigned
ea80 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 .32-bit.integer</td>.........</t
eaa0 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 r>.........<tr>.............<th.
eac0 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 scope="row"><code><span.class="t
eae0 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a ok-type">i64</span></code></th>.
eb00 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e ..........<td><code.class="c">in
eb20 74 36 34 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e t64_t</code></td>...........<td>
eb40 73 69 67 6e 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 signed.64-bit.integer</td>......
eb60 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 ...</tr>.........<tr>...........
eb80 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..<th.scope="row"><code><span.cl
eba0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ass="tok-type">u64</span></code>
ebc0 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d </th>...........<td><code.class=
ebe0 22 63 22 3e 75 69 6e 74 36 34 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 "c">uint64_t</code></td>........
ec00 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f ...<td>unsigned.64-bit.integer</
ec20 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 td>.........</tr>.........<tr>..
ec40 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 ...........<th.scope="row"><code
ec60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 32 38 3c 2f 73 70 ><span.class="tok-type">i128</sp
ec80 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
eca0 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 5f 5f 69 6e 74 31 32 38 3c 2f 63 6f 64 65 3e 3c 2f 74 ode.class="c">__int128</code></t
ecc0 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 31 32 38 2d 62 69 74 20 d>...........<td>signed.128-bit.
ece0 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 integer</td>.........</tr>......
ed00 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 ...<tr>.............<th.scope="r
ed20 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ow"><code><span.class="tok-type"
ed40 3e 75 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 >u128</span></code></th>........
ed60 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 ...<td><code.class="c">unsigned.
ed80 5f 5f 69 6e 74 31 32 38 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c __int128</code></td>...........<
eda0 74 64 3e 75 6e 73 69 67 6e 65 64 20 31 32 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e td>unsigned.128-bit.integer</td>
edc0 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 .........</tr>.........<tr>.....
ede0 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 ........<th.scope="row"><code><s
ee00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 73 69 7a 65 3c 2f 73 70 61 6e pan.class="tok-type">isize</span
ee20 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 ></code></th>...........<td><cod
ee40 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 70 74 72 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e e.class="c">intptr_t</code></td>
ee60 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 73 69 ...........<td>signed.pointer.si
ee80 7a 65 64 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 zed.integer</td>.........</tr>..
eea0 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 .......<tr>.............<th.scop
eec0 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 e="row"><code><span.class="tok-t
eee0 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 ype">usize</span></code></th>...
ef00 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 ........<td><code.class="c">uint
ef20 70 74 72 5f 74 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 73 69 ptr_t</code>,.<code.class="c">si
ef40 7a 65 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 ze_t</code></td>...........<td>u
ef60 6e 73 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 73 69 7a 65 64 20 69 6e 74 65 67 65 72 2e 20 41 nsigned.pointer.sized.integer..A
ef80 6c 73 6f 20 73 65 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e lso.see.<a.href="https://github.
efa0 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 35 31 38 35 22 3e 23 35 31 com/ziglang/zig/issues/5185">#51
efc0 38 35 3c 2f 61 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 0a 20 20 20 20 20 85</a></td>.........</tr>.......
efe0 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 ...<tr>.............<th.scope="r
f000 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ow"><code><span.class="tok-type"
f020 3e 63 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 >c_char</span></code></th>......
f040 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 63 68 61 72 3c 2f 63 .....<td><code.class="c">char</c
f060 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 ode></td>...........<td>for.ABI.
f080 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 compatibility.with.C</td>.......
f0a0 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ..</tr>.........<tr>............
f0c0 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .<th.scope="row"><code><span.cla
f0e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ss="tok-type">c_short</span></co
f100 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 de></th>...........<td><code.cla
f120 73 73 3d 22 63 22 3e 73 68 6f 72 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 ss="c">short</code></td>........
f140 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 ...<td>for.ABI.compatibility.wit
f160 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c h.C</td>.........</tr>.........<
f180 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e tr>.............<th.scope="row">
f1a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 <code><span.class="tok-type">c_u
f1c0 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 short</span></code></th>........
f1e0 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 ...<td><code.class="c">unsigned.
f200 73 68 6f 72 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e short</code></td>...........<td>
f220 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 for.ABI.compatibility.with.C</td
f240 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 >.........</tr>.........<tr>....
f260 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c .........<th.scope="row"><code><
f280 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 span.class="tok-type">c_int</spa
f2a0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f n></code></th>...........<td><co
f2c0 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 de.class="c">int</code></td>....
f2e0 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 .......<td>for.ABI.compatibility
f300 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 .with.C</td>.........</tr>......
f320 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 ...<tr>.............<th.scope="r
f340 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ow"><code><span.class="tok-type"
f360 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 >c_uint</span></code></th>......
f380 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 .....<td><code.class="c">unsigne
f3a0 64 20 69 6e 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e d.int</code></td>...........<td>
f3c0 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 for.ABI.compatibility.with.C</td
f3e0 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 >.........</tr>.........<tr>....
f400 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c .........<th.scope="row"><code><
f420 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 span.class="tok-type">c_long</sp
f440 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
f460 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 ode.class="c">long</code></td>..
f480 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 .........<td>for.ABI.compatibili
f4a0 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 ty.with.C</td>.........</tr>....
f4c0 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d .....<tr>.............<th.scope=
f4e0 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 "row"><code><span.class="tok-typ
f500 65 22 3e 63 5f 75 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 e">c_ulong</span></code></th>...
f520 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 ........<td><code.class="c">unsi
f540 67 6e 65 64 20 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 gned.long</code></td>...........
f560 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 <td>for.ABI.compatibility.with.C
f580 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e </td>.........</tr>.........<tr>
f5a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f .............<th.scope="row"><co
f5c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 de><span.class="tok-type">c_long
f5e0 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 long</span></code></th>.........
f600 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 20 6c 6f 6e 67 3c ..<td><code.class="c">long.long<
f620 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 /code></td>...........<td>for.AB
f640 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 I.compatibility.with.C</td>.....
f660 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 ....</tr>.........<tr>..........
f680 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...<th.scope="row"><code><span.c
f6a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 lass="tok-type">c_ulonglong</spa
f6c0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f n></code></th>...........<td><co
f6e0 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 3c de.class="c">unsigned.long.long<
f700 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 /code></td>...........<td>for.AB
f720 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 I.compatibility.with.C</td>.....
f740 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 ....</tr>.........<tr>..........
f760 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...<th.scope="row"><code><span.c
f780 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 lass="tok-type">c_longdouble</sp
f7a0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
f7c0 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e ode.class="c">long.double</code>
f7e0 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 </td>...........<td>for.ABI.comp
f800 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f atibility.with.C</td>.........</
f820 74 72 3e 0a 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 tr>..........<tr>.............<t
f840 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d h.scope="row"><code><span.class=
f860 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 "tok-type">f16</span></code></th
f880 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e >...........<td><code.class="c">
f8a0 5f 46 6c 6f 61 74 31 36 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c _Float16</code></td>...........<
f8c0 74 64 3e 31 36 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 31 30 2d 62 69 74 td>16-bit.floating.point.(10-bit
f8e0 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 .mantissa).IEEE-754-2008.binary1
f900 36 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 6</td>.........</tr>.........<tr
f920 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 >.............<th.scope="row"><c
f940 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f ode><span.class="tok-type">f32</
f960 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e span></code></th>...........<td>
f980 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 66 6c 6f 61 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 <code.class="c">float</code></td
f9a0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 33 32 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 >...........<td>32-bit.floating.
f9c0 70 6f 69 6e 74 20 28 32 33 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 point.(23-bit.mantissa).IEEE-754
f9e0 2d 32 30 30 38 20 62 69 6e 61 72 79 33 32 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 -2008.binary32</td>.........</tr
fa00 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 >.........<tr>.............<th.s
fa20 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f cope="row"><code><span.class="to
fa40 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 k-type">f64</span></code></th>..
fa60 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 64 6f 75 .........<td><code.class="c">dou
fa80 62 6c 65 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 36 34 ble</code></td>...........<td>64
faa0 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 35 32 2d 62 69 74 20 6d 61 6e 74 -bit.floating.point.(52-bit.mant
fac0 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 36 34 3c 2f 74 64 issa).IEEE-754-2008.binary64</td
fae0 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 >.........</tr>.........<tr>....
fb00 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c .........<th.scope="row"><code><
fb20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 38 30 3c 2f 73 70 61 6e 3e span.class="tok-type">f80</span>
fb40 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 </code></th>...........<td><code
fb60 20 63 6c 61 73 73 3d 22 63 22 3e 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 .class="c">double</code></td>...
fb80 20 20 20 20 20 20 20 20 3c 74 64 3e 38 30 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e ........<td>80-bit.floating.poin
fba0 74 20 28 36 34 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 t.(64-bit.mantissa).IEEE-754-200
fbc0 38 20 38 30 2d 62 69 74 20 65 78 74 65 6e 64 65 64 20 70 72 65 63 69 73 69 6f 6e 3c 2f 74 64 3e 8.80-bit.extended.precision</td>
fbe0 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 .........</tr>.........<tr>.....
fc00 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 ........<th.scope="row"><code><s
fc20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e pan.class="tok-type">f128</span>
fc40 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f </code></th>.............<td><co
fc60 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 5f 46 6c 6f 61 74 31 32 38 3c 2f 63 6f 64 65 3e 3c 2f 74 de.class="c">_Float128</code></t
fc80 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 31 32 38 2d 62 69 74 20 66 6c 6f 61 74 69 6e d>...........<td>128-bit.floatin
fca0 67 20 70 6f 69 6e 74 20 28 31 31 32 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d g.point.(112-bit.mantissa).IEEE-
fcc0 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 32 38 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 754-2008.binary128</td>.........
fce0 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c </tr>.........<tr>.............<
fd00 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 th.scope="row"><code><span.class
fd20 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ="tok-type">bool</span></code></
fd40 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 th>...........<td><code.class="c
fd60 22 3e 62 6f 6f 6c 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 ">bool</code></td>...........<td
fd80 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 ><code><span.class="tok-null">tr
fda0 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ue</span></code>.or.<code><span.
fdc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 class="tok-null">false</span></c
fde0 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 ode></td>.........</tr>.........
fe00 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 <tr>.............<th.scope="row"
fe20 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e ><code><span.class="tok-type">an
fe40 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 yopaque</span></code></th>......
fe60 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 76 6f 69 64 3c 2f 63 .....<td><code.class="c">void</c
fe80 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 55 73 65 64 20 66 6f 72 ode></td>...........<td>Used.for
fea0 20 74 79 70 65 2d 65 72 61 73 65 64 20 70 6f 69 6e 74 65 72 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 .type-erased.pointers.</td>.....
fec0 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 ....</tr>.........<tr>..........
fee0 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...<th.scope="row"><code><span.c
ff00 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">void</span></cod
ff20 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 e></th>...........<td>(none)</td
ff40 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 41 6c 77 61 79 73 20 74 68 65 20 76 61 6c 75 65 >...........<td>Always.the.value
ff60 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f .<code><span.class="tok-type">vo
ff80 69 64 3c 2f 73 70 61 6e 3e 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 id</span>{}</code></td>.........
ffa0 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c </tr>.........<tr>.............<
ffc0 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 th.scope="row"><code><span.class
ffe0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ="tok-type">noreturn</span></cod
10000 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 e></th>...........<td>(none)</td
10020 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 >...........<td>the.type.of.<cod
10040 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 e><span.class="tok-kw">break</sp
10060 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an></code>,.<code><span.class="t
10080 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c ok-kw">continue</span></code>,.<
100a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e code><span.class="tok-kw">return
100c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 </span></code>,.<code><span.clas
100e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-kw">unreachable</span></c
10100 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ode>,.and.<code><span.class="tok
10120 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">while</span>.(<span.class="
10140 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 63 6f 64 65 3e tok-null">true</span>).{}</code>
10160 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e </td>.........</tr>.........<tr>
10180 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f .............<th.scope="row"><co
101a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f de><span.class="tok-type">type</
101c0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e span></code></th>...........<td>
101e0 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 74 68 65 20 74 79 (none)</td>...........<td>the.ty
10200 70 65 20 6f 66 20 74 79 70 65 73 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 pe.of.types</td>.........</tr>..
10220 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 .......<tr>.............<th.scop
10240 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 e="row"><code><span.class="tok-t
10260 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e ype">anyerror</span></code></th>
10280 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 ...........<td>(none)</td>......
102a0 20 20 20 20 20 3c 74 64 3e 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 74 64 3e 0a 20 20 20 20 .....<td>an.error.code</td>.....
102c0 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 ....</tr>.........<tr>..........
102e0 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...<th.scope="row"><code><span.c
10300 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 lass="tok-type">comptime_int</sp
10320 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e an></code></th>...........<td>(n
10340 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c one)</td>...........<td>Only.all
10360 6f 77 65 64 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d owed.for.<a.href="#comptime">com
10380 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 65 ptime</a>-known.values..The.type
103a0 20 6f 66 20 69 6e 74 65 67 65 72 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 .of.integer.literals.</td>......
103c0 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 ...</tr>.........<tr>...........
103e0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..<th.scope="row"><code><span.cl
10400 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 ass="tok-type">comptime_float</s
10420 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 pan></code></th>...........<td>(
10440 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c none)</td>...........<td>Only.al
10460 6c 6f 77 65 64 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f lowed.for.<a.href="#comptime">co
10480 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 mptime</a>-known.values..The.typ
104a0 65 20 6f 66 20 66 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 e.of.float.literals.</td>.......
104c0 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c ..</tr>.........</tbody>.......<
104e0 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 /table>.......</div>.......<p>..
10500 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 .....In.addition.to.the.integer.
10520 74 79 70 65 73 20 61 62 6f 76 65 2c 20 61 72 62 69 74 72 61 72 79 20 62 69 74 2d 77 69 64 74 68 types.above,.arbitrary.bit-width
10540 20 69 6e 74 65 67 65 72 73 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 75 .integers.can.be.referenced.by.u
10560 73 69 6e 67 0a 20 20 20 20 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 3c 63 6f 64 sing.......an.identifier.of.<cod
10580 65 3e 69 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f 63 6f 64 65 3e 20 66 6f 6c e>i</code>.or.<code>u</code>.fol
105a0 6c 6f 77 65 64 20 62 79 20 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 lowed.by.digits..For.example,.th
105c0 65 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 e.identifier.......<code><span.c
105e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e lass="tok-type">i7</span></code>
10600 20 72 65 66 65 72 73 20 74 6f 20 61 20 73 69 67 6e 65 64 20 37 2d 62 69 74 20 69 6e 74 65 67 65 .refers.to.a.signed.7-bit.intege
10620 72 2e 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 62 69 74 2d 77 69 64 74 68 r..The.maximum.allowed.bit-width
10640 20 6f 66 20 61 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f .of.an.......integer.type.is.<co
10660 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 de><span.class="tok-number">6553
10680 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 5</span></code>........</p>.....
106a0 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ..<p>See.also:</p><ul>.<li><a.hr
106c0 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e ef="#Integers">Integers</a></li>
106e0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 .<li><a.href="#Floats">Floats</a
10700 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c ></li>.<li><a.href="#void">void<
10720 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 /a></li>.<li><a.href="#Errors">E
10740 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 79 70 rrors</a></li>.<li><a.href="#Typ
10760 65 22 3e 40 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a e">@Type</a></li>.</ul>.........
10780 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e ......<h3.id="Primitive-Values">
107a0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e <a.href="#toc-Primitive-Values">
107c0 50 72 69 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Primitive.Values</a>.<a.class="h
107e0 64 72 22 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e c2 a7 3c dr".href="#Primitive-Values">..<
10800 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c /a></h3>........<div.class="tabl
10820 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 e-wrapper">.......<table>.......
10840 20 20 3c 63 61 70 74 69 6f 6e 3e 50 72 69 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 63 61 70 ..<caption>Primitive.Values</cap
10860 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 tion>.........<thead>.........<t
10880 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 4e 61 6d r>...........<th.scope="col">Nam
108a0 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 e</th>...........<th.scope="col"
108c0 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a >Description</th>.........</tr>.
108e0 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e ........</thead>.........<tbody>
10900 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 .........<tr>.............<th.sc
10920 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ope="row"><code><span.class="tok
10940 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 -null">true</span></code>.and.<c
10960 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 ode><span.class="tok-null">false
10980 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 </span></code></th>.............
109a0 3c 74 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 <td><code><span.class="tok-type"
109c0 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 73 3c 2f 74 64 3e 0a >bool</span></code>.values</td>.
109e0 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 ........</tr>.........<tr>......
10a00 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 .......<th.scope="row"><code><sp
10a20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c an.class="tok-null">null</span><
10a40 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 73 65 64 /code></th>.............<td>used
10a60 20 74 6f 20 73 65 74 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 20 74 6f 20 3c 63 6f 64 .to.set.an.optional.type.to.<cod
10a80 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 e><span.class="tok-null">null</s
10aa0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 pan></code></td>.........</tr>..
10ac0 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 .......<tr>.............<th.scop
10ae0 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e e="row"><code><span.class="tok-n
10b00 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 ull">undefined</span></code></th
10b20 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 73 65 64 20 74 6f 20 6c 65 61 76 65 20 61 20 >...........<td>used.to.leave.a.
10b40 76 61 6c 75 65 20 75 6e 73 70 65 63 69 66 69 65 64 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c value.unspecified</td>.........<
10b60 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 /tr>.........</tbody>.......</ta
10b80 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 ble>.......</div>.......<p>See.a
10ba0 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f lso:</p><ul>.<li><a.href="#Optio
10bc0 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 nals">Optionals</a></li>.<li><a.
10be0 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 3c href="#undefined">undefined</a><
10c00 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d /li>.</ul>...............<h3.id=
10c20 22 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 "String-Literals-and-Unicode-Cod
10c40 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d e-Point-Literals"><a.href="#toc-
10c60 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 String-Literals-and-Unicode-Code
10c80 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 53 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 -Point-Literals">String.Literals
10ca0 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 43 6f 64 65 20 50 6f 69 6e 74 20 4c 69 74 65 72 61 6c 73 .and.Unicode.Code.Point.Literals
10cc0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 72 69 6e </a>.<a.class="hdr".href="#Strin
10ce0 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e g-Literals-and-Unicode-Code-Poin
10d00 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c t-Literals">..</a></h3>........<
10d20 70 3e 0a 20 20 20 20 20 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 63 6f 6e p>.......String.literals.are.con
10d40 73 74 61 6e 74 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e stant.single-item.<a.href="#Poin
10d60 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 ters">Pointers</a>.to.null-termi
10d80 6e 61 74 65 64 20 62 79 74 65 20 61 72 72 61 79 73 2e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 nated.byte.arrays........The.typ
10da0 65 20 6f 66 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 65 6e 63 6f 64 65 73 20 62 6f 74 e.of.string.literals.encodes.bot
10dc0 68 20 74 68 65 20 6c 65 6e 67 74 68 2c 20 61 6e 64 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 h.the.length,.and.the.fact.that.
10de0 74 68 65 79 20 61 72 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 2c 0a 20 20 20 20 20 20 they.are.null-terminated,.......
10e00 61 6e 64 20 74 68 75 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 and.thus.they.can.be.<a.href="#T
10e20 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 62 6f 74 ype-Coercion">coerced</a>.to.bot
10e40 68 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 61 h.<a.href="#Slices">Slices</a>.a
10e60 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d nd.......<a.href="#Sentinel-Term
10e80 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 4e 75 6c 6c 2d 54 65 72 6d 69 6e 61 74 65 64 inated-Pointers">Null-Terminated
10ea0 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 44 65 72 65 66 65 72 65 6e 63 69 .Pointers</a>........Dereferenci
10ec0 6e 67 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 63 6f 6e 76 65 72 74 73 20 74 68 65 6d ng.string.literals.converts.them
10ee0 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e .to.<a.href="#Arrays">Arrays</a>
10f00 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 65 63 ........</p>.......<p>.......Bec
10f20 61 75 73 65 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 3c 61 20 68 72 65 66 3d ause.Zig.source.code.is.<a.href=
10f40 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 "#Source-Encoding">UTF-8.encoded
10f60 3c 2f 61 3e 2c 20 61 6e 79 0a 20 20 20 20 20 20 6e 6f 6e 2d 41 53 43 49 49 20 62 79 74 65 73 20 </a>,.any.......non-ASCII.bytes.
10f80 61 70 70 65 61 72 69 6e 67 20 77 69 74 68 69 6e 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 appearing.within.a.string.litera
10fa0 6c 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 61 72 72 79 0a 20 20 20 20 20 20 74 68 65 l.in.source.code.carry.......the
10fc0 69 72 20 55 54 46 2d 38 20 6d 65 61 6e 69 6e 67 20 69 6e 74 6f 20 74 68 65 20 63 6f 6e 74 65 6e ir.UTF-8.meaning.into.the.conten
10fe0 74 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 20 5a 69 67 20 70 72 6f 67 72 t.of.the.string.in.the.Zig.progr
11000 61 6d 3b 0a 20 20 20 20 20 20 74 68 65 20 62 79 74 65 73 20 61 72 65 20 6e 6f 74 20 6d 6f 64 69 am;.......the.bytes.are.not.modi
11020 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e 20 49 74 20 69 73 20 70 6f 73 73 fied.by.the.compiler..It.is.poss
11040 69 62 6c 65 20 74 6f 20 65 6d 62 65 64 0a 20 20 20 20 20 20 6e 6f 6e 2d 55 54 46 2d 38 20 62 79 ible.to.embed.......non-UTF-8.by
11060 74 65 73 20 69 6e 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 75 73 69 6e 67 20 tes.into.a.string.literal.using.
11080 3c 63 6f 64 65 3e 5c 78 4e 4e 3c 2f 63 6f 64 65 3e 20 6e 6f 74 61 74 69 6f 6e 2e 0a 20 20 20 20 <code>\xNN</code>.notation......
110a0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 64 65 78 69 6e 67 20 69 6e 74 6f 20 61 20 ..</p>.......<p>Indexing.into.a.
110c0 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6e 6f 6e 2d 41 53 43 49 49 20 62 79 74 65 string.containing.non-ASCII.byte
110e0 73 20 72 65 74 75 72 6e 73 20 69 6e 64 69 76 69 64 75 61 6c 0a 20 20 20 20 20 20 62 79 74 65 73 s.returns.individual.......bytes
11100 2c 20 77 68 65 74 68 65 72 20 76 61 6c 69 64 20 55 54 46 2d 38 20 6f 72 20 6e 6f 74 2e 3c 2f 70 ,.whether.valid.UTF-8.or.not.</p
11120 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 >.......<p>.......Unicode.code.p
11140 6f 69 6e 74 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 oint.literals.have.type.<code><s
11160 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e pan.class="tok-type">comptime_in
11180 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 t</span></code>,.the.same.as....
111a0 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 ...<a.href="#Integer-Literals">I
111c0 6e 74 65 67 65 72 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 2e 20 41 6c 6c 20 3c 61 20 68 72 65 66 nteger.Literals</a>..All.<a.href
111e0 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 75 ="#Escape-Sequences">Escape.Sequ
11200 65 6e 63 65 73 3c 2f 61 3e 20 61 72 65 20 76 61 6c 69 64 20 69 6e 20 62 6f 74 68 20 73 74 72 69 ences</a>.are.valid.in.both.stri
11220 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 20 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 63 6f ng.literals.......and.Unicode.co
11240 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 de.point.literals........</p>...
11260 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a ....<figure><figcaption.class="z
11280 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 69 6e ig-cap"><cite.class="file">strin
112a0 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f g_literals.zig</cite></figcaptio
112c0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
112e0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ">const</span>.print.=.<span.cla
11300 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@import</span>(
11320 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 <span.class="tok-str">&quot;std&
11340 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 3c 73 70 61 6e quot;</span>).debug.print;.<span
11360 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d .class="tok-kw">const</span>.mem
11380 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d .=.<span.class="tok-builtin">@im
113a0 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 port</span>(<span.class="tok-str
113c0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 20 3c ">&quot;std&quot;</span>).mem;.<
113e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 6c 6c span.class="tok-comment">//.will
11400 20 62 65 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 79 74 65 73 3c 2f 73 70 61 6e 3e .be.used.to.compare.bytes</span>
11420 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e ..<span.class="tok-kw">pub</span
11440 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">fn</span>
11460 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e .<span.class="tok-fn">main</span
11480 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c >().<span.class="tok-type">void<
114a0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
114c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ">const</span>.bytes.=.<span.cla
114e0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;hello&quot;</
11500 73 70 61 6e 3e 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>;.....print(<span.class="to
11520 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 k-str">&quot;{}\n&quot;</span>,.
11540 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 .{<span.class="tok-builtin">@Typ
11560 65 4f 66 3c 2f 73 70 61 6e 3e 28 62 79 74 65 73 29 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 eOf</span>(bytes)});............
11580 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 .......<span.class="tok-comment"
115a0 3e 2f 2f 20 2a 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 >//.*const.[5:0]u8</span>.....pr
115c0 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b int(<span.class="tok-str">&quot;
115e0 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 2e 6c 65 6e 7d {d}\n&quot;</span>,..{bytes.len}
11600 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 );.......................<span.c
11620 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 35 3c 2f 73 70 61 6e 3e 0a 20 lass="tok-comment">//.5</span>..
11640 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ...print(<span.class="tok-str">&
11660 71 75 6f 74 3b 7b 63 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 quot;{c}\n&quot;</span>,..{bytes
11680 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 [<span.class="tok-number">1</spa
116a0 6e 3e 5d 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 n>]});........................<s
116c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 27 65 27 3c 2f pan.class="tok-comment">//.'e'</
116e0 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.....print(<span.class="tok
11700 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 -str">&quot;{d}\n&quot;</span>,.
11720 2e 7b 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 .{bytes[<span.class="tok-number"
11740 3e 35 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >5</span>]});...................
11760 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
11780 2f 20 30 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 /.0</span>.....print(<span.class
117a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 ="tok-str">&quot;{}\n&quot;</spa
117c0 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c n>,..{<span.class="tok-str">'e'<
117e0 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e /span>.==.<span.class="tok-str">
11800 27 5c 78 36 35 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 '\x65'</span>});................
11820 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
11840 20 74 72 75 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 .true</span>.....print(<span.cla
11860 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;{d}\n&quot;</
11880 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 span>,..{<span.class="tok-str">'
118a0 5c 75 7b 31 66 34 61 39 7d 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 \u{1f4a9}'</span>});............
118c0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e .........<span.class="tok-commen
118e0 74 22 3e 2f 2f 20 31 32 38 31 36 39 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 t">//.128169</span>.....print(<s
11900 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c 6e 26 pan.class="tok-str">&quot;{d}\n&
11920 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b quot;</span>,..{<span.class="tok
11940 2d 73 74 72 22 3e 27 f0 9f 92 af 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 20 20 20 20 20 20 20 20 20 -str">'....'</span>});..........
11960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..................<span.class="t
11980 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 31 32 38 31 37 35 3c 2f 73 70 61 6e 3e 0a 20 20 20 ok-comment">//.128175</span>....
119a0 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .print(<span.class="tok-str">&qu
119c0 6f 74 3b 7b 75 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 ot;{u}\n&quot;</span>,..{<span.c
119e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 e2 9a a1 27 3c 2f 73 70 61 6e 3e 7d 29 3b 0a 20 lass="tok-str">'...'</span>});..
11a00 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ...print(<span.class="tok-str">&
11a20 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6d 65 6d 2e 65 71 quot;{}\n&quot;</span>,..{mem.eq
11a40 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 l(<span.class="tok-type">u8</spa
11a60 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b n>,.<span.class="tok-str">&quot;
11a80 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d hello&quot;</span>,.<span.class=
11aa0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 5c 78 36 35 6c 6c 6f 26 71 75 6f 74 3b 3c 2f "tok-str">&quot;h\x65llo&quot;</
11ac0 73 70 61 6e 3e 29 7d 29 3b 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>)});......<span.class="tok-
11ae0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 72 75 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 72 69 6e comment">//.true</span>.....prin
11b00 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d t(<span.class="tok-str">&quot;{}
11b20 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e \n&quot;</span>,..{mem.eql(<span
11b40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-type">u8</span>,.<sp
11b60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b f0 9f 92 af 26 71 75 an.class="tok-str">&quot;....&qu
11b80 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ot;</span>,.<span.class="tok-str
11ba0 22 3e 26 71 75 6f 74 3b 5c 78 66 30 5c 78 39 66 5c 78 39 32 5c 78 61 66 26 71 75 6f 74 3b 3c 2f ">&quot;\xf0\x9f\x92\xaf&quot;</
11bc0 73 70 61 6e 3e 29 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 span>)});.<span.class="tok-comme
11be0 6e 74 22 3e 2f 2f 20 61 6c 73 6f 20 74 72 75 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 nt">//.also.true</span>.....<spa
11c00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e n.class="tok-kw">const</span>.in
11c20 76 61 6c 69 64 5f 75 74 66 38 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 valid_utf8.=.<span.class="tok-st
11c40 72 22 3e 26 71 75 6f 74 3b 5c 78 66 66 5c 78 66 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 20 r">&quot;\xff\xfe&quot;</span>;.
11c60 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
11c80 2f 20 6e 6f 6e 2d 55 54 46 2d 38 20 73 74 72 69 6e 67 73 20 61 72 65 20 70 6f 73 73 69 62 6c 65 /.non-UTF-8.strings.are.possible
11ca0 20 77 69 74 68 20 5c 78 4e 4e 20 6e 6f 74 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 .with.\xNN.notation.</span>.....
11cc0 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f print(<span.class="tok-str">&quo
11ce0 74 3b 30 78 7b 78 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 69 6e 76 61 6c 69 t;0x{x}\n&quot;</span>,..{invali
11d00 64 5f 75 74 66 38 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e d_utf8[<span.class="tok-number">
11d20 31 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 1</span>]});.<span.class="tok-co
11d40 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 64 65 78 69 6e 67 20 74 68 65 6d 20 72 65 74 75 72 6e 73 20 mment">//.indexing.them.returns.
11d60 69 6e 64 69 76 69 64 75 61 6c 20 62 79 74 65 73 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 individual.bytes...</span>.....p
11d80 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 rint(<span.class="tok-str">&quot
11da0 3b 30 78 7b 78 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 ;0x{x}\n&quot;</span>,..{<span.c
11dc0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b f0 9f 92 af 26 71 75 6f 74 3b 3c lass="tok-str">&quot;....&quot;<
11de0 2f 73 70 61 6e 3e 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e /span>[<span.class="tok-number">
11e00 31 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 1</span>]});....<span.class="tok
11e20 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 61 73 20 64 6f 65 73 20 69 6e 64 65 78 69 6e 67 -comment">//....as.does.indexing
11e40 20 70 61 72 74 2d 77 61 79 20 74 68 72 6f 75 67 68 20 6e 6f 6e 2d 41 53 43 49 49 20 63 68 61 72 .part-way.through.non-ASCII.char
11e60 61 63 74 65 72 73 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 acters</span>.}</code></pre></fi
11e80 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 gure><figure><figcaption.class="
11ea0 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 shell-cap">Shell</figcaption><pr
11ec0 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 74 72 e><samp>$.<kbd>zig.build-exe.str
11ee0 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f ing_literals.zig</kbd>.$.<kbd>./
11f00 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 3c 2f 6b 62 64 3e 0a 2a 63 6f 6e 73 74 20 5b 35 3a string_literals</kbd>.*const.[5:
11f20 30 5d 75 38 0a 35 0a 65 0a 30 0a 74 72 75 65 0a 31 32 38 31 36 39 0a 31 32 38 31 37 35 0a e2 9a 0]u8.5.e.0.true.128169.128175...
11f40 a1 0a 74 72 75 65 0a 74 72 75 65 0a 30 78 66 65 0a 30 78 39 66 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 ..true.true.0xfe.0x9f.</samp></p
11f60 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c re></figure>.......<p>See.also:<
11f80 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 /p><ul>.<li><a.href="#Arrays">Ar
11fa0 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 rays</a></li>.<li><a.href="#Sour
11fc0 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e ce-Encoding">Source.Encoding</a>
11fe0 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 45 73 63 61 70 </li>.</ul>........<h4.id="Escap
12000 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 73 63 61 70 e-Sequences"><a.href="#toc-Escap
12020 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 61 e-Sequences">Escape.Sequences</a
12040 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 2d 53 >.<a.class="hdr".href="#Escape-S
12060 65 71 75 65 6e 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 64 69 equences">..</a></h4>........<di
12080 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c v.class="table-wrapper">.......<
120a0 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 45 73 63 61 70 65 20 53 table>.........<caption>Escape.S
120c0 65 71 75 65 6e 63 65 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 equences</caption>.........<thea
120e0 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 d>.........<tr>...........<th.sc
12100 6f 70 65 3d 22 63 6f 6c 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 3c 2f 74 68 3e 0a 20 ope="col">Escape.Sequence</th>..
12120 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 4e 61 6d 65 3c 2f 74 .........<th.scope="col">Name</t
12140 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 h>.........</tr>.........</thead
12160 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 >.........<tbody>.........<tr>..
12180 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 ...........<th.scope="row"><code
121a0 3e 5c 6e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4e 65 >\n</code></th>...........<td>Ne
121c0 77 6c 69 6e 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 wline</td>.........</tr>........
121e0 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 .<tr>.............<th.scope="row
12200 22 3e 3c 63 6f 64 65 3e 5c 72 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 "><code>\r</code></th>..........
12220 20 3c 74 64 3e 43 61 72 72 69 61 67 65 20 52 65 74 75 72 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 .<td>Carriage.Return</td>.......
12240 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ..</tr>.........<tr>............
12260 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 74 3c 2f 63 6f 64 65 3e .<th.scope="row"><code>\t</code>
12280 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 54 61 62 3c 2f 74 64 3e 0a 20 20 20 </th>...........<td>Tab</td>....
122a0 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 .....</tr>.........<tr>.........
122c0 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 5c 3c 2f 63 6f ....<th.scope="row"><code>\\</co
122e0 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 61 63 6b 73 6c 61 73 68 de></th>...........<td>Backslash
12300 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e </td>.........</tr>.........<tr>
12320 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f .............<th.scope="row"><co
12340 64 65 3e 5c 27 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e de>\'</code></th>...........<td>
12360 53 69 6e 67 6c 65 20 51 75 6f 74 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a Single.Quote</td>.........</tr>.
12380 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f ........<tr>.............<th.sco
123a0 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 22 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 pe="row"><code>\"</code></th>...
123c0 20 20 20 20 20 20 20 20 3c 74 64 3e 44 6f 75 62 6c 65 20 51 75 6f 74 65 3c 2f 74 64 3e 0a 20 20 ........<td>Double.Quote</td>...
123e0 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 ......</tr>.........<tr>........
12400 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 78 4e 4e 3c .....<th.scope="row"><code>\xNN<
12420 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 68 65 78 61 64 65 /code></th>...........<td>hexade
12440 63 69 6d 61 6c 20 38 2d 62 69 74 20 62 79 74 65 20 76 61 6c 75 65 20 28 32 20 64 69 67 69 74 73 cimal.8-bit.byte.value.(2.digits
12460 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 )</td>.........</tr>.........<tr
12480 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 >.............<th.scope="row"><c
124a0 6f 64 65 3e 5c 75 7b 4e 4e 4e 4e 4e 4e 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 ode>\u{NNNNNN}</code></th>......
124c0 20 20 20 20 20 3c 74 64 3e 68 65 78 61 64 65 63 69 6d 61 6c 20 55 6e 69 63 6f 64 65 20 63 6f 64 .....<td>hexadecimal.Unicode.cod
124e0 65 20 70 6f 69 6e 74 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 28 31 20 6f 72 20 6d 6f 72 65 e.point.UTF-8.encoded.(1.or.more
12500 20 64 69 67 69 74 73 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 .digits)</td>.........</tr>.....
12520 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 ....</tbody>.......</table>.....
12540 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 ..</div>.......<p>Note.that.the.
12560 6d 61 78 69 6d 75 6d 20 76 61 6c 69 64 20 55 6e 69 63 6f 64 65 20 70 6f 69 6e 74 20 69 73 20 3c maximum.valid.Unicode.point.is.<
12580 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 code><span.class="tok-number">0x
125a0 31 30 66 66 66 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 10ffff</span></code>.</p>.......
125c0 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d .......<h4.id="Multiline-String-
125e0 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 75 6c 74 69 6c 69 6e Literals"><a.href="#toc-Multilin
12600 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 3e 4d 75 6c 74 69 6c 69 6e 65 20 53 74 72 e-String-Literals">Multiline.Str
12620 69 6e 67 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 ing.Literals</a>.<a.class="hdr".
12640 68 72 65 66 3d 22 23 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 href="#Multiline-String-Literals
12660 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d ">..</a></h4>........<p>.......M
12680 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 6e 6f ultiline.string.literals.have.no
126a0 20 65 73 63 61 70 65 73 20 61 6e 64 20 63 61 6e 20 73 70 61 6e 20 61 63 72 6f 73 73 20 6d 75 6c .escapes.and.can.span.across.mul
126c0 74 69 70 6c 65 20 6c 69 6e 65 73 2e 0a 20 20 20 20 20 20 54 6f 20 73 74 61 72 74 20 61 20 6d 75 tiple.lines........To.start.a.mu
126e0 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2c 20 75 73 65 20 74 68 65 20 ltiline.string.literal,.use.the.
12700 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f <code><span.class="tok-str">\\</
12720 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 6b 65 6e 2e 20 4a 75 73 74 20 6c 69 6b 65 20 61 20 span></code>.token..Just.like.a.
12740 63 6f 6d 6d 65 6e 74 2c 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 comment,.......the.string.litera
12760 6c 20 67 6f 65 73 20 75 6e 74 69 6c 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 l.goes.until.the.end.of.the.line
12780 2e 20 54 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 20 69 73 0a 20 20 20 20 20 20 6e ..The.end.of.the.line.is.......n
127a0 6f 74 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 ot.included.in.the.string.litera
127c0 6c 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 6e 65 78 74 20 6c 69 l........However,.if.the.next.li
127e0 6e 65 20 62 65 67 69 6e 73 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ne.begins.with.<code><span.class
12800 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e ="tok-str">\\</span></code>.then
12820 20 61 20 6e 65 77 6c 69 6e 65 20 69 73 20 61 70 70 65 6e 64 65 64 20 61 6e 64 0a 20 20 20 20 20 .a.newline.is.appended.and......
12840 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 63 6f 6e 74 69 6e 75 65 73 2e 0a 20 .the.string.literal.continues...
12860 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 .....</p>.......<figure><figcapt
12880 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
128a0 22 66 69 6c 65 22 3e 6d 75 6c 74 69 6c 69 6e 65 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 "file">multiline_string_literals
128c0 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
128e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
12900 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 5f 69 6e 5f 63 20 3d 0a 20 20 20 20 3c 73 70 61 pan>.hello_world_in_c.=.....<spa
12920 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 23 69 6e 63 6c 75 64 65 20 26 6c 74 n.class="tok-str">\\#include.&lt
12940 3b 73 74 64 69 6f 2e 68 26 67 74 3b 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c ;stdio.h&gt;.</span>....<span.cl
12960 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 61 ass="tok-str">\\.</span>....<spa
12980 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 69 6e 74 20 6d 61 69 6e 28 69 6e 74 n.class="tok-str">\\int.main(int
129a0 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 0a 3c 2f 73 70 61 6e 3e 20 20 20 .argc,.char.**argv).{.</span>...
129c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 20 20 70 72 69 .<span.class="tok-str">\\....pri
129e0 6e 74 66 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 29 3b 0a ntf(&quot;hello.world\n&quot;);.
12a00 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 </span>....<span.class="tok-str"
12a20 3e 5c 5c 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 61 >\\....return.0;.</span>....<spa
12a40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 7d 0a 3c 2f 73 70 61 6e 3e 3b 3c 2f n.class="tok-str">\\}.</span>;</
12a60 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 code></pre></figure>.......<p>Se
12a80 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6d e.also:</p><ul>.<li><a.href="#em
12aa0 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 bedFile">@embedFile</a></li>.</u
12ac0 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 l>......................<h3.id="
12ae0 41 73 73 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 73 69 67 6e Assignment"><a.href="#toc-Assign
12b00 6d 65 6e 74 22 3e 41 73 73 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ment">Assignment</a>.<a.class="h
12b20 64 72 22 20 68 72 65 66 3d 22 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 dr".href="#Assignment">..</a></h
12b40 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 3>........<p>Use.the.<code><span
12b60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="tok-kw">const</span></co
12b80 64 65 3e 20 6b 65 79 77 6f 72 64 20 74 6f 20 61 73 73 69 67 6e 20 61 20 76 61 6c 75 65 20 74 6f de>.keyword.to.assign.a.value.to
12ba0 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 .an.identifier:</p>.......<figur
12bc0 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
12be0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 ite.class="file">constant_identi
12c00 66 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 fier_cannot_change.zig</cite></f
12c20 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><code><span.class
12c40 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e ="tok-kw">const</span>.x.=.<span
12c60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b .class="tok-number">1234</span>;
12c80 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
12ca0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e .<span.class="tok-fn">foo</span>
12cc0 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f ().<span.class="tok-type">void</
12ce0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d span>.{.....<span.class="tok-com
12d00 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 77 6f 72 6b 73 20 61 74 20 66 69 6c 65 20 73 63 6f 70 65 20 ment">//.It.works.at.file.scope.
12d20 61 73 20 77 65 6c 6c 20 61 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 73 70 as.well.as.inside.functions.</sp
12d40 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e an>.....<span.class="tok-kw">con
12d60 73 74 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e st</span>.y.=.<span.class="tok-n
12d80 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 umber">5678</span>;......<span.c
12da0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 63 65 20 61 73 73 69 67 lass="tok-comment">//.Once.assig
12dc0 6e 65 64 2c 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 63 61 6e 6e 6f 74 20 62 65 20 63 68 61 ned,.an.identifier.cannot.be.cha
12de0 6e 67 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 nged.</span>.....y.+=.<span.clas
12e00 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 s="tok-number">1</span>;.}..<spa
12e20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 n.class="tok-kw">pub</span>.<spa
12e40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e n.class="tok-kw">fn</span>.<span
12e60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 .class="tok-fn">main</span>().<s
12e80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e pan.class="tok-type">void</span>
12ea0 20 7b 0a 20 20 20 20 66 6f 6f 28 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 .{.....foo();.}</code></pre></fi
12ec0 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 gure><figure><figcaption.class="
12ee0 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 shell-cap">Shell</figcaption><pr
12f00 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 6f 6e e><samp>$.<kbd>zig.build-exe.con
12f20 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e 7a stant_identifier_cannot_change.z
12f40 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 6f ig</kbd>.<span.class="sgr-1m">co
12f60 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e nstant_identifier_cannot_change.
12f80 7a 69 67 3a 38 3a 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 zig:8:7:.</span><span.class="sgr
12fa0 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d -31m">error:.</span><span.class=
12fc0 22 73 67 72 2d 31 6d 22 3e 63 61 6e 6e 6f 74 20 61 73 73 69 67 6e 20 74 6f 20 63 6f 6e 73 74 61 "sgr-1m">cannot.assign.to.consta
12fe0 6e 74 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 79 20 2b 3d 20 31 3b 0a 20 20 20 20 3c 73 70 61 6e 20 nt.</span>....y.+=.1;.....<span.
13000 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 5e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 class="sgr-32m">~~^~~~.</span><s
13020 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 pan.class="sgr-2m">referenced.by
13040 3a 0a 20 20 20 20 6d 61 69 6e 3a 20 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 72 5f :.....main:.constant_identifier_
13060 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3a 31 32 3a 35 0a 20 20 20 20 63 61 6c 6c 4d cannot_change.zig:12:5.....callM
13080 61 69 6e 3a 20 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f ain:./home/ci/actions-runner/_wo
130a0 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 rk/zig-bootstrap/out/host/lib/zi
130c0 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 31 37 0a 20 20 20 20 72 65 6d 61 69 g/std/start.zig:501:17.....remai
130e0 6e 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 ning.reference.traces.hidden;.us
13100 65 20 27 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c e.'-freference-trace'.to.see.all
13120 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 .reference.traces.</span>.</samp
13140 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e ></pre></figure>.......<p><code>
13160 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
13180 3e 3c 2f 63 6f 64 65 3e 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6c 6c 20 6f 66 20 74 68 65 20 62 ></code>.applies.to.all.of.the.b
131a0 79 74 65 73 20 74 68 61 74 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 6d 6d 65 64 69 61 ytes.that.the.identifier.immedia
131c0 74 65 6c 79 20 61 64 64 72 65 73 73 65 73 2e 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 tely.addresses..<a.href="#Pointe
131e0 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 68 61 76 65 20 74 68 65 69 72 20 6f 77 6e 20 rs">Pointers</a>.have.their.own.
13200 63 6f 6e 73 74 2d 6e 65 73 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 79 6f 75 20 const-ness.</p>.......<p>If.you.
13220 6e 65 65 64 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 6d 6f 64 need.a.variable.that.you.can.mod
13240 69 66 79 2c 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ify,.use.the.<code><span.class="
13260 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 tok-kw">var</span></code>.keywor
13280 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e d:</p>.......<figure><figcaption
132a0 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="zig-cap"><cite.class="fi
132c0 6c 65 22 3e 6d 75 74 61 62 6c 65 5f 76 61 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 le">mutable_var.zig</cite></figc
132e0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
13300 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 ok-kw">const</span>.print.=.<spa
13320 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 n.class="tok-builtin">@import</s
13340 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>(<span.class="tok-str">&quot
13360 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a ;std&quot;</span>).debug.print;.
13380 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">pub</span>
133a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">fn</span>.
133c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e <span.class="tok-fn">main</span>
133e0 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f ().<span.class="tok-type">void</
13400 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
13420 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.y:.<span.class="tok-
13440 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">i32</span>.=.<span.class="
13460 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 79 20 tok-number">5678</span>;......y.
13480 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 +=.<span.class="tok-number">1</s
134a0 70 61 6e 3e 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>;......print(<span.class="to
134c0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e k-str">&quot;{d}&quot;</span>,..
134e0 7b 79 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 {y});.}</code></pre></figure><fi
13500 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
13520 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
13540 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 6d 75 74 61 62 6c 65 5f 76 61 72 $.<kbd>zig.build-exe.mutable_var
13560 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 6d 75 74 61 62 6c 65 5f 76 61 72 3c .zig</kbd>.$.<kbd>./mutable_var<
13580 2f 6b 62 64 3e 0a 35 36 37 39 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 /kbd>.5679.</samp></pre></figure
135a0 3e 0a 20 20 20 20 20 20 3c 70 3e 56 61 72 69 61 62 6c 65 73 20 6d 75 73 74 20 62 65 20 69 6e 69 >.......<p>Variables.must.be.ini
135c0 74 69 61 6c 69 7a 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 tialized:</p>.......<figure><fig
135e0 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c caption.class="zig-cap"><cite.cl
13600 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 5f 6d 75 73 74 5f 62 65 5f 69 6e 69 74 69 61 6c 69 7a ass="file">var_must_be_initializ
13620 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ed.zig</cite></figcaption><pre><
13640 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 code><span.class="tok-kw">pub</s
13660 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 pan>.<span.class="tok-kw">fn</sp
13680 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 an>.<span.class="tok-fn">main</s
136a0 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f pan>().<span.class="tok-type">vo
136c0 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b id</span>.{.....<span.class="tok
136e0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">var</span>.x:.<span.class="
13700 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 78 20 3d 20 3c tok-type">i32</span>;......x.=.<
13720 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e span.class="tok-number">1</span>
13740 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
13760 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 ><figcaption.class="shell-cap">S
13780 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
137a0 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 76 61 72 5f 6d 75 73 74 5f 62 65 5f 69 6e 69 bd>zig.build-exe.var_must_be_ini
137c0 74 69 61 6c 69 7a 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tialized.zig</kbd>.<span.class="
137e0 73 67 72 2d 31 6d 22 3e 76 61 72 5f 6d 75 73 74 5f 62 65 5f 69 6e 69 74 69 61 6c 69 7a 65 64 2e sgr-1m">var_must_be_initialized.
13800 7a 69 67 3a 32 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 zig:2:15:.</span><span.class="sg
13820 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 r-31m">error:.</span><span.class
13840 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 65 63 74 65 64 20 27 3d 27 2c 20 66 6f 75 6e 64 20 27 3b ="sgr-1m">expected.'=',.found.';
13860 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 76 61 72 20 78 3a 20 69 33 32 3b 0a 20 20 20 20 20 20 20 '.</span>....var.x:.i32;........
13880 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 0a 3c .......<span.class="sgr-32m">^.<
138a0 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 /span>.</samp></pre></figure>...
138c0 20 20 20 20 3c 68 34 20 69 64 3d 22 75 6e 64 65 66 69 6e 65 64 22 3e 3c 61 20 68 72 65 66 3d 22 ....<h4.id="undefined"><a.href="
138e0 23 74 6f 63 2d 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 #toc-undefined">undefined</a>.<a
13900 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e c2 .class="hdr".href="#undefined">.
13920 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 73 65 20 3c 63 6f 64 65 3e 3c .</a></h4>........<p>Use.<code><
13940 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c span.class="tok-null">undefined<
13960 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6c 65 61 76 65 20 76 61 72 69 61 62 6c 65 73 /span></code>.to.leave.variables
13980 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 .uninitialized:</p>.......<figur
139a0 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
139c0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 6e 65 ite.class="file">assign_undefine
139e0 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 d.zig</cite></figcaption><pre><c
13a00 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
13a20 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 span>.print.=.<span.class="tok-b
13a40 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@import</span>(<span.cla
13a60 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 ss="tok-str">&quot;std&quot;</sp
13a80 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>).debug.print;..<span.class="
13aa0 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tok-kw">pub</span>.<span.class="
13ac0 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tok-kw">fn</span>.<span.class="t
13ae0 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-fn">main</span>().<span.class
13b00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ="tok-type">void</span>.{.....<s
13b20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a pan.class="tok-kw">var</span>.x:
13b40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 .<span.class="tok-type">i32</spa
13b60 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 n>.=.<span.class="tok-null">unde
13b80 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 fined</span>;.....x.=.<span.clas
13ba0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 70 72 69 s="tok-number">1</span>;.....pri
13bc0 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b nt(<span.class="tok-str">&quot;{
13be0 64 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e d}&quot;</span>,..{x});.}</code>
13c00 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 </pre></figure><figure><figcapti
13c20 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 on.class="shell-cap">Shell</figc
13c40 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 aption><pre><samp>$.<kbd>zig.bui
13c60 6c 64 2d 65 78 65 20 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 6e 65 64 2e 7a 69 67 3c 2f 6b 62 64 ld-exe.assign_undefined.zig</kbd
13c80 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 6e 65 64 3c 2f 6b 62 64 >.$.<kbd>./assign_undefined</kbd
13ca0 3e 0a 31 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 >.1.</samp></pre></figure>......
13cc0 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .<p>.......<code><span.class="to
13ce0 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 k-null">undefined</span></code>.
13d00 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e can.be.<a.href="#Type-Coercion">
13d20 63 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 coerced</a>.to.any.type.........
13d40 20 20 20 4f 6e 63 65 20 74 68 69 73 20 68 61 70 70 65 6e 73 2c 20 69 74 20 69 73 20 6e 6f 20 6c ...Once.this.happens,.it.is.no.l
13d60 6f 6e 67 65 72 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 64 65 74 65 63 74 20 74 68 61 74 20 74 68 onger.possible.to.detect.that.th
13d80 65 20 76 61 6c 75 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e.value.is.<code><span.class="to
13da0 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e k-null">undefined</span></code>.
13dc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ...............<code><span.class
13de0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ="tok-null">undefined</span></co
13e00 64 65 3e 20 6d 65 61 6e 73 20 74 68 65 20 76 61 6c 75 65 20 63 6f 75 6c 64 20 62 65 20 61 6e 79 de>.means.the.value.could.be.any
13e20 74 68 69 6e 67 2c 20 65 76 65 6e 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f thing,.even.something.that.is.no
13e40 6e 73 65 6e 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 6f 72 64 69 nsense...................accordi
13e60 6e 67 20 74 6f 20 74 68 65 20 74 79 70 65 2e 20 54 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 ng.to.the.type..Translated.into.
13e80 45 6e 67 6c 69 73 68 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d English,.<code><span.class="tok-
13ea0 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 null">undefined</span></code>.me
13ec0 61 6e 73 20 22 4e 6f 74 20 61 20 6d 65 61 6e 69 6e 67 66 75 6c 0a 20 20 20 20 20 20 76 61 6c 75 ans."Not.a.meaningful.......valu
13ee0 65 2e 20 55 73 69 6e 67 20 74 68 69 73 20 76 61 6c 75 65 20 77 6f 75 6c 64 20 62 65 20 61 20 62 e..Using.this.value.would.be.a.b
13f00 75 67 2e 20 54 68 65 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 75 6e 75 73 65 64 2c 20 6f 72 ug..The.value.will.be.unused,.or
13f20 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 65 66 6f 72 65 20 62 65 69 6e 67 20 75 73 65 64 2e 22 .overwritten.before.being.used."
13f40 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c .......</p>.......<p>.......In.<
13f60 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 6d 6f 64 65 2c 20 a.href="#Debug">Debug</a>.mode,.
13f80 5a 69 67 20 77 72 69 74 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f Zig.writes.<code><span.class="to
13fa0 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 79 74 k-number">0xaa</span></code>.byt
13fc0 65 73 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 2e 20 54 68 69 73 20 69 73 20 es.to.undefined.memory..This.is.
13fe0 74 6f 20 63 61 74 63 68 0a 20 20 20 20 20 20 62 75 67 73 20 65 61 72 6c 79 2c 20 61 6e 64 20 74 to.catch.......bugs.early,.and.t
14000 6f 20 68 65 6c 70 20 64 65 74 65 63 74 20 75 73 65 20 6f 66 20 75 6e 64 65 66 69 6e 65 64 20 6d o.help.detect.use.of.undefined.m
14020 65 6d 6f 72 79 20 69 6e 20 61 20 64 65 62 75 67 67 65 72 2e 20 48 6f 77 65 76 65 72 2c 20 74 68 emory.in.a.debugger..However,.th
14040 69 73 20 62 65 68 61 76 69 6f 72 20 69 73 20 6f 6e 6c 79 20 61 6e 0a 20 20 20 20 20 20 69 6d 70 is.behavior.is.only.an.......imp
14060 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66 65 61 74 75 72 65 2c 20 6e 6f 74 20 61 20 6c 61 6e 67 75 lementation.feature,.not.a.langu
14080 61 67 65 20 73 65 6d 61 6e 74 69 63 2c 20 73 6f 20 69 74 20 69 73 20 6e 6f 74 20 67 75 61 72 61 age.semantic,.so.it.is.not.guara
140a0 6e 74 65 65 64 20 74 6f 20 62 65 20 6f 62 73 65 72 76 61 62 6c 65 20 74 6f 20 63 6f 64 65 2e 0a nteed.to.be.observable.to.code..
140c0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a ......</p>......................
140e0 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 54 65 73 74 22 3e 3c 61 20 68 72 65 66 3d ......<h2.id="Zig-Test"><a.href=
14100 22 23 74 6f 63 2d 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 20 3c 61 20 "#toc-Zig-Test">Zig.Test</a>.<a.
14120 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 54 65 73 74 22 3e c2 a7 3c class="hdr".href="#Zig-Test">..<
14140 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 43 6f 64 65 /a></h2>........<p>.........Code
14160 20 77 72 69 74 74 65 6e 20 77 69 74 68 69 6e 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 3c 63 6f 64 .written.within.one.or.more.<cod
14180 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 e><span.class="tok-kw">test</spa
141a0 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 n></code>.declarations.can.be.us
141c0 65 64 20 74 6f 20 65 6e 73 75 72 65 20 62 65 68 61 76 69 6f 72 20 6d 65 65 74 73 20 65 78 70 65 ed.to.ensure.behavior.meets.expe
141e0 63 74 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 ctations:.......</p>.......<figu
14200 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
14220 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f 64 cite.class="file">testing_introd
14240 75 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 uction.zig</cite></figcaption><p
14260 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
14280 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nst</span>.std.=.<span.class="to
142a0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-builtin">@import</span>(<span.
142c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c class="tok-str">&quot;std&quot;<
142e0 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 /span>);..<span.class="tok-kw">t
14300 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 est</span>.<span.class="tok-str"
14320 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 74 6f >&quot;expect.addOne.adds.one.to
14340 20 34 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c .41&quot;</span>.{......<span.cl
14360 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 53 74 61 6e 64 61 72 ass="tok-comment">//.The.Standar
14380 64 20 4c 69 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 73 20 75 73 65 66 75 6c 20 66 75 6e 63 74 69 d.Library.contains.useful.functi
143a0 6f 6e 73 20 74 6f 20 68 65 6c 70 20 63 72 65 61 74 65 20 74 65 73 74 73 2e 3c 2f 73 70 61 6e 3e ons.to.help.create.tests.</span>
143c0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
143e0 2f 20 60 65 78 70 65 63 74 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 76 65 /.`expect`.is.a.function.that.ve
14400 72 69 66 69 65 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 72 75 65 2e 3c 2f 73 70 rifies.its.argument.is.true.</sp
14420 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 an>.....<span.class="tok-comment
14440 22 3e 2f 2f 20 49 74 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 69 66 20 ">//.It.will.return.an.error.if.
14460 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 66 61 6c 73 65 20 74 6f 20 69 6e 64 69 63 61 74 its.argument.is.false.to.indicat
14480 65 20 61 20 66 61 69 6c 75 72 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c e.a.failure.</span>.....<span.cl
144a0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 74 72 79 60 20 69 73 20 75 73 ass="tok-comment">//.`try`.is.us
144c0 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 74 68 65 20 74 65 73 ed.to.return.an.error.to.the.tes
144e0 74 20 72 75 6e 6e 65 72 20 74 6f 20 6e 6f 74 69 66 79 20 69 74 20 74 68 61 74 20 74 68 65 20 74 t.runner.to.notify.it.that.the.t
14500 65 73 74 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 est.failed.</span>.....<span.cla
14520 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 ss="tok-kw">try</span>.std.testi
14540 6e 67 2e 65 78 70 65 63 74 28 61 64 64 4f 6e 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ng.expect(addOne(<span.class="to
14560 6b 2d 6e 75 6d 62 65 72 22 3e 34 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c k-number">41</span>).==.<span.cl
14580 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a ass="tok-number">42</span>);.}..
145a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e <span.class="tok-kw">test</span>
145c0 20 61 64 64 4f 6e 65 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .addOne.{.....<span.class="tok-c
145e0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 74 65 73 74 20 6e 61 6d 65 20 63 61 6e 20 61 6c 73 6f 20 omment">//.A.test.name.can.also.
14600 62 65 20 77 72 69 74 74 65 6e 20 75 73 69 6e 67 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 2e 3c be.written.using.an.identifier.<
14620 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d /span>.....<span.class="tok-comm
14640 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 69 73 20 61 20 64 6f 63 74 65 73 74 2c 20 61 6e 64 20 73 ent">//.This.is.a.doctest,.and.s
14660 65 72 76 65 73 20 61 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 60 61 64 64 4f erves.as.documentation.for.`addO
14680 6e 65 60 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ne`.</span>.....<span.class="tok
146a0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 -kw">try</span>.std.testing.expe
146c0 63 74 28 61 64 64 4f 6e 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ct(addOne(<span.class="tok-numbe
146e0 72 22 3e 34 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r">41</span>).==.<span.class="to
14700 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 k-number">42</span>);.}..<span.c
14720 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 66 75 6e 63 74 lass="tok-comment">///.The.funct
14740 69 6f 6e 20 60 61 64 64 4f 6e 65 60 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 74 68 65 20 6e 75 6d ion.`addOne`.adds.one.to.the.num
14760 62 65 72 20 67 69 76 65 6e 20 61 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e ber.given.as.its.argument.</span
14780 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">fn</span>
147a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 4f 6e 65 3c 2f 73 70 .<span.class="tok-fn">addOne</sp
147c0 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 an>(number:.<span.class="tok-typ
147e0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">i32</span>).<span.class="tok-
14800 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 type">i32</span>.{.....<span.cla
14820 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 ss="tok-kw">return</span>.number
14840 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 .+.<span.class="tok-number">1</s
14860 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 pan>;.}</code></pre></figure><fi
14880 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
148a0 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
148c0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f 64 75 63 $.<kbd>zig.test.testing_introduc
148e0 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f tion.zig</kbd>.1/2.testing_intro
14900 64 75 63 74 69 6f 6e 2e 74 65 73 74 2e 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 duction.test.expect.addOne.adds.
14920 6f 6e 65 20 74 6f 20 34 31 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 69 6e 67 5f 69 6e 74 72 one.to.41....OK.2/2.testing_intr
14940 6f 64 75 63 74 69 6f 6e 2e 64 65 63 6c 74 65 73 74 2e 61 64 64 4f 6e 65 2e 2e 2e 20 4f 4b 0a 41 oduction.decltest.addOne....OK.A
14960 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ll.2.tests.passed..</samp></pre>
14980 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 </figure>.......<p>.........The.
149a0 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f <code.class="file">testing_intro
149c0 64 75 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 74 duction.zig</code>.code.sample.t
149e0 65 73 74 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 ests.the.<a.href="#Functions">fu
14a00 6e 63 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 61 64 64 4f 6e 65 3c nction</a>.........<code>addOne<
14a20 2f 63 6f 64 65 3e 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 /code>.to.ensure.that.it.returns
14a40 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .<code><span.class="tok-number">
14a60 34 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 67 69 76 65 6e 20 74 68 65 20 69 6e 70 75 74 42</span></code>.given.the.input
14a80 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .........<code><span.class="tok-
14aa0 6e 75 6d 62 65 72 22 3e 34 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 46 72 6f 6d 20 74 number">41</span></code>..From.t
14ac0 68 69 73 20 74 65 73 74 27 73 20 70 65 72 73 70 65 63 74 69 76 65 2c 20 74 68 65 20 3c 63 6f 64 his.test's.perspective,.the.<cod
14ae0 65 3e 61 64 64 4f 6e 65 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 e>addOne</code>.function.is.....
14b00 20 20 20 20 73 61 69 64 20 74 6f 20 62 65 20 3c 65 6d 3e 63 6f 64 65 20 75 6e 64 65 72 20 74 65 ....said.to.be.<em>code.under.te
14b20 73 74 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 st</em>........</p>.......<p>...
14b40 20 20 20 20 20 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 69 73 20 61 20 74 ......<kbd>zig.test</kbd>.is.a.t
14b60 6f 6f 6c 20 74 68 61 74 20 63 72 65 61 74 65 73 20 61 6e 64 20 72 75 6e 73 20 61 20 74 65 73 74 ool.that.creates.and.runs.a.test
14b80 20 62 75 69 6c 64 2e 20 42 79 20 64 65 66 61 75 6c 74 2c 20 69 74 20 62 75 69 6c 64 73 20 61 6e .build..By.default,.it.builds.an
14ba0 64 20 72 75 6e 73 20 61 6e 0a 20 20 20 20 20 20 20 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 6f d.runs.an.........executable.pro
14bc0 67 72 61 6d 20 75 73 69 6e 67 20 74 68 65 20 3c 65 6d 3e 64 65 66 61 75 6c 74 20 74 65 73 74 20 gram.using.the.<em>default.test.
14be0 72 75 6e 6e 65 72 3c 2f 65 6d 3e 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 3c 61 20 68 runner</em>.provided.by.the.<a.h
14c00 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 ref="#Zig-Standard-Library">Zig.
14c20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 61 73 20 Standard.Library</a>.........as.
14c40 69 74 73 20 6d 61 69 6e 20 65 6e 74 72 79 20 70 6f 69 6e 74 2e 20 44 75 72 69 6e 67 20 74 68 65 its.main.entry.point..During.the
14c60 20 62 75 69 6c 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .build,.<code><span.class="tok-k
14c80 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f w">test</span></code>.declaratio
14ca0 6e 73 20 66 6f 75 6e 64 20 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 ns.found.while.........<a.href="
14cc0 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 72 65 73 6f 6c 76 69 6e 67 3c 2f 61 3e #Root-Source-File">resolving</a>
14ce0 20 74 68 65 20 67 69 76 65 6e 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 61 72 65 20 69 .the.given.Zig.source.file.are.i
14d00 6e 63 6c 75 64 65 64 20 66 6f 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e ncluded.for.the.default.test.run
14d20 6e 65 72 0a 20 20 20 20 20 20 20 20 74 6f 20 72 75 6e 20 61 6e 64 20 72 65 70 6f 72 74 20 6f 6e ner.........to.run.and.report.on
14d40 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 61 73 69 64 65 3e 0a 20 20 20 20 20 ........</p>.......<aside>......
14d60 20 20 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 64 69 73 63 75 73 73 65 73 20 ...This.documentation.discusses.
14d80 74 68 65 20 66 65 61 74 75 72 65 73 20 6f 66 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 the.features.of.the.default.test
14da0 20 72 75 6e 6e 65 72 20 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 5a 69 67 20 53 .runner.as.provided.by.the.Zig.S
14dc0 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 20 20 49 74 73 20 73 6f 75 tandard.Library..........Its.sou
14de0 72 63 65 20 63 6f 64 65 20 69 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 3c 63 6f 64 65 20 63 6c 61 rce.code.is.located.in.<code.cla
14e00 73 73 3d 22 66 69 6c 65 22 3e 6c 69 62 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3c 2f 63 ss="file">lib/test_runner.zig</c
14e20 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ode>........</aside>.......<p>..
14e40 20 20 20 20 20 20 20 54 68 65 20 73 68 65 6c 6c 20 6f 75 74 70 75 74 20 73 68 6f 77 6e 20 61 62 .......The.shell.output.shown.ab
14e60 6f 76 65 20 64 69 73 70 6c 61 79 73 20 74 77 6f 20 6c 69 6e 65 73 20 61 66 74 65 72 20 74 68 65 ove.displays.two.lines.after.the
14e80 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 2e 20 54 68 .<kbd>zig.test</kbd>.command..Th
14ea0 65 73 65 20 6c 69 6e 65 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 65 64 20 74 6f ese.lines.are.........printed.to
14ec0 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 20 62 79 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 .standard.error.by.the.default.t
14ee0 65 73 74 20 72 75 6e 6e 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c est.runner:.......</p>.......<dl
14f00 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 3e 31 2f 32 20 74 65 73 74 69 6e 67 5f >.........<dt><samp>1/2.testing_
14f20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 2e 74 65 73 74 2e 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 introduction.test.expect.addOne.
14f40 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 2e 2e 2e 3c 2f 73 61 6d 70 3e 3c 2f 64 74 3e 0a 20 20 adds.one.to.41...</samp></dt>...
14f60 20 20 20 20 20 20 3c 64 64 3e 4c 69 6e 65 73 20 6c 69 6b 65 20 74 68 69 73 20 69 6e 64 69 63 61 ......<dd>Lines.like.this.indica
14f80 74 65 20 77 68 69 63 68 20 74 65 73 74 2c 20 6f 75 74 20 6f 66 20 74 68 65 20 74 6f 74 61 6c 20 te.which.test,.out.of.the.total.
14fa0 6e 75 6d 62 65 72 20 6f 66 20 74 65 73 74 73 2c 20 69 73 20 62 65 69 6e 67 20 72 75 6e 2e 0a 20 number.of.tests,.is.being.run...
14fc0 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 73 61 6d 70 3e 31 2f 32 .........In.this.case,.<samp>1/2
14fe0 3c 2f 73 61 6d 70 3e 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20 74 68 65 20 66 69 72 73 74 </samp>.indicates.that.the.first
15000 20 74 65 73 74 2c 20 6f 75 74 20 6f 66 20 61 20 74 6f 74 61 6c 20 6f 66 20 74 77 6f 20 74 65 73 .test,.out.of.a.total.of.two.tes
15020 74 73 2c 0a 20 20 20 20 20 20 20 20 20 20 69 73 20 62 65 69 6e 67 20 72 75 6e 2e 20 4e 6f 74 65 ts,...........is.being.run..Note
15040 20 74 68 61 74 2c 20 77 68 65 6e 20 74 68 65 20 74 65 73 74 20 72 75 6e 6e 65 72 20 70 72 6f 67 .that,.when.the.test.runner.prog
15060 72 61 6d 27 73 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 20 69 73 20 6f 75 74 70 75 74 0a 20 ram's.standard.error.is.output..
15080 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 2c 20 74 68 65 73 65 20 .........to.the.terminal,.these.
150a0 6c 69 6e 65 73 20 61 72 65 20 63 6c 65 61 72 65 64 20 77 68 65 6e 20 61 20 74 65 73 74 20 73 75 lines.are.cleared.when.a.test.su
150c0 63 63 65 65 64 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 cceeds..........</dd>.........<d
150e0 74 3e 3c 73 61 6d 70 3e 32 2f 32 20 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f 64 75 63 74 69 6f 6e t><samp>2/2.testing_introduction
15100 2e 64 65 63 6c 74 65 73 74 2e 61 64 64 4f 6e 65 2e 2e 2e 3c 2f 73 61 6d 70 3e 3c 2f 64 74 3e 0a .decltest.addOne...</samp></dt>.
15120 20 20 20 20 20 20 20 20 3c 64 64 3e 57 68 65 6e 20 74 68 65 20 74 65 73 74 20 6e 61 6d 65 20 69 ........<dd>When.the.test.name.i
15140 73 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 s.an.identifier,.the.default.tes
15160 74 20 72 75 6e 6e 65 72 20 75 73 65 73 20 74 68 65 20 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 t.runner.uses.the.text..........
15180 20 64 65 63 6c 74 65 73 74 20 69 6e 73 74 65 61 64 20 6f 66 20 74 65 73 74 2e 0a 20 20 20 20 20 .decltest.instead.of.test.......
151a0 20 20 20 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 3e 41 6c 6c 20 32 ...</dd>.........<dt><samp>All.2
151c0 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 61 6d 70 3e 3c 2f 64 74 3e 0a 20 20 20 20 20 .tests.passed.</samp></dt>......
151e0 20 20 20 3c 64 64 3e 54 68 69 73 20 6c 69 6e 65 20 69 6e 64 69 63 61 74 65 73 20 74 68 65 20 74 ...<dd>This.line.indicates.the.t
15200 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 74 65 73 74 73 20 74 68 61 74 20 68 61 76 65 20 70 otal.number.of.tests.that.have.p
15220 61 73 73 65 64 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 3c 68 assed.</dd>.......</dl>.......<h
15240 33 20 69 64 3d 22 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3.id="Test-Declarations"><a.href
15260 3d 22 23 74 6f 63 2d 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 54 65 73 74 20 44 ="#toc-Test-Declarations">Test.D
15280 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 eclarations</a>.<a.class="hdr".h
152a0 72 65 66 3d 22 23 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c ref="#Test-Declarations">..</a><
152c0 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 64 65 63 /h3>........<p>.........Test.dec
152e0 6c 61 72 61 74 69 6f 6e 73 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 larations.contain.the.<a.href="#
15300 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 6b 65 79 77 6f 72 64 3c 2f 61 3e 20 3c Keyword-Reference">keyword</a>.<
15320 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f code><span.class="tok-kw">test</
15340 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 0a 20 20 20 span></code>,.followed.by.an....
15360 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 6e 61 6d 65 20 77 72 69 74 74 65 6e 20 61 73 20 61 20 .....optional.name.written.as.a.
15380 3c 61 20 68 72 65 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e <a.href="#String-Literals-and-Un
153a0 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e icode-Code-Point-Literals">strin
153c0 67 20 6c 69 74 65 72 61 6c 3c 2f 61 3e 20 6f 72 20 61 6e 0a 20 20 20 20 20 20 20 20 3c 61 20 68 g.literal</a>.or.an.........<a.h
153e0 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e 69 64 65 6e 74 69 66 69 65 72 3c 2f 61 ref="#Identifiers">identifier</a
15400 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 3c 61 20 68 72 65 66 3d 22 23 42 6c 6f 63 6b >,.followed.by.a.<a.href="#Block
15420 73 22 3e 62 6c 6f 63 6b 3c 2f 61 3e 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6e 79 20 76 61 6c 69 s">block</a>.containing.any.vali
15440 64 20 5a 69 67 20 63 6f 64 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 69 73 20 61 6c 6c 6f 77 d.Zig.code.that.........is.allow
15460 65 64 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e ed.in.a.<a.href="#Functions">fun
15480 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 4e ction</a>........</p>.......<p>N
154a0 6f 6e 2d 6e 61 6d 65 64 20 74 65 73 74 20 62 6c 6f 63 6b 73 20 61 6c 77 61 79 73 20 72 75 6e 20 on-named.test.blocks.always.run.
154c0 64 75 72 69 6e 67 20 74 65 73 74 20 62 75 69 6c 64 73 20 61 6e 64 20 61 72 65 20 65 78 65 6d 70 during.test.builds.and.are.exemp
154e0 74 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 53 6b 69 70 2d 54 65 t.from.........<a.href="#Skip-Te
15500 73 74 73 22 3e 53 6b 69 70 20 54 65 73 74 73 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c sts">Skip.Tests</a>.</p>.......<
15520 70 3e 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 p>.........Test.declarations.are
15540 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 .similar.to.<a.href="#Functions"
15560 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3a 20 74 68 65 79 20 68 61 76 65 20 61 20 72 65 74 75 >Functions</a>:.they.have.a.retu
15580 72 6e 20 74 79 70 65 20 61 6e 64 20 61 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 65 2e 20 54 68 65 rn.type.and.a.block.of.code..The
155a0 20 69 6d 70 6c 69 63 69 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 79 70 65 20 6f 66 .implicit.........return.type.of
155c0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 .<code><span.class="tok-kw">test
155e0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 </span></code>.is.the.<a.href="#
15600 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 Error-Union-Type">Error.Union.Ty
15620 70 65 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 pe</a>.<code><span.class="tok-ty
15640 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d pe">anyerror</span>!<span.class=
15660 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 "tok-type">void</span></code>,..
15680 20 20 20 20 20 20 20 61 6e 64 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 2e .......and.it.cannot.be.changed.
156a0 20 57 68 65 6e 20 61 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 62 .When.a.Zig.source.file.is.not.b
156c0 75 69 6c 74 20 75 73 69 6e 67 20 74 68 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 uilt.using.the.<kbd>zig.test</kb
156e0 64 3e 20 74 6f 6f 6c 2c 20 74 68 65 20 74 65 73 74 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 d>.tool,.the.test.........declar
15700 61 74 69 6f 6e 73 20 61 72 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 62 75 69 6c ations.are.omitted.from.the.buil
15720 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 d........</p>.......<p>.........
15740 54 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 77 72 69 74 74 65 6e Test.declarations.can.be.written
15760 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 2c 20 77 68 65 72 65 20 63 6f 64 65 20 75 6e .in.the.same.file,.where.code.un
15780 64 65 72 20 74 65 73 74 20 69 73 20 77 72 69 74 74 65 6e 2c 20 6f 72 20 69 6e 20 61 20 73 65 70 der.test.is.written,.or.in.a.sep
157a0 61 72 61 74 65 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 53 arate.Zig.source.file..........S
157c0 69 6e 63 65 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 74 6f 70 2d 6c ince.test.declarations.are.top-l
157e0 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 74 68 65 79 20 61 72 65 20 6f 72 64 65 evel.declarations,.they.are.orde
15800 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 20 61 6e 64 20 63 61 6e 0a 20 20 20 20 20 20 20 20 62 65 r-independent.and.can.........be
15820 20 77 72 69 74 74 65 6e 20 62 65 66 6f 72 65 20 6f 72 20 61 66 74 65 72 20 74 68 65 20 63 6f 64 .written.before.or.after.the.cod
15840 65 20 75 6e 64 65 72 20 74 65 73 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c e.under.test........</p>.......<
15860 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d p>See.also:</p><ul>.<li><a.href=
15880 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 "#The-Global-Error-Set">The.Glob
158a0 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 al.Error.Set</a></li>.<li><a.hre
158c0 66 3d 22 23 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f f="#Grammar">Grammar</a></li>.</
158e0 75 6c 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 44 6f 63 74 65 73 74 73 22 3e 3c 61 20 ul>........<h4.id="Doctests"><a.
15900 68 72 65 66 3d 22 23 74 6f 63 2d 44 6f 63 74 65 73 74 73 22 3e 44 6f 63 74 65 73 74 73 3c 2f 61 href="#toc-Doctests">Doctests</a
15920 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 6f 63 74 65 73 74 73 >.<a.class="hdr".href="#Doctests
15940 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 ">..</a></h4>........<p>........
15960 20 54 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6e 61 6d 65 64 20 75 73 69 6e 67 20 61 .Test.declarations.named.using.a
15980 6e 20 69 64 65 6e 74 69 66 69 65 72 20 61 72 65 20 3c 65 6d 3e 64 6f 63 74 65 73 74 73 3c 2f 65 n.identifier.are.<em>doctests</e
159a0 6d 3e 2e 20 54 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 6d 75 73 74 20 72 65 66 65 72 20 74 6f m>..The.identifier.must.refer.to
159c0 20 61 6e 6f 74 68 65 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 .another.declaration.in.........
159e0 73 63 6f 70 65 2e 20 41 20 64 6f 63 74 65 73 74 2c 20 6c 69 6b 65 20 61 20 3c 61 20 68 72 65 66 scope..A.doctest,.like.a.<a.href
15a00 3d 22 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 61 3e ="#Doc-Comments">doc.comment</a>
15a20 2c 20 73 65 72 76 65 73 20 61 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 ,.serves.as.documentation.for.th
15a40 65 20 61 73 73 6f 63 69 61 74 65 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 e.associated.declaration,.and...
15a60 20 20 20 20 20 20 77 69 6c 6c 20 61 70 70 65 61 72 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 ......will.appear.in.the.generat
15a80 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 64 65 63 6c 61 72 61 ed.documentation.for.the.declara
15aa0 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 tion........</p>.......<p>......
15ac0 20 20 20 41 6e 20 65 66 66 65 63 74 69 76 65 20 64 6f 63 74 65 73 74 20 73 68 6f 75 6c 64 20 62 ...An.effective.doctest.should.b
15ae0 65 20 73 65 6c 66 2d 63 6f 6e 74 61 69 6e 65 64 20 61 6e 64 20 66 6f 63 75 73 65 64 20 6f 6e 20 e.self-contained.and.focused.on.
15b00 74 68 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 62 65 69 6e 67 20 74 65 73 74 65 64 2c 20 61 6e the.declaration.being.tested,.an
15b20 73 77 65 72 69 6e 67 20 71 75 65 73 74 69 6f 6e 73 20 61 20 6e 65 77 0a 20 20 20 20 20 20 20 20 swering.questions.a.new.........
15b40 75 73 65 72 20 6d 69 67 68 74 20 68 61 76 65 20 61 62 6f 75 74 20 69 74 73 20 69 6e 74 65 72 66 user.might.have.about.its.interf
15b60 61 63 65 20 6f 72 20 69 6e 74 65 6e 64 65 64 20 75 73 61 67 65 2c 20 77 68 69 6c 65 20 61 76 6f ace.or.intended.usage,.while.avo
15b80 69 64 69 6e 67 20 75 6e 6e 65 63 65 73 73 61 72 79 20 6f 72 20 63 6f 6e 66 75 73 69 6e 67 20 64 iding.unnecessary.or.confusing.d
15ba0 65 74 61 69 6c 73 2e 20 41 20 64 6f 63 74 65 73 74 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 etails..A.doctest.is.not........
15bc0 20 61 20 73 75 62 73 74 69 74 75 74 65 20 66 6f 72 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 2c .a.substitute.for.a.doc.comment,
15be0 20 62 75 74 20 72 61 74 68 65 72 20 61 20 73 75 70 70 6c 65 6d 65 6e 74 20 61 6e 64 20 63 6f 6d .but.rather.a.supplement.and.com
15c00 70 61 6e 69 6f 6e 20 70 72 6f 76 69 64 69 6e 67 20 61 20 74 65 73 74 61 62 6c 65 2c 20 63 6f 64 panion.providing.a.testable,.cod
15c20 65 2d 64 72 69 76 65 6e 20 65 78 61 6d 70 6c 65 2c 20 76 65 72 69 66 69 65 64 0a 20 20 20 20 20 e-driven.example,.verified......
15c40 20 20 20 62 79 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 2e 0a 20 20 20 20 20 ...by.<kbd>zig.test</kbd>.......
15c60 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 .</p>.....................<h3.id
15c80 3d 22 54 65 73 74 2d 46 61 69 6c 75 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 ="Test-Failure"><a.href="#toc-Te
15ca0 73 74 2d 46 61 69 6c 75 72 65 22 3e 54 65 73 74 20 46 61 69 6c 75 72 65 3c 2f 61 3e 20 3c 61 20 st-Failure">Test.Failure</a>.<a.
15cc0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 46 61 69 6c 75 72 65 22 class="hdr".href="#Test-Failure"
15ce0 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 >..</a></h3>........<p>.........
15d00 54 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 63 68 65 63 6b 73 20 66 The.default.test.runner.checks.f
15d20 6f 72 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 65 72 72 6f 72 3c 2f 61 or.an.<a.href="#Errors">error</a
15d40 3e 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 61 20 74 65 73 74 2e 0a 20 20 20 20 20 20 20 20 >.returned.from.a.test..........
15d60 57 68 65 6e 20 61 20 74 65 73 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 When.a.test.returns.an.error,.th
15d80 65 20 74 65 73 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 66 61 69 6c 75 72 65 20 61 e.test.is.considered.a.failure.a
15da0 6e 64 20 69 74 73 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 nd.its.<a.href="#Error-Return-Tr
15dc0 61 63 65 73 22 3e 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 65 3c 2f 61 3e 0a 20 20 20 aces">error.return.trace</a>....
15de0 20 20 20 20 20 69 73 20 6f 75 74 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 .....is.output.to.standard.error
15e00 2e 20 54 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 66 61 69 6c 75 72 65 73 20 77 ..The.total.number.of.failures.w
15e20 69 6c 6c 20 62 65 20 72 65 70 6f 72 74 65 64 20 61 66 74 65 72 20 61 6c 6c 20 74 65 73 74 73 20 ill.be.reported.after.all.tests.
15e40 68 61 76 65 20 72 75 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 have.run........</p>.......<figu
15e60 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
15e80 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 66 61 69 6c 75 72 cite.class="file">testing_failur
15ea0 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 e.zig</cite></figcaption><pre><c
15ec0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
15ee0 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 span>.std.=.<span.class="tok-bui
15f00 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@import</span>(<span.class
15f20 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ="tok-str">&quot;std&quot;</span
15f40 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f >);..<span.class="tok-kw">test</
15f60 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>.<span.class="tok-str">&quo
15f80 74 3b 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 t;expect.this.to.fail&quot;</spa
15fa0 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 n>.{.....<span.class="tok-kw">tr
15fc0 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 y</span>.std.testing.expect(<spa
15fe0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 n.class="tok-null">false</span>)
16000 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f ;.}..<span.class="tok-kw">test</
16020 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>.<span.class="tok-str">&quo
16040 74 3b 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 73 75 63 63 65 65 64 26 71 75 6f 74 3b 3c 2f t;expect.this.to.succeed&quot;</
16060 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
16080 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c >try</span>.std.testing.expect(<
160a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e span.class="tok-null">true</span
160c0 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 >);.}</code></pre></figure><figu
160e0 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 re><figcaption.class="shell-cap"
16100 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 >Shell</figcaption><pre><samp>$.
16120 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 66 61 69 6c 75 72 65 2e 7a 69 <kbd>zig.test.testing_failure.zi
16140 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 69 6e 67 5f 66 61 69 6c 75 72 65 2e 74 65 73 74 g</kbd>.1/2.testing_failure.test
16160 2e 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 2e 2e 2e 20 46 41 49 4c 20 28 54 65 .expect.this.to.fail....FAIL.(Te
16180 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 29 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 stUnexpectedResult)./home/ci/act
161a0 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
161c0 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 74 65 73 74 69 6e 67 2e 7a 69 67 out/host/lib/zig/std/testing.zig
161e0 3a 35 34 30 3a 31 34 3a 20 30 78 31 30 33 38 65 62 66 20 69 6e 20 65 78 70 65 63 74 20 28 74 65 :540:14:.0x1038ebf.in.expect.(te
16200 73 74 29 0a 20 20 20 20 69 66 20 28 21 6f 6b 29 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 54 65 st).....if.(!ok).return.error.Te
16220 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 stUnexpectedResult;.............
16240 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b .^./home/ci/actions-runner/_work
16260 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 /zig-bootstrap/zig/docgen_tmp/te
16280 73 74 69 6e 67 5f 66 61 69 6c 75 72 65 2e 7a 69 67 3a 34 3a 35 3a 20 30 78 31 30 33 38 66 64 35 sting_failure.zig:4:5:.0x1038fd5
162a0 20 69 6e 20 74 65 73 74 2e 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 20 28 74 65 .in.test.expect.this.to.fail.(te
162c0 73 74 29 0a 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 st).....try.std.testing.expect(f
162e0 61 6c 73 65 29 3b 0a 20 20 20 20 5e 0a 32 2f 32 20 74 65 73 74 69 6e 67 5f 66 61 69 6c 75 72 65 alse);.....^.2/2.testing_failure
16300 2e 74 65 73 74 2e 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 73 75 63 63 65 65 64 2e 2e 2e 20 .test.expect.this.to.succeed....
16320 4f 4b 0a 31 20 70 61 73 73 65 64 3b 20 30 20 73 6b 69 70 70 65 64 3b 20 31 20 66 61 69 6c 65 64 OK.1.passed;.0.skipped;.1.failed
16340 2e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d ..error:.the.following.test.comm
16360 61 6e 64 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a 0a 2f 68 6f and.failed.with.exit.code.1:./ho
16380 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 me/ci/actions-runner/_work/zig-b
163a0 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 37 ootstrap/out/zig-local-cache/o/7
163c0 32 65 37 61 32 64 65 36 62 35 37 31 64 37 38 39 32 38 64 31 34 36 66 66 65 36 35 30 61 66 34 2f 2e7a2de6b571d78928d146ffe650af4/
163e0 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 test.</samp></pre></figure>.....
16400 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 6b 69 70 2d 54 65 73 74 73 22 3e 3c 61 20 .........<h3.id="Skip-Tests"><a.
16420 68 72 65 66 3d 22 23 74 6f 63 2d 53 6b 69 70 2d 54 65 73 74 73 22 3e 53 6b 69 70 20 54 65 73 74 href="#toc-Skip-Tests">Skip.Test
16440 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 6b 69 70 s</a>.<a.class="hdr".href="#Skip
16460 2d 54 65 73 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 -Tests">..</a></h3>........<p>..
16480 20 20 20 20 20 20 20 4f 6e 65 20 77 61 79 20 74 6f 20 73 6b 69 70 20 74 65 73 74 73 20 69 73 20 .......One.way.to.skip.tests.is.
164a0 74 6f 20 66 69 6c 74 65 72 20 74 68 65 6d 20 6f 75 74 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 to.filter.them.out.by.using.the.
164c0 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 <kbd>zig.test</kbd>.command.line
164e0 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 2d 74 65 73 74 2d 66 .parameter.........<kbd>--test-f
16500 69 6c 74 65 72 20 5b 74 65 78 74 5d 3c 2f 6b 62 64 3e 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 74 ilter.[text]</kbd>..This.makes.t
16520 68 65 20 74 65 73 74 20 62 75 69 6c 64 20 6f 6e 6c 79 20 69 6e 63 6c 75 64 65 20 74 65 73 74 73 he.test.build.only.include.tests
16540 20 77 68 6f 73 65 20 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 20 20 20 20 20 20 20 .whose.name.contains.the........
16560 20 73 75 70 70 6c 69 65 64 20 66 69 6c 74 65 72 20 74 65 78 74 2e 20 4e 6f 74 65 20 74 68 61 74 .supplied.filter.text..Note.that
16580 20 6e 6f 6e 2d 6e 61 6d 65 64 20 74 65 73 74 73 20 61 72 65 20 72 75 6e 20 65 76 65 6e 20 77 68 .non-named.tests.are.run.even.wh
165a0 65 6e 20 75 73 69 6e 67 20 74 68 65 20 3c 6b 62 64 3e 2d 2d 74 65 73 74 2d 66 69 6c 74 65 72 20 en.using.the.<kbd>--test-filter.
165c0 5b 74 65 78 74 5d 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e [text]</kbd>.........command.lin
165e0 65 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 e.parameter........</p>.......<p
16600 3e 0a 20 20 20 20 20 20 20 20 54 6f 20 70 72 6f 67 72 61 6d 6d 61 74 69 63 61 6c 6c 79 20 73 6b >.........To.programmatically.sk
16620 69 70 20 61 20 74 65 73 74 2c 20 6d 61 6b 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ip.a.test,.make.a.<code><span.cl
16640 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ass="tok-kw">test</span></code>.
16660 72 65 74 75 72 6e 20 74 68 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c return.the.error.........<code><
16680 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e span.class="tok-kw">error</span>
166a0 2e 53 6b 69 70 5a 69 67 54 65 73 74 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 74 68 65 20 64 65 66 61 .SkipZigTest</code>.and.the.defa
166c0 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 77 69 6c 6c 20 63 6f 6e 73 69 64 65 72 20 74 68 ult.test.runner.will.consider.th
166e0 65 20 74 65 73 74 20 61 73 20 62 65 69 6e 67 20 73 6b 69 70 70 65 64 2e 0a 20 20 20 20 20 20 20 e.test.as.being.skipped.........
16700 20 54 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 73 6b 69 70 70 65 64 20 74 65 73 .The.total.number.of.skipped.tes
16720 74 73 20 77 69 6c 6c 20 62 65 20 72 65 70 6f 72 74 65 64 20 61 66 74 65 72 20 61 6c 6c 20 74 65 ts.will.be.reported.after.all.te
16740 73 74 73 20 68 61 76 65 20 72 75 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c sts.have.run........</p>.......<
16760 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 figure><figcaption.class="zig-ca
16780 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 73 6b p"><cite.class="file">testing_sk
167a0 69 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ip.zig</cite></figcaption><pre><
167c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f code><span.class="tok-kw">test</
167e0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>.<span.class="tok-str">&quo
16800 74 3b 74 68 69 73 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 26 71 75 6f 74 3b 3c 2f 73 70 t;this.will.be.skipped&quot;</sp
16820 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 an>.{.....<span.class="tok-kw">r
16840 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 eturn</span>.<span.class="tok-kw
16860 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b 0a 7d 3c 2f 63 ">error</span>.SkipZigTest;.}</c
16880 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 ode></pre></figure><figure><figc
168a0 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f aption.class="shell-cap">Shell</
168c0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
168e0 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 73 6b 69 70 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 .test.testing_skip.zig</kbd>.1/1
16900 20 74 65 73 74 69 6e 67 5f 73 6b 69 70 2e 74 65 73 74 2e 74 68 69 73 20 77 69 6c 6c 20 62 65 20 .testing_skip.test.this.will.be.
16920 73 6b 69 70 70 65 64 2e 2e 2e 20 53 4b 49 50 0a 30 20 70 61 73 73 65 64 3b 20 31 20 73 6b 69 70 skipped....SKIP.0.passed;.1.skip
16940 70 65 64 3b 20 30 20 66 61 69 6c 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 ped;.0.failed..</samp></pre></fi
16960 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 70 6f gure>...............<h3.id="Repo
16980 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 rt-Memory-Leaks"><a.href="#toc-R
169a0 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 52 65 70 6f 72 74 20 4d 65 6d 6f 72 eport-Memory-Leaks">Report.Memor
169c0 79 20 4c 65 61 6b 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d y.Leaks</a>.<a.class="hdr".href=
169e0 22 23 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 "#Report-Memory-Leaks">..</a></h
16a00 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 63 6f 64 65 20 3>........<p>.........When.code.
16a20 61 6c 6c 6f 63 61 74 65 73 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f allocates.<a.href="#Memory">Memo
16a40 72 79 3c 2f 61 3e 20 75 73 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 ry</a>.using.the.<a.href="#Zig-S
16a60 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 tandard-Library">Zig.Standard.Li
16a80 62 72 61 72 79 3c 2f 61 3e 27 73 20 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 61 74 6f 72 2c 0a 20 brary</a>'s.testing.allocator,..
16aa0 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 .......<code>std.testing.allocat
16ac0 6f 72 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e or</code>,.the.default.test.runn
16ae0 65 72 20 77 69 6c 6c 20 72 65 70 6f 72 74 20 61 6e 79 20 6c 65 61 6b 73 20 74 68 61 74 20 61 72 er.will.report.any.leaks.that.ar
16b00 65 0a 20 20 20 20 20 20 20 20 66 6f 75 6e 64 20 66 72 6f 6d 20 75 73 69 6e 67 20 74 68 65 20 74 e.........found.from.using.the.t
16b20 65 73 74 69 6e 67 20 61 6c 6c 6f 63 61 74 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 esting.allocator:.......</p>....
16b40 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 ...<figure><figcaption.class="zi
16b60 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e g-cap"><cite.class="file">testin
16b80 67 5f 64 65 74 65 63 74 5f 6c 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 g_detect_leak.zig</cite></figcap
16ba0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
16bc0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c -kw">const</span>.std.=.<span.cl
16be0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e ass="tok-builtin">@import</span>
16c00 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 (<span.class="tok-str">&quot;std
16c20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f &quot;</span>);..<span.class="to
16c40 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k-kw">test</span>.<span.class="t
16c60 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 74 65 63 74 20 6c 65 61 6b 26 71 75 6f 74 3b 3c ok-str">&quot;detect.leak&quot;<
16c80 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
16ca0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 20 3d 20 73 74 64 2e 41 72 72 61 79 4c 69 73 ">var</span>.list.=.std.ArrayLis
16cc0 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 31 3c 2f 73 70 t(<span.class="tok-type">u21</sp
16ce0 61 6e 3e 29 2e 69 6e 69 74 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 29 an>).init(std.testing.allocator)
16d00 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ;.....<span.class="tok-comment">
16d20 2f 2f 20 6d 69 73 73 69 6e 67 20 60 64 65 66 65 72 20 6c 69 73 74 2e 64 65 69 6e 69 74 28 29 3b //.missing.`defer.list.deinit();
16d40 60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 `</span>.....<span.class="tok-kw
16d60 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 2e 61 70 70 65 6e 64 28 3c 73 70 61 6e 20 63 ">try</span>.list.append(<span.c
16d80 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 e2 98 94 27 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 lass="tok-str">'...'</span>);...
16da0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
16dc0 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 6c 69 73 74 2e 69 74 65 6d 73 n>.std.testing.expect(list.items
16de0 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 .len.==.<span.class="tok-number"
16e00 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 >1</span>);.}</code></pre></figu
16e20 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
16e40 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
16e60 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 64 65 <samp>$.<kbd>zig.test.testing_de
16e80 74 65 63 74 5f 6c 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 69 6e 67 5f tect_leak.zig</kbd>.1/1.testing_
16ea0 64 65 74 65 63 74 5f 6c 65 61 6b 2e 74 65 73 74 2e 64 65 74 65 63 74 20 6c 65 61 6b 2e 2e 2e 20 detect_leak.test.detect.leak....
16ec0 4f 4b 0a 5b 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 30 OK.[gpa].(err):.memory.address.0
16ee0 78 37 66 64 30 66 62 61 30 34 30 30 30 20 6c 65 61 6b 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 x7fd0fba04000.leaked:./home/ci/a
16f00 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ctions-runner/_work/zig-bootstra
16f20 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 61 72 72 61 79 5f 6c 69 73 p/out/host/lib/zig/std/array_lis
16f40 74 2e 7a 69 67 3a 34 35 37 3a 36 37 3a 20 30 78 31 30 34 62 36 37 65 20 69 6e 20 65 6e 73 75 72 t.zig:457:67:.0x104b67e.in.ensur
16f60 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 50 72 65 63 69 73 65 20 28 74 65 73 74 29 0a 20 20 20 eTotalCapacityPrecise.(test)....
16f80 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6e 65 77 5f 6d 65 6d 6f 72 79 20 3d 20 .............const.new_memory.=.
16fa0 74 72 79 20 73 65 6c 66 2e 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 69 67 6e 65 64 41 6c 6c 6f 63 28 try.self.allocator.alignedAlloc(
16fc0 54 2c 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 6e 65 77 5f 63 61 70 61 63 69 74 79 29 3b 0a 20 20 20 T,.alignment,.new_capacity);....
16fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
17000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e ...............................^
17020 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a ./home/ci/actions-runner/_work/z
17040 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 ig-bootstrap/out/host/lib/zig/st
17060 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 34 33 34 3a 35 31 3a 20 30 78 31 30 34 31 36 d/array_list.zig:434:51:.0x10416
17080 63 30 20 69 6e 20 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 20 28 74 65 73 74 29 c0.in.ensureTotalCapacity.(test)
170a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 65 6e 73 75 72 65 54 .............return.self.ensureT
170c0 6f 74 61 6c 43 61 70 61 63 69 74 79 50 72 65 63 69 73 65 28 62 65 74 74 65 72 5f 63 61 70 61 63 otalCapacityPrecise(better_capac
170e0 69 74 79 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ity);...........................
17100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f ........................^./home/
17120 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ci/actions-runner/_work/zig-boot
17140 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 61 72 72 61 79 strap/out/host/lib/zig/std/array
17160 5f 6c 69 73 74 2e 7a 69 67 3a 34 38 33 3a 34 31 3a 20 30 78 31 30 33 65 30 62 30 20 69 6e 20 61 _list.zig:483:41:.0x103e0b0.in.a
17180 64 64 4f 6e 65 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 20 73 65 6c ddOne.(test).............try.sel
171a0 66 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 28 6e 65 77 6c 65 6e 29 3b 0a 20 f.ensureTotalCapacity(newlen);..
171c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
171e0 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 .......^./home/ci/actions-runner
17200 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 /_work/zig-bootstrap/out/host/li
17220 62 2f 7a 69 67 2f 73 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 32 36 32 3a 34 39 3a b/zig/std/array_list.zig:262:49:
17240 20 30 78 31 30 33 61 66 66 64 20 69 6e 20 61 70 70 65 6e 64 20 28 74 65 73 74 29 0a 20 20 20 20 .0x103affd.in.append.(test).....
17260 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6e 65 77 5f 69 74 65 6d 5f 70 74 72 20 3d 20 74 72 79 ........const.new_item_ptr.=.try
17280 20 73 65 6c 66 2e 61 64 64 4f 6e 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .self.addOne();.................
172a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
172c0 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f ^./home/ci/actions-runner/_work/
172e0 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 zig-bootstrap/zig/docgen_tmp/tes
17300 74 69 6e 67 5f 64 65 74 65 63 74 5f 6c 65 61 6b 2e 7a 69 67 3a 36 3a 32 30 3a 20 30 78 31 30 33 ting_detect_leak.zig:6:20:.0x103
17320 39 32 30 32 20 69 6e 20 74 65 73 74 2e 64 65 74 65 63 74 20 6c 65 61 6b 20 28 74 65 73 74 29 0a 9202.in.test.detect.leak.(test).
17340 20 20 20 20 74 72 79 20 6c 69 73 74 2e 61 70 70 65 6e 64 28 27 e2 98 94 27 29 3b 0a 20 20 20 20 ....try.list.append('...');.....
17360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e ...............^./home/ci/action
17380 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 s-runner/_work/zig-bootstrap/out
173a0 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e /host/lib/zig/compiler/test_runn
173c0 65 72 2e 7a 69 67 3a 31 35 38 3a 32 35 3a 20 30 78 31 30 34 38 36 66 32 20 69 6e 20 6d 61 69 6e er.zig:158:25:.0x10486f2.in.main
173e0 54 65 72 6d 69 6e 61 6c 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 Terminal.(test).........if.(test
17400 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _fn.func()).|_|.{...............
17420 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e ..........^./home/ci/actions-run
17440 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 ner/_work/zig-bootstrap/out/host
17460 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 /lib/zig/compiler/test_runner.zi
17480 67 3a 33 35 3a 32 38 3a 20 30 78 31 30 33 65 39 38 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 g:35:28:.0x103e98b.in.main.(test
174a0 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 29 3b ).........return.mainTerminal();
174c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 ............................^./h
174e0 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d ome/ci/actions-runner/_work/zig-
17500 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 bootstrap/out/host/lib/zig/std/s
17520 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 62 34 66 39 20 69 6e 20 70 6f tart.zig:501:22:.0x103b4f9.in.po
17540 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 sixCallMainAndExit.(test).......
17560 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......root.main();..............
17580 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 ........^./home/ci/actions-runne
175a0 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c r/_work/zig-bootstrap/out/host/l
175c0 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 ib/zig/std/start.zig:253:5:.0x10
175e0 33 62 30 36 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 0a 20 20 20 20 61 73 6d 20 76 3b061.in._start.(test).....asm.v
17600 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a olatile.(switch.(native_arch).{.
17620 20 20 20 20 5e 0a 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 31 20 65 72 72 ....^..All.1.tests.passed..1.err
17640 6f 72 73 20 77 65 72 65 20 6c 6f 67 67 65 64 2e 0a 31 20 74 65 73 74 73 20 6c 65 61 6b 65 64 20 ors.were.logged..1.tests.leaked.
17660 6d 65 6d 6f 72 79 2e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 memory..error:.the.following.tes
17680 74 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 t.command.failed.with.exit.code.
176a0 31 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 1:./home/ci/actions-runner/_work
176c0 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 /zig-bootstrap/out/zig-local-cac
176e0 68 65 2f 6f 2f 66 32 36 31 62 32 33 38 34 64 63 30 34 33 62 36 39 38 34 39 37 66 35 38 35 64 63 he/o/f261b2384dc043b698497f585dc
17700 30 35 34 66 35 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 054f5/test.</samp></pre></figure
17720 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 >.......<p>See.also:</p><ul>.<li
17740 3e 3c 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e ><a.href="#defer">defer</a></li>
17760 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 .<li><a.href="#Memory">Memory</a
17780 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 ></li>.</ul>...............<h3.i
177a0 64 3d 22 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 3c 61 20 68 72 65 66 d="Detecting-Test-Build"><a.href
177c0 3d 22 23 74 6f 63 2d 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 44 65 74 ="#toc-Detecting-Test-Build">Det
177e0 65 63 74 69 6e 67 20 54 65 73 74 20 42 75 69 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ecting.Test.Build</a>.<a.class="
17800 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 hdr".href="#Detecting-Test-Build
17820 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 ">..</a></h3>........<p>........
17840 20 55 73 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 .Use.the.<a.href="#Compile-Varia
17860 62 6c 65 73 22 3e 63 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 6c 65 3c 2f 61 3e 20 3c 63 6f 64 65 bles">compile.variable</a>.<code
17880 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f ><span.class="tok-builtin">@impo
178a0 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e rt</span>(<span.class="tok-str">
178c0 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 69 73 5f 74 &quot;builtin&quot;</span>).is_t
178e0 65 73 74 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 74 6f 20 64 65 74 65 63 74 20 61 20 74 est</code>.........to.detect.a.t
17900 65 73 74 20 62 75 69 6c 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 est.build:.......</p>.......<fig
17920 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
17940 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 64 65 74 65 63 <cite.class="file">testing_detec
17960 74 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 t_test.zig</cite></figcaption><p
17980 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
179a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nst</span>.std.=.<span.class="to
179c0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-builtin">@import</span>(<span.
179e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c class="tok-str">&quot;std&quot;<
17a00 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f /span>);.<span.class="tok-kw">co
17a20 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 nst</span>.builtin.=.<span.class
17a40 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@import</span>(<s
17a60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 pan.class="tok-str">&quot;builti
17a80 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n&quot;</span>);.<span.class="to
17aa0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e k-kw">const</span>.expect.=.std.
17ac0 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f testing.expect;..<span.class="to
17ae0 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k-kw">test</span>.<span.class="t
17b00 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 26 71 75 ok-str">&quot;builtin.is_test&qu
17b20 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
17b40 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 73 41 54 65 73 74 28 k-kw">try</span>.expect(isATest(
17b60 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f ));.}..<span.class="tok-kw">fn</
17b80 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 41 54 65 span>.<span.class="tok-fn">isATe
17ba0 73 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 st</span>().<span.class="tok-typ
17bc0 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e">bool</span>.{.....<span.class
17be0 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 2e ="tok-kw">return</span>.builtin.
17c00 69 73 5f 74 65 73 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e is_test;.}</code></pre></figure>
17c20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
17c40 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 -cap">Shell</figcaption><pre><sa
17c60 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 64 65 74 65 63 mp>$.<kbd>zig.test.testing_detec
17c80 74 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 69 6e 67 5f 64 65 74 t_test.zig</kbd>.1/1.testing_det
17ca0 65 63 74 5f 74 65 73 74 2e 74 65 73 74 2e 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 2e 2e 2e ect_test.test.builtin.is_test...
17cc0 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.1.tests.passed..</samp><
17ce0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 /pre></figure>..............<h3.
17d00 69 64 3d 22 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e 3c 61 20 id="Test-Output-and-Logging"><a.
17d20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 href="#toc-Test-Output-and-Loggi
17d40 6e 67 22 3e 54 65 73 74 20 4f 75 74 70 75 74 20 61 6e 64 20 4c 6f 67 67 69 6e 67 3c 2f 61 3e 20 ng">Test.Output.and.Logging</a>.
17d60 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 4f 75 74 70 75 <a.class="hdr".href="#Test-Outpu
17d80 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 t-and-Logging">..</a></h3>......
17da0 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 ..<p>.........The.default.test.r
17dc0 75 6e 6e 65 72 20 61 6e 64 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 unner.and.the.Zig.Standard.Libra
17de0 72 79 27 73 20 74 65 73 74 69 6e 67 20 6e 61 6d 65 73 70 61 63 65 20 6f 75 74 70 75 74 20 6d 65 ry's.testing.namespace.output.me
17e00 73 73 61 67 65 73 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 ssages.to.standard.error........
17e20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 65 2d 54 65 </p>..............<h3.id="The-Te
17e40 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 sting-Namespace"><a.href="#toc-T
17e60 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 54 68 65 20 54 65 73 74 69 6e he-Testing-Namespace">The.Testin
17e80 67 20 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 g.Namespace</a>.<a.class="hdr".h
17ea0 72 65 66 3d 22 23 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e c2 a7 3c ref="#The-Testing-Namespace">..<
17ec0 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 /a></h3>........<p>.........The.
17ee0 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 27 73 20 3c 63 6f 64 65 3e 74 65 73 Zig.Standard.Library's.<code>tes
17f00 74 69 6e 67 3c 2f 63 6f 64 65 3e 20 6e 61 6d 65 73 70 61 63 65 20 63 6f 6e 74 61 69 6e 73 20 75 ting</code>.namespace.contains.u
17f20 73 65 66 75 6c 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 68 65 6c 70 0a 20 20 20 20 20 20 20 20 seful.functions.to.help.........
17f40 79 6f 75 20 63 72 65 61 74 65 20 74 65 73 74 73 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f you.create.tests..In.addition.to
17f60 20 74 68 65 20 3c 63 6f 64 65 3e 65 78 70 65 63 74 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f .the.<code>expect</code>.functio
17f80 6e 2c 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 75 73 65 73 20 61 20 63 6f 75 70 6c 65 20 6f n,.this.document.uses.a.couple.o
17fa0 66 20 6d 6f 72 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 61 73 20 65 78 65 6d f.more.functions.........as.exem
17fc0 70 6c 69 66 69 65 64 20 68 65 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c plified.here:.......</p>.......<
17fe0 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 figure><figcaption.class="zig-ca
18000 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 6e 61 p"><cite.class="file">testing_na
18020 6d 65 73 70 61 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c mespace.zig</cite></figcaption><
18040 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
18060 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 onst</span>.std.=.<span.class="t
18080 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
180a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
180c0 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e </span>);..<span.class="tok-kw">
180e0 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 test</span>.<span.class="tok-str
18100 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 45 71 75 61 6c 20 64 65 6d 6f 26 71 75 6f 74 3b 3c 2f ">&quot;expectEqual.demo&quot;</
18120 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
18140 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 65 64 3a 20 3c 73 70 61 6e 20 63 6c >const</span>.expected:.<span.cl
18160 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 ass="tok-type">i32</span>.=.<spa
18180 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 0a n.class="tok-number">42</span>;.
181a0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ....<span.class="tok-kw">const</
181c0 73 70 61 6e 3e 20 61 63 74 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.actual.=.<span.class="tok-
181e0 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c number">42</span>;......<span.cl
18200 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 66 69 72 73 74 20 61 ass="tok-comment">//.The.first.a
18220 72 67 75 6d 65 6e 74 20 74 6f 20 60 65 78 70 65 63 74 45 71 75 61 6c 60 20 69 73 20 74 68 65 20 rgument.to.`expectEqual`.is.the.
18240 6b 6e 6f 77 6e 2c 20 65 78 70 65 63 74 65 64 2c 20 72 65 73 75 6c 74 2e 3c 2f 73 70 61 6e 3e 0a known,.expected,.result.</span>.
18260 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
18280 20 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 72 65 73 75 .The.second.argument.is.the.resu
182a0 6c 74 20 6f 66 20 73 6f 6d 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 lt.of.some.expression.</span>...
182c0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 ..<span.class="tok-comment">//.T
182e0 68 65 20 61 63 74 75 61 6c 27 73 20 74 79 70 65 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 74 68 he.actual's.type.is.casted.to.th
18300 65 20 74 79 70 65 20 6f 66 20 65 78 70 65 63 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c e.type.of.expected.</span>.....<
18320 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 span.class="tok-kw">try</span>.s
18340 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 65 78 70 65 63 74 65 64 2c td.testing.expectEqual(expected,
18360 20 61 63 74 75 61 6c 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .actual);.}..<span.class="tok-kw
18380 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">test</span>.<span.class="tok-s
183a0 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 45 72 72 6f 72 20 64 65 6d 6f 26 71 75 6f 74 3b tr">&quot;expectError.demo&quot;
183c0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
183e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 65 64 5f 65 72 72 6f 72 20 3d w">const</span>.expected_error.=
18400 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 .<span.class="tok-kw">error</spa
18420 6e 3e 2e 44 65 6d 6f 45 72 72 6f 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.DemoError;.....<span.class="t
18440 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 63 74 75 61 6c 5f 65 72 72 6f 72 ok-kw">const</span>.actual_error
18460 5f 75 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 _union:.<span.class="tok-type">a
18480 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nyerror</span>!<span.class="tok-
184a0 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d type">void</span>.=.<span.class=
184c0 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 6d 6f 45 72 72 6f 72 3b "tok-kw">error</span>.DemoError;
184e0 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ......<span.class="tok-comment">
18500 2f 2f 20 60 65 78 70 65 63 74 45 72 72 6f 72 60 20 77 69 6c 6c 20 66 61 69 6c 20 77 68 65 6e 20 //.`expectError`.will.fail.when.
18520 74 68 65 20 61 63 74 75 61 6c 20 65 72 72 6f 72 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 the.actual.error.is.different.th
18540 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 an</span>.....<span.class="tok-c
18560 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 2e 3c 2f omment">//.the.expected.error.</
18580 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 span>.....<span.class="tok-kw">t
185a0 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f ry</span>.std.testing.expectErro
185c0 72 28 65 78 70 65 63 74 65 64 5f 65 72 72 6f 72 2c 20 61 63 74 75 61 6c 5f 65 72 72 6f 72 5f 75 r(expected_error,.actual_error_u
185e0 6e 69 6f 6e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 nion);.}</code></pre></figure><f
18600 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 igure><figcaption.class="shell-c
18620 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 ap">Shell</figcaption><pre><samp
18640 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 6e 61 6d 65 73 70 61 >$.<kbd>zig.test.testing_namespa
18660 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 69 6e 67 5f 6e 61 6d 65 73 70 61 ce.zig</kbd>.1/2.testing_namespa
18680 63 65 2e 74 65 73 74 2e 65 78 70 65 63 74 45 71 75 61 6c 20 64 65 6d 6f 2e 2e 2e 20 4f 4b 0a 32 ce.test.expectEqual.demo....OK.2
186a0 2f 32 20 74 65 73 74 69 6e 67 5f 6e 61 6d 65 73 70 61 63 65 2e 74 65 73 74 2e 65 78 70 65 63 74 /2.testing_namespace.test.expect
186c0 45 72 72 6f 72 20 64 65 6d 6f 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 Error.demo....OK.All.2.tests.pas
186e0 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 sed..</samp></pre></figure>.....
18700 20 20 3c 70 3e 54 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 61 6c ..<p>The.Zig.Standard.Library.al
18720 73 6f 20 63 6f 6e 74 61 69 6e 73 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 63 6f 6d 70 61 72 65 so.contains.functions.to.compare
18740 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 2c 20 73 .<a.href="#Slices">Slices</a>,.s
18760 74 72 69 6e 67 73 2c 20 61 6e 64 20 6d 6f 72 65 2e 20 53 65 65 20 74 68 65 20 72 65 73 74 20 6f trings,.and.more..See.the.rest.o
18780 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 74 65 73 74 69 6e 67 3c f.the.........<code>std.testing<
187a0 2f 63 6f 64 65 3e 20 6e 61 6d 65 73 70 61 63 65 20 69 6e 20 74 68 65 20 3c 61 20 68 72 65 66 3d /code>.namespace.in.the.<a.href=
187c0 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e "#Zig-Standard-Library">Zig.Stan
187e0 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 66 6f 72 20 6d 6f 72 65 20 61 76 61 69 6c 61 dard.Library</a>.for.more.availa
18800 62 6c 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 ble.functions.</p>..............
18820 3c 68 33 20 69 64 3d 22 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 <h3.id="Test-Tool-Documentation"
18840 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e ><a.href="#toc-Test-Tool-Documen
18860 74 61 74 69 6f 6e 22 3e 54 65 73 74 20 54 6f 6f 6c 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c tation">Test.Tool.Documentation<
18880 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 54 /a>.<a.class="hdr".href="#Test-T
188a0 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ool-Documentation">..</a></h3>..
188c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c ......<p>.........<kbd>zig.test<
188e0 2f 6b 62 64 3e 20 68 61 73 20 61 20 66 65 77 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 61 72 /kbd>.has.a.few.command.line.par
18900 61 6d 65 74 65 72 73 20 77 68 69 63 68 20 61 66 66 65 63 74 20 74 68 65 20 63 6f 6d 70 69 6c 61 ameters.which.affect.the.compila
18920 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 53 65 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion..........See.<kbd>zig.test.
18940 2d 2d 68 65 6c 70 3c 2f 6b 62 64 3e 20 66 6f 72 20 61 20 66 75 6c 6c 20 6c 69 73 74 2e 0a 20 20 --help</kbd>.for.a.full.list....
18960 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 ....</p>......................<h
18980 32 20 69 64 3d 22 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 56 2.id="Variables"><a.href="#toc-V
189a0 61 72 69 61 62 6c 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ariables">Variables</a>.<a.class
189c0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c ="hdr".href="#Variables">..</a><
189e0 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 76 61 72 69 61 62 6c 65 /h2>........<p>.......A.variable
18a00 20 69 73 20 61 20 75 6e 69 74 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e .is.a.unit.of.<a.href="#Memory">
18a20 4d 65 6d 6f 72 79 3c 2f 61 3e 20 73 74 6f 72 61 67 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 Memory</a>.storage........</p>..
18a40 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 70 .....<p>.......It.is.generally.p
18a60 72 65 66 65 72 61 62 6c 65 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 referable.to.use.<code><span.cla
18a80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ss="tok-kw">const</span></code>.
18aa0 72 61 74 68 65 72 20 74 68 61 6e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c rather.than.......<code><span.cl
18ac0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 ass="tok-kw">var</span></code>.w
18ae0 68 65 6e 20 64 65 63 6c 61 72 69 6e 67 20 61 20 76 61 72 69 61 62 6c 65 2e 20 54 68 69 73 20 63 hen.declaring.a.variable..This.c
18b00 61 75 73 65 73 20 6c 65 73 73 20 77 6f 72 6b 20 66 6f 72 20 62 6f 74 68 0a 20 20 20 20 20 20 68 auses.less.work.for.both.......h
18b20 75 6d 61 6e 73 20 61 6e 64 20 63 6f 6d 70 75 74 65 72 73 20 74 6f 20 64 6f 20 77 68 65 6e 20 72 umans.and.computers.to.do.when.r
18b40 65 61 64 69 6e 67 20 63 6f 64 65 2c 20 61 6e 64 20 63 72 65 61 74 65 73 20 6d 6f 72 65 20 6f 70 eading.code,.and.creates.more.op
18b60 74 69 6d 69 7a 61 74 69 6f 6e 20 6f 70 70 6f 72 74 75 6e 69 74 69 65 73 2e 0a 20 20 20 20 20 20 timization.opportunities........
18b80 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c </p>.......<p>.......The.<code><
18ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e span.class="tok-kw">extern</span
18bc0 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 65 78 ></code>.keyword.or.<a.href="#ex
18be0 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 tern">@extern</a>.builtin.functi
18c00 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 20 61 on.can.be.used.to.link.against.a
18c20 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 69 73 20 65 78 70 6f 72 74 65 64 0a 20 20 20 20 20 .variable.that.is.exported......
18c40 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 6f 62 6a 65 63 74 2e 20 54 68 65 20 3c 63 6f 64 65 3e .from.another.object..The.<code>
18c60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 <span.class="tok-kw">export</spa
18c80 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 65 n></code>.keyword.or.<a.href="#e
18ca0 78 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 xport">@export</a>.builtin.funct
18cc0 69 6f 6e 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6d 61 6b 65 20 61 20 ion.......can.be.used.to.make.a.
18ce0 76 61 72 69 61 62 6c 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 6f 74 68 65 72 20 6f 62 6a 65 variable.available.to.other.obje
18d00 63 74 73 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2e 20 49 6e 20 62 6f 74 68 20 63 61 73 65 73 2c cts.at.link.time..In.both.cases,
18d20 0a 20 20 20 20 20 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 .......the.type.of.the.variable.
18d40 6d 75 73 74 20 62 65 20 43 20 41 42 49 20 63 6f 6d 70 61 74 69 62 6c 65 2e 0a 20 20 20 20 20 20 must.be.C.ABI.compatible........
18d60 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a </p>.......<p>See.also:</p><ul>.
18d80 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 <li><a.href="#Exporting-a-C-Libr
18da0 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f ary">Exporting.a.C.Library</a></
18dc0 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 64 65 6e 74 69 li>.</ul>.........<h3.id="Identi
18de0 66 69 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 64 65 6e 74 69 66 69 65 72 73 fiers"><a.href="#toc-Identifiers
18e00 22 3e 49 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ">Identifiers</a>.<a.class="hdr"
18e20 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e .href="#Identifiers">..</a></h3>
18e40 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 56 61 72 69 61 62 6c 65 20 69 64 65 6e 74 ........<p>.......Variable.ident
18e60 69 66 69 65 72 73 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 73 68 61 64 ifiers.are.never.allowed.to.shad
18e80 6f 77 20 69 64 65 6e 74 69 66 69 65 72 73 20 66 72 6f 6d 20 61 6e 20 6f 75 74 65 72 20 73 63 6f ow.identifiers.from.an.outer.sco
18ea0 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 pe........</p>.......<p>.......I
18ec0 64 65 6e 74 69 66 69 65 72 73 20 6d 75 73 74 20 73 74 61 72 74 20 77 69 74 68 20 61 6e 20 61 6c dentifiers.must.start.with.an.al
18ee0 70 68 61 62 65 74 69 63 20 63 68 61 72 61 63 74 65 72 20 6f 72 20 75 6e 64 65 72 73 63 6f 72 65 phabetic.character.or.underscore
18f00 20 61 6e 64 20 6d 61 79 20 62 65 20 66 6f 6c 6c 6f 77 65 64 0a 20 20 20 20 20 20 62 79 20 61 6e .and.may.be.followed.......by.an
18f20 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 63 68 61 72 61 63 74 y.number.of.alphanumeric.charact
18f40 65 72 73 20 6f 72 20 75 6e 64 65 72 73 63 6f 72 65 73 2e 0a 20 20 20 20 20 20 54 68 65 79 20 6d ers.or.underscores........They.m
18f60 75 73 74 20 6e 6f 74 20 6f 76 65 72 6c 61 70 20 77 69 74 68 20 61 6e 79 20 6b 65 79 77 6f 72 64 ust.not.overlap.with.any.keyword
18f80 73 2e 20 53 65 65 20 3c 61 20 68 72 65 66 3d 22 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e s..See.<a.href="#Keyword-Referen
18fa0 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 66 65 72 65 6e 63 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 ce">Keyword.Reference</a>.......
18fc0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 61 20 6e 61 6d 65 20 .</p>.......<p>.......If.a.name.
18fe0 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 66 69 74 20 74 68 65 73 65 20 72 65 71 75 69 72 65 6d that.does.not.fit.these.requirem
19000 65 6e 74 73 20 69 73 20 6e 65 65 64 65 64 2c 20 73 75 63 68 20 61 73 20 66 6f 72 20 6c 69 6e 6b ents.is.needed,.such.as.for.link
19020 69 6e 67 20 77 69 74 68 20 65 78 74 65 72 6e 61 6c 20 6c 69 62 72 61 72 69 65 73 2c 20 74 68 65 ing.with.external.libraries,.the
19040 20 3c 63 6f 64 65 3e 40 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 .<code>@&quot;&quot;</code>.synt
19060 61 78 20 6d 61 79 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ax.may.be.used........</p>......
19080 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d .<figure><figcaption.class="zig-
190a0 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 64 65 6e 74 69 66 69 cap"><cite.class="file">identifi
190c0 65 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ers.zig</cite></figcaption><pre>
190e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
19100 3c 2f 73 70 61 6e 3e 20 40 26 71 75 6f 74 3b 69 64 65 6e 74 69 66 69 65 72 20 77 69 74 68 20 73 </span>.@&quot;identifier.with.s
19120 70 61 63 65 73 20 69 6e 20 69 74 26 71 75 6f 74 3b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d paces.in.it&quot;.=.<span.class=
19140 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 "tok-number">0xff</span>;.<span.
19160 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 40 26 71 75 class="tok-kw">const</span>.@&qu
19180 6f 74 3b 31 53 6d 61 6c 6c 53 74 65 70 34 4d 61 6e 26 71 75 6f 74 3b 20 3d 20 3c 73 70 61 6e 20 ot;1SmallStep4Man&quot;.=.<span.
191a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 32 33 35 38 3c 2f 73 70 61 6e 3e class="tok-number">112358</span>
191c0 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ;..<span.class="tok-kw">const</s
191e0 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 pan>.c.=.<span.class="tok-builti
19200 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">@import</span>(<span.class="t
19220 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e ok-str">&quot;std&quot;</span>).
19240 63 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 c;.<span.class="tok-kw">pub</spa
19260 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f n>.<span.class="tok-kw">extern</
19280 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>.<span.class="tok-str">&quo
192a0 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f t;c&quot;</span>.<span.class="to
192c0 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b k-kw">fn</span>.<span.class="tok
192e0 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 65 72 72 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 28 29 -fn">@&quot;error&quot;</span>()
19300 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 .<span.class="tok-type">void</sp
19320 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 an>;.<span.class="tok-kw">pub</s
19340 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e pan>.<span.class="tok-kw">extern
19360 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>.<span.class="tok-str">&q
19380 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 uot;c&quot;</span>.<span.class="
193a0 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tok-kw">fn</span>.<span.class="t
193c0 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 66 73 74 61 74 24 49 4e 4f 44 45 36 34 26 71 75 6f 74 ok-fn">@&quot;fstat$INODE64&quot
193e0 3b 3c 2f 73 70 61 6e 3e 28 66 64 3a 20 63 2e 66 64 5f 74 2c 20 62 75 66 3a 20 2a 63 2e 53 74 61 ;</span>(fd:.c.fd_t,.buf:.*c.Sta
19400 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c t).<span.class="tok-type">c_int<
19420 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f /span>;..<span.class="tok-kw">co
19440 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nst</span>.Color.=.<span.class="
19460 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 72 65 64 2c 0a 20 20 40 tok-kw">enum</span>.{...red,...@
19480 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 71 75 6f 74 3b 2c 0a 7d 3b 0a 3c 73 70 61 6e &quot;really.red&quot;,.};.<span
194a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c .class="tok-kw">const</span>.col
194c0 6f 72 3a 20 43 6f 6c 6f 72 20 3d 20 2e 40 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 71 or:.Color.=..@&quot;really.red&q
194e0 75 6f 74 3b 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 uot;;</code></pre></figure>.....
19500 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 ..........<h3.id="Container-Leve
19520 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6e 74 61 l-Variables"><a.href="#toc-Conta
19540 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e 65 72 20 iner-Level-Variables">Container.
19560 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 Level.Variables</a>.<a.class="hd
19580 72 22 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 r".href="#Container-Level-Variab
195a0 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 les">..</a></h3>........<p>.....
195c0 20 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e 43 6f 6e 74 61 69 6e 65 ..<a.href="#Containers">Containe
195e0 72 3c 2f 61 3e 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 68 61 76 65 20 73 74 61 74 69 r</a>.level.variables.have.stati
19600 63 20 6c 69 66 65 74 69 6d 65 20 61 6e 64 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e c.lifetime.and.are.order-indepen
19620 64 65 6e 74 20 61 6e 64 20 6c 61 7a 69 6c 79 20 61 6e 61 6c 79 7a 65 64 2e 0a 20 20 20 20 20 20 dent.and.lazily.analyzed........
19640 54 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 76 61 6c 75 65 20 6f 66 20 63 6f 6e 74 The.initialization.value.of.cont
19660 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 69 73 20 69 6d 70 6c 69 63 69 ainer.level.variables.is.implici
19680 74 6c 79 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f tly.......<a.href="#comptime">co
196a0 6d 70 74 69 6d 65 3c 2f 61 3e 2e 20 49 66 20 61 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c mptime</a>..If.a.container.level
196c0 20 76 61 72 69 61 62 6c 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .variable.is.<code><span.class="
196e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e tok-kw">const</span></code>.then
19700 20 69 74 73 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .its.value.is.......<code><span.
19720 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f class="tok-kw">comptime</span></
19740 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 72 75 6e code>-known,.otherwise.it.is.run
19760 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 time-known........</p>.......<fi
19780 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
197a0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6e 74 61 69 6e ><cite.class="file">test_contain
197c0 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 er_level_variables.zig</cite></f
197e0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><code><span.class
19800 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c ="tok-kw">var</span>.y:.<span.cl
19820 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 64 64 28 ass="tok-type">i32</span>.=.add(
19840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 <span.class="tok-number">10</spa
19860 6e 3e 2c 20 78 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e n>,.x);.<span.class="tok-kw">con
19880 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 st</span>.x:.<span.class="tok-ty
198a0 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 pe">i32</span>.=.add(<span.class
198c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-number">12</span>,.<span.c
198e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c lass="tok-number">34</span>);..<
19900 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 span.class="tok-kw">test</span>.
19920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6e 74 <span.class="tok-str">&quot;cont
19940 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 ainer.level.variables&quot;</spa
19960 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 n>.{.....<span.class="tok-kw">tr
19980 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expect(x.==.<span.class
199a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 ="tok-number">46</span>);.....<s
199c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 pan.class="tok-kw">try</span>.ex
199e0 70 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 pect(y.==.<span.class="tok-numbe
19a00 72 22 3e 35 36 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 r">56</span>);.}..<span.class="t
19a20 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ok-kw">fn</span>.<span.class="to
19a40 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-fn">add</span>(a:.<span.class=
19a60 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 "tok-type">i32</span>,.b:.<span.
19a80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 class="tok-type">i32</span>).<sp
19aa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b an.class="tok-type">i32</span>.{
19ac0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e .....<span.class="tok-kw">return
19ae0 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>.a.+.b;.}..<span.class="t
19b00 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.std.=.<span.
19b20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 class="tok-builtin">@import</spa
19b40 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 n>(<span.class="tok-str">&quot;s
19b60 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 td&quot;</span>);.<span.class="t
19b80 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 ok-kw">const</span>.expect.=.std
19ba0 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 .testing.expect;</code></pre></f
19bc0 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
19be0 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
19c00 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f re><samp>$.<kbd>zig.test.test_co
19c20 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 6b 62 64 ntainer_level_variables.zig</kbd
19c40 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 >.1/1.test_container_level_varia
19c60 62 6c 65 73 2e 74 65 73 74 2e 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 bles.test.container.level.variab
19c80 6c 65 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f les....OK.All.1.tests.passed..</
19ca0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
19cc0 20 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 6d .....Container.level.variables.m
19ce0 61 79 20 62 65 20 64 65 63 6c 61 72 65 64 20 69 6e 73 69 64 65 20 61 20 3c 61 20 68 72 65 66 3d ay.be.declared.inside.a.<a.href=
19d00 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 "#struct">struct</a>,.<a.href="#
19d20 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d union">union</a>,.<a.href="#enum
19d40 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 ">enum</a>,.or.<a.href="#opaque"
19d60 3e 6f 70 61 71 75 65 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 >opaque</a>:.......</p>.......<f
19d80 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 igure><figcaption.class="zig-cap
19da0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 61 6d 65 73 70 "><cite.class="file">test_namesp
19dc0 61 63 65 64 5f 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 aced_container_level_variable.zi
19de0 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e g</cite></figcaption><pre><code>
19e00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
19e20 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e >.std.=.<span.class="tok-builtin
19e40 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">@import</span>(<span.class="to
19e60 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a k-str">&quot;std&quot;</span>);.
19e80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
19ea0 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a >.expect.=.std.testing.expect;..
19ec0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e <span.class="tok-kw">test</span>
19ee0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 61 6d .<span.class="tok-str">&quot;nam
19f00 65 73 70 61 63 65 64 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 espaced.container.level.variable
19f20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
19f40 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 29 "tok-kw">try</span>.expect(foo()
19f60 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 .==.<span.class="tok-number">123
19f80 35 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 5</span>);.....<span.class="tok-
19fa0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 29 20 3d 3d 20 3c kw">try</span>.expect(foo().==.<
19fc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 36 3c 2f 73 70 span.class="tok-number">1236</sp
19fe0 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f an>);.}..<span.class="tok-kw">co
1a000 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nst</span>.S.=.<span.class="tok-
1a020 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c kw">struct</span>.{.....<span.cl
1a040 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e ass="tok-kw">var</span>.x:.<span
1a060 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c .class="tok-type">i32</span>.=.<
1a080 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 span.class="tok-number">1234</sp
1a0a0 61 6e 3e 3b 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e an>;.};..<span.class="tok-kw">fn
1a0c0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f </span>.<span.class="tok-fn">foo
1a0e0 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>().<span.class="tok-type"
1a100 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 53 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 63 >i32</span>.{.....S.x.+=.<span.c
1a120 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 lass="tok-number">1</span>;.....
1a140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 <span.class="tok-kw">return</spa
1a160 6e 3e 20 53 2e 78 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c n>.S.x;.}</code></pre></figure><
1a180 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d figure><figcaption.class="shell-
1a1a0 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d cap">Shell</figcaption><pre><sam
1a1c0 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 61 6d 65 73 70 61 63 65 p>$.<kbd>zig.test.test_namespace
1a1e0 64 5f 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f d_container_level_variable.zig</
1a200 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6e 61 6d 65 73 70 61 63 65 64 5f 63 6f 6e 74 61 69 6e kbd>.1/1.test_namespaced_contain
1a220 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 2e 74 65 73 74 2e 6e 61 6d 65 73 70 61 63 65 er_level_variable.test.namespace
1a240 64 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 2e 2e 2e 20 4f 4b d.container.level.variable....OK
1a260 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 .All.1.tests.passed..</samp></pr
1a280 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 e></figure>...............<h3.id
1a2a0 3d 22 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 ="Static-Local-Variables"><a.hre
1a2c0 66 3d 22 23 74 6f 63 2d 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e f="#toc-Static-Local-Variables">
1a2e0 53 74 61 74 69 63 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c Static.Local.Variables</a>.<a.cl
1a300 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 ass="hdr".href="#Static-Local-Va
1a320 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a riables">..</a></h3>........<p>.
1a340 20 20 20 20 20 20 20 20 49 74 20 69 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 68 ........It.is.also.possible.to.h
1a360 61 76 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 77 69 74 68 20 73 74 61 74 69 63 20 ave.local.variables.with.static.
1a380 6c 69 66 65 74 69 6d 65 20 62 79 20 75 73 69 6e 67 20 63 6f 6e 74 61 69 6e 65 72 73 20 69 6e 73 lifetime.by.using.containers.ins
1a3a0 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ide.functions........</p>.......
1a3c0 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
1a3e0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 74 61 74 ap"><cite.class="file">test_stat
1a400 69 63 5f 6c 6f 63 61 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ic_local_variable.zig</cite></fi
1a420 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><code><span.class=
1a440 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 "tok-kw">const</span>.std.=.<spa
1a460 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 n.class="tok-builtin">@import</s
1a480 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>(<span.class="tok-str">&quot
1a4a0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ;std&quot;</span>);.<span.class=
1a4c0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 "tok-kw">const</span>.expect.=.s
1a4e0 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d td.testing.expect;..<span.class=
1a500 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">test</span>.<span.class
1a520 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 61 74 69 63 20 6c 6f 63 61 6c 20 76 61 ="tok-str">&quot;static.local.va
1a540 72 69 61 62 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 riable&quot;</span>.{.....<span.
1a560 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 class="tok-kw">try</span>.expect
1a580 28 66 6f 6f 28 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 (foo().==.<span.class="tok-numbe
1a5a0 72 22 3e 31 32 33 35 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 r">1235</span>);.....<span.class
1a5c0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 ="tok-kw">try</span>.expect(foo(
1a5e0 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 ).==.<span.class="tok-number">12
1a600 33 36 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 36</span>);.}..<span.class="tok-
1a620 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
1a640 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n">foo</span>().<span.class="tok
1a660 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -type">i32</span>.{.....<span.cl
1a680 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 ass="tok-kw">const</span>.S.=.<s
1a6a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e pan.class="tok-kw">struct</span>
1a6c0 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .{.........<span.class="tok-kw">
1a6e0 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 var</span>.x:.<span.class="tok-t
1a700 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">i32</span>.=.<span.class="t
1a720 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 3b 0a 20 ok-number">1234</span>;.....};..
1a740 20 20 20 53 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ...S.x.+=.<span.class="tok-numbe
1a760 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r">1</span>;.....<span.class="to
1a780 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 53 2e 78 3b 0a 7d 3c 2f 63 6f 64 65 k-kw">return</span>.S.x;.}</code
1a7a0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 ></pre></figure><figure><figcapt
1a7c0 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 ion.class="shell-cap">Shell</fig
1a7e0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 caption><pre><samp>$.<kbd>zig.te
1a800 73 74 20 74 65 73 74 5f 73 74 61 74 69 63 5f 6c 6f 63 61 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 st.test_static_local_variable.zi
1a820 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 74 61 74 69 63 5f 6c 6f 63 61 6c 5f 76 61 g</kbd>.1/1.test_static_local_va
1a840 72 69 61 62 6c 65 2e 74 65 73 74 2e 73 74 61 74 69 63 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c riable.test.static.local.variabl
1a860 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 e....OK.All.1.tests.passed..</sa
1a880 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 mp></pre></figure>..............
1a8a0 20 3c 68 33 20 69 64 3d 22 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 .<h3.id="Thread-Local-Variables"
1a8c0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 ><a.href="#toc-Thread-Local-Vari
1a8e0 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 ables">Thread.Local.Variables</a
1a900 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 72 65 61 64 2d 4c >.<a.class="hdr".href="#Thread-L
1a920 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ocal-Variables">..</a></h3>.....
1a940 20 20 20 3c 70 3e 41 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 69 65 ...<p>A.variable.may.be.specifie
1a960 64 20 74 6f 20 62 65 20 61 20 74 68 72 65 61 64 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 d.to.be.a.thread-local.variable.
1a980 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 using.the.......<code><span.clas
1a9a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-kw">threadlocal</span></c
1a9c0 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 6d 61 6b 65 73 20 ode>.keyword,.......which.makes.
1a9e0 65 61 63 68 20 74 68 72 65 61 64 20 77 6f 72 6b 20 77 69 74 68 20 61 20 73 65 70 61 72 61 74 65 each.thread.work.with.a.separate
1aa00 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 3a 3c 2f 70 3e 0a 20 .instance.of.the.variable:</p>..
1aa20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 .....<figure><figcaption.class="
1aa40 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 zig-cap"><cite.class="file">test
1aa60 5f 74 68 72 65 61 64 5f 6c 6f 63 61 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 _thread_local_variables.zig</cit
1aa80 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e></figcaption><pre><code><span.
1aaa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 class="tok-kw">const</span>.std.
1aac0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 =.<span.class="tok-builtin">@imp
1aae0 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ort</span>(<span.class="tok-str"
1ab00 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 >&quot;std&quot;</span>);.<span.
1ab20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 class="tok-kw">const</span>.asse
1ab40 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c rt.=.std.debug.assert;..<span.cl
1ab60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 20 ass="tok-kw">threadlocal</span>.
1ab80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">var</span>.
1aba0 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 x:.<span.class="tok-type">i32</s
1abc0 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e pan>.=.<span.class="tok-number">
1abe0 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 1234</span>;..<span.class="tok-k
1ac00 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">test</span>.<span.class="tok-
1ac20 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 73 74 6f 72 61 67 65 26 str">&quot;thread.local.storage&
1ac40 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
1ac60 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 65 61 64 31 20 3d 20 3c tok-kw">const</span>.thread1.=.<
1ac80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 span.class="tok-kw">try</span>.s
1aca0 74 64 2e 54 68 72 65 61 64 2e 73 70 61 77 6e 28 2e 7b 7d 2c 20 74 65 73 74 54 6c 73 2c 20 2e 7b td.Thread.spawn(.{},.testTls,..{
1acc0 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e });.....<span.class="tok-kw">con
1ace0 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 65 61 64 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d st</span>.thread2.=.<span.class=
1ad00 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 54 68 72 65 61 64 2e 73 "tok-kw">try</span>.std.Thread.s
1ad20 70 61 77 6e 28 2e 7b 7d 2c 20 74 65 73 74 54 6c 73 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 74 65 73 pawn(.{},.testTls,..{});.....tes
1ad40 74 54 6c 73 28 29 3b 0a 20 20 20 20 74 68 72 65 61 64 31 2e 6a 6f 69 6e 28 29 3b 0a 20 20 20 20 tTls();.....thread1.join();.....
1ad60 74 68 72 65 61 64 32 2e 6a 6f 69 6e 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 thread2.join();.}..<span.class="
1ad80 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tok-kw">fn</span>.<span.class="t
1ada0 6f 6b 2d 66 6e 22 3e 74 65 73 74 54 6c 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c ok-fn">testTls</span>().<span.cl
1adc0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 ass="tok-type">void</span>.{....
1ade0 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .assert(x.==.<span.class="tok-nu
1ae00 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 78 20 2b 3d 20 3c 73 70 mber">1234</span>);.....x.+=.<sp
1ae20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">1</span>;.
1ae40 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ....assert(x.==.<span.class="tok
1ae60 2d 6e 75 6d 62 65 72 22 3e 31 32 33 35 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c -number">1235</span>);.}</code><
1ae80 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f /pre></figure><figure><figcaptio
1aea0 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 n.class="shell-cap">Shell</figca
1aec0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 ption><pre><samp>$.<kbd>zig.test
1aee0 20 74 65 73 74 5f 74 68 72 65 61 64 5f 6c 6f 63 61 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 .test_thread_local_variables.zig
1af00 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 74 68 72 65 61 64 5f 6c 6f 63 61 6c 5f 76 61 72 </kbd>.1/1.test_thread_local_var
1af20 69 61 62 6c 65 73 2e 74 65 73 74 2e 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 73 74 6f 72 61 67 65 iables.test.thread.local.storage
1af40 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d ....OK.All.1.tests.passed..</sam
1af60 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 p></pre></figure>.......<p>.....
1af80 20 20 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d ..For.<a.href="#Single-Threaded-
1afa0 42 75 69 6c 64 73 22 3e 53 69 6e 67 6c 65 20 54 68 72 65 61 64 65 64 20 42 75 69 6c 64 73 3c 2f Builds">Single.Threaded.Builds</
1afc0 61 3e 2c 20 61 6c 6c 20 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 61 a>,.all.thread.local.variables.a
1afe0 72 65 20 74 72 65 61 74 65 64 20 61 73 20 72 65 67 75 6c 61 72 20 3c 61 20 68 72 65 66 3d 22 23 re.treated.as.regular.<a.href="#
1b000 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 Container-Level-Variables">Conta
1b020 69 6e 65 72 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 iner.Level.Variables</a>........
1b040 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 72 65 61 64 20 6c 6f 63 61 </p>.......<p>.......Thread.loca
1b060 6c 20 76 61 72 69 61 62 6c 65 73 20 6d 61 79 20 6e 6f 74 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 l.variables.may.not.be.<code><sp
1b080 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-kw">const</span></
1b0a0 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 code>........</p>...............
1b0c0 3c 68 33 20 69 64 3d 22 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 <h3.id="Local-Variables"><a.href
1b0e0 3d 22 23 74 6f 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 4c 6f 63 61 6c 20 56 61 ="#toc-Local-Variables">Local.Va
1b100 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d riables</a>.<a.class="hdr".href=
1b120 22 23 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a "#Local-Variables">..</a></h3>..
1b140 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 ......<p>.......Local.variables.
1b160 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 occur.inside.<a.href="#Functions
1b180 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 ">Functions</a>,.<a.href="#compt
1b1a0 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 73 2c 20 61 6e 64 20 3c 61 ime">comptime</a>.blocks,.and.<a
1b1c0 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 20 62 6c .href="#cImport">@cImport</a>.bl
1b1e0 6f 63 6b 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ocks........</p>.......<p>......
1b200 20 57 68 65 6e 20 61 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 69 73 20 3c 63 6f 64 65 3e .When.a.local.variable.is.<code>
1b220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
1b240 3e 3c 2f 63 6f 64 65 3e 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 61 74 20 61 66 74 65 72 20 69 6e ></code>,.it.means.that.after.in
1b260 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 27 73 0a 20 20 20 itialization,.the.variable's....
1b280 20 20 20 76 61 6c 75 65 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 6e 67 65 2e 20 49 66 20 74 68 65 ...value.will.not.change..If.the
1b2a0 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 76 61 6c 75 65 20 6f 66 20 61 20 3c 63 6f 64 65 .initialization.value.of.a.<code
1b2c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
1b2e0 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 72 69 61 62 6c 65 20 69 73 0a 20 20 20 20 20 20 3c 61 20 68 n></code>.variable.is.......<a.h
1b300 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f ref="#comptime">comptime</a>-kno
1b320 77 6e 2c 20 74 68 65 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 6c 73 6f 20 3c 63 wn,.then.the.variable.is.also.<c
1b340 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d ode><span.class="tok-kw">comptim
1b360 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 e</span></code>-known........</p
1b380 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 >.......<p>.......A.local.variab
1b3a0 6c 65 20 6d 61 79 20 62 65 20 71 75 61 6c 69 66 69 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f le.may.be.qualified.with.the.<co
1b3c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 de><span.class="tok-kw">comptime
1b3e0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e 20 54 68 69 73 20 63 61 75 </span></code>.keyword..This.cau
1b400 73 65 73 0a 20 20 20 20 20 20 74 68 65 20 76 61 72 69 61 62 6c 65 27 73 20 76 61 6c 75 65 20 74 ses.......the.variable's.value.t
1b420 6f 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e o.be.<code><span.class="tok-kw">
1b440 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2c 20 61 6e comptime</span></code>-known,.an
1b460 64 20 61 6c 6c 20 6c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 6f 66 20 74 68 65 0a 20 20 d.all.loads.and.stores.of.the...
1b480 20 20 20 20 76 61 72 69 61 62 6c 65 20 74 6f 20 68 61 70 70 65 6e 20 64 75 72 69 6e 67 20 73 65 ....variable.to.happen.during.se
1b4a0 6d 61 6e 74 69 63 20 61 6e 61 6c 79 73 69 73 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 mantic.analysis.of.the.program,.
1b4c0 72 61 74 68 65 72 20 74 68 61 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 0a 20 20 20 20 20 20 41 6c rather.than.at.runtime........Al
1b4e0 6c 20 76 61 72 69 61 62 6c 65 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 61 20 3c 63 6f 64 65 3e l.variables.declared.in.a.<code>
1b500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 <span.class="tok-kw">comptime</s
1b520 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 61 72 65 20 69 6d 70 6c 69 pan></code>.expression.are.impli
1b540 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 citly.......<code><span.class="t
1b560 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 ok-kw">comptime</span></code>.va
1b580 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 riables........</p>.......<figur
1b5a0 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
1b5c0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 76 ite.class="file">test_comptime_v
1b5e0 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e ariables.zig</cite></figcaption>
1b600 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
1b620 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.std.=.<span.class="
1b640 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@import</span>(<spa
1b660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 n.class="tok-str">&quot;std&quot
1b680 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;</span>);.<span.class="tok-kw">
1b6a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e const</span>.expect.=.std.testin
1b6c0 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e g.expect;..<span.class="tok-kw">
1b6e0 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 test</span>.<span.class="tok-str
1b700 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 ">&quot;comptime.vars&quot;</spa
1b720 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 n>.{.....<span.class="tok-kw">va
1b740 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r</span>.x:.<span.class="tok-typ
1b760 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">i32</span>.=.<span.class="tok
1b780 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 -number">1</span>;.....<span.cla
1b7a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 ss="tok-kw">comptime</span>.<spa
1b7c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c n.class="tok-kw">var</span>.y:.<
1b7e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">i32</span>
1b800 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 .=.<span.class="tok-number">1</s
1b820 70 61 6e 3e 3b 0a 0a 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>;......x.+=.<span.class="tok
1b840 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 -number">1</span>;.....y.+=.<spa
1b860 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a n.class="tok-number">1</span>;..
1b880 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
1b8a0 61 6e 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expect(x.==.<span.class="tok
1b8c0 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -number">2</span>);.....<span.cl
1b8e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 ass="tok-kw">try</span>.expect(y
1b900 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f .==.<span.class="tok-number">2</
1b920 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>);......<span.class="tok-kw
1b940 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 79 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">if</span>.(y.!=.<span.class="t
1b960 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c ok-number">2</span>).{.........<
1b980 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 span.class="tok-comment">//.This
1b9a0 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 6e 65 76 65 72 20 74 72 69 67 67 65 72 73 20 62 65 .compile.error.never.triggers.be
1b9c0 63 61 75 73 65 20 79 20 69 73 20 61 20 63 6f 6d 70 74 69 6d 65 20 76 61 72 69 61 62 6c 65 2c 3c cause.y.is.a.comptime.variable,<
1b9e0 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.........<span.class="tok-
1ba00 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 73 6f 20 60 79 20 21 3d 20 32 60 20 69 73 20 61 comment">//.and.so.`y.!=.2`.is.a
1ba20 20 63 6f 6d 70 74 69 6d 65 20 76 61 6c 75 65 2c 20 61 6e 64 20 74 68 69 73 20 69 66 20 69 73 20 .comptime.value,.and.this.if.is.
1ba40 73 74 61 74 69 63 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 statically.evaluated.</span>....
1ba60 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 .....<span.class="tok-builtin">@
1ba80 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d compileError</span>(<span.class=
1baa0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 72 6f 6e 67 20 79 20 76 61 6c 75 65 26 71 75 "tok-str">&quot;wrong.y.value&qu
1bac0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ot;</span>);.....}.}</code></pre
1bae0 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c ></figure><figure><figcaption.cl
1bb00 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f ass="shell-cap">Shell</figcaptio
1bb20 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 n><pre><samp>$.<kbd>zig.test.tes
1bb40 74 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 t_comptime_variables.zig</kbd>.1
1bb60 2f 31 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 72 69 61 62 6c 65 73 2e 74 65 73 74 2e /1.test_comptime_variables.test.
1bb80 63 6f 6d 70 74 69 6d 65 20 76 61 72 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 comptime.vars....OK.All.1.tests.
1bba0 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 passed..</samp></pre></figure>..
1bbc0 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 74 65 ....................<h2.id="Inte
1bbe0 67 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 65 67 65 72 73 22 3e 49 6e gers"><a.href="#toc-Integers">In
1bc00 74 65 67 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 tegers</a>.<a.class="hdr".href="
1bc20 23 49 6e 74 65 67 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 #Integers">..</a></h2>........<h
1bc40 33 20 69 64 3d 22 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 3.id="Integer-Literals"><a.href=
1bc60 22 23 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 20 "#toc-Integer-Literals">Integer.
1bc80 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 Literals</a>.<a.class="hdr".href
1bca0 3d 22 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ="#Integer-Literals">..</a></h3>
1bcc0 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 ........<figure><figcaption.clas
1bce0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 s="zig-cap"><cite.class="file">i
1bd00 6e 74 65 67 65 72 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 nteger_literals.zig</cite></figc
1bd20 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
1bd40 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 63 69 6d 61 6c 5f 69 6e 74 20 ok-kw">const</span>.decimal_int.
1bd60 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 38 32 32 32 =.<span.class="tok-number">98222
1bd80 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f </span>;.<span.class="tok-kw">co
1bda0 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 78 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 nst</span>.hex_int.=.<span.class
1bdc0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e ="tok-number">0xff</span>;.<span
1bde0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 6f .class="tok-kw">const</span>.ano
1be00 74 68 65 72 5f 68 65 78 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ther_hex_int.=.<span.class="tok-
1be20 6e 75 6d 62 65 72 22 3e 30 78 46 46 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 number">0xFF</span>;.<span.class
1be40 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 63 74 61 6c 5f 69 6e 74 ="tok-kw">const</span>.octal_int
1be60 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 6f 37 35 .=.<span.class="tok-number">0o75
1be80 35 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 5</span>;.<span.class="tok-kw">c
1bea0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 6e 61 72 79 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 onst</span>.binary_int.=.<span.c
1bec0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 31 31 31 30 30 30 30 3c 2f 73 70 lass="tok-number">0b11110000</sp
1bee0 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e an>;..<span.class="tok-comment">
1bf00 2f 2f 20 75 6e 64 65 72 73 63 6f 72 65 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 62 65 74 //.underscores.may.be.placed.bet
1bf20 77 65 65 6e 20 74 77 6f 20 64 69 67 69 74 73 20 61 73 20 61 20 76 69 73 75 61 6c 20 73 65 70 61 ween.two.digits.as.a.visual.sepa
1bf40 72 61 74 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 rator</span>.<span.class="tok-kw
1bf60 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6e 65 5f 62 69 6c 6c 69 6f 6e 20 3d 20 3c 73 70 ">const</span>.one_billion.=.<sp
1bf80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 5f 30 30 30 5f 30 30 30 5f an.class="tok-number">1_000_000_
1bfa0 30 30 30 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 000</span>;.<span.class="tok-kw"
1bfc0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 6e 61 72 79 5f 6d 61 73 6b 20 3d 20 3c 73 70 61 >const</span>.binary_mask.=.<spa
1bfe0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 5f 31 31 31 31 5f 31 31 n.class="tok-number">0b1_1111_11
1c000 31 31 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 11</span>;.<span.class="tok-kw">
1c020 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 3d 20 3c 73 70 61 6e const</span>.permissions.=.<span
1c040 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 6f 37 5f 35 5f 35 3c 2f 73 70 61 .class="tok-number">0o7_5_5</spa
1c060 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f n>;.<span.class="tok-kw">const</
1c080 73 70 61 6e 3e 20 62 69 67 5f 61 64 64 72 65 73 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.big_address.=.<span.class=
1c0a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 46 46 38 30 5f 30 30 30 30 5f 30 30 30 30 5f 30 30 "tok-number">0xFF80_0000_0000_00
1c0c0 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 00</span>;</code></pre></figure>
1c0e0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 75 6e 74 69 6d 65 2d 49 6e ..............<h3.id="Runtime-In
1c100 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 75 6e 74 teger-Values"><a.href="#toc-Runt
1c120 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e 52 75 6e 74 69 6d 65 20 49 6e 74 65 ime-Integer-Values">Runtime.Inte
1c140 67 65 72 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ger.Values</a>.<a.class="hdr".hr
1c160 65 66 3d 22 23 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e c2 a7 3c ef="#Runtime-Integer-Values">..<
1c180 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 74 65 67 65 /a></h3>........<p>.......Intege
1c1a0 72 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 6e 6f 20 73 69 7a 65 20 6c 69 6d 69 74 61 74 69 r.literals.have.no.size.limitati
1c1c0 6f 6e 2c 20 61 6e 64 20 69 66 20 61 6e 79 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f on,.and.if.any.undefined.behavio
1c1e0 72 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 74 r.occurs,.......the.compiler.cat
1c200 63 68 65 73 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ches.it........</p>.......<p>...
1c220 20 20 20 20 48 6f 77 65 76 65 72 2c 20 6f 6e 63 65 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c ....However,.once.an.integer.val
1c240 75 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 ue.is.no.longer.known.at.compile
1c260 2d 74 69 6d 65 2c 20 69 74 20 6d 75 73 74 20 68 61 76 65 20 61 0a 20 20 20 20 20 20 6b 6e 6f 77 -time,.it.must.have.a.......know
1c280 6e 20 73 69 7a 65 2c 20 61 6e 64 20 69 73 20 76 75 6c 6e 65 72 61 62 6c 65 20 74 6f 20 75 6e 64 n.size,.and.is.vulnerable.to.und
1c2a0 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 efined.behavior........</p>.....
1c2c0 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 ..<figure><figcaption.class="zig
1c2e0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 -cap"><cite.class="file">runtime
1c300 5f 76 73 5f 63 6f 6d 70 74 69 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 _vs_comptime.zig</cite></figcapt
1c320 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
1c340 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
1c360 6e 22 3e 64 69 76 69 64 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d n">divide</span>(a:.<span.class=
1c380 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 "tok-type">i32</span>,.b:.<span.
1c3a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 class="tok-type">i32</span>).<sp
1c3c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b an.class="tok-type">i32</span>.{
1c3e0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e .....<span.class="tok-kw">return
1c400 3c 2f 73 70 61 6e 3e 20 61 20 2f 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 </span>.a./.b;.}</code></pre></f
1c420 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 66 igure>.......<p>.......In.this.f
1c440 75 6e 63 74 69 6f 6e 2c 20 76 61 6c 75 65 73 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 61 unction,.values.<code>a</code>.a
1c460 6e 64 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 61 72 65 20 6b 6e 6f 77 6e 20 6f 6e 6c 79 nd.<code>b</code>.are.known.only
1c480 20 61 74 20 72 75 6e 74 69 6d 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 68 69 73 .at.runtime,.......and.thus.this
1c4a0 20 64 69 76 69 73 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 76 75 6c 6e 65 72 61 62 6c .division.operation.is.vulnerabl
1c4c0 65 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 e.to.both.<a.href="#Integer-Over
1c4e0 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 61 6e 64 0a 20 flow">Integer.Overflow</a>.and..
1c500 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 .....<a.href="#Division-by-Zero"
1c520 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 >Division.by.Zero</a>........</p
1c540 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 70 65 72 61 74 6f 72 73 20 73 75 63 68 >.......<p>.......Operators.such
1c560 20 61 73 20 3c 63 6f 64 65 3e 2b 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 2d 3c 2f .as.<code>+</code>.and.<code>-</
1c580 63 6f 64 65 3e 20 63 61 75 73 65 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 6f code>.cause.undefined.behavior.o
1c5a0 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 2e 20 41 6c 74 65 72 6e n.......integer.overflow..Altern
1c5c0 61 74 69 76 65 20 6f 70 65 72 61 74 6f 72 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 66 6f 72 ative.operators.are.provided.for
1c5e0 20 77 72 61 70 70 69 6e 67 20 61 6e 64 20 73 61 74 75 72 61 74 69 6e 67 20 61 72 69 74 68 6d 65 .wrapping.and.saturating.arithme
1c600 74 69 63 20 6f 6e 20 61 6c 6c 20 74 61 72 67 65 74 73 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e tic.on.all.targets........<code>
1c620 2b 25 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 2d 25 3c 2f 63 6f 64 65 3e 20 70 65 +%</code>.and.<code>-%</code>.pe
1c640 72 66 6f 72 6d 20 77 72 61 70 70 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 0a 20 20 20 20 20 20 rform.wrapping.arithmetic.......
1c660 77 68 69 6c 65 20 3c 63 6f 64 65 3e 2b 7c 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e while.<code>+|</code>.and.<code>
1c680 2d 7c 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 20 73 61 74 75 72 61 74 69 6e 67 20 61 72 69 -|</code>.perform.saturating.ari
1c6a0 74 68 6d 65 74 69 63 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 thmetic........</p>.......<p>...
1c6c0 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 72 62 69 74 72 61 72 79 20 62 69 74 2d 77 ....Zig.supports.arbitrary.bit-w
1c6e0 69 64 74 68 20 69 6e 74 65 67 65 72 73 2c 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 75 73 69 idth.integers,.referenced.by.usi
1c700 6e 67 0a 20 20 20 20 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 3c 63 6f 64 65 3e ng.......an.identifier.of.<code>
1c720 69 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f 63 6f 64 65 3e 20 66 6f 6c 6c 6f i</code>.or.<code>u</code>.follo
1c740 77 65 64 20 62 79 20 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 wed.by.digits..For.example,.the.
1c760 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 identifier.......<code><span.cla
1c780 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 ss="tok-type">i7</span></code>.r
1c7a0 65 66 65 72 73 20 74 6f 20 61 20 73 69 67 6e 65 64 20 37 2d 62 69 74 20 69 6e 74 65 67 65 72 2e efers.to.a.signed.7-bit.integer.
1c7c0 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 62 69 74 2d 77 69 64 74 68 20 6f .The.maximum.allowed.bit-width.o
1c7e0 66 20 61 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 f.an.......integer.type.is.<code
1c800 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c ><span.class="tok-number">65535<
1c820 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 46 6f 72 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 /span></code>..For.signed.intege
1c840 72 20 74 79 70 65 73 2c 20 5a 69 67 20 75 73 65 73 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 r.types,.Zig.uses.a.......<a.hre
1c860 66 3d 22 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 f="https://en.wikipedia.org/wiki
1c880 2f 54 77 6f 27 73 5f 63 6f 6d 70 6c 65 6d 65 6e 74 22 3e 74 77 6f 27 73 20 63 6f 6d 70 6c 65 6d /Two's_complement">two's.complem
1c8a0 65 6e 74 3c 2f 61 3e 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f ent</a>.representation........</
1c8c0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c p>.......<p>See.also:</p><ul>.<l
1c8e0 69 3e 3c 61 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 i><a.href="#Wrapping-Operations"
1c900 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f >Wrapping.Operations</a></li>.</
1c920 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d ul>......................<h2.id=
1c940 22 46 6c 6f 61 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 6c 6f 61 74 73 22 3e 46 "Floats"><a.href="#toc-Floats">F
1c960 6c 6f 61 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 loats</a>.<a.class="hdr".href="#
1c980 46 6c 6f 61 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 Floats">..</a></h2>........<p>Zi
1c9a0 67 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 g.has.the.following.floating.poi
1c9c0 6e 74 20 74 79 70 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 nt.types:</p>.......<ul>........
1c9e0 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ...<li><code><span.class="tok-ty
1ca00 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 pe">f16</span></code>.-.IEEE-754
1ca20 2d 32 30 30 38 20 62 69 6e 61 72 79 31 36 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c -2008.binary16</li>...........<l
1ca40 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 i><code><span.class="tok-type">f
1ca60 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 32</span></code>.-.IEEE-754-2008
1ca80 20 62 69 6e 61 72 79 33 32 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f .binary32</li>...........<li><co
1caa0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 de><span.class="tok-type">f64</s
1cac0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 pan></code>.-.IEEE-754-2008.bina
1cae0 72 79 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 ry64</li>...........<li><code><s
1cb00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 38 30 3c 2f 73 70 61 6e 3e 3c pan.class="tok-type">f80</span><
1cb20 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 38 30 2d 62 69 74 20 65 78 /code>.-.IEEE-754-2008.80-bit.ex
1cb40 74 65 6e 64 65 64 20 70 72 65 63 69 73 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 tended.precision</li>...........
1cb60 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 <li><code><span.class="tok-type"
1cb80 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 >f128</span></code>.-.IEEE-754-2
1cba0 30 30 38 20 62 69 6e 61 72 79 31 32 38 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 008.binary128</li>...........<li
1cbc0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f ><code><span.class="tok-type">c_
1cbe0 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6d 61 74 63 68 longdouble</span></code>.-.match
1cc00 65 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f es.<code.class="c">long.double</
1cc20 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 43 20 41 42 49 3c 2f 6c 69 3e 0a code>.for.the.target.C.ABI</li>.
1cc40 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 6c 6f 61 74 2d ......</ul>.......<h3.id="Float-
1cc60 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 6c 6f 61 74 2d 4c 69 Literals"><a.href="#toc-Float-Li
1cc80 74 65 72 61 6c 73 22 3e 46 6c 6f 61 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c terals">Float.Literals</a>.<a.cl
1cca0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 ass="hdr".href="#Float-Literals"
1ccc0 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6c >..</a></h3>........<p>.......Fl
1cce0 6f 61 74 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 oat.literals.have.type.<code><sp
1cd00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f an.class="tok-type">comptime_flo
1cd20 61 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 69 63 68 20 69 73 20 67 75 61 72 61 6e at</span></code>.which.is.guaran
1cd40 74 65 65 64 20 74 6f 20 68 61 76 65 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 70 72 65 63 teed.to.have.......the.same.prec
1cd60 69 73 69 6f 6e 20 61 6e 64 20 6f 70 65 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6c 61 72 67 ision.and.operations.of.the.larg
1cd80 65 73 74 20 6f 74 68 65 72 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 74 79 70 65 2c 20 77 est.other.floating.point.type,.w
1cda0 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d hich.is.......<code><span.class=
1cdc0 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 "tok-type">f128</span></code>...
1cde0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6c 6f 61 74 20 .....</p>.......<p>.......Float.
1ce00 6c 69 74 65 72 61 6c 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e literals.<a.href="#Type-Coercion
1ce20 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 74 6f 20 61 6e 79 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 ">coerce</a>.to.any.floating.poi
1ce40 6e 74 20 74 79 70 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 6f 20 61 6e 79 20 3c 61 20 68 72 65 nt.type,.......and.to.any.<a.hre
1ce60 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 74 79 70 65 20 77 f="#Integers">integer</a>.type.w
1ce80 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 66 72 61 63 74 69 6f 6e 61 6c 20 63 6f 6d 70 6f hen.there.is.no.fractional.compo
1cea0 6e 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c nent........</p>.......<figure><
1cec0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 figcaption.class="zig-cap"><cite
1cee0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f 61 74 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 .class="file">float_literals.zig
1cf00 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c </cite></figcaption><pre><code><
1cf20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
1cf40 20 66 6c 6f 61 74 69 6e 67 5f 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .floating_point.=.<span.class="t
1cf60 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 2e 30 45 2b 37 37 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 ok-number">123.0E+77</span>;.<sp
1cf80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 an.class="tok-kw">const</span>.a
1cfa0 6e 6f 74 68 65 72 5f 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nother_float.=.<span.class="tok-
1cfc0 6e 75 6d 62 65 72 22 3e 31 32 33 2e 30 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 number">123.0</span>;.<span.clas
1cfe0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 65 74 5f 61 6e 6f 74 s="tok-kw">const</span>.yet_anot
1d000 68 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 her.=.<span.class="tok-number">1
1d020 32 33 2e 30 65 2b 37 37 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 23.0e+77</span>;..<span.class="t
1d040 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 78 5f 66 6c 6f 61 74 69 6e 67 ok-kw">const</span>.hex_floating
1d060 5f 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 _point.=.<span.class="tok-number
1d080 22 3e 30 78 31 30 33 2e 37 30 70 2d 35 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 ">0x103.70p-5</span>;.<span.clas
1d0a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f s="tok-kw">const</span>.another_
1d0c0 68 65 78 5f 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d hex_float.=.<span.class="tok-num
1d0e0 62 65 72 22 3e 30 78 31 30 33 2e 37 30 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">0x103.70</span>;.<span.clas
1d100 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 65 74 5f 61 6e 6f 74 s="tok-kw">const</span>.yet_anot
1d120 68 65 72 5f 68 65 78 5f 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b her_hex_float.=.<span.class="tok
1d140 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 33 2e 37 30 50 2d 35 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 -number">0x103.70P-5</span>;..<s
1d160 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 64 65 72 pan.class="tok-comment">//.under
1d180 73 63 6f 72 65 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 62 65 74 77 65 65 6e 20 74 77 6f scores.may.be.placed.between.two
1d1a0 20 64 69 67 69 74 73 20 61 73 20 61 20 76 69 73 75 61 6c 20 73 65 70 61 72 61 74 6f 72 3c 2f 73 .digits.as.a.visual.separator</s
1d1c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c pan>.<span.class="tok-kw">const<
1d1e0 2f 73 70 61 6e 3e 20 6c 69 67 68 74 73 70 65 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>.lightspeed.=.<span.class=
1d200 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 39 39 5f 37 39 32 5f 34 35 38 2e 30 30 30 5f 30 30 30 "tok-number">299_792_458.000_000
1d220 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f </span>;.<span.class="tok-kw">co
1d240 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6e 6f 73 65 63 6f 6e 64 20 3d 20 3c 73 70 61 6e 20 63 6c nst</span>.nanosecond.=.<span.cl
1d260 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 30 30 5f 30 30 30 5f 30 30 31 3c 2f ass="tok-number">0.000_000_001</
1d280 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 span>;.<span.class="tok-kw">cons
1d2a0 74 3c 2f 73 70 61 6e 3e 20 6d 6f 72 65 5f 68 65 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t</span>.more_hex.=.<span.class=
1d2c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 5f 35 36 37 38 2e 39 41 42 43 5f 43 44 "tok-number">0x1234_5678.9ABC_CD
1d2e0 45 46 70 2d 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 EFp-10</span>;</code></pre></fig
1d300 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f ure>.......<p>.......There.is.no
1d320 20 73 79 6e 74 61 78 20 66 6f 72 20 4e 61 4e 2c 20 69 6e 66 69 6e 69 74 79 2c 20 6f 72 20 6e 65 .syntax.for.NaN,.infinity,.or.ne
1d340 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 74 68 65 73 65 20 73 70 65 63 69 gative.infinity..For.these.speci
1d360 61 6c 20 76 61 6c 75 65 73 2c 0a 20 20 20 20 20 20 6f 6e 65 20 6d 75 73 74 20 75 73 65 20 74 68 al.values,.......one.must.use.th
1d380 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 e.standard.library:.......</p>..
1d3a0 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 .....<figure><figcaption.class="
1d3c0 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f 61 zig-cap"><cite.class="file">floa
1d3e0 74 5f 73 70 65 63 69 61 6c 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 t_special_values.zig</cite></fig
1d400 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><code><span.class="
1d420 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e tok-kw">const</span>.std.=.<span
1d440 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 .class="tok-builtin">@import</sp
1d460 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>(<span.class="tok-str">&quot;
1d480 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d std&quot;</span>);..<span.class=
1d4a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 66 20 3d 20 73 74 64 2e "tok-kw">const</span>.inf.=.std.
1d4c0 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e math.inf(<span.class="tok-type">
1d4e0 66 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 f32</span>);.<span.class="tok-kw
1d500 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 65 67 61 74 69 76 65 5f 69 6e 66 20 3d 20 2d 73 ">const</span>.negative_inf.=.-s
1d520 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 td.math.inf(<span.class="tok-typ
1d540 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">f64</span>);.<span.class="tok
1d560 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6e 20 3d 20 73 74 64 2e 6d 61 74 68 -kw">const</span>.nan.=.std.math
1d580 2e 6e 61 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 .nan(<span.class="tok-type">f128
1d5a0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a </span>);</code></pre></figure>.
1d5c0 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 6c 6f 61 74 69 6e 67 2d 50 6f .............<h3.id="Floating-Po
1d5e0 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 6c int-Operations"><a.href="#toc-Fl
1d600 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 69 6e oating-Point-Operations">Floatin
1d620 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d g.Point.Operations</a>.<a.class=
1d640 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 "hdr".href="#Floating-Point-Oper
1d660 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 42 79 ations">..</a></h3>........<p>By
1d680 20 64 65 66 61 75 6c 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 6f .default.floating.point.operatio
1d6a0 6e 73 20 75 73 65 20 3c 63 6f 64 65 3e 53 74 72 69 63 74 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c ns.use.<code>Strict</code>.mode,
1d6c0 0a 20 20 20 20 20 20 20 20 20 20 62 75 74 20 79 6f 75 20 63 61 6e 20 73 77 69 74 63 68 20 74 6f ...........but.you.can.switch.to
1d6e0 20 3c 63 6f 64 65 3e 4f 70 74 69 6d 69 7a 65 64 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 20 6f 6e 20 .<code>Optimized</code>.mode.on.
1d700 61 20 70 65 72 2d 62 6c 6f 63 6b 20 62 61 73 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 a.per-block.basis:</p>.......<fi
1d720 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
1d740 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f 61 74 5f 6d 6f 64 65 5f 6f ><cite.class="file">float_mode_o
1d760 62 6a 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c bj.zig</cite></figcaption><pre><
1d780 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
1d7a0 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.std.=.<span.class="tok-bu
1d7c0 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
1d7e0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;std&quot;</spa
1d800 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c n>);.<span.class="tok-kw">const<
1d820 2f 73 70 61 6e 3e 20 62 69 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.big.=.<span.class="tok-bu
1d840 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 iltin">@as</span>(<span.class="t
1d860 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">f64</span>,.<span.class
1d880 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 26 6c 74 3b 20 ="tok-number">1</span>.&lt;&lt;.
1d8a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 30 3c 2f 73 70 61 <span.class="tok-number">40</spa
1d8c0 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 n>);..<span.class="tok-kw">expor
1d8e0 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e t</span>.<span.class="tok-kw">fn
1d900 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f </span>.<span.class="tok-fn">foo
1d920 5f 73 74 72 69 63 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 _strict</span>(x:.<span.class="t
1d940 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">f64</span>).<span.class
1d960 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 ="tok-type">f64</span>.{.....<sp
1d980 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">return</span>.
1d9a0 78 20 2b 20 62 69 67 20 2d 20 62 69 67 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 x.+.big.-.big;.}..<span.class="t
1d9c0 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">export</span>.<span.class
1d9e0 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="tok-kw">fn</span>.<span.class=
1da00 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 28 78 3a "tok-fn">foo_optimized</span>(x:
1da20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 .<span.class="tok-type">f64</spa
1da40 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f n>).<span.class="tok-type">f64</
1da60 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 span>.{.....<span.class="tok-bui
1da80 6c 74 69 6e 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 73 70 61 6e 3e 28 2e 6f 70 74 69 ltin">@setFloatMode</span>(.opti
1daa0 6d 69 7a 65 64 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 mized);.....<span.class="tok-kw"
1dac0 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 62 69 67 20 2d 20 62 69 67 3b 0a 7d 3c >return</span>.x.+.big.-.big;.}<
1dae0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 /code></pre></figure><figure><fi
1db00 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c gcaption.class="shell-cap">Shell
1db20 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
1db40 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 66 6c 6f 61 74 5f 6d 6f 64 65 5f 6f 62 6a 2e 7a 69 67 20 ig.build-obj.float_mode_obj.zig.
1db60 2d 4f 20 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 -O.ReleaseFast</kbd>.</samp></pr
1db80 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 74 68 69 73 20 74 65 e></figure>.......<p>For.this.te
1dba0 73 74 20 77 65 20 68 61 76 65 20 74 6f 20 73 65 70 61 72 61 74 65 20 63 6f 64 65 20 69 6e 74 6f st.we.have.to.separate.code.into
1dbc0 20 74 77 6f 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 2d 0a 20 20 20 20 20 20 6f 74 68 65 72 77 .two.object.files.-.......otherw
1dbe0 69 73 65 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 66 69 67 75 72 65 73 20 6f 75 74 20 61 6c ise.the.optimizer.figures.out.al
1dc00 6c 20 74 68 65 20 76 61 6c 75 65 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 0a 20 20 l.the.values.at.compile-time,...
1dc20 20 20 20 20 77 68 69 63 68 20 6f 70 65 72 61 74 65 73 20 69 6e 20 73 74 72 69 63 74 20 6d 6f 64 ....which.operates.in.strict.mod
1dc40 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e e.</p>.......<figure><figcaption
1dc60 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="zig-cap"><cite.class="fi
1dc80 6c 65 22 3e 66 6c 6f 61 74 5f 6d 6f 64 65 5f 65 78 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 le">float_mode_exe.zig</cite></f
1dca0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><code><span.class
1dcc0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c ="tok-kw">const</span>.print.=.<
1dce0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 span.class="tok-builtin">@import
1dd00 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
1dd20 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e uot;std&quot;</span>).debug.prin
1dd40 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c t;..<span.class="tok-kw">extern<
1dd60 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f /span>.<span.class="tok-kw">fn</
1dd80 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 73 span>.<span.class="tok-fn">foo_s
1dda0 74 72 69 63 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b trict</span>(x:.<span.class="tok
1ddc0 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">f64</span>).<span.class="
1dde0 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 tok-type">f64</span>;.<span.clas
1de00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">extern</span>.<span.c
1de20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
1de40 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e ass="tok-fn">foo_optimized</span
1de60 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c >(x:.<span.class="tok-type">f64<
1de80 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 /span>).<span.class="tok-type">f
1dea0 36 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 64</span>;..<span.class="tok-kw"
1dec0 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >pub</span>.<span.class="tok-kw"
1dee0 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e >fn</span>.<span.class="tok-fn">
1df00 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 main</span>().<span.class="tok-t
1df20 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype">void</span>.{.....<span.cla
1df40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 ss="tok-kw">const</span>.x.=.<sp
1df60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 30 31 3c 2f 73 70 61 an.class="tok-number">0.001</spa
1df80 6e 3e 3b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 n>;.....print(<span.class="tok-s
1dfa0 74 72 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6d 69 7a 65 64 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b tr">&quot;optimized.=.{}\n&quot;
1dfc0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 28 78 29 7d 29 3b 0a 20 </span>,..{foo_optimized(x)});..
1dfe0 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 ...print(<span.class="tok-str">&
1e000 71 75 6f 74 3b 73 74 72 69 63 74 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c quot;strict.=.{}\n&quot;</span>,
1e020 20 2e 7b 66 6f 6f 5f 73 74 72 69 63 74 28 78 29 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ..{foo_strict(x)});.}</code></pr
1e040 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 e></figure><figure><figcaption.c
1e060 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 lass="shell-cap">Shell</figcapti
1e080 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 on><pre><samp>$.<kbd>zig.build-e
1e0a0 78 65 20 66 6c 6f 61 74 5f 6d 6f 64 65 5f 65 78 65 2e 7a 69 67 20 66 6c 6f 61 74 5f 6d 6f 64 65 xe.float_mode_exe.zig.float_mode
1e0c0 5f 6f 62 6a 2e 6f 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 66 6c 6f 61 74 5f 6d 6f 64 65 _obj.o</kbd>.$.<kbd>./float_mode
1e0e0 5f 65 78 65 3c 2f 6b 62 64 3e 0a 6f 70 74 69 6d 69 7a 65 64 20 3d 20 31 65 2d 33 0a 73 74 72 69 _exe</kbd>.optimized.=.1e-3.stri
1e100 63 74 20 3d 20 39 2e 37 36 35 36 32 35 65 2d 34 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f ct.=.9.765625e-4.</samp></pre></
1e120 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 figure>.......<p>See.also:</p><u
1e140 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 l>.<li><a.href="#setFloatMode">@
1e160 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 setFloatMode</a></li>.<li><a.hre
1e180 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 f="#Division-by-Zero">Division.b
1e1a0 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 y.Zero</a></li>.</ul>...........
1e1c0 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4f 70 65 72 61 74 6f 72 73 22 3e 3c 61 ...........<h2.id="Operators"><a
1e1e0 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 .href="#toc-Operators">Operators
1e200 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 70 65 72 61 </a>.<a.class="hdr".href="#Opera
1e220 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 tors">..</a></h2>........<p>....
1e240 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 6f 70 65 72 61 74 6f 72 20 6f 76 65 72 6c 6f 61 64 ...There.is.no.operator.overload
1e260 69 6e 67 2e 20 57 68 65 6e 20 79 6f 75 20 73 65 65 20 61 6e 20 6f 70 65 72 61 74 6f 72 20 69 6e ing..When.you.see.an.operator.in
1e280 20 5a 69 67 2c 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 0a 20 20 20 20 20 20 69 74 20 69 73 20 .Zig,.you.know.that.......it.is.
1e2a0 64 6f 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 66 72 6f 6d 20 74 68 69 73 20 74 61 62 6c 65 2c doing.something.from.this.table,
1e2c0 20 61 6e 64 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .and.nothing.else........</p>...
1e2e0 20 20 20 20 3c 68 33 20 69 64 3d 22 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e ....<h3.id="Table-of-Operators">
1e300 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 <a.href="#toc-Table-of-Operators
1e320 22 3e 54 61 62 6c 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 ">Table.of.Operators</a>.<a.clas
1e340 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 s="hdr".href="#Table-of-Operator
1e360 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 s">..</a></h3>........<div.class
1e380 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a ="table-wrapper">.......<table>.
1e3a0 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 ........<thead>.........<tr>....
1e3c0 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 4e 61 6d 65 3c 2f 74 68 3e .......<th.scope="col">Name</th>
1e3e0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 53 79 6e 74 61 ...........<th.scope="col">Synta
1e400 78 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 x</th>...........<th.scope="col"
1e420 3e 54 79 70 65 73 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d >Types</th>...........<th.scope=
1e440 22 63 6f 6c 22 3e 52 65 6d 61 72 6b 73 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 "col">Remarks</th>...........<th
1e460 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 45 78 61 6d 70 6c 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 .scope="col">Example</th>.......
1e480 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 ..</tr>.........</thead>........
1e4a0 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 .<tbody>.........<tr>...........
1e4c0 3c 74 64 3e 41 64 64 69 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e <td>Addition</td>...........<td>
1e4e0 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2b 20 62 0a 61 20 2b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f <pre><code>a.+.b.a.+=.b</code></
1e500 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 pre></td>...........<td>........
1e520 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 .....<ul>...............<li><a.h
1e540 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 ref="#Integers">Integers</a></li
1e560 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c >...............<li><a.href="#Fl
1e580 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 oats">Floats</a></li>...........
1e5a0 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ..</ul>...........</td>.........
1e5c0 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ..<td>.............<ul>.........
1e5e0 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 ......<li>Can.cause.<a.href="#De
1e600 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 fault-Operations">overflow</a>.f
1e620 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or.integers.</li>...............
1e640 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d <li>Invokes.<a.href="#Peer-Type-
1e660 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e Resolution">Peer.Type.Resolution
1e680 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 </a>.for.the.operands.</li>.....
1e6a0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 ..........<li>See.also.<a.href="
1e6c0 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c #addWithOverflow">@addWithOverfl
1e6e0 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ow</a>.</li>.............</ul>..
1e700 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</td>...........<td>...
1e720 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ..........<pre><code><span.class
1e740 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 ="tok-number">2</span>.+.<span.c
1e760 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 lass="tok-number">5</span>.==.<s
1e780 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 3c pan.class="tok-number">7</span><
1e7a0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 /code></pre>...........</td>....
1e7c0 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 .....</tr>.........<tr>.........
1e7e0 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 41 64 64 69 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 ..<td>Wrapping.Addition</td>....
1e800 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2b 25 20 62 0a 61 20 2b .......<td><pre><code>a.+%.b.a.+
1e820 25 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 %=.b</code></pre></td>..........
1e840 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 .<td>.............<ul>..........
1e860 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 .....<li><a.href="#Integers">Int
1e880 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e egers</a></li>.............</ul>
1e8a0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a ...........</td>...........<td>.
1e8c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ............<ul>...............<
1e8e0 6c 69 3e 54 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 li>Twos-complement.wrapping.beha
1e900 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 vior.</li>...............<li>Inv
1e920 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 okes.<a.href="#Peer-Type-Resolut
1e940 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f ion">Peer.Type.Resolution</a>.fo
1e960 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 r.the.operands.</li>............
1e980 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 ...<li>See.also.<a.href="#addWit
1e9a0 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e hOverflow">@addWithOverflow</a>.
1e9c0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 </li>.............</ul>.........
1e9e0 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ..</td>...........<td>..........
1ea00 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ...<pre><code><span.class="tok-b
1ea20 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 uiltin">@as</span>(<span.class="
1ea40 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">u32</span>,.<span.clas
1ea60 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 66 66 66 66 66 66 66 66 3c 2f 73 70 61 6e 3e s="tok-number">0xffffffff</span>
1ea80 29 20 2b 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c ).+%.<span.class="tok-number">1<
1eaa0 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 /span>.==.<span.class="tok-numbe
1eac0 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 r">0</span></code></pre>........
1eae0 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c ...</td>.........</tr>.........<
1eb00 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 41 64 64 tr>...........<td>Saturating.Add
1eb20 69 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 ition</td>...........<td><pre><c
1eb40 6f 64 65 3e 61 20 2b 7c 20 62 0a 61 20 2b 7c 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ode>a.+|.b.a.+|=.b</code></pre><
1eb60 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 /td>...........<td>.............
1eb80 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 <ul>...............<li><a.href="
1eba0 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 #Integers">Integers</a></li>....
1ebc0 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 .........</ul>...........</td>..
1ebe0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 .........<td>.............<ul>..
1ec00 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 .............<li>Invokes.<a.href
1ec20 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 ="#Peer-Type-Resolution">Peer.Ty
1ec40 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e pe.Resolution</a>.for.the.operan
1ec60 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 ds.</li>.............</ul>......
1ec80 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</td>...........<td>.......
1eca0 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
1ecc0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 k-builtin">@as</span>(<span.clas
1ece0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-type">u8</span>,.<span.cl
1ed00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 29 20 2b 7c 20 ass="tok-number">255</span>).+|.
1ed20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e <span.class="tok-number">1</span
1ed40 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 >.==.<span.class="tok-builtin">@
1ed60 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 as</span>(<span.class="tok-type"
1ed80 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d >u8</span>,.<span.class="tok-num
1eda0 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ber">255</span>)</code></pre>...
1edc0 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 ........</td>.........</tr>.....
1ede0 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 75 62 74 72 61 63 74 69 ....<tr>...........<td>Subtracti
1ee00 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 on</td>...........<td><pre><code
1ee20 3e 61 20 2d 20 62 0a 61 20 2d 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a >a.-.b.a.-=.b</code></pre></td>.
1ee40 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a ..........<td>.............<ul>.
1ee60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 ..............<li><a.href="#Inte
1ee80 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 gers">Integers</a></li>.........
1eea0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 ......<li><a.href="#Floats">Floa
1eec0 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ts</a></li>.............</ul>...
1eee0 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 ........</td>...........<td>....
1ef00 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e .........<ul>...............<li>
1ef20 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 Can.cause.<a.href="#Default-Oper
1ef40 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 ations">overflow</a>.for.integer
1ef60 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 s.</li>...............<li>Invoke
1ef80 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e s.<a.href="#Peer-Type-Resolution
1efa0 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 ">Peer.Type.Resolution</a>.for.t
1efc0 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 he.operands.</li>...............
1efe0 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 <li>See.also.<a.href="#subWithOv
1f000 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c erflow">@subWithOverflow</a>.</l
1f020 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c i>.............</ul>...........<
1f040 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 /td>...........<td>.............
1f060 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 <pre><code><span.class="tok-numb
1f080 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d er">2</span>.-.<span.class="tok-
1f0a0 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 number">5</span>.==.-<span.class
1f0c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ="tok-number">3</span></code></p
1f0e0 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 re>...........</td>.........</tr
1f100 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 >.........<tr>...........<td>Wra
1f120 70 70 69 6e 67 20 53 75 62 74 72 61 63 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 pping.Subtraction</td>..........
1f140 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2d 25 20 62 0a 61 20 2d 25 3d 20 62 3c 2f .<td><pre><code>a.-%.b.a.-%=.b</
1f160 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a code></pre></td>...........<td>.
1f180 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ............<ul>...............<
1f1a0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c li><a.href="#Integers">Integers<
1f1c0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 /a></li>.............</ul>......
1f1e0 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</td>...........<td>.......
1f200 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 77 6f ......<ul>...............<li>Two
1f220 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c s-complement.wrapping.behavior.<
1f240 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c /li>...............<li>Invokes.<
1f260 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 a.href="#Peer-Type-Resolution">P
1f280 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 eer.Type.Resolution</a>.for.the.
1f2a0 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 operands.</li>...............<li
1f2c0 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 >See.also.<a.href="#subWithOverf
1f2e0 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a low">@subWithOverflow</a>.</li>.
1f300 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 ............</ul>...........</td
1f320 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 >...........<td>.............<pr
1f340 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
1f360 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ">@as</span>(<span.class="tok-ty
1f380 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe">u8</span>,.<span.class="tok-
1f3a0 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 2d 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 number">0</span>).-%.<span.class
1f3c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 ="tok-number">1</span>.==.<span.
1f3e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3c 2f 63 class="tok-number">255</span></c
1f400 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 ode></pre>...........</td>......
1f420 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 ...</tr>.........<tr>...........
1f440 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 53 75 62 74 72 61 63 74 69 6f 6e 3c 2f 74 64 3e 0a <td>Saturating.Subtraction</td>.
1f460 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2d 7c 20 62 0a ..........<td><pre><code>a.-|.b.
1f480 61 20 2d 7c 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 a.-|=.b</code></pre></td>.......
1f4a0 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ....<td>.............<ul>.......
1f4c0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e ........<li><a.href="#Integers">
1f4e0 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f Integers</a></li>.............</
1f500 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ul>...........</td>...........<t
1f520 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 d>.............<ul>.............
1f540 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 ..<li>Invokes.<a.href="#Peer-Typ
1f560 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 e-Resolution">Peer.Type.Resoluti
1f580 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 on</a>.for.the.operands.</li>...
1f5a0 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a ..........</ul>...........</td>.
1f5c0 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e ..........<td>.............<pre>
1f5e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
1f600 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 @as</span>(<span.class="tok-type
1f620 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">u32</span>,.<span.class="tok-n
1f640 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 2d 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d umber">0</span>).-|.<span.class=
1f660 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 "tok-number">1</span>.==.<span.c
1f680 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 lass="tok-number">0</span></code
1f6a0 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ></pre>...........</td>.........
1f6c0 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 </tr>.........<tr>...........<td
1f6e0 3e 4e 65 67 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 >Negation</td>...........<td><pr
1f700 65 3e 3c 63 6f 64 65 3e 2d 61 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 e><code>-a</code></pre></td>....
1f720 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 .......<td>.............<ul>....
1f740 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 ...........<li><a.href="#Integer
1f760 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 s">Integers</a></li>............
1f780 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c ...<li><a.href="#Floats">Floats<
1f7a0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 /a></li>.............</ul>......
1f7c0 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</td>...........<td>.......
1f7e0 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e ......<ul>...............<li>Can
1f800 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 .cause.<a.href="#Default-Operati
1f820 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c ons">overflow</a>.for.integers.<
1f840 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 /li>.............</ul>..........
1f860 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 .</td>...........<td>...........
1f880 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ..<pre><code>-<span.class="tok-n
1f8a0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 umber">1</span>.==.<span.class="
1f8c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 tok-number">0</span>.-.<span.cla
1f8e0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ss="tok-number">1</span></code><
1f900 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f /pre>...........</td>.........</
1f920 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 57 tr>.........<tr>...........<td>W
1f940 72 61 70 70 69 6e 67 20 4e 65 67 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 rapping.Negation</td>...........
1f960 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 2d 25 61 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c <td><pre><code>-%a</code></pre><
1f980 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 /td>...........<td>.............
1f9a0 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 <ul>...............<li><a.href="
1f9c0 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 #Integers">Integers</a></li>....
1f9e0 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 .........</ul>...........</td>..
1fa00 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 .........<td>.............<ul>..
1fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 .............<li>Twos-complement
1fa40 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .wrapping.behavior.</li>........
1fa60 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 .....</ul>...........</td>......
1fa80 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 .....<td>.............<pre><code
1faa0 3e 2d 25 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 >-%<span.class="tok-builtin">@as
1fac0 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 </span>(<span.class="tok-type">i
1fae0 38 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 8</span>,.-<span.class="tok-numb
1fb00 65 72 22 3e 31 32 38 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">128</span>).==.-<span.class=
1fb20 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f "tok-number">128</span></code></
1fb40 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 pre>...........</td>.........</t
1fb60 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4d 75 r>.........<tr>...........<td>Mu
1fb80 6c 74 69 70 6c 69 63 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e ltiplication</td>...........<td>
1fba0 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2a 20 62 0a 61 20 2a 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f <pre><code>a.*.b.a.*=.b</code></
1fbc0 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 pre></td>...........<td>........
1fbe0 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 .....<ul>...............<li><a.h
1fc00 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 ref="#Integers">Integers</a></li
1fc20 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c >...............<li><a.href="#Fl
1fc40 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 oats">Floats</a></li>...........
1fc60 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ..</ul>...........</td>.........
1fc80 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ..<td>.............<ul>.........
1fca0 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 ......<li>Can.cause.<a.href="#De
1fcc0 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 fault-Operations">overflow</a>.f
1fce0 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or.integers.</li>...............
1fd00 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d <li>Invokes.<a.href="#Peer-Type-
1fd20 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e Resolution">Peer.Type.Resolution
1fd40 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 </a>.for.the.operands.</li>.....
1fd60 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 ..........<li>See.also.<a.href="
1fd80 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c #mulWithOverflow">@mulWithOverfl
1fda0 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ow</a>.</li>.............</ul>..
1fdc0 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</td>...........<td>...
1fde0 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ..........<pre><code><span.class
1fe00 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2a 20 3c 73 70 61 6e 20 63 ="tok-number">2</span>.*.<span.c
1fe20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 lass="tok-number">5</span>.==.<s
1fe40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e pan.class="tok-number">10</span>
1fe60 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 </code></pre>...........</td>...
1fe80 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 ......</tr>.........<tr>........
1fea0 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 3c 2f ...<td>Wrapping.Multiplication</
1fec0 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2a td>...........<td><pre><code>a.*
1fee0 25 20 62 0a 61 20 2a 25 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 %.b.a.*%=.b</code></pre></td>...
1ff00 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 ........<td>.............<ul>...
1ff20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 ............<li><a.href="#Intege
1ff40 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 rs">Integers</a></li>...........
1ff60 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ..</ul>...........</td>.........
1ff80 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ..<td>.............<ul>.........
1ffa0 20 20 20 20 20 20 3c 6c 69 3e 54 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 ......<li>Twos-complement.wrappi
1ffc0 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng.behavior.</li>...............
1ffe0 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d <li>Invokes.<a.href="#Peer-Type-
20000 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e Resolution">Peer.Type.Resolution
20020 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 </a>.for.the.operands.</li>.....
20040 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 ..........<li>See.also.<a.href="
20060 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c #mulWithOverflow">@mulWithOverfl
20080 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ow</a>.</li>.............</ul>..
200a0 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</td>...........<td>...
200c0 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ..........<pre><code><span.class
200e0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 ="tok-builtin">@as</span>(<span.
20100 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 class="tok-type">u8</span>,.<spa
20120 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 3c 2f 73 70 61 6e 3e 29 n.class="tok-number">200</span>)
20140 20 2a 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f .*%.<span.class="tok-number">2</
20160 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 span>.==.<span.class="tok-number
20180 22 3e 31 34 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 ">144</span></code></pre>.......
201a0 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 ....</td>.........</tr>.........
201c0 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 4d 75 <tr>...........<td>Saturating.Mu
201e0 6c 74 69 70 6c 69 63 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e ltiplication</td>...........<td>
20200 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2a 7c 20 62 0a 61 20 2a 7c 3d 20 62 3c 2f 63 6f 64 65 3e <pre><code>a.*|.b.a.*|=.b</code>
20220 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 </pre></td>...........<td>......
20240 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 .......<ul>...............<li><a
20260 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f .href="#Integers">Integers</a></
20280 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 li>.............</ul>...........
202a0 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </td>...........<td>............
202c0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 .<ul>...............<li>Invokes.
202e0 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e <a.href="#Peer-Type-Resolution">
20300 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 Peer.Type.Resolution</a>.for.the
20320 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c .operands.</li>.............</ul
20340 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</td>...........<td>
20360 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .............<pre><code><span.cl
20380 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 ass="tok-builtin">@as</span>(<sp
203a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c an.class="tok-type">u8</span>,.<
203c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 3c 2f 73 70 61 span.class="tok-number">200</spa
203e0 6e 3e 29 20 2a 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>).*|.<span.class="tok-number">
20400 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 2</span>.==.<span.class="tok-num
20420 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 ber">255</span></code></pre>....
20440 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 .......</td>.........</tr>......
20460 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 44 69 76 69 73 69 6f 6e 3c 2f ...<tr>...........<td>Division</
20480 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2f td>...........<td><pre><code>a./
204a0 20 62 0a 61 20 2f 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 .b.a./=.b</code></pre></td>.....
204c0 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ......<td>.............<ul>.....
204e0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 ..........<li><a.href="#Integers
20500 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ">Integers</a></li>.............
20520 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f ..<li><a.href="#Floats">Floats</
20540 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 a></li>.............</ul>.......
20560 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 ....</td>...........<td>........
20580 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 .....<ul>...............<li>Can.
205a0 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f cause.<a.href="#Default-Operatio
205c0 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f ns">overflow</a>.for.integers.</
205e0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 li>...............<li>Can.cause.
20600 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 <a.href="#Division-by-Zero">Divi
20620 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f sion.by.Zero</a>.for.integers.</
20640 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 li>...............<li>Can.cause.
20660 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 <a.href="#Division-by-Zero">Divi
20680 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 66 6c 6f 61 74 73 20 69 6e 20 3c sion.by.Zero</a>.for.floats.in.<
206a0 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f a.href="#Floating-Point-Operatio
206c0 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 6d 69 7a 65 64 20 4d 6f 64 65 3c 2f 61 3e ns">FloatMode.Optimized.Mode</a>
206e0 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 69 67 6e 65 64 20 .</li>...............<li>Signed.
20700 69 6e 74 65 67 65 72 20 6f 70 65 72 61 6e 64 73 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d integer.operands.must.be.comptim
20720 65 2d 6b 6e 6f 77 6e 20 61 6e 64 20 70 6f 73 69 74 69 76 65 2e 20 49 6e 20 6f 74 68 65 72 20 63 e-known.and.positive..In.other.c
20740 61 73 65 73 2c 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 ases,.use.................<a.hre
20760 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 2c 0a 20 20 20 f="#divTrunc">@divTrunc</a>,....
20780 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 .............<a.href="#divFloor"
207a0 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 >@divFloor</a>,.or..............
207c0 20 20 20 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 ...<a.href="#divExact">@divExact
207e0 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 </a>.instead................</li
20800 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 >...............<li>Invokes.<a.h
20820 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 ref="#Peer-Type-Resolution">Peer
20840 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 .Type.Resolution</a>.for.the.ope
20860 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 rands.</li>.............</ul>...
20880 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 ........</td>...........<td>....
208a0 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .........<pre><code><span.class=
208c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 "tok-number">10</span>./.<span.c
208e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 lass="tok-number">5</span>.==.<s
20900 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c pan.class="tok-number">2</span><
20920 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 /code></pre>...........</td>....
20940 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 .....</tr>.........<tr>.........
20960 20 20 3c 74 64 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 3c 2f 74 64 3e 0a 20 20 ..<td>Remainder.Division</td>...
20980 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 25 20 62 0a 61 20 25 ........<td><pre><code>a.%.b.a.%
209a0 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 =.b</code></pre></td>...........
209c0 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 <td>.............<ul>...........
209e0 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 ....<li><a.href="#Integers">Inte
20a00 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e gers</a></li>...............<li>
20a20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 <a.href="#Floats">Floats</a></li
20a40 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f >.............</ul>...........</
20a60 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c td>...........<td>.............<
20a80 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 ul>...............<li>Can.cause.
20aa0 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 <a.href="#Division-by-Zero">Divi
20ac0 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f sion.by.Zero</a>.for.integers.</
20ae0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 li>...............<li>Can.cause.
20b00 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 <a.href="#Division-by-Zero">Divi
20b20 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 66 6c 6f 61 74 73 20 69 6e 20 3c sion.by.Zero</a>.for.floats.in.<
20b40 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f a.href="#Floating-Point-Operatio
20b60 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 6d 69 7a 65 64 20 4d 6f 64 65 3c 2f 61 3e ns">FloatMode.Optimized.Mode</a>
20b80 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 69 67 6e 65 64 20 .</li>...............<li>Signed.
20ba0 6f 72 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6f 70 65 72 61 6e 64 73 20 6d 75 73 74 20 or.floating-point.operands.must.
20bc0 62 65 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 61 6e 64 20 70 6f 73 69 74 69 76 65 2e 20 be.comptime-known.and.positive..
20be0 49 6e 20 6f 74 68 65 72 20 63 61 73 65 73 2c 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 In.other.cases,.use.............
20c00 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 20 6f 72 0a 20 ....<a.href="#rem">@rem</a>.or..
20c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 6d 6f 64 22 3e 40 6d ...............<a.href="#mod">@m
20c40 6f 64 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f od</a>.instead................</
20c60 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 li>...............<li>Invokes.<a
20c80 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 .href="#Peer-Type-Resolution">Pe
20ca0 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f er.Type.Resolution</a>.for.the.o
20cc0 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a perands.</li>.............</ul>.
20ce0 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ..........</td>...........<td>..
20d00 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ...........<pre><code><span.clas
20d20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 25 20 3c 73 70 61 6e s="tok-number">10</span>.%.<span
20d40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 3d 3d 20 .class="tok-number">3</span>.==.
20d60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e <span.class="tok-number">1</span
20d80 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 ></code></pre>...........</td>..
20da0 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 .......</tr>.........<tr>.......
20dc0 20 20 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 3c 2f 74 64 3e 0a 20 20 20 20 ....<td>Bit.Shift.Left</td>.....
20de0 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 26 6c 74 3b 26 6c 74 3b 20 ......<td><pre><code>a.&lt;&lt;.
20e00 62 0a 61 20 26 6c 74 3b 26 6c 74 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 b.a.&lt;&lt;=.b</code></pre></td
20e20 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c >...........<td>.............<ul
20e40 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e >...............<li><a.href="#In
20e60 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 tegers">Integers</a></li>.......
20e80 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 ......</ul>...........</td>.....
20ea0 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ......<td>.............<ul>.....
20ec0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 6f 76 65 73 20 61 6c 6c 20 62 69 74 73 20 74 6f 20 ..........<li>Moves.all.bits.to.
20ee0 74 68 65 20 6c 65 66 74 2c 20 69 6e 73 65 72 74 69 6e 67 20 6e 65 77 20 7a 65 72 6f 65 73 20 61 the.left,.inserting.new.zeroes.a
20f00 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 61 73 74 2d 73 69 67 6e 69 66 t.the...............least-signif
20f20 69 63 61 6e 74 20 62 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c icant.bit.</li>...............<l
20f40 69 3e 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 20 20 i><code>b</code>.must.be........
20f60 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 .......<a.href="#comptime">compt
20f80 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 61 3e 20 6f 72 20 68 61 76 65 20 61 20 74 79 70 65 20 77 69 74 ime-known</a>.or.have.a.type.wit
20fa0 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 62 h.log2.number...............of.b
20fc0 69 74 73 20 61 73 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 its.as.<code>a</code>.</li>.....
20fe0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 ..........<li>See.also.<a.href="
21000 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 #shlExact">@shlExact</a>.</li>..
21020 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 .............<li>See.also.<a.hre
21040 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 f="#shlWithOverflow">@shlWithOve
21060 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c rflow</a>.</li>.............</ul
21080 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</td>...........<td>
210a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .............<pre><code><span.cl
210c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b ass="tok-number">0b1</span>.&lt;
210e0 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c &lt;.<span.class="tok-number">8<
21100 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 /span>.==.<span.class="tok-numbe
21120 72 22 3e 30 62 31 30 30 30 30 30 30 30 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 r">0b100000000</span></code></pr
21140 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e e>...........</td>.........</tr>
21160 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 75 .........<tr>...........<td>Satu
21180 72 61 74 69 6e 67 20 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 3c 2f 74 64 3e 0a 20 20 20 20 20 rating.Bit.Shift.Left</td>......
211a0 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 26 6c 74 3b 26 6c 74 3b 7c 20 .....<td><pre><code>a.&lt;&lt;|.
211c0 62 0a 61 20 26 6c 74 3b 26 6c 74 3b 7c 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 b.a.&lt;&lt;|=.b</code></pre></t
211e0 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 d>...........<td>.............<u
21200 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 l>...............<li><a.href="#I
21220 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ntegers">Integers</a></li>......
21240 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 .......</ul>...........</td>....
21260 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 .......<td>.............<ul>....
21280 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d ...........<li>See.also.<a.href=
212a0 22 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a "#shlExact">@shlExact</a>.</li>.
212c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 ..............<li>See.also.<a.hr
212e0 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 ef="#shlWithOverflow">@shlWithOv
21300 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 erflow</a>.</li>.............</u
21320 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 l>...........</td>...........<td
21340 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 >.............<pre><code><span.c
21360 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 lass="tok-builtin">@as</span>(<s
21380 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 pan.class="tok-type">u8</span>,.
213a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e <span.class="tok-number">1</span
213c0 3e 29 20 26 6c 74 3b 26 6c 74 3b 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >).&lt;&lt;|.<span.class="tok-nu
213e0 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">8</span>.==.<span.class="t
21400 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ok-number">255</span></code></pr
21420 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e e>...........</td>.........</tr>
21440 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 20 .........<tr>...........<td>Bit.
21460 53 68 69 66 74 20 52 69 67 68 74 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c Shift.Right</td>...........<td><
21480 70 72 65 3e 3c 63 6f 64 65 3e 61 20 26 67 74 3b 26 67 74 3b 20 62 0a 61 20 26 67 74 3b 26 67 74 pre><code>a.&gt;&gt;.b.a.&gt;&gt
214a0 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ;=.b</code></pre></td>..........
214c0 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 .<td>.............<ul>..........
214e0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 .....<li><a.href="#Integers">Int
21500 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e egers</a></li>.............</ul>
21520 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a ...........</td>...........<td>.
21540 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ............<ul>...............<
21560 6c 69 3e 4d 6f 76 65 73 20 61 6c 6c 20 62 69 74 73 20 74 6f 20 74 68 65 20 72 69 67 68 74 2c 20 li>Moves.all.bits.to.the.right,.
21580 69 6e 73 65 72 74 69 6e 67 20 7a 65 72 6f 65 73 20 61 74 20 74 68 65 20 6d 6f 73 74 2d 73 69 67 inserting.zeroes.at.the.most-sig
215a0 6e 69 66 69 63 61 6e 74 20 62 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 nificant.bit.</li>..............
215c0 20 3c 6c 69 3e 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 0a 20 20 20 20 .<li><code>b</code>.must.be.....
215e0 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e ............<a.href="#comptime">
21600 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 61 3e 20 6f 72 20 68 61 76 65 20 61 20 74 79 70 comptime-known</a>.or.have.a.typ
21620 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e.with.log2.number..............
21640 20 20 20 6f 66 20 62 69 74 73 20 61 73 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c ...of.bits.as.<code>a</code>.</l
21660 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 i>...............<li>See.also.<a
21680 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 2e .href="#shrExact">@shrExact</a>.
216a0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 </li>.............</ul>.........
216c0 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ..</td>...........<td>..........
216e0 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ...<pre><code><span.class="tok-n
21700 75 6d 62 65 72 22 3e 30 62 31 30 31 30 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 26 67 74 3b 20 3c 73 umber">0b1010</span>.&gt;&gt;.<s
21720 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 pan.class="tok-number">1</span>.
21740 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 ==.<span.class="tok-number">0b10
21760 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 1</span></code></pre>...........
21780 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e </td>.........</tr>.........<tr>
217a0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 41 6e 64 3c 2f 74 64 3e 0a ...........<td>Bitwise.And</td>.
217c0 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 26 61 6d 70 3b ..........<td><pre><code>a.&amp;
217e0 20 62 0a 61 20 26 61 6d 70 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a .b.a.&amp;=.b</code></pre></td>.
21800 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a ..........<td>.............<ul>.
21820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 ..............<li><a.href="#Inte
21840 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 gers">Integers</a></li>.........
21860 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 ....</ul>...........</td>.......
21880 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ....<td>.............<ul>.......
218a0 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 ........<li>Invokes.<a.href="#Pe
218c0 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 er-Type-Resolution">Peer.Type.Re
218e0 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f solution</a>.for.the.operands.</
21900 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 li>.............</ul>...........
21920 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </td>...........<td>............
21940 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d .<pre><code><span.class="tok-num
21960 62 65 72 22 3e 30 62 30 31 31 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 20 3c 73 70 61 6e 20 63 6c ber">0b011</span>.&amp;.<span.cl
21980 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 3d ass="tok-number">0b101</span>.==
219a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 30 31 3c .<span.class="tok-number">0b001<
219c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f /span></code></pre>...........</
219e0 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 td>.........</tr>.........<tr>..
21a00 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 4f 72 3c 2f 74 64 3e 0a 20 20 20 .........<td>Bitwise.Or</td>....
21a20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 7c 20 62 0a 61 20 7c 3d .......<td><pre><code>a.|.b.a.|=
21a40 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c .b</code></pre></td>...........<
21a60 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 td>.............<ul>............
21a80 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 ...<li><a.href="#Integers">Integ
21aa0 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ers</a></li>.............</ul>..
21ac0 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</td>...........<td>...
21ae0 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ..........<ul>...............<li
21b00 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 >Invokes.<a.href="#Peer-Type-Res
21b20 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 olution">Peer.Type.Resolution</a
21b40 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 >.for.the.operands.</li>........
21b60 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 .....</ul>...........</td>......
21b80 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 .....<td>.............<pre><code
21ba0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 3c ><span.class="tok-number">0b010<
21bc0 2f 73 70 61 6e 3e 20 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 /span>.|.<span.class="tok-number
21be0 22 3e 30 62 31 30 30 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">0b100</span>.==.<span.class="t
21c00 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 31 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ok-number">0b110</span></code></
21c20 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 pre>...........</td>.........</t
21c40 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 r>.........<tr>...........<td>Bi
21c60 74 77 69 73 65 20 58 6f 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 twise.Xor</td>...........<td><pr
21c80 65 3e 3c 63 6f 64 65 3e 61 20 5e 20 62 0a 61 20 5e 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 e><code>a.^.b.a.^=.b</code></pre
21ca0 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 ></td>...........<td>...........
21cc0 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 ..<ul>...............<li><a.href
21ce0 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 ="#Integers">Integers</a></li>..
21d00 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e ...........</ul>...........</td>
21d20 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e ...........<td>.............<ul>
21d40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 ...............<li>Invokes.<a.hr
21d60 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 ef="#Peer-Type-Resolution">Peer.
21d80 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 Type.Resolution</a>.for.the.oper
21da0 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 ands.</li>.............</ul>....
21dc0 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 .......</td>...........<td>.....
21de0 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ........<pre><code><span.class="
21e00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 31 3c 2f 73 70 61 6e 3e 20 5e 20 3c 73 70 61 6e tok-number">0b011</span>.^.<span
21e20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e .class="tok-number">0b101</span>
21e40 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 .==.<span.class="tok-number">0b1
21e60 31 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 10</span></code></pre>..........
21e80 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 .</td>.........</tr>.........<tr
21ea0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 4e 6f 74 3c 2f 74 64 3e >...........<td>Bitwise.Not</td>
21ec0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 7e 61 3c 2f 63 6f ...........<td><pre><code>~a</co
21ee0 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 de></pre></td>...........<td>...
21f00 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ..........<ul>...............<li
21f20 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 ><a.href="#Integers">Integers</a
21f40 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 ></li>.............</ul>........
21f60 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 2f 74 64 3e 0a 20 20 20 ...</td>...........<td></td>....
21f80 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f .......<td>.............<pre><co
21fa0 64 65 3e 7e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 de>~<span.class="tok-builtin">@a
21fc0 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e s</span>(<span.class="tok-type">
21fe0 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 u8</span>,.<span.class="tok-numb
22000 65 72 22 3e 30 62 31 30 31 30 31 31 31 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 er">0b10101111</span>).==.<span.
22020 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 30 30 30 3c 2f 73 class="tok-number">0b01010000</s
22040 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 pan></code></pre>...........</td
22060 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 >.........</tr>.........<tr>....
22080 20 20 20 20 20 20 20 3c 74 64 3e 44 65 66 61 75 6c 74 69 6e 67 20 4f 70 74 69 6f 6e 61 6c 20 55 .......<td>Defaulting.Optional.U
220a0 6e 77 72 61 70 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 nwrap</td>...........<td><pre><c
220c0 6f 64 65 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 ode>a.<span.class="tok-kw">orels
220e0 65 3c 2f 73 70 61 6e 3e 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 e</span>.b</code></pre></td>....
22100 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 .......<td>.............<ul>....
22120 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 ...........<li><a.href="#Optiona
22140 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ls">Optionals</a></li>..........
22160 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 ...</ul>...........</td>........
22180 20 20 20 3c 74 64 3e 49 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 ...<td>If.<code>a</code>.is.<cod
221a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 e><span.class="tok-null">null</s
221c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c pan></code>,...........returns.<
221e0 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 28 22 64 65 66 61 75 6c 74 20 76 61 6c 75 65 22 29 2c code>b</code>.("default.value"),
22200 0a 20 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 74 68 65 ...........otherwise.returns.the
22220 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 .unwrapped.value.of.<code>a</cod
22240 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 62 3c e>............Note.that.<code>b<
22260 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 61 /code>.may.be.a.value.of.type.<a
22280 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 2e 0a .href="#noreturn">noreturn</a>..
222a0 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ..........</td>...........<td>..
222c0 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ...........<pre><code><span.clas
222e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f s="tok-kw">const</span>.value:.?
22300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e <span.class="tok-type">u32</span
22320 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c >.=.<span.class="tok-null">null<
22340 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e /span>;.<span.class="tok-kw">con
22360 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 77 72 61 70 70 65 64 20 3d 20 76 61 6c 75 65 20 3c 73 70 61 st</span>.unwrapped.=.value.<spa
22380 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">orelse</span>.<
223a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 span.class="tok-number">1234</sp
223c0 61 6e 3e 3b 0a 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>;.unwrapped.==.<span.class="t
223e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ok-number">1234</span></code></p
22400 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 re>...........</td>.........</tr
22420 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 70 74 >.........<tr>...........<td>Opt
22440 69 6f 6e 61 6c 20 55 6e 77 72 61 70 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e ional.Unwrap</td>...........<td>
22460 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 2e 3f 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e <pre><code>a.?</code></pre></td>
22480 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e ...........<td>.............<ul>
224a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 ...............<li><a.href="#Opt
224c0 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ionals">Optionals</a></li>......
224e0 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 .......</ul>...........</td>....
22500 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 71 75 69 76 61 6c 65 .......<td>.............Equivale
22520 6e 74 20 74 6f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 nt.to:.............<pre><code>a.
22540 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 <span.class="tok-kw">orelse</spa
22560 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 n>.<span.class="tok-kw">unreacha
22580 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 ble</span></code></pre>.........
225a0 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ..</td>...........<td>..........
225c0 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ...<pre><code><span.class="tok-k
225e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c w">const</span>.value:.?<span.cl
22600 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 ass="tok-type">u32</span>.=.<spa
22620 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e n.class="tok-number">5678</span>
22640 3b 0a 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ;.value.?.==.<span.class="tok-nu
22660 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 mber">5678</span></code></pre>..
22680 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 .........</td>.........</tr>....
226a0 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 44 65 66 61 75 6c 74 69 .....<tr>...........<td>Defaulti
226c0 6e 67 20 45 72 72 6f 72 20 55 6e 77 72 61 70 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ng.Error.Unwrap</td>...........<
226e0 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b td><pre><code>a.<span.class="tok
22700 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 62 0a 61 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">catch</span>.b.a.<span.clas
22720 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 62 3c s="tok-kw">catch</span>.|err|.b<
22740 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e /code></pre></td>...........<td>
22760 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............<ul>...............
22780 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 20 55 6e 69 6f <li><a.href="#Errors">Error.Unio
227a0 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ns</a></li>.............</ul>...
227c0 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 49 66 20 3c ........</td>...........<td>If.<
227e0 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 code>a</code>.is.an.<code><span.
22800 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 class="tok-kw">error</span></cod
22820 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 62 3c 2f 63 e>,...........returns.<code>b</c
22840 6f 64 65 3e 20 28 22 64 65 66 61 75 6c 74 20 76 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 ode>.("default.value"),.........
22860 20 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 75 6e 77 72 61 70 70 65 ..otherwise.returns.the.unwrappe
22880 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 d.value.of.<code>a</code>.......
228a0 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 6d 61 .....Note.that.<code>b</code>.ma
228c0 79 20 62 65 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 61 20 68 72 65 66 3d 22 23 6e y.be.a.value.of.type.<a.href="#n
228e0 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 2e 0a 3c 63 6f 64 65 3e 65 72 72 oreturn">noreturn</a>..<code>err
22900 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 </code>.is.the.<code><span.class
22920 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e ="tok-kw">error</span></code>.an
22940 64 20 69 73 20 69 6e 20 73 63 6f 70 65 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 d.is.in.scope.of.the.expression.
22960 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a <code>b</code>............</td>.
22980 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e ..........<td>.............<pre>
229a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
229c0 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.value:.<span.class="tok-
229e0 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 type">anyerror</span>!<span.clas
22a00 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 s="tok-type">u32</span>.=.<span.
22a20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 72 6f 6b class="tok-kw">error</span>.Brok
22a40 65 6e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f en;.<span.class="tok-kw">const</
22a60 73 70 61 6e 3e 20 75 6e 77 72 61 70 70 65 64 20 3d 20 76 61 6c 75 65 20 3c 73 70 61 6e 20 63 6c span>.unwrapped.=.value.<span.cl
22a80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ass="tok-kw">catch</span>.<span.
22aa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a class="tok-number">1234</span>;.
22ac0 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 unwrapped.==.<span.class="tok-nu
22ae0 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 mber">1234</span></code></pre>..
22b00 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 .........</td>.........</tr>....
22b20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4c 6f 67 69 63 61 6c 20 .....<tr>...........<td>Logical.
22b40 41 6e 64 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 And</td>...........<td><pre><cod
22b60 65 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 e>a.<span.class="tok-kw">and</sp
22b80 61 6e 3e 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 an>.b</code></pre></td>.........
22ba0 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ..<td>.............<ul>.........
22bc0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 ......<li><a.href="#Primitive-Ty
22be0 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c pes">bool</a></li>.............<
22c00 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c /ul>...........</td>...........<
22c20 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 td>...........If.<code>a</code>.
22c40 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e is.<code><span.class="tok-null">
22c60 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f false</span></code>,.returns.<co
22c80 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c de><span.class="tok-null">false<
22ca0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 /span></code>...........without.
22cc0 65 76 61 6c 75 61 74 69 6e 67 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 evaluating.<code>b</code>..Other
22ce0 77 69 73 65 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 0a 20 20 wise,.returns.<code>b</code>....
22d00 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 ........</td>...........<td>....
22d20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 .........<pre><code>(<span.class
22d40 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ="tok-null">false</span>.<span.c
22d60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 lass="tok-kw">and</span>.<span.c
22d80 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 lass="tok-null">true</span>).==.
22da0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 <span.class="tok-null">false</sp
22dc0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e an></code></pre>...........</td>
22de0 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 .........</tr>.........<tr>.....
22e00 20 20 20 20 20 20 3c 74 64 3e 4c 6f 67 69 63 61 6c 20 4f 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 ......<td>Logical.Or</td>.......
22e20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 ....<td><pre><code>a.<span.class
22e40 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ="tok-kw">or</span>.b</code></pr
22e60 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 e></td>...........<td>..........
22e80 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 ...<ul>...............<li><a.hre
22ea0 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c f="#Primitive-Types">bool</a></l
22ec0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c i>.............</ul>...........<
22ee0 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 /td>...........<td>.............
22f00 20 20 49 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 ..If.<code>a</code>.is.<code><sp
22f20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c an.class="tok-null">true</span><
22f40 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 63 /code>,...............returns.<c
22f60 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c ode><span.class="tok-null">true<
22f80 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 /span></code>.without.evaluating
22fa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 20 4f ...............<code>b</code>..O
22fc0 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 therwise,.returns...............
22fe0 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a <code>b</code>............</td>.
23000 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e ..........<td>.............<pre>
23020 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 <code>(<span.class="tok-null">fa
23040 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e lse</span>.<span.class="tok-kw">
23060 6f 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 or</span>.<span.class="tok-null"
23080 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >true</span>).==.<span.class="to
230a0 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e k-null">true</span></code></pre>
230c0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 ...........</td>.........</tr>..
230e0 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 6f 6f 6c 65 61 .......<tr>...........<td>Boolea
23100 6e 20 4e 6f 74 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 n.Not</td>...........<td><pre><c
23120 6f 64 65 3e 21 61 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 ode>!a</code></pre></td>........
23140 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 ...<td>.............<ul>........
23160 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 .......<li><a.href="#Primitive-T
23180 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ypes">bool</a></li>.............
231a0 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 </ul>...........</td>...........
231c0 3c 74 64 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 <td></td>...........<td>........
231e0 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .....<pre><code>!<span.class="to
23200 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c k-null">false</span>.==.<span.cl
23220 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-null">true</span></code
23240 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ></pre>...........</td>.........
23260 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 </tr>.........<tr>...........<td
23280 3e 45 71 75 61 6c 69 74 79 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 >Equality</td>...........<td><pr
232a0 65 3e 3c 63 6f 64 65 3e 61 20 3d 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e e><code>a.==.b</code></pre></td>
232c0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e ...........<td>.............<ul>
232e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 ...............<li><a.href="#Int
23300 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 egers">Integers</a></li>........
23320 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f .......<li><a.href="#Floats">Flo
23340 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ats</a></li>...............<li><
23360 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f a.href="#Primitive-Types">bool</
23380 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 a></li>...............<li><a.hre
233a0 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 74 79 70 65 3c 2f 61 3e 3c 2f 6c f="#Primitive-Types">type</a></l
233c0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c i>.............</ul>...........<
233e0 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 /td>...........<td>.............
23400 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ..Returns.<code><span.class="tok
23420 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 61 -null">true</span></code>.if.a.a
23440 6e 64 20 62 20 61 72 65 20 65 71 75 61 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e nd.b.are.equal,.otherwise.return
23460 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 s.<code><span.class="tok-null">f
23480 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 alse</span></code>..............
234a0 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f Invokes.<a.href="#Peer-Type-Reso
234c0 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e lution">Peer.Type.Resolution</a>
234e0 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 .for.the.operands............</t
23500 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 d>...........<td>.............<p
23520 72 65 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 re><code>(<span.class="tok-numbe
23540 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">1</span>.==.<span.class="tok-
23560 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 number">1</span>).==.<span.class
23580 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ="tok-null">true</span></code></
235a0 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 pre>...........</td>.........</t
235c0 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4e 75 r>.........<tr>...........<td>Nu
235e0 6c 6c 20 43 68 65 63 6b 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 ll.Check</td>...........<td><pre
23600 3e 3c 63 6f 64 65 3e 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c ><code>a.==.<span.class="tok-nul
23620 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e l">null</span></code></pre></td>
23640 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e ...........<td>.............<ul>
23660 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 ...............<li><a.href="#Opt
23680 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ionals">Optionals</a></li>......
236a0 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 .......</ul>...........</td>....
236c0 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e .......<td>...............Return
236e0 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 s.<code><span.class="tok-null">t
23700 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 3c 63 6f 64 65 3e rue</span></code>.if.a.is.<code>
23720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 <span.class="tok-null">null</spa
23740 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f n></code>,.otherwise.returns.<co
23760 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c de><span.class="tok-null">false<
23780 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 /span></code>............</td>..
237a0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c .........<td>.............<pre><
237c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
237e0 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.value:.?<span.class="tok-
23800 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">u32</span>.=.<span.class="
23820 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 28 76 61 6c 75 65 20 3d 3d tok-null">null</span>;.(value.==
23840 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 .<span.class="tok-null">null</sp
23860 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 an>).==.<span.class="tok-null">t
23880 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 rue</span></code></pre>.........
238a0 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 ..</td>.........</tr>.........<t
238c0 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 49 6e 65 71 75 61 6c 69 74 79 3c 2f 74 64 3e r>...........<td>Inequality</td>
238e0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 21 3d 20 62 ...........<td><pre><code>a.!=.b
23900 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 </code></pre></td>...........<td
23920 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 >.............<ul>..............
23940 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 .<li><a.href="#Integers">Integer
23960 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 s</a></li>...............<li><a.
23980 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 href="#Floats">Floats</a></li>..
239a0 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 .............<li><a.href="#Primi
239c0 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 tive-Types">bool</a></li>.......
239e0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d ........<li><a.href="#Primitive-
23a00 54 79 70 65 73 22 3e 74 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 Types">type</a></li>............
23a20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 .</ul>...........</td>..........
23a40 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 .<td>...............Returns.<cod
23a60 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f e><span.class="tok-null">false</
23a80 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 61 6e 64 20 62 20 61 72 65 20 65 71 75 61 span></code>.if.a.and.b.are.equa
23aa0 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e l,.otherwise.returns.<code><span
23ac0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="tok-null">true</span></c
23ae0 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 ode>..............Invokes.<a.hre
23b00 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 f="#Peer-Type-Resolution">Peer.T
23b20 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 ype.Resolution</a>.for.the.opera
23b40 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c nds............</td>...........<
23b60 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 td>.............<pre><code>(<spa
23b80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 21 3d n.class="tok-number">1</span>.!=
23ba0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 .<span.class="tok-number">1</spa
23bc0 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 n>).==.<span.class="tok-null">fa
23be0 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 lse</span></code></pre>.........
23c00 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 ..</td>.........</tr>.........<t
23c20 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4e 6f 6e 2d 4e 75 6c 6c 20 43 68 65 63 6b 3c r>...........<td>Non-Null.Check<
23c40 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 /td>...........<td><pre><code>a.
23c60 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f !=.<span.class="tok-null">null</
23c80 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 span></code></pre></td>.........
23ca0 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ..<td>.............<ul>.........
23cc0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f ......<li><a.href="#Optionals">O
23ce0 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f ptionals</a></li>.............</
23d00 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ul>...........</td>...........<t
23d20 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c d>...............Returns.<code><
23d40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 span.class="tok-null">false</spa
23d60 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c n></code>.if.a.is.<code><span.cl
23d80 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-null">null</span></code
23da0 3e 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e >,.otherwise.returns.<code><span
23dc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="tok-null">true</span></c
23de0 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 ode>............</td>...........
23e00 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 <td>.............<pre><code><spa
23e20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 n.class="tok-kw">const</span>.va
23e40 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 lue:.?<span.class="tok-type">u32
23e60 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 </span>.=.<span.class="tok-null"
23e80 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 28 76 61 6c 75 65 20 21 3d 20 3c 73 70 61 6e 20 63 6c >null</span>;.(value.!=.<span.cl
23ea0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c ass="tok-null">null</span>).==.<
23ec0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 span.class="tok-null">false</spa
23ee0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a n></code></pre>...........</td>.
23f00 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 ........</tr>.........<tr>......
23f20 20 20 20 20 20 3c 74 64 3e 47 72 65 61 74 65 72 20 54 68 61 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 .....<td>Greater.Than</td>......
23f40 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 26 67 74 3b 20 62 3c 2f 63 6f .....<td><pre><code>a.&gt;.b</co
23f60 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 de></pre></td>...........<td>...
23f80 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ..........<ul>...............<li
23fa0 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 ><a.href="#Integers">Integers</a
23fc0 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 ></li>...............<li><a.href
23fe0 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ="#Floats">Floats</a></li>......
24000 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 .......</ul>...........</td>....
24020 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e .......<td>...............Return
24040 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 s.<code><span.class="tok-null">t
24060 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 rue</span></code>.if.a.is.greate
24080 72 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 r.than.b,.otherwise.returns.<cod
240a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f e><span.class="tok-null">false</
240c0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 span></code>..............Invoke
240e0 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e s.<a.href="#Peer-Type-Resolution
24100 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 ">Peer.Type.Resolution</a>.for.t
24120 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 he.operands............</td>....
24140 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f .......<td>.............<pre><co
24160 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f de>(<span.class="tok-number">2</
24180 73 70 61 6e 3e 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 span>.&gt;.<span.class="tok-numb
241a0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">1</span>).==.<span.class="to
241c0 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e k-null">true</span></code></pre>
241e0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 ...........</td>.........</tr>..
24200 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 47 72 65 61 74 65 .......<tr>...........<td>Greate
24220 72 20 6f 72 20 45 71 75 61 6c 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 r.or.Equal</td>...........<td><p
24240 72 65 3e 3c 63 6f 64 65 3e 61 20 26 67 74 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c re><code>a.&gt;=.b</code></pre><
24260 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 /td>...........<td>.............
24280 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 <ul>...............<li><a.href="
242a0 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 #Integers">Integers</a></li>....
242c0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 ...........<li><a.href="#Floats"
242e0 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 >Floats</a></li>.............</u
24300 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 l>...........</td>...........<td
24320 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 >...............Returns.<code><s
24340 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e pan.class="tok-null">true</span>
24360 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 6f 72 20 </code>.if.a.is.greater.than.or.
24380 65 71 75 61 6c 20 74 6f 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 equal.to.b,.otherwise.returns.<c
243a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 ode><span.class="tok-null">false
243c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f </span></code>..............Invo
243e0 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 kes.<a.href="#Peer-Type-Resoluti
24400 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 on">Peer.Type.Resolution</a>.for
24420 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 .the.operands............</td>..
24440 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c .........<td>.............<pre><
24460 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 code>(<span.class="tok-number">2
24480 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e </span>.&gt;=.<span.class="tok-n
244a0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d umber">1</span>).==.<span.class=
244c0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 "tok-null">true</span></code></p
244e0 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 re>...........</td>.........</tr
24500 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4c 65 73 >.........<tr>...........<td>Les
24520 73 20 54 68 61 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c s.Than</td>...........<td><pre><
24540 63 6f 64 65 3e 61 20 26 6c 74 3b 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a code>a.&lt;.b</code></pre></td>.
24560 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a ..........<td>.............<ul>.
24580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 ..............<li><a.href="#Inte
245a0 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 gers">Integers</a></li>.........
245c0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 ......<li><a.href="#Floats">Floa
245e0 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ts</a></li>.............</ul>...
24600 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 ........</td>...........<td>....
24620 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...........Returns.<code><span.c
24640 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-null">true</span></cod
24660 65 3e 20 69 66 20 61 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 72 77 69 73 e>.if.a.is.less.than.b,.otherwis
24680 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e.returns.<code><span.class="tok
246a0 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 -null">false</span></code>......
246c0 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 ........Invokes.<a.href="#Peer-T
246e0 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 ype-Resolution">Peer.Type.Resolu
24700 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 tion</a>.for.the.operands.......
24720 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</td>...........<td>.......
24740 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ......<pre><code>(<span.class="t
24760 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 ok-number">1</span>.&lt;.<span.c
24780 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c lass="tok-number">2</span>).==.<
247a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e span.class="tok-null">true</span
247c0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 ></code></pre>...........</td>..
247e0 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 .......</tr>.........<tr>.......
24800 20 20 20 20 3c 74 64 3e 4c 65 73 73 65 72 20 6f 72 20 45 71 75 61 6c 3c 2f 74 64 3e 0a 20 20 20 ....<td>Lesser.or.Equal</td>....
24820 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 26 6c 74 3b 3d 20 62 3c .......<td><pre><code>a.&lt;=.b<
24840 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e /code></pre></td>...........<td>
24860 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............<ul>...............
24880 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 <li><a.href="#Integers">Integers
248a0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 </a></li>...............<li><a.h
248c0 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ref="#Floats">Floats</a></li>...
248e0 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a ..........</ul>...........</td>.
24900 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 ..........<td>...............Ret
24920 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c urns.<code><span.class="tok-null
24940 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 6c 65 73 ">true</span></code>.if.a.is.les
24960 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 s.than.or.equal.to.b,.otherwise.
24980 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e returns.<code><span.class="tok-n
249a0 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 ull">false</span></code>........
249c0 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 ......Invokes.<a.href="#Peer-Typ
249e0 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 e-Resolution">Peer.Type.Resoluti
24a00 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 on</a>.for.the.operands.........
24a20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 ...</td>...........<td>.........
24a40 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ....<pre><code>(<span.class="tok
24a60 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 3d 20 3c 73 70 61 6e 20 63 6c -number">1</span>.&lt;=.<span.cl
24a80 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 ass="tok-number">2</span>).==.<s
24aa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e pan.class="tok-null">true</span>
24ac0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 </code></pre>...........</td>...
24ae0 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 ......</tr>.........<tr>........
24b00 20 20 20 3c 74 64 3e 41 72 72 61 79 20 43 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 3c 2f 74 64 3e 0a ...<td>Array.Concatenation</td>.
24b20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2b 2b 20 62 3c ..........<td><pre><code>a.++.b<
24b40 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e /code></pre></td>...........<td>
24b60 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............<ul>...............
24b80 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e <li><a.href="#Arrays">Arrays</a>
24ba0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 </li>.............</ul>.........
24bc0 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ..</td>...........<td>..........
24be0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 ...<ul>...............<li>Only.a
24c00 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 74 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 62 6f 74 vailable.when.the.lengths.of.bot
24c20 68 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f h.<code>a</code>.and.<code>b</co
24c40 64 65 3e 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 de>.are.<a.href="#comptime">comp
24c60 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ile-time.known</a>.</li>........
24c80 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 .....</ul>...........</td>......
24ca0 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 .....<td>.............<pre><code
24cc0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
24ce0 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n>.mem.=.<span.class="tok-builti
24d00 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">@import</span>(<span.class="t
24d20 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e ok-str">&quot;std&quot;</span>).
24d40 6d 65 6d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c mem;.<span.class="tok-kw">const<
24d60 2f 73 70 61 6e 3e 20 61 72 72 61 79 31 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.array1.=.[_]<span.class="
24d80 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u32</span>{<span.class
24da0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 ="tok-number">1</span>,<span.cla
24dc0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 7d 3b 0a 3c 73 70 61 6e ss="tok-number">2</span>};.<span
24de0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 .class="tok-kw">const</span>.arr
24e00 61 79 32 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ay2.=.[_]<span.class="tok-type">
24e20 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 u32</span>{<span.class="tok-numb
24e40 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 er">3</span>,<span.class="tok-nu
24e60 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mber">4</span>};.<span.class="to
24e80 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 6f 67 65 74 68 65 72 20 3d 20 61 72 k-kw">const</span>.together.=.ar
24ea0 72 61 79 31 20 2b 2b 20 61 72 72 61 79 32 3b 0a 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c ray1.++.array2;.mem.eql(<span.cl
24ec0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b ass="tok-type">u32</span>,.&amp;
24ee0 74 6f 67 65 74 68 65 72 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 together,.&amp;[_]<span.class="t
24f00 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-type">u32</span>{<span.class=
24f20 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 "tok-number">1</span>,<span.clas
24f40 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c s="tok-number">2</span>,<span.cl
24f60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 ass="tok-number">3</span>,<span.
24f80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 29 3c 2f 63 class="tok-number">4</span>})</c
24fa0 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 ode></pre>...........</td>......
24fc0 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 ...</tr>.........<tr>...........
24fe0 3c 74 64 3e 41 72 72 61 79 20 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 <td>Array.Multiplication</td>...
25000 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 2a 2a 20 62 3c 2f 63 ........<td><pre><code>a.**.b</c
25020 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ode></pre></td>...........<td>..
25040 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c ...........<ul>...............<l
25060 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f i><a.href="#Arrays">Arrays</a></
25080 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 li>.............</ul>...........
250a0 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </td>...........<td>............
250c0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 76 61 .<ul>...............<li>Only.ava
250e0 69 6c 61 62 6c 65 20 77 68 65 6e 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 3c 63 6f 64 65 3e ilable.when.the.length.of.<code>
25100 61 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 61 72 65 20 a</code>.and.<code>b</code>.are.
25120 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 <a.href="#comptime">compile-time
25140 20 6b 6e 6f 77 6e 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 .known</a>.</li>.............</u
25160 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 l>...........</td>...........<td
25180 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 >.............<pre><code><span.c
251a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d lass="tok-kw">const</span>.mem.=
251c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f .<span.class="tok-builtin">@impo
251e0 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e rt</span>(<span.class="tok-str">
25200 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 3c 73 70 &quot;std&quot;</span>).mem;.<sp
25220 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 an.class="tok-kw">const</span>.p
25240 61 74 74 65 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 attern.=.<span.class="tok-str">&
25260 71 75 6f 74 3b 61 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2a 2a 20 3c 73 70 61 6e 20 63 6c quot;ab&quot;</span>.**.<span.cl
25280 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 6d 65 6d 2e 65 ass="tok-number">3</span>;.mem.e
252a0 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 ql(<span.class="tok-type">u8</sp
252c0 61 6e 3e 2c 20 70 61 74 74 65 72 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 an>,.pattern,.<span.class="tok-s
252e0 74 72 22 3e 26 71 75 6f 74 3b 61 62 61 62 61 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f tr">&quot;ababab&quot;</span>)</
25300 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 code></pre>...........</td>.....
25320 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 ....</tr>.........<tr>..........
25340 20 3c 74 64 3e 50 6f 69 6e 74 65 72 20 44 65 72 65 66 65 72 65 6e 63 65 3c 2f 74 64 3e 0a 20 20 .<td>Pointer.Dereference</td>...
25360 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 2e 2a 3c 2f 63 6f 64 65 ........<td><pre><code>a.*</code
25380 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 ></pre></td>...........<td>.....
253a0 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ........<ul>...............<li><
253c0 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c a.href="#Pointers">Pointers</a><
253e0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 /li>.............</ul>..........
25400 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 .</td>...........<td>...........
25420 20 20 50 6f 69 6e 74 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 ..Pointer.dereference...........
25440 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 .</td>...........<td>...........
25460 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ..<pre><code><span.class="tok-kw
25480 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">const</span>.x:.<span.class="t
254a0 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">u32</span>.=.<span.clas
254c0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 s="tok-number">1234</span>;.<spa
254e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 n.class="tok-kw">const</span>.pt
25500 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 r.=.&amp;x;.ptr.*.==.<span.class
25520 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ="tok-number">1234</span></code>
25540 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c </pre>...........</td>.........<
25560 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e /tr>.........<tr>...........<td>
25580 41 64 64 72 65 73 73 20 4f 66 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 Address.Of</td>...........<td><p
255a0 72 65 3e 3c 63 6f 64 65 3e 26 61 6d 70 3b 61 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 re><code>&amp;a</code></pre></td
255c0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 6c >...........<td>.............All
255e0 20 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 .types...........</td>..........
25600 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 .<td>...........</td>...........
25620 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 <td>.............<pre><code><spa
25640 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a n.class="tok-kw">const</span>.x:
25660 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 .<span.class="tok-type">u32</spa
25680 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 n>.=.<span.class="tok-number">12
256a0 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 34</span>;.<span.class="tok-kw">
256c0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 70 74 72 2e 2a const</span>.ptr.=.&amp;x;.ptr.*
256e0 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 .==.<span.class="tok-number">123
25700 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 4</span></code></pre>...........
25720 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e </td>.........</tr>.........<tr>
25740 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 45 72 72 6f 72 20 53 65 74 20 4d 65 72 67 65 3c 2f ...........<td>Error.Set.Merge</
25760 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 61 20 7c td>...........<td><pre><code>a.|
25780 7c 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 |.b</code></pre></td>...........
257a0 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 <td>.............<ul>...........
257c0 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 ....<li><a.href="#Error-Set-Type
257e0 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ">Error.Set.Type</a></li>.......
25800 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 ......</ul>...........</td>.....
25820 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 ......<td>...............<a.href
25840 3d 22 23 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 45 ="#Merging-Error-Sets">Merging.E
25860 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 rror.Sets</a>...........</td>...
25880 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 ........<td>.............<pre><c
258a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
258c0 73 70 61 6e 3e 20 41 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 span>.A.=.<span.class="tok-kw">e
258e0 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 4f 6e 65 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 rror</span>{One};.<span.class="t
25900 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 20 3d 20 3c 73 70 61 6e 20 63 6c ok-kw">const</span>.B.=.<span.cl
25920 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 54 77 6f 7d 3b 0a ass="tok-kw">error</span>{Two};.
25940 28 41 20 7c 7c 20 42 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 (A.||.B).==.<span.class="tok-kw"
25960 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 4f 6e 65 2c 20 54 77 6f 7d 3c 2f 63 6f 64 65 3e 3c 2f >error</span>{One,.Two}</code></
25980 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 pre>...........</td>.........</t
259a0 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c r>.........</tbody>.......</tabl
259c0 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 e>.......</div>..............<h3
259e0 20 69 64 3d 22 50 72 65 63 65 64 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 .id="Precedence"><a.href="#toc-P
25a00 72 65 63 65 64 65 6e 63 65 22 3e 50 72 65 63 65 64 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 recedence">Precedence</a>.<a.cla
25a20 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 72 65 63 65 64 65 6e 63 65 22 3e c2 a7 3c 2f ss="hdr".href="#Precedence">..</
25a40 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 78 28 29 20 78 5b a></h3>........<pre><code>x().x[
25a60 5d 20 78 2e 79 20 78 2e 2a 20 78 2e 3f 0a 61 21 62 0a 78 7b 7d 0a 21 78 20 2d 78 20 2d 25 78 20 ].x.y.x.*.x.?.a!b.x{}.!x.-x.-%x.
25a80 7e 78 20 26 61 6d 70 3b 78 20 3f 78 0a 2a 20 2f 20 25 20 2a 2a 20 2a 25 20 2a 7c 20 7c 7c 0a 2b ~x.&amp;x.?x.*./.%.**.*%.*|.||.+
25aa0 20 2d 20 2b 2b 20 2b 25 20 2d 25 20 2b 7c 20 2d 7c 0a 26 6c 74 3b 26 6c 74 3b 20 26 67 74 3b 26 .-.++.+%.-%.+|.-|.&lt;&lt;.&gt;&
25ac0 67 74 3b 20 26 6c 74 3b 26 6c 74 3b 7c 0a 26 61 6d 70 3b 20 5e 20 7c 20 3c 73 70 61 6e 20 63 6c gt;.&lt;&lt;|.&amp;.^.|.<span.cl
25ae0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e ass="tok-kw">orelse</span>.<span
25b00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 0a 3d 3d 20 .class="tok-kw">catch</span>.==.
25b20 21 3d 20 26 6c 74 3b 20 26 67 74 3b 20 26 6c 74 3b 3d 20 26 67 74 3b 3d 0a 3c 73 70 61 6e 20 63 !=.&lt;.&gt;.&lt;=.&gt;=.<span.c
25b40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="tok-kw">and</span>.<span.c
25b60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 0a 3d 20 2a 3d 20 2a 25 3d lass="tok-kw">or</span>.=.*=.*%=
25b80 20 2a 7c 3d 20 2f 3d 20 25 3d 20 2b 3d 20 2b 25 3d 20 2b 7c 3d 20 2d 3d 20 2d 25 3d 20 2d 7c 3d .*|=./=.%=.+=.+%=.+|=.-=.-%=.-|=
25ba0 20 26 6c 74 3b 26 6c 74 3b 3d 20 26 6c 74 3b 26 6c 74 3b 7c 3d 20 26 67 74 3b 26 67 74 3b 3d 20 .&lt;&lt;=.&lt;&lt;|=.&gt;&gt;=.
25bc0 26 61 6d 70 3b 3d 20 5e 3d 20 7c 3d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 &amp;=.^=.|=</code></pre>.......
25be0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 72 72 61 79 73 22 3e 3c 61 ..............<h2.id="Arrays"><a
25c00 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 3c .href="#toc-Arrays">Arrays</a>.<
25c20 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e c2 a7 3c a.class="hdr".href="#Arrays">..<
25c40 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 /a></h2>........<figure><figcapt
25c60 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
25c80 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 "file">test_arrays.zig</cite></f
25ca0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><code><span.class
25cc0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 ="tok-kw">const</span>.expect.=.
25ce0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 <span.class="tok-builtin">@impor
25d00 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>(<span.class="tok-str">&
25d20 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 quot;std&quot;</span>).testing.e
25d40 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 xpect;.<span.class="tok-kw">cons
25d60 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.assert.=.<span.class="t
25d80 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
25da0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
25dc0 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 </span>).debug.assert;.<span.cla
25de0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c ss="tok-kw">const</span>.mem.=.<
25e00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 span.class="tok-builtin">@import
25e20 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
25e40 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 0a 3c 73 70 61 uot;std&quot;</span>).mem;..<spa
25e60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 6c n.class="tok-comment">//.array.l
25e80 69 74 65 72 61 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b iteral</span>.<span.class="tok-k
25ea0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 73 73 61 67 65 20 3d 20 5b 5f 5d 3c 73 70 w">const</span>.message.=.[_]<sp
25ec0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c an.class="tok-type">u8</span>{.<
25ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c span.class="tok-str">'h'</span>,
25f00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e .<span.class="tok-str">'e'</span
25f20 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 >,.<span.class="tok-str">'l'</sp
25f40 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f an>,.<span.class="tok-str">'l'</
25f60 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 span>,.<span.class="tok-str">'o'
25f80 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.};..<span.class="tok-com
25fa0 6d 65 6e 74 22 3e 2f 2f 20 67 65 74 20 74 68 65 20 73 69 7a 65 20 6f 66 20 61 6e 20 61 72 72 61 ment">//.get.the.size.of.an.arra
25fc0 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f y</span>.<span.class="tok-kw">co
25fe0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 73 73 61 mptime</span>.{.....assert(messa
26000 67 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ge.len.==.<span.class="tok-numbe
26020 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r">5</span>);.}..<span.class="to
26040 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 69 k-comment">//.A.string.literal.i
26060 73 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 s.a.single-item.pointer.to.an.ar
26080 72 61 79 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ray.</span>.<span.class="tok-kw"
260a0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 61 6d 65 5f 6d 65 73 73 61 67 65 20 3d 20 3c 73 70 >const</span>.same_message.=.<sp
260c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 an.class="tok-str">&quot;hello&q
260e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b uot;</span>;..<span.class="tok-k
26100 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 w">comptime</span>.{.....assert(
26120 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 mem.eql(<span.class="tok-type">u
26140 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 6d 65 73 73 61 67 65 2c 20 73 61 6d 65 5f 6d 65 73 8</span>,.&amp;message,.same_mes
26160 73 61 67 65 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e sage));.}..<span.class="tok-kw">
26180 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 test</span>.<span.class="tok-str
261a0 22 3e 26 71 75 6f 74 3b 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 6e 20 61 72 72 61 79 26 71 75 ">&quot;iterate.over.an.array&qu
261c0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
261e0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">var</span>.sum:.<span.clas
26200 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 s="tok-type">usize</span>.=.<spa
26220 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 n.class="tok-number">0</span>;..
26240 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 ...<span.class="tok-kw">for</spa
26260 6e 3e 20 28 6d 65 73 73 61 67 65 29 20 7c 62 79 74 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 n>.(message).|byte|.{.........su
26280 6d 20 2b 3d 20 62 79 74 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 m.+=.byte;.....}.....<span.class
262a0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 ="tok-kw">try</span>.expect(sum.
262c0 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 ==.<span.class="tok-str">'h'</sp
262e0 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c an>.+.<span.class="tok-str">'e'<
26300 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 /span>.+.<span.class="tok-str">'
26320 6c 27 3c 2f 73 70 61 6e 3e 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d l'</span>.*.<span.class="tok-num
26340 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ber">2</span>.+.<span.class="tok
26360 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 -str">'o'</span>);.}..<span.clas
26380 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 6f 64 69 66 69 61 62 6c 65 20 61 72 s="tok-comment">//.modifiable.ar
263a0 72 61 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ray</span>.<span.class="tok-kw">
263c0 76 61 72 3c 2f 73 70 61 6e 3e 20 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 3a 20 5b 3c 73 70 61 6e var</span>.some_integers:.[<span
263e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c .class="tok-number">100</span>]<
26400 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">i32</span>
26420 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 .=.<span.class="tok-null">undefi
26440 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ned</span>;..<span.class="tok-kw
26460 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">test</span>.<span.class="tok-s
26480 74 72 22 3e 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 3c tr">&quot;modify.an.array&quot;<
264a0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
264c0 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 26 61 6d 70 3b 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 ">for</span>.(&amp;some_integers
264e0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 ,.<span.class="tok-number">0</sp
26500 61 6e 3e 2e 2e 29 20 7c 2a 69 74 65 6d 2c 20 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 69 74 65 6d an>..).|*item,.i|.{.........item
26520 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 .*.=.<span.class="tok-builtin">@
26540 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 69 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 intCast</span>(i);.....}.....<sp
26560 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
26580 65 63 74 28 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ect(some_integers[<span.class="t
265a0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 ok-number">10</span>].==.<span.c
265c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 lass="tok-number">10</span>);...
265e0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
26600 3e 20 65 78 70 65 63 74 28 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 5b 3c 73 70 61 6e 20 63 6c 61 >.expect(some_integers[<span.cla
26620 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 ss="tok-number">99</span>].==.<s
26640 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e pan.class="tok-number">99</span>
26660 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e );.}..<span.class="tok-comment">
26680 2f 2f 20 61 72 72 61 79 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 77 6f 72 6b 73 20 69 66 20 //.array.concatenation.works.if.
266a0 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 the.values.are.known</span>.<spa
266c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 74 20 63 6f 6d 70 n.class="tok-comment">//.at.comp
266e0 69 6c 65 20 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ile.time</span>.<span.class="tok
26700 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 74 5f 6f 6e 65 20 3d 20 5b 5f 5d -kw">const</span>.part_one.=.[_]
26720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e <span.class="tok-type">i32</span
26740 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 >{.<span.class="tok-number">1</s
26760 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 pan>,.<span.class="tok-number">2
26780 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>,.<span.class="tok-number
267a0 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">3</span>,.<span.class="tok-num
267c0 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">4</span>.};.<span.class="to
267e0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 74 5f 74 77 6f 20 3d 20 5b 5f k-kw">const</span>.part_two.=.[_
26800 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 ]<span.class="tok-type">i32</spa
26820 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f n>{.<span.class="tok-number">5</
26840 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e span>,.<span.class="tok-number">
26860 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 6</span>,.<span.class="tok-numbe
26880 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">7</span>,.<span.class="tok-nu
268a0 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">8</span>.};.<span.class="t
268c0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 6f 66 5f 69 74 20 3d 20 ok-kw">const</span>.all_of_it.=.
268e0 70 61 72 74 5f 6f 6e 65 20 2b 2b 20 70 61 72 74 5f 74 77 6f 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 part_one.++.part_two;.<span.clas
26900 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 s="tok-kw">comptime</span>.{....
26920 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .assert(mem.eql(<span.class="tok
26940 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 61 6c 6c 5f 6f 66 5f 69 -type">i32</span>,.&amp;all_of_i
26960 74 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 t,.&amp;[_]<span.class="tok-type
26980 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">i32</span>{.<span.class="tok-n
269a0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">1</span>,.<span.class="to
269c0 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">2</span>,.<span.class=
269e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">3</span>,.<span.cla
26a00 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">4</span>,.<span.
26a20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">5</span>,.<sp
26a40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">6</span>,.
26a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e <span.class="tok-number">7</span
26a80 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 >,.<span.class="tok-number">8</s
26aa0 70 61 6e 3e 20 7d 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f pan>.}));.}..<span.class="tok-co
26ac0 6d 6d 65 6e 74 22 3e 2f 2f 20 72 65 6d 65 6d 62 65 72 20 74 68 61 74 20 73 74 72 69 6e 67 20 6c mment">//.remember.that.string.l
26ae0 69 74 65 72 61 6c 73 20 61 72 65 20 61 72 72 61 79 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 iterals.are.arrays</span>.<span.
26b00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c class="tok-kw">const</span>.hell
26b20 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b o.=.<span.class="tok-str">&quot;
26b40 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d hello&quot;</span>;.<span.class=
26b60 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 6f 72 6c 64 20 3d 20 3c 73 "tok-kw">const</span>.world.=.<s
26b80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 26 pan.class="tok-str">&quot;world&
26ba0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b quot;</span>;.<span.class="tok-k
26bc0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 20 3d 20 68 65 w">const</span>.hello_world.=.he
26be0 6c 6c 6f 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 llo.++.<span.class="tok-str">&qu
26c00 6f 74 3b 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 77 6f 72 6c 64 3b 0a 3c 73 70 61 ot;.&quot;</span>.++.world;.<spa
26c20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e n.class="tok-kw">comptime</span>
26c40 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 .{.....assert(mem.eql(<span.clas
26c60 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 68 65 6c 6c 6f 5f 77 6f s="tok-type">u8</span>,.hello_wo
26c80 72 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 rld,.<span.class="tok-str">&quot
26ca0 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a ;hello.world&quot;</span>));.}..
26cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 2a 20 <span.class="tok-comment">//.**.
26ce0 64 6f 65 73 20 72 65 70 65 61 74 69 6e 67 20 70 61 74 74 65 72 6e 73 3c 2f 73 70 61 6e 3e 0a 3c does.repeating.patterns</span>.<
26d00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
26d20 20 70 61 74 74 65 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 .pattern.=.<span.class="tok-str"
26d40 3e 26 71 75 6f 74 3b 61 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2a 2a 20 3c 73 70 61 6e 20 >&quot;ab&quot;</span>.**.<span.
26d60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 class="tok-number">3</span>;.<sp
26d80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e an.class="tok-kw">comptime</span
26da0 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 >.{.....assert(mem.eql(<span.cla
26dc0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 70 61 74 74 65 72 6e ss="tok-type">u8</span>,.pattern
26de0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 ,.<span.class="tok-str">&quot;ab
26e00 61 62 61 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c abab&quot;</span>));.}..<span.cl
26e20 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 69 74 69 61 6c 69 7a 65 20 ass="tok-comment">//.initialize.
26e40 61 6e 20 61 72 72 61 79 20 74 6f 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.array.to.zero</span>.<span.cl
26e60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 7a 65 ass="tok-kw">const</span>.all_ze
26e80 72 6f 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 ro.=.[_]<span.class="tok-type">u
26ea0 31 36 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 16</span>{<span.class="tok-numbe
26ec0 72 22 3e 30 3c 2f 73 70 61 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">0</span>}.**.<span.class="tok
26ee0 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 -number">10</span>;..<span.class
26f00 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ="tok-kw">comptime</span>.{.....
26f20 61 73 73 65 72 74 28 61 6c 6c 5f 7a 65 72 6f 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 assert(all_zero.len.==.<span.cla
26f40 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 ss="tok-number">10</span>);.....
26f60 61 73 73 65 72 74 28 61 6c 6c 5f 7a 65 72 6f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b assert(all_zero[<span.class="tok
26f80 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -number">5</span>].==.<span.clas
26fa0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 s="tok-number">0</span>);.}..<sp
26fc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 73 65 20 63 6f an.class="tok-comment">//.use.co
26fe0 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e mpile-time.code.to.initialize.an
27000 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .array</span>.<span.class="tok-k
27020 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 61 6e 63 79 5f 61 72 72 61 79 20 3d 20 69 6e 69 74 w">var</span>.fancy_array.=.init
27040 3a 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 :.{.....<span.class="tok-kw">var
27060 3c 2f 73 70 61 6e 3e 20 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 3a 20 5b 3c 73 70 61 6e 20 63 6c </span>.initial_value:.[<span.cl
27080 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 50 6f 69 6e 74 ass="tok-number">10</span>]Point
270a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 .=.<span.class="tok-null">undefi
270c0 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ned</span>;.....<span.class="tok
270e0 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 26 61 6d 70 3b 69 6e 69 74 69 61 6c 5f 76 61 -kw">for</span>.(&amp;initial_va
27100 6c 75 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c lue,.<span.class="tok-number">0<
27120 2f 73 70 61 6e 3e 2e 2e 29 20 7c 2a 70 74 2c 20 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 70 74 2e /span>..).|*pt,.i|.{.........pt.
27140 2a 20 3d 20 50 6f 69 6e 74 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 *.=.Point{..............x.=.<spa
27160 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f n.class="tok-builtin">@intCast</
27180 73 70 61 6e 3e 28 69 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e span>(i),..............y.=.<span
271a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 .class="tok-builtin">@intCast</s
271c0 70 61 6e 3e 28 69 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 pan>(i.*.<span.class="tok-number
271e0 22 3e 32 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 20 20 ">2</span>),.........};.....}...
27200 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 ..<span.class="tok-kw">break</sp
27220 61 6e 3e 20 3a 69 6e 69 74 20 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 3b 0a 7d 3b 0a 3c 73 70 61 an>.:init.initial_value;.};.<spa
27240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f n.class="tok-kw">const</span>.Po
27260 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 int.=.<span.class="tok-kw">struc
27280 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.{.....x:.<span.class="t
272a0 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 ok-type">i32</span>,.....y:.<spa
272c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d n.class="tok-type">i32</span>,.}
272e0 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 ;..<span.class="tok-kw">test</sp
27300 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>.<span.class="tok-str">&quot;
27320 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f compile-time.array.initializatio
27340 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 n&quot;</span>.{.....<span.class
27360 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 61 6e 63 ="tok-kw">try</span>.expect(fanc
27380 79 5f 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 y_array[<span.class="tok-number"
273a0 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >4</span>].x.==.<span.class="tok
273c0 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -number">4</span>);.....<span.cl
273e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 ass="tok-kw">try</span>.expect(f
27400 61 6e 63 79 5f 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ancy_array[<span.class="tok-numb
27420 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">4</span>].y.==.<span.class="
27440 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 tok-number">8</span>);.}..<span.
27460 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6c 6c 20 61 20 66 75 class="tok-comment">//.call.a.fu
27480 6e 63 74 69 6f 6e 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 3c 2f 73 nction.to.initialize.an.array</s
274a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 pan>.<span.class="tok-kw">var</s
274c0 70 61 6e 3e 20 6d 6f 72 65 5f 70 6f 69 6e 74 73 20 3d 20 5b 5f 5d 50 6f 69 6e 74 7b 6d 61 6b 65 pan>.more_points.=.[_]Point{make
274e0 50 6f 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 Point(<span.class="tok-number">3
27500 3c 2f 73 70 61 6e 3e 29 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 </span>)}.**.<span.class="tok-nu
27520 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mber">10</span>;.<span.class="to
27540 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b k-kw">fn</span>.<span.class="tok
27560 2d 66 6e 22 3e 6d 61 6b 65 50 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 -fn">makePoint</span>(x:.<span.c
27580 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 50 6f 69 6e lass="tok-type">i32</span>).Poin
275a0 74 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 t.{.....<span.class="tok-kw">ret
275c0 75 72 6e 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 7b 0a 20 20 20 20 20 20 20 20 2e 78 20 3d 20 78 urn</span>.Point{..........x.=.x
275e0 2c 0a 20 20 20 20 20 20 20 20 2e 79 20 3d 20 78 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ,..........y.=.x.*.<span.class="
27600 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 3c tok-number">2</span>,.....};.}.<
27620 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 span.class="tok-kw">test</span>.
27640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 72 72 61 <span.class="tok-str">&quot;arra
27660 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 y.initialization.with.function.c
27680 61 6c 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c alls&quot;</span>.{.....<span.cl
276a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d ass="tok-kw">try</span>.expect(m
276c0 6f 72 65 5f 70 6f 69 6e 74 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ore_points[<span.class="tok-numb
276e0 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">4</span>].x.==.<span.class="
27700 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e tok-number">3</span>);.....<span
27720 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
27740 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e t(more_points[<span.class="tok-n
27760 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 umber">4</span>].y.==.<span.clas
27780 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 s="tok-number">6</span>);.....<s
277a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 pan.class="tok-kw">try</span>.ex
277c0 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c pect(more_points.len.==.<span.cl
277e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f ass="tok-number">10</span>);.}</
27800 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 code></pre></figure><figure><fig
27820 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c caption.class="shell-cap">Shell<
27840 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
27860 67 20 74 65 73 74 20 74 65 73 74 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 34 g.test.test_arrays.zig</kbd>.1/4
27880 20 74 65 73 74 5f 61 72 72 61 79 73 2e 74 65 73 74 2e 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 .test_arrays.test.iterate.over.a
278a0 6e 20 61 72 72 61 79 2e 2e 2e 20 4f 4b 0a 32 2f 34 20 74 65 73 74 5f 61 72 72 61 79 73 2e 74 65 n.array....OK.2/4.test_arrays.te
278c0 73 74 2e 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 2e 2e 2e 20 4f 4b 0a 33 2f 34 20 74 65 73 st.modify.an.array....OK.3/4.tes
278e0 74 5f 61 72 72 61 79 73 2e 74 65 73 74 2e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 61 79 t_arrays.test.compile-time.array
27900 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 2e 2e 20 4f 4b 0a 34 2f 34 20 74 65 73 74 5f 61 .initialization....OK.4/4.test_a
27920 72 72 61 79 73 2e 74 65 73 74 2e 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 rrays.test.array.initialization.
27940 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 34 20 with.function.calls....OK.All.4.
27960 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 tests.passed..</samp></pre></fig
27980 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a ure>.......<p>See.also:</p><ul>.
279a0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a <li><a.href="#for">for</a></li>.
279c0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e <li><a.href="#Slices">Slices</a>
279e0 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4d 75 6c 74 </li>.</ul>.........<h3.id="Mult
27a00 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 idimensional-Arrays"><a.href="#t
27a20 6f 63 2d 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e 4d 75 6c 74 oc-Multidimensional-Arrays">Mult
27a40 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 idimensional.Arrays</a>.<a.class
27a60 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 ="hdr".href="#Multidimensional-A
27a80 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 rrays">..</a></h3>........<p>...
27aa0 20 20 20 20 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 20 63 61 6e 20 ....Multidimensional.arrays.can.
27ac0 62 65 20 63 72 65 61 74 65 64 20 62 79 20 6e 65 73 74 69 6e 67 20 61 72 72 61 79 73 3a 0a 20 20 be.created.by.nesting.arrays:...
27ae0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ....</p>.......<figure><figcapti
27b00 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 on.class="zig-cap"><cite.class="
27b20 66 69 6c 65 22 3e 74 65 73 74 5f 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 5f 61 72 72 61 file">test_multidimensional_arra
27b40 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ys.zig</cite></figcaption><pre><
27b60 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
27b80 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.std.=.<span.class="tok-bu
27ba0 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
27bc0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;std&quot;</spa
27be0 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c n>);.<span.class="tok-kw">const<
27c00 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 /span>.expect.=.std.testing.expe
27c20 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ct;..<span.class="tok-kw">const<
27c40 2f 73 70 61 6e 3e 20 6d 61 74 34 78 34 20 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>.mat4x4.=.[<span.class="to
27c60 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">4</span>][<span.class=
27c80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 "tok-number">4</span>]<span.clas
27ca0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 5b 5f 5d s="tok-type">f32</span>{.....[_]
27cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e <span.class="tok-type">f32</span
27ce0 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c >{.<span.class="tok-number">1.0<
27d00 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
27d20 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >0.0</span>,.<span.class="tok-nu
27d40 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">0.0</span>,.<span.class="t
27d60 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 5b 5f 5d ok-number">0.0</span>.},.....[_]
27d80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e <span.class="tok-type">f32</span
27da0 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c >{.<span.class="tok-number">0.0<
27dc0 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
27de0 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >1.0</span>,.<span.class="tok-nu
27e00 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">0.0</span>,.<span.class="t
27e20 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 5b 5f 5d ok-number">1.0</span>.},.....[_]
27e40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e <span.class="tok-type">f32</span
27e60 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c >{.<span.class="tok-number">0.0<
27e80 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
27ea0 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >0.0</span>,.<span.class="tok-nu
27ec0 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">1.0</span>,.<span.class="t
27ee0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 5b 5f 5d ok-number">0.0</span>.},.....[_]
27f00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e <span.class="tok-type">f32</span
27f20 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c >{.<span.class="tok-number">0.0<
27f40 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
27f60 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >0.0</span>,.<span.class="tok-nu
27f80 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">0.0</span>,.<span.class="t
27fa0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 7d 3b 0a 3c 73 70 61 ok-number">1.0</span>.},.};.<spa
27fc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 n.class="tok-kw">test</span>.<sp
27fe0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 75 6c 74 69 64 69 an.class="tok-str">&quot;multidi
28000 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a mensional.arrays&quot;</span>.{.
28020 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
28040 20 41 63 63 65 73 73 20 74 68 65 20 32 44 20 61 72 72 61 79 20 62 79 20 69 6e 64 65 78 69 6e 67 .Access.the.2D.array.by.indexing
28060 20 74 68 65 20 6f 75 74 65 72 20 61 72 72 61 79 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 69 .the.outer.array,.and.then.the.i
28080 6e 6e 65 72 20 61 72 72 61 79 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 nner.array.</span>.....<span.cla
280a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 ss="tok-kw">try</span>.expect(ma
280c0 74 34 78 34 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c t4x4[<span.class="tok-number">1<
280e0 2f 73 70 61 6e 3e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>][<span.class="tok-number"
28100 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >1</span>].==.<span.class="tok-n
28120 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 umber">1.0</span>);......<span.c
28140 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 77 65 20 69 74 lass="tok-comment">//.Here.we.it
28160 65 72 61 74 65 20 77 69 74 68 20 66 6f 72 20 6c 6f 6f 70 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 erate.with.for.loops.</span>....
28180 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">for</span>
281a0 20 28 6d 61 74 34 78 34 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 .(mat4x4,.<span.class="tok-numbe
281c0 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 72 6f 77 2c 20 72 6f 77 5f 69 6e 64 65 78 7c 20 r">0</span>..).|row,.row_index|.
281e0 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 {.........<span.class="tok-kw">f
28200 6f 72 3c 2f 73 70 61 6e 3e 20 28 72 6f 77 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b or</span>.(row,.<span.class="tok
28220 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 63 65 6c 6c 2c 20 63 6f 6c 75 -number">0</span>..).|cell,.colu
28240 6d 6e 5f 69 6e 64 65 78 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c mn_index|.{.............<span.cl
28260 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 72 6f 77 5f 69 6e 64 65 ass="tok-kw">if</span>.(row_inde
28280 78 20 3d 3d 20 63 6f 6c 75 6d 6e 5f 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 x.==.column_index).{............
282a0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
282c0 70 61 6e 3e 20 65 78 70 65 63 74 28 63 65 6c 6c 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.expect(cell.==.<span.class=
282e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 "tok-number">1.0</span>);.......
28300 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e ......}.........}.....}.}</code>
28320 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 </pre></figure><figure><figcapti
28340 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 on.class="shell-cap">Shell</figc
28360 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
28380 74 20 74 65 73 74 5f 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 5f 61 72 72 61 79 73 2e 7a t.test_multidimensional_arrays.z
283a0 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e ig</kbd>.1/1.test_multidimension
283c0 61 6c 5f 61 72 72 61 79 73 2e 74 65 73 74 2e 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 al_arrays.test.multidimensional.
283e0 61 72 72 61 79 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e arrays....OK.All.1.tests.passed.
28400 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a .</samp></pre></figure>.........
28420 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 ......<h3.id="Sentinel-Terminate
28440 64 2d 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c d-Arrays"><a.href="#toc-Sentinel
28460 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 -Terminated-Arrays">Sentinel-Ter
28480 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 minated.Arrays</a>.<a.class="hdr
284a0 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 ".href="#Sentinel-Terminated-Arr
284c0 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ays">..</a></h3>........<p>.....
284e0 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 5b 4e 3a 78 5d 54 3c 2f 63 6f 64 65 3e ..The.syntax.<code>[N:x]T</code>
28500 20 64 65 73 63 72 69 62 65 73 20 61 6e 20 61 72 72 61 79 20 77 68 69 63 68 20 68 61 73 20 61 20 .describes.an.array.which.has.a.
28520 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e sentinel.element.of.value.<code>
28540 78 3c 2f 63 6f 64 65 3e 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 69 6e 64 65 78 20 63 6f 72 72 x</code>.at.the.......index.corr
28560 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 3c 63 6f 64 65 3e 4e 3c esponding.to.the.length.<code>N<
28580 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 /code>........</p>.......<figure
285a0 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 ><figcaption.class="zig-cap"><ci
285c0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e te.class="file">test_null_termin
285e0 61 74 65 64 5f 61 72 72 61 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f ated_array.zig</cite></figcaptio
28600 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
28620 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.std.=.<span.class
28640 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@import</span>(<s
28660 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 pan.class="tok-str">&quot;std&qu
28680 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ot;</span>);.<span.class="tok-kw
286a0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 ">const</span>.expect.=.std.test
286c0 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ing.expect;..<span.class="tok-kw
286e0 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">test</span>.<span.class="tok-s
28700 74 72 22 3e 26 71 75 6f 74 3b 30 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 65 6e 74 69 6e 65 6c 20 tr">&quot;0-terminated.sentinel.
28720 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 array&quot;</span>.{.....<span.c
28740 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 lass="tok-kw">const</span>.array
28760 20 3d 20 5b 5f 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 .=.[_:<span.class="tok-number">0
28780 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 </span>]<span.class="tok-type">u
287a0 38 3c 2f 73 70 61 6e 3e 20 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 8</span>.{<span.class="tok-numbe
287c0 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">1</span>,.<span.class="tok-nu
287e0 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">2</span>,.<span.class="tok
28800 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">3</span>,.<span.class="
28820 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 tok-number">4</span>};......<spa
28840 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
28860 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 ct(<span.class="tok-builtin">@Ty
28880 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 72 72 61 79 29 20 3d 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 peOf</span>(array).==.[<span.cla
288a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3a 3c 73 70 61 6e 20 63 ss="tok-number">4</span>:<span.c
288c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e lass="tok-number">0</span>]<span
288e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 .class="tok-type">u8</span>);...
28900 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
28920 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 >.expect(array.len.==.<span.clas
28940 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 s="tok-number">4</span>);.....<s
28960 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 pan.class="tok-kw">try</span>.ex
28980 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 pect(array[<span.class="tok-numb
289a0 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">4</span>].==.<span.class="to
289c0 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c k-number">0</span>);.}..<span.cl
289e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ass="tok-kw">test</span>.<span.c
28a00 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 74 72 61 20 30 73 20 69 6e lass="tok-str">&quot;extra.0s.in
28a20 20 30 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 65 6e 74 69 6e 65 6c 20 61 72 72 61 79 26 71 75 6f .0-terminated.sentinel.array&quo
28a40 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
28a60 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 -comment">//.The.sentinel.value.
28a80 6d 61 79 20 61 70 70 65 61 72 20 65 61 72 6c 69 65 72 2c 20 62 75 74 20 64 6f 65 73 20 6e 6f 74 may.appear.earlier,.but.does.not
28aa0 20 69 6e 66 6c 75 65 6e 63 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 27 6c 65 6e .influence.the.compile-time.'len
28ac0 27 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b '.</span>.....<span.class="tok-k
28ae0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 3a 3c 73 70 61 6e w">const</span>.array.=.[_:<span
28b00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 .class="tok-number">0</span>]<sp
28b20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c an.class="tok-type">u8</span>.{<
28b40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e span.class="tok-number">1</span>
28b60 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 ,.<span.class="tok-number">0</sp
28b80 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c an>,.<span.class="tok-number">0<
28ba0 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
28bc0 3e 34 3c 2f 73 70 61 6e 3e 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >4</span>};......<span.class="to
28be0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c k-kw">try</span>.expect(<span.cl
28c00 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e ass="tok-builtin">@TypeOf</span>
28c20 28 61 72 72 61 79 29 20 3d 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d (array).==.[<span.class="tok-num
28c40 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ber">4</span>:<span.class="tok-n
28c60 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b umber">0</span>]<span.class="tok
28c80 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 -type">u8</span>);.....<span.cla
28ca0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 ss="tok-kw">try</span>.expect(ar
28cc0 72 61 79 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ray.len.==.<span.class="tok-numb
28ce0 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">4</span>);.....<span.class="
28d00 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b tok-kw">try</span>.expect(array[
28d20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e <span.class="tok-number">4</span
28d40 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 >].==.<span.class="tok-number">0
28d60 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 </span>);.}</code></pre></figure
28d80 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c ><figure><figcaption.class="shel
28da0 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 l-cap">Shell</figcaption><pre><s
28dc0 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 amp>$.<kbd>zig.test.test_null_te
28de0 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 rminated_array.zig</kbd>.1/2.tes
28e00 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 74 65 73 74 2e 30 2d 74 t_null_terminated_array.test.0-t
28e20 65 72 6d 69 6e 61 74 65 64 20 73 65 6e 74 69 6e 65 6c 20 61 72 72 61 79 2e 2e 2e 20 4f 4b 0a 32 erminated.sentinel.array....OK.2
28e40 2f 32 20 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 74 65 /2.test_null_terminated_array.te
28e60 73 74 2e 65 78 74 72 61 20 30 73 20 69 6e 20 30 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 65 6e 74 st.extra.0s.in.0-terminated.sent
28e80 69 6e 65 6c 20 61 72 72 61 79 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 inel.array....OK.All.2.tests.pas
28ea0 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 sed..</samp></pre></figure>.....
28ec0 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ..<p>See.also:</p><ul>.<li><a.hr
28ee0 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 ef="#Sentinel-Terminated-Pointer
28f00 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c s">Sentinel-Terminated.Pointers<
28f20 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d /a></li>.<li><a.href="#Sentinel-
28f40 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d Terminated-Slices">Sentinel-Term
28f60 69 6e 61 74 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 inated.Slices</a></li>.</ul>....
28f80 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 65 63 74 6f ...................<h2.id="Vecto
28fa0 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f rs"><a.href="#toc-Vectors">Vecto
28fc0 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 65 63 rs</a>.<a.class="hdr".href="#Vec
28fe0 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 tors">..</a></h2>........<p>....
29000 20 20 20 41 20 76 65 63 74 6f 72 20 69 73 20 61 20 67 72 6f 75 70 20 6f 66 20 62 6f 6f 6c 65 61 ...A.vector.is.a.group.of.boolea
29020 6e 73 2c 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 ns,.<a.href="#Integers">Integers
29040 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f </a>,.<a.href="#Floats">Floats</
29060 61 3e 2c 20 6f 72 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 a>,.or.......<a.href="#Pointers"
29080 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 77 68 69 63 68 20 61 72 65 20 6f 70 65 72 61 74 65 64 >Pointers</a>.which.are.operated
290a0 20 6f 6e 20 69 6e 20 70 61 72 61 6c 6c 65 6c 2c 20 75 73 69 6e 67 20 53 49 4d 44 20 69 6e 73 74 .on.in.parallel,.using.SIMD.inst
290c0 72 75 63 74 69 6f 6e 73 20 69 66 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 56 65 63 74 ructions.if.possible........Vect
290e0 6f 72 20 74 79 70 65 73 20 61 72 65 20 63 72 65 61 74 65 64 20 77 69 74 68 20 74 68 65 20 62 75 or.types.are.created.with.the.bu
29100 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 22 iltin.function.<a.href="#Vector"
29120 3e 40 56 65 63 74 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c >@Vector</a>........</p>.......<
29140 70 3e 0a 20 20 20 20 20 20 56 65 63 74 6f 72 73 20 73 75 70 70 6f 72 74 20 74 68 65 20 73 61 6d p>.......Vectors.support.the.sam
29160 65 20 62 75 69 6c 74 69 6e 20 6f 70 65 72 61 74 6f 72 73 20 61 73 20 74 68 65 69 72 20 75 6e 64 e.builtin.operators.as.their.und
29180 65 72 6c 79 69 6e 67 20 62 61 73 65 20 74 79 70 65 73 2e 0a 20 20 20 20 20 20 54 68 65 73 65 20 erlying.base.types........These.
291a0 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 20 65 6c 65 6d 65 6e 74 operations.are.performed.element
291c0 2d 77 69 73 65 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 76 65 63 74 6f 72 20 6f 66 20 74 68 -wise,.and.return.a.vector.of.th
291e0 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 61 73 20 74 68 65 20 69 6e 70 75 74 e.same.length.......as.the.input
29200 20 76 65 63 74 6f 72 73 2e 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 3a 0a 20 20 20 20 20 20 3c .vectors..This.includes:.......<
29220 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 72 69 /p>.......<ul>...........<li>Ari
29240 74 68 6d 65 74 69 63 20 28 3c 63 6f 64 65 3e 2b 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 2d thmetic.(<code>+</code>,.<code>-
29260 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 2f 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 2a </code>,.<code>/</code>,.<code>*
29280 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 </code>,........................
292a0 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ..<code><span.class="tok-builtin
292c0 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 ">@divFloor</span></code>,.<code
292e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 71 72 74 ><span.class="tok-builtin">@sqrt
29300 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 </span></code>,.<code><span.clas
29320 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f s="tok-builtin">@ceil</span></co
29340 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 de>,..........................<c
29360 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c ode><span.class="tok-builtin">@l
29380 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 74 63 2e 29 3c 2f 6c 69 3e 0a 20 20 20 og</span></code>,.etc.)</li>....
293a0 20 20 20 20 20 20 20 3c 6c 69 3e 42 69 74 77 69 73 65 20 6f 70 65 72 61 74 6f 72 73 20 28 3c 63 .......<li>Bitwise.operators.(<c
293c0 6f 64 65 3e 26 67 74 3b 26 67 74 3b 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 26 6c 74 3b 26 ode>&gt;&gt;</code>,.<code>&lt;&
293e0 6c 74 3b 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 3c 2f 63 6f 64 65 3e 2c 0a lt;</code>,.<code>&amp;</code>,.
29400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
29420 20 3c 63 6f 64 65 3e 7c 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 7e 3c 2f 63 6f 64 65 3e 2c .<code>|</code>,.<code>~</code>,
29440 20 65 74 63 2e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 70 61 72 .etc.)</li>...........<li>Compar
29460 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 73 20 28 3c 63 6f 64 65 3e 26 6c 74 3b 3c 2f 63 6f 64 65 ison.operators.(<code>&lt;</code
29480 3e 2c 20 3c 63 6f 64 65 3e 26 67 74 3b 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3d 3d 3c 2f >,.<code>&gt;</code>,.<code>==</
294a0 63 6f 64 65 3e 2c 20 65 74 63 2e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 code>,.etc.)</li>.......</ul>...
294c0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 70 72 6f 68 69 62 69 74 65 64 20 74 ....<p>.......It.is.prohibited.t
294e0 6f 20 75 73 65 20 61 20 6d 61 74 68 20 6f 70 65 72 61 74 6f 72 20 6f 6e 20 61 20 6d 69 78 74 75 o.use.a.math.operator.on.a.mixtu
29500 72 65 20 6f 66 20 73 63 61 6c 61 72 73 20 28 69 6e 64 69 76 69 64 75 61 6c 20 6e 75 6d 62 65 72 re.of.scalars.(individual.number
29520 73 29 0a 20 20 20 20 20 20 61 6e 64 20 76 65 63 74 6f 72 73 2e 20 5a 69 67 20 70 72 6f 76 69 64 s).......and.vectors..Zig.provid
29540 65 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f es.the.<a.href="#splat">@splat</
29560 61 3e 20 62 75 69 6c 74 69 6e 20 74 6f 20 65 61 73 69 6c 79 20 63 6f 6e 76 65 72 74 20 66 72 6f a>.builtin.to.easily.convert.fro
29580 6d 20 73 63 61 6c 61 72 73 0a 20 20 20 20 20 20 74 6f 20 76 65 63 74 6f 72 73 2c 20 61 6e 64 20 m.scalars.......to.vectors,.and.
295a0 69 74 20 73 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 72 65 64 75 63 65 22 3e 40 72 it.supports.<a.href="#reduce">@r
295c0 65 64 75 63 65 3c 2f 61 3e 20 61 6e 64 20 61 72 72 61 79 20 69 6e 64 65 78 69 6e 67 20 73 79 6e educe</a>.and.array.indexing.syn
295e0 74 61 78 20 74 6f 20 63 6f 6e 76 65 72 74 0a 20 20 20 20 20 20 66 72 6f 6d 20 76 65 63 74 6f 72 tax.to.convert.......from.vector
29600 73 20 74 6f 20 73 63 61 6c 61 72 73 2e 20 56 65 63 74 6f 72 73 20 61 6c 73 6f 20 73 75 70 70 6f s.to.scalars..Vectors.also.suppo
29620 72 74 20 61 73 73 69 67 6e 6d 65 6e 74 20 74 6f 20 61 6e 64 20 66 72 6f 6d 20 66 69 78 65 64 2d rt.assignment.to.and.from.fixed-
29640 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 61 72 72 61 79 73 20 77 69 74 68 20 63 6f 6d 70 74 69 6d length.......arrays.with.comptim
29660 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 e-known.length........</p>......
29680 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 72 65 61 72 72 61 6e 67 69 6e 67 20 65 6c 65 6d 65 .<p>.......For.rearranging.eleme
296a0 6e 74 73 20 77 69 74 68 69 6e 20 61 6e 64 20 62 65 74 77 65 65 6e 20 76 65 63 74 6f 72 73 2c 20 nts.within.and.between.vectors,.
296c0 5a 69 67 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 Zig.provides.the.<a.href="#shuff
296e0 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 73 le">@shuffle</a>.and.<a.href="#s
29700 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 elect">@select</a>.functions....
29720 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 70 65 72 61 74 69 ....</p>.......<p>.......Operati
29740 6f 6e 73 20 6f 6e 20 76 65 63 74 6f 72 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 74 68 65 20 ons.on.vectors.shorter.than.the.
29760 74 61 72 67 65 74 20 6d 61 63 68 69 6e 65 27 73 20 6e 61 74 69 76 65 20 53 49 4d 44 20 73 69 7a target.machine's.native.SIMD.siz
29780 65 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 63 6f 6d 70 69 6c 65 20 74 6f 20 73 69 6e 67 e.will.typically.compile.to.sing
297a0 6c 65 20 53 49 4d 44 0a 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2c 20 77 68 69 6c le.SIMD.......instructions,.whil
297c0 65 20 76 65 63 74 6f 72 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 74 68 65 20 74 61 72 67 65 74 e.vectors.longer.than.the.target
297e0 20 6d 61 63 68 69 6e 65 27 73 20 6e 61 74 69 76 65 20 53 49 4d 44 20 73 69 7a 65 20 77 69 6c 6c .machine's.native.SIMD.size.will
29800 20 63 6f 6d 70 69 6c 65 20 74 6f 20 6d 75 6c 74 69 70 6c 65 20 53 49 4d 44 0a 20 20 20 20 20 20 .compile.to.multiple.SIMD.......
29820 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 20 49 66 20 61 20 67 69 76 65 6e 20 6f 70 65 72 61 74 69 instructions..If.a.given.operati
29840 6f 6e 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 53 49 4d 44 20 73 75 70 70 6f 72 74 20 6f 6e 20 on.doesn't.have.SIMD.support.on.
29860 74 68 65 20 74 61 72 67 65 74 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 74 68 65 20 63 6f 6d the.target.architecture,.the.com
29880 70 69 6c 65 72 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 74 6f 20 6f 70 65 72 piler.will.default.......to.oper
298a0 61 74 69 6e 67 20 6f 6e 20 65 61 63 68 20 76 65 63 74 6f 72 20 65 6c 65 6d 65 6e 74 20 6f 6e 65 ating.on.each.vector.element.one
298c0 20 61 74 20 61 20 74 69 6d 65 2e 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 6e 79 20 63 6f 6d .at.a.time..Zig.supports.any.com
298e0 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 20 75 70 20 74 6f 20 ptime-known.vector.length.up.to.
29900 32 5e 33 32 2d 31 2c 0a 20 20 20 20 20 20 61 6c 74 68 6f 75 67 68 20 73 6d 61 6c 6c 20 70 6f 77 2^32-1,.......although.small.pow
29920 65 72 73 20 6f 66 20 74 77 6f 20 28 32 2d 36 34 29 20 61 72 65 20 6d 6f 73 74 20 74 79 70 69 63 ers.of.two.(2-64).are.most.typic
29940 61 6c 2e 20 4e 6f 74 65 20 74 68 61 74 20 65 78 63 65 73 73 69 76 65 6c 79 20 6c 6f 6e 67 20 76 al..Note.that.excessively.long.v
29960 65 63 74 6f 72 20 6c 65 6e 67 74 68 73 20 28 65 2e 67 2e 20 32 5e 32 30 29 20 6d 61 79 0a 20 20 ector.lengths.(e.g..2^20).may...
29980 20 20 20 20 72 65 73 75 6c 74 20 69 6e 20 63 6f 6d 70 69 6c 65 72 20 63 72 61 73 68 65 73 20 6f ....result.in.compiler.crashes.o
299a0 6e 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 n.current.versions.of.Zig.......
299c0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 .</p>.......<figure><figcaption.
299e0 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c class="zig-cap"><cite.class="fil
29a00 65 22 3e 74 65 73 74 5f 76 65 63 74 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 e">test_vector.zig</cite></figca
29a20 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
29a40 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.std.=.<span.c
29a60 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e lass="tok-builtin">@import</span
29a80 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
29aa0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
29ac0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d k-kw">const</span>.expectEqual.=
29ae0 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 0a 3c 73 70 61 6e .std.testing.expectEqual;..<span
29b00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 .class="tok-kw">test</span>.<spa
29b20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 42 61 73 69 63 20 76 65 n.class="tok-str">&quot;Basic.ve
29b40 63 74 6f 72 20 75 73 61 67 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ctor.usage&quot;</span>.{.....<s
29b60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 56 65 63 74 6f pan.class="tok-comment">//.Vecto
29b80 72 73 20 68 61 76 65 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e rs.have.a.compile-time.known.len
29ba0 67 74 68 20 61 6e 64 20 62 61 73 65 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 gth.and.base.type.</span>.....<s
29bc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
29be0 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 a.=.<span.class="tok-builtin">@V
29c00 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ector</span>(<span.class="tok-nu
29c20 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">4</span>,.<span.class="tok
29c40 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">i32</span>){.<span.class=
29c60 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">1</span>,.<span.cla
29c80 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">2</span>,.<span.
29ca0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">3</span>,.<sp
29cc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d an.class="tok-number">4</span>.}
29ce0 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
29d00 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 </span>.b.=.<span.class="tok-bui
29d20 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@Vector</span>(<span.class
29d40 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">4</span>,.<span.cl
29d60 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 3c 73 70 61 ass="tok-type">i32</span>){.<spa
29d80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">5</span>,.<
29da0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e span.class="tok-number">6</span>
29dc0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 ,.<span.class="tok-number">7</sp
29de0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c an>,.<span.class="tok-number">8<
29e00 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.};......<span.class="tok-
29e20 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 61 74 68 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 61 6b 65 comment">//.Math.operations.take
29e40 20 70 6c 61 63 65 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 .place.element-wise.</span>.....
29e60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
29e80 3e 20 63 20 3d 20 61 20 2b 20 62 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >.c.=.a.+.b;......<span.class="t
29ea0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 64 69 76 69 64 75 61 6c 20 76 65 63 74 6f 72 ok-comment">//.Individual.vector
29ec0 20 65 6c 65 6d 65 6e 74 73 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 75 73 69 6e 67 20 .elements.can.be.accessed.using.
29ee0 61 72 72 61 79 20 69 6e 64 65 78 69 6e 67 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 20 20 array.indexing.syntax.</span>...
29f00 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
29f20 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expectEqual(<span.class="tok-n
29f40 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 umber">6</span>,.c[<span.class="
29f60 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 tok-number">0</span>]);.....<spa
29f80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
29fa0 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ctEqual(<span.class="tok-number"
29fc0 3e 38 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >8</span>,.c[<span.class="tok-nu
29fe0 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 mber">1</span>]);.....<span.clas
2a000 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 s="tok-kw">try</span>.expectEqua
2a020 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 l(<span.class="tok-number">10</s
2a040 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 pan>,.c[<span.class="tok-number"
2a060 3e 32 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >2</span>]);.....<span.class="to
2a080 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
2a0a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c an.class="tok-number">12</span>,
2a0c0 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 .c[<span.class="tok-number">3</s
2a0e0 70 61 6e 3e 5d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>]);.}..<span.class="tok-kw">
2a100 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 test</span>.<span.class="tok-str
2a120 22 3e 26 71 75 6f 74 3b 43 6f 6e 76 65 72 73 69 6f 6e 20 62 65 74 77 65 65 6e 20 76 65 63 74 6f ">&quot;Conversion.between.vecto
2a140 72 73 2c 20 61 72 72 61 79 73 2c 20 61 6e 64 20 73 6c 69 63 65 73 26 71 75 6f 74 3b 3c 2f 73 70 rs,.arrays,.and.slices&quot;</sp
2a160 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 an>.{.....<span.class="tok-comme
2a180 6e 74 22 3e 2f 2f 20 56 65 63 74 6f 72 73 20 61 6e 64 20 66 69 78 65 64 2d 6c 65 6e 67 74 68 20 nt">//.Vectors.and.fixed-length.
2a1a0 61 72 72 61 79 73 20 63 61 6e 20 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 73 73 69 arrays.can.be.automatically.assi
2a1c0 67 6e 65 64 20 62 61 63 6b 20 61 6e 64 20 66 6f 72 74 68 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c gned.back.and.forth</span>.....<
2a1e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
2a200 20 61 72 72 31 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 .arr1:.[<span.class="tok-number"
2a220 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >4</span>]<span.class="tok-type"
2a240 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >f32</span>.=.[_]<span.class="to
2a260 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">f32</span>{.<span.class=
2a280 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 "tok-number">1.1</span>,.<span.c
2a2a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 lass="tok-number">3.2</span>,.<s
2a2c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 2e 35 3c 2f 73 70 61 6e pan.class="tok-number">4.5</span
2a2e0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 2e 36 3c >,.<span.class="tok-number">5.6<
2a300 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b /span>.};.....<span.class="tok-k
2a320 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 65 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 w">const</span>.vec:.<span.class
2a340 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@Vector</span>(<s
2a360 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">4</span>,
2a380 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 .<span.class="tok-type">f32</spa
2a3a0 6e 3e 29 20 3d 20 61 72 72 31 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n>).=.arr1;.....<span.class="tok
2a3c0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 32 3a 20 5b 3c 73 70 61 6e 20 63 -kw">const</span>.arr2:.[<span.c
2a3e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e lass="tok-number">4</span>]<span
2a400 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 76 .class="tok-type">f32</span>.=.v
2a420 65 63 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ec;.....<span.class="tok-kw">try
2a440 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 61 72 72 31 2c 20 61 72 72 32 29 3b </span>.expectEqual(arr1,.arr2);
2a460 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ......<span.class="tok-comment">
2a480 2f 2f 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 73 73 69 67 6e 20 66 72 6f 6d 20 61 20 73 6c //.You.can.also.assign.from.a.sl
2a4a0 69 63 65 20 77 69 74 68 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 74 ice.with.comptime-known.length.t
2a4c0 6f 20 61 20 76 65 63 74 6f 72 20 75 73 69 6e 67 20 2e 2a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c o.a.vector.using..*</span>.....<
2a4e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
2a500 20 76 65 63 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .vec2:.<span.class="tok-builtin"
2a520 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@Vector</span>(<span.class="tok
2a540 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">2</span>,.<span.class="
2a560 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 61 72 72 31 5b 3c 73 70 tok-type">f32</span>).=.arr1[<sp
2a580 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e an.class="tok-number">1</span>..
2a5a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e <span.class="tok-number">3</span
2a5c0 3e 5d 2e 2a 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e >].*;......<span.class="tok-kw">
2a5e0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 const</span>.slice:.[]<span.clas
2a600 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c s="tok-kw">const</span>.<span.cl
2a620 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 ass="tok-type">f32</span>.=.&amp
2a640 3b 61 72 72 31 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;arr1;.....<span.class="tok-kw">
2a660 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 66 66 73 65 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 var</span>.offset:.<span.class="
2a680 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 tok-type">u32</span>.=.<span.cla
2a6a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 ss="tok-number">1</span>;.<span.
2a6c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 20 74 6f 20 6d 61 class="tok-comment">//.var.to.ma
2a6e0 6b 65 20 69 74 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f ke.it.runtime-known</span>....._
2a700 20 3d 20 26 61 6d 70 3b 6f 66 66 73 65 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .=.&amp;offset;.<span.class="tok
2a720 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 75 70 70 72 65 73 73 20 27 76 61 72 20 69 73 20 6e 65 -comment">//.suppress.'var.is.ne
2a740 76 65 72 20 6d 75 74 61 74 65 64 27 20 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 ver.mutated'.error</span>.....<s
2a760 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 65 78 pan.class="tok-comment">//.To.ex
2a780 74 72 61 63 74 20 61 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 66 72 tract.a.comptime-known.length.fr
2a7a0 6f 6d 20 61 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6f 66 66 73 65 74 2c 3c 2f 73 70 61 6e om.a.runtime-known.offset,</span
2a7c0 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e >.....<span.class="tok-comment">
2a7e0 2f 2f 20 66 69 72 73 74 20 65 78 74 72 61 63 74 20 61 20 6e 65 77 20 73 6c 69 63 65 20 66 72 6f //.first.extract.a.new.slice.fro
2a800 6d 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 6f 66 66 73 65 74 2c 20 74 68 65 6e 20 61 6e 20 61 m.the.starting.offset,.then.an.a
2a820 72 72 61 79 20 6f 66 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rray.of</span>.....<span.class="
2a840 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c tok-comment">//.comptime-known.l
2a860 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ength</span>.....<span.class="to
2a880 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 65 63 33 3a 20 3c 73 70 61 6e 20 63 k-kw">const</span>.vec3:.<span.c
2a8a0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e lass="tok-builtin">@Vector</span
2a8c0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 >(<span.class="tok-number">2</sp
2a8e0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c an>,.<span.class="tok-type">f32<
2a900 2f 73 70 61 6e 3e 29 20 3d 20 73 6c 69 63 65 5b 6f 66 66 73 65 74 2e 2e 5d 5b 3c 73 70 61 6e 20 /span>).=.slice[offset..][<span.
2a920 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 class="tok-number">0</span>..<sp
2a940 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 2e an.class="tok-number">2</span>].
2a960 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c *;.....<span.class="tok-kw">try<
2a980 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 73 6c 69 63 65 5b 6f 66 66 73 65 74 5d /span>.expectEqual(slice[offset]
2a9a0 2c 20 76 65 63 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ,.vec2[<span.class="tok-number">
2a9c0 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 0</span>]);.....<span.class="tok
2a9e0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 73 6c 69 63 -kw">try</span>.expectEqual(slic
2aa00 65 5b 6f 66 66 73 65 74 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 e[offset.+.<span.class="tok-numb
2aa20 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 2c 20 76 65 63 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">1</span>],.vec2[<span.class=
2aa40 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 20 3c 73 70 "tok-number">1</span>]);.....<sp
2aa60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
2aa80 65 63 74 45 71 75 61 6c 28 76 65 63 32 2c 20 76 65 63 33 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f ectEqual(vec2,.vec3);.}</code></
2aaa0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e pre></figure><figure><figcaption
2aac0 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 .class="shell-cap">Shell</figcap
2aae0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
2ab00 74 65 73 74 5f 76 65 63 74 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 76 test_vector.zig</kbd>.1/2.test_v
2ab20 65 63 74 6f 72 2e 74 65 73 74 2e 42 61 73 69 63 20 76 65 63 74 6f 72 20 75 73 61 67 65 2e 2e 2e ector.test.Basic.vector.usage...
2ab40 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 76 65 63 74 6f 72 2e 74 65 73 74 2e 43 6f 6e 76 65 72 73 .OK.2/2.test_vector.test.Convers
2ab60 69 6f 6e 20 62 65 74 77 65 65 6e 20 76 65 63 74 6f 72 73 2c 20 61 72 72 61 79 73 2c 20 61 6e 64 ion.between.vectors,.arrays,.and
2ab80 20 73 6c 69 63 65 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 .slices....OK.All.2.tests.passed
2aba0 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c ..</samp></pre></figure>.......<
2abc0 70 3e 0a 20 20 20 20 20 20 54 4f 44 4f 20 74 61 6c 6b 20 61 62 6f 75 74 20 43 20 41 42 49 20 69 p>.......TODO.talk.about.C.ABI.i
2abe0 6e 74 65 72 6f 70 3c 62 72 2f 3e 0a 20 20 20 20 20 20 54 4f 44 4f 20 63 6f 6e 73 69 64 65 72 20 nterop<br/>.......TODO.consider.
2ac00 73 75 67 67 65 73 74 69 6e 67 20 73 74 64 2e 4d 75 6c 74 69 41 72 72 61 79 4c 69 73 74 0a 20 20 suggesting.std.MultiArrayList...
2ac20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c ....</p>.......<p>See.also:</p><
2ac40 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c ul>.<li><a.href="#splat">@splat<
2ac60 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e /a></li>.<li><a.href="#shuffle">
2ac80 40 73 68 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 @shuffle</a></li>.<li><a.href="#
2aca0 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 select">@select</a></li>.<li><a.
2acc0 68 72 65 66 3d 22 23 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a href="#reduce">@reduce</a></li>.
2ace0 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 50 6f </ul>.................<h2.id="Po
2ad00 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 6f 69 6e 74 65 72 73 22 3e inters"><a.href="#toc-Pointers">
2ad20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 Pointers</a>.<a.class="hdr".href
2ad40 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 ="#Pointers">..</a></h2>........
2ad60 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 74 77 6f 20 6b 69 6e 64 73 20 6f 66 20 70 <p>.......Zig.has.two.kinds.of.p
2ad80 6f 69 6e 74 65 72 73 3a 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 61 6e 64 20 6d 61 6e 79 2d 69 74 ointers:.single-item.and.many-it
2ada0 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 em........</p>.......<ul>.......
2adc0 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 2a 54 3c 2f 63 6f 64 65 3e 20 2d 20 73 69 6e 67 6c 65 ....<li><code>*T</code>.-.single
2ade0 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 69 74 65 -item.pointer.to.exactly.one.ite
2ae00 6d 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 m..............<ul>.............
2ae20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 64 65 72 65 66 20 73 79 6e 74 61 78 3a 20 3c 63 6f ..<li>Supports.deref.syntax:.<co
2ae40 64 65 3e 70 74 72 2e 2a 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 de>ptr.*</code></li>............
2ae60 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .</ul>...........</li>..........
2ae80 20 3c 6c 69 3e 3c 63 6f 64 65 3e 5b 2a 5d 54 3c 2f 63 6f 64 65 3e 20 2d 20 6d 61 6e 79 2d 69 74 .<li><code>[*]T</code>.-.many-it
2aea0 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 75 6e 6b 6e 6f 77 6e 20 6e 75 6d 62 65 72 20 6f 66 20 em.pointer.to.unknown.number.of.
2aec0 69 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 items..............<ul>.........
2aee0 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 69 6e 64 65 78 20 73 79 6e 74 61 78 3a ......<li>Supports.index.syntax:
2af00 20 3c 63 6f 64 65 3e 70 74 72 5b 69 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .<code>ptr[i]</code></li>.......
2af20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 73 6c 69 63 65 20 73 79 6e 74 61 ........<li>Supports.slice.synta
2af40 78 3a 20 3c 63 6f 64 65 3e 70 74 72 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 63 6f 64 65 3e 20 x:.<code>ptr[start..end]</code>.
2af60 61 6e 64 20 3c 63 6f 64 65 3e 70 74 72 5b 73 74 61 72 74 2e 2e 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c and.<code>ptr[start..]</code></l
2af80 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 70 6f i>...............<li>Supports.po
2afa0 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 3a 20 3c 63 6f 64 65 3e 70 74 72 20 2b 20 78 3c inter.arithmetic:.<code>ptr.+.x<
2afc0 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 70 74 72 20 2d 20 78 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 /code>,.<code>ptr.-.x</code></li
2afe0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 >...............<li><code>T</cod
2b000 65 3e 20 6d 75 73 74 20 68 61 76 65 20 61 20 6b 6e 6f 77 6e 20 73 69 7a 65 2c 20 77 68 69 63 68 e>.must.have.a.known.size,.which
2b020 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 0a 20 20 20 20 20 20 20 .means.that.it.cannot.be........
2b040 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 .......<code><span.class="tok-ty
2b060 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 61 pe">anyopaque</span></code>.or.a
2b080 6e 79 20 6f 74 68 65 72 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 ny.other.<a.href="#opaque">opaqu
2b0a0 65 20 74 79 70 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 e.type</a>.</li>.............</u
2b0c0 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 l>...........</li>.......</ul>..
2b0e0 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 74 79 70 65 73 20 61 72 65 20 63 6c 6f 73 65 6c 79 20 .....<p>These.types.are.closely.
2b100 72 65 6c 61 74 65 64 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 related.to.<a.href="#Arrays">Arr
2b120 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c ays</a>.and.<a.href="#Slices">Sl
2b140 69 63 65 73 3c 2f 61 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 ices</a>:</p>.........<ul>......
2b160 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 2a 5b 4e 5d 54 3c 2f 63 6f 64 65 3e 20 2d 20 .......<li><code>*[N]T</code>.-.
2b180 70 6f 69 6e 74 65 72 20 74 6f 20 4e 20 69 74 65 6d 73 2c 20 73 61 6d 65 20 61 73 20 73 69 6e 67 pointer.to.N.items,.same.as.sing
2b1a0 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 2e 0a 20 20 20 le-item.pointer.to.an.array.....
2b1c0 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c .........<ul>.................<l
2b1e0 69 3e 53 75 70 70 6f 72 74 73 20 69 6e 64 65 78 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 61 i>Supports.index.syntax:.<code>a
2b200 72 72 61 79 5f 70 74 72 5b 69 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 rray_ptr[i]</code></li>.........
2b220 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 73 6c 69 63 65 20 73 79 6e 74 61 ........<li>Supports.slice.synta
2b240 78 3a 20 3c 63 6f 64 65 3e 61 72 72 61 79 5f 70 74 72 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f x:.<code>array_ptr[start..end]</
2b260 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 code></li>.................<li>S
2b280 75 70 70 6f 72 74 73 20 6c 65 6e 20 70 72 6f 70 65 72 74 79 3a 20 3c 63 6f 64 65 3e 61 72 72 61 upports.len.property:.<code>arra
2b2a0 79 5f 70 74 72 2e 6c 65 6e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 y_ptr.len</code></li>...........
2b2c0 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ..</ul>.............</li>.......
2b2e0 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ..</ul>.........<ul>............
2b300 20 3c 6c 69 3e 3c 63 6f 64 65 3e 5b 5d 54 3c 2f 63 6f 64 65 3e 20 2d 20 69 73 20 61 20 73 6c 69 .<li><code>[]T</code>.-.is.a.sli
2b320 63 65 20 28 61 20 66 61 74 20 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e ce.(a.fat.pointer,.which.contain
2b340 73 20 61 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 79 70 65 20 3c 63 6f 64 65 3e 5b 2a 5d 54 3c 2f s.a.pointer.of.type.<code>[*]T</
2b360 63 6f 64 65 3e 20 61 6e 64 20 61 20 6c 65 6e 67 74 68 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 code>.and.a.length).............
2b380 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 .<ul>.................<li>Suppor
2b3a0 74 73 20 69 6e 64 65 78 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 73 6c 69 63 65 5b 69 5d 3c ts.index.syntax:.<code>slice[i]<
2b3c0 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e /code></li>.................<li>
2b3e0 53 75 70 70 6f 72 74 73 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 73 6c 69 Supports.slice.syntax:.<code>sli
2b400 63 65 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ce[start..end]</code></li>......
2b420 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 6c 65 6e 20 70 72 6f 70 ...........<li>Supports.len.prop
2b440 65 72 74 79 3a 20 3c 63 6f 64 65 3e 73 6c 69 63 65 2e 6c 65 6e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 erty:.<code>slice.len</code></li
2b460 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >.............</ul>.............
2b480 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 55 </li>.........</ul>.........<p>U
2b4a0 73 65 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 20 74 6f 20 6f 62 74 61 69 6e se.<code>&amp;x</code>.to.obtain
2b4c0 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 3a 3c 2f 70 3e 0a 20 20 20 20 .a.single-item.pointer:</p>.....
2b4e0 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 ..<figure><figcaption.class="zig
2b500 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 69 -cap"><cite.class="file">test_si
2b520 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ngle_item_pointer.zig</cite></fi
2b540 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><code><span.class=
2b560 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c "tok-kw">const</span>.expect.=.<
2b580 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 span.class="tok-builtin">@import
2b5a0 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
2b5c0 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 uot;std&quot;</span>).testing.ex
2b5e0 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 pect;..<span.class="tok-kw">test
2b600 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>.<span.class="tok-str">&q
2b620 75 6f 74 3b 61 64 64 72 65 73 73 20 6f 66 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 uot;address.of.syntax&quot;</spa
2b640 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e n>.{.....<span.class="tok-commen
2b660 74 22 3e 2f 2f 20 47 65 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 76 61 72 69 61 t">//.Get.the.address.of.a.varia
2b680 62 6c 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ble:</span>.....<span.class="tok
2b6a0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">const</span>.x:.<span.class
2b6c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">i32</span>.=.<span.c
2b6e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 lass="tok-number">1234</span>;..
2b700 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ...<span.class="tok-kw">const</s
2b720 70 61 6e 3e 20 78 5f 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 pan>.x_ptr.=.&amp;x;......<span.
2b740 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 72 65 66 65 72 65 6e class="tok-comment">//.Dereferen
2b760 63 65 20 61 20 70 6f 69 6e 74 65 72 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 ce.a.pointer:</span>.....<span.c
2b780 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
2b7a0 78 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 x_ptr.*.==.<span.class="tok-numb
2b7c0 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 er">1234</span>);......<span.cla
2b7e0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 79 6f 75 20 67 65 74 ss="tok-comment">//.When.you.get
2b800 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 63 6f 6e 73 74 20 76 61 72 69 61 62 6c 65 .the.address.of.a.const.variable
2b820 2c 20 79 6f 75 20 67 65 74 20 61 20 63 6f 6e 73 74 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f ,.you.get.a.const.single-item.po
2b840 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 inter.</span>.....<span.class="t
2b860 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
2b880 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e lass="tok-builtin">@TypeOf</span
2b8a0 3e 28 78 5f 70 74 72 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >(x_ptr).==.*<span.class="tok-kw
2b8c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">const</span>.<span.class="tok-
2b8e0 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">i32</span>);......<span.cl
2b900 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 79 6f 75 20 77 61 6e 74 ass="tok-comment">//.If.you.want
2b920 20 74 6f 20 6d 75 74 61 74 65 20 74 68 65 20 76 61 6c 75 65 2c 20 79 6f 75 27 64 20 6e 65 65 64 .to.mutate.the.value,.you'd.need
2b940 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 6d 75 74 61 62 6c 65 20 76 61 72 69 61 62 6c .an.address.of.a.mutable.variabl
2b960 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e:</span>.....<span.class="tok-k
2b980 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.y:.<span.class="to
2b9a0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">i32</span>.=.<span.class
2b9c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c ="tok-number">5678</span>;.....<
2b9e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
2ba00 20 79 5f 70 74 72 20 3d 20 26 61 6d 70 3b 79 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .y_ptr.=.&amp;y;.....<span.class
2ba20 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 ="tok-kw">try</span>.expect(<spa
2ba40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 n.class="tok-builtin">@TypeOf</s
2ba60 70 61 6e 3e 28 79 5f 70 74 72 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>(y_ptr).==.*<span.class="tok
2ba80 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 79 5f 70 74 72 2e 2a 20 -type">i32</span>);.....y_ptr.*.
2baa0 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 +=.<span.class="tok-number">1</s
2bac0 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 pan>;.....<span.class="tok-kw">t
2bae0 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 ry</span>.expect(y_ptr.*.==.<spa
2bb00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 39 3c 2f 73 70 61 6e 3e n.class="tok-number">5679</span>
2bb20 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c );.}..<span.class="tok-kw">test<
2bb40 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>.<span.class="tok-str">&qu
2bb60 6f 74 3b 70 6f 69 6e 74 65 72 20 61 72 72 61 79 20 61 63 63 65 73 73 26 71 75 6f 74 3b 3c 2f 73 ot;pointer.array.access&quot;</s
2bb80 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d pan>.{.....<span.class="tok-comm
2bba0 65 6e 74 22 3e 2f 2f 20 54 61 6b 69 6e 67 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 6e 20 ent">//.Taking.an.address.of.an.
2bbc0 69 6e 64 69 76 69 64 75 61 6c 20 65 6c 65 6d 65 6e 74 20 67 69 76 65 73 20 61 3c 2f 73 70 61 6e individual.element.gives.a</span
2bbe0 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e >.....<span.class="tok-comment">
2bc00 2f 2f 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 6b 69 6e //.single-item.pointer..This.kin
2bc20 64 20 6f 66 20 70 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c d.of.pointer</span>.....<span.cl
2bc40 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 65 73 20 6e 6f 74 20 73 75 ass="tok-comment">//.does.not.su
2bc60 70 70 6f 72 74 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 2e 3c 2f 73 70 61 6e 3e pport.pointer.arithmetic.</span>
2bc80 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
2bca0 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>.array.=.[_]<span.class="tok
2bcc0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -type">u8</span>{.<span.class="t
2bce0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">1</span>,.<span.class
2bd00 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">2</span>,.<span.cl
2bd20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">3</span>,.<span
2bd40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">4</span>,.<s
2bd60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">5</span>,
2bd80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 .<span.class="tok-number">6</spa
2bda0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f n>,.<span.class="tok-number">7</
2bdc0 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e span>,.<span.class="tok-number">
2bde0 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 8</span>,.<span.class="tok-numbe
2be00 72 22 3e 39 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">9</span>,.<span.class="tok-nu
2be20 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 mber">10</span>.};.....<span.cla
2be40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 ss="tok-kw">const</span>.ptr.=.&
2be60 61 6d 70 3b 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 amp;array[<span.class="tok-numbe
2be80 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 r">2</span>];.....<span.class="t
2bea0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
2bec0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e lass="tok-builtin">@TypeOf</span
2bee0 3e 28 70 74 72 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 >(ptr).==.*<span.class="tok-type
2bf00 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">u8</span>);......<span.class="
2bf20 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b tok-kw">try</span>.expect(array[
2bf40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e <span.class="tok-number">2</span
2bf60 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 >].==.<span.class="tok-number">3
2bf80 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 </span>);.....ptr.*.+=.<span.cla
2bfa0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 ss="tok-number">1</span>;.....<s
2bfc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 pan.class="tok-kw">try</span>.ex
2bfe0 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 pect(array[<span.class="tok-numb
2c000 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">2</span>].==.<span.class="to
2c020 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 k-number">4</span>);.}</code></p
2c040 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 re></figure><figure><figcaption.
2c060 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 class="shell-cap">Shell</figcapt
2c080 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
2c0a0 65 73 74 5f 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 6b 62 64 est_single_item_pointer.zig</kbd
2c0c0 3e 0a 31 2f 32 20 74 65 73 74 5f 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 2e 74 >.1/2.test_single_item_pointer.t
2c0e0 65 73 74 2e 61 64 64 72 65 73 73 20 6f 66 20 73 79 6e 74 61 78 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 est.address.of.syntax....OK.2/2.
2c100 74 65 73 74 5f 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 2e 74 65 73 74 2e 70 6f test_single_item_pointer.test.po
2c120 69 6e 74 65 72 20 61 72 72 61 79 20 61 63 63 65 73 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 inter.array.access....OK.All.2.t
2c140 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ests.passed..</samp></pre></figu
2c160 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 re>.......<p>........Zig.support
2c180 73 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 2e 20 49 74 27 73 20 62 65 74 74 65 s.pointer.arithmetic..It's.bette
2c1a0 72 20 74 6f 20 61 73 73 69 67 6e 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 3c 63 6f 64 65 r.to.assign.the.pointer.to.<code
2c1c0 3e 5b 2a 5d 54 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 69 6e 63 72 65 6d 65 6e 74 20 74 68 61 74 20 >[*]T</code>.and.increment.that.
2c1e0 76 61 72 69 61 62 6c 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 64 69 72 65 63 74 6c 79 20 variable..For.example,.directly.
2c200 69 6e 63 72 65 6d 65 6e 74 69 6e 67 20 74 68 65 20 70 6f 69 6e 74 65 72 20 66 72 6f 6d 20 61 20 incrementing.the.pointer.from.a.
2c220 73 6c 69 63 65 20 77 69 6c 6c 20 63 6f 72 72 75 70 74 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 slice.will.corrupt.it........</p
2c240 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
2c260 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 s="zig-cap"><cite.class="file">t
2c280 65 73 74 5f 70 6f 69 6e 74 65 72 5f 61 72 69 74 68 6d 65 74 69 63 2e 7a 69 67 3c 2f 63 69 74 65 est_pointer_arithmetic.zig</cite
2c2a0 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
2c2c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 lass="tok-kw">const</span>.expec
2c2e0 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 t.=.<span.class="tok-builtin">@i
2c300 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 mport</span>(<span.class="tok-st
2c320 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 r">&quot;std&quot;</span>).testi
2c340 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ng.expect;..<span.class="tok-kw"
2c360 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >test</span>.<span.class="tok-st
2c380 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 20 77 69 74 68 r">&quot;pointer.arithmetic.with
2c3a0 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 .many-item.pointer&quot;</span>.
2c3c0 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 {.....<span.class="tok-kw">const
2c3e0 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>.array.=.[_]<span.class="
2c400 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">i32</span>{.<span.clas
2c420 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 s="tok-number">1</span>,.<span.c
2c440 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">2</span>,.<spa
2c460 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">3</span>,.<
2c480 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e span.class="tok-number">4</span>
2c4a0 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 .};.....<span.class="tok-kw">var
2c4c0 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.ptr:.[*]<span.class="tok
2c4e0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -kw">const</span>.<span.class="t
2c500 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 ok-type">i32</span>.=.&amp;array
2c520 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c ;......<span.class="tok-kw">try<
2c540 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>.expect(ptr[<span.class="t
2c560 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-number">0</span>].==.<span.cl
2c580 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 ass="tok-number">1</span>);.....
2c5a0 70 74 72 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ptr.+=.<span.class="tok-number">
2c5c0 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 1</span>;.....<span.class="tok-k
2c5e0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 5b 3c 73 70 61 6e 20 63 w">try</span>.expect(ptr[<span.c
2c600 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c lass="tok-number">0</span>].==.<
2c620 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e span.class="tok-number">2</span>
2c640 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 );......<span.class="tok-comment
2c660 22 3e 2f 2f 20 73 6c 69 63 69 6e 67 20 61 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 ">//.slicing.a.many-item.pointer
2c680 20 77 69 74 68 6f 75 74 20 61 6e 20 65 6e 64 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f .without.an.end.is.equivalent.to
2c6a0 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.....<span.class="tok-com
2c6c0 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 3a 20 60 70 74 ment">//.pointer.arithmetic:.`pt
2c6e0 72 5b 73 74 61 72 74 2e 2e 5d 20 3d 3d 20 70 74 72 20 2b 20 73 74 61 72 74 60 3c 2f 73 70 61 6e r[start..].==.ptr.+.start`</span
2c700 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f >.....<span.class="tok-kw">try</
2c720 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.expect(ptr[<span.class="to
2c740 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 5d 20 3d 3d 20 70 74 72 20 2b 20 3c k-number">1</span>..].==.ptr.+.<
2c760 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e span.class="tok-number">1</span>
2c780 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c );.}..<span.class="tok-kw">test<
2c7a0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>.<span.class="tok-str">&qu
2c7c0 6f 74 3b 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 20 77 69 74 68 20 73 6c 69 63 65 ot;pointer.arithmetic.with.slice
2c7e0 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 s&quot;</span>.{.....<span.class
2c800 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d ="tok-kw">var</span>.array.=.[_]
2c820 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e <span.class="tok-type">i32</span
2c840 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 >{.<span.class="tok-number">1</s
2c860 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 pan>,.<span.class="tok-number">2
2c880 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>,.<span.class="tok-number
2c8a0 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">3</span>,.<span.class="tok-num
2c8c0 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ber">4</span>.};.....<span.class
2c8e0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 65 6e 67 74 68 3a 20 3c 73 70 ="tok-kw">var</span>.length:.<sp
2c900 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e an.class="tok-type">usize</span>
2c920 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 .=.<span.class="tok-number">0</s
2c940 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e pan>;.<span.class="tok-comment">
2c960 2f 2f 20 76 61 72 20 74 6f 20 6d 61 6b 65 20 69 74 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c //.var.to.make.it.runtime-known<
2c980 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 6c 65 6e 67 74 68 3b 20 3c 73 70 61 /span>....._.=.&amp;length;.<spa
2c9a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 75 70 70 72 65 73 n.class="tok-comment">//.suppres
2c9c0 73 20 27 76 61 72 20 69 73 20 6e 65 76 65 72 20 6d 75 74 61 74 65 64 27 20 65 72 72 6f 72 3c 2f s.'var.is.never.mutated'.error</
2c9e0 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 span>.....<span.class="tok-kw">v
2ca00 61 72 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 6c 65 6e 67 74 68 2e 2e ar</span>.slice.=.array[length..
2ca20 61 72 72 61 79 2e 6c 65 6e 5d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f array.len];......<span.class="to
2ca40 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 5b 3c 73 k-kw">try</span>.expect(slice[<s
2ca60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">0</span>]
2ca80 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f .==.<span.class="tok-number">1</
2caa0 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>);.....<span.class="tok-kw"
2cac0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 >try</span>.expect(slice.len.==.
2cae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e <span.class="tok-number">4</span
2cb00 3e 29 3b 0a 0a 20 20 20 20 73 6c 69 63 65 2e 70 74 72 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 >);......slice.ptr.+=.<span.clas
2cb20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 s="tok-number">1</span>;.....<sp
2cb40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 77 20 74 68 an.class="tok-comment">//.now.th
2cb60 65 20 73 6c 69 63 65 20 69 73 20 69 6e 20 61 6e 20 62 61 64 20 73 74 61 74 65 20 73 69 6e 63 65 e.slice.is.in.an.bad.state.since
2cb80 20 6c 65 6e 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 75 70 64 61 74 65 64 3c 2f 73 70 61 6e 3e .len.has.not.been.updated</span>
2cba0 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
2cbc0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.expect(slice[<span.class="
2cbe0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 tok-number">0</span>].==.<span.c
2cc00 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 lass="tok-number">2</span>);....
2cc20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">try</span>
2cc40 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 .expect(slice.len.==.<span.class
2cc60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 ="tok-number">4</span>);.}</code
2cc80 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 ></pre></figure><figure><figcapt
2cca0 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 ion.class="shell-cap">Shell</fig
2ccc0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 caption><pre><samp>$.<kbd>zig.te
2cce0 73 74 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 61 72 69 74 68 6d 65 74 69 63 2e 7a 69 67 3c 2f st.test_pointer_arithmetic.zig</
2cd00 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 61 72 69 74 68 6d 65 74 69 63 kbd>.1/2.test_pointer_arithmetic
2cd20 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 20 77 69 74 68 20 6d 61 .test.pointer.arithmetic.with.ma
2cd40 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 70 ny-item.pointer....OK.2/2.test_p
2cd60 6f 69 6e 74 65 72 5f 61 72 69 74 68 6d 65 74 69 63 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 61 ointer_arithmetic.test.pointer.a
2cd80 72 69 74 68 6d 65 74 69 63 20 77 69 74 68 20 73 6c 69 63 65 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 rithmetic.with.slices....OK.All.
2cda0 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 2.tests.passed..</samp></pre></f
2cdc0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 2c igure>.......<p>.........In.Zig,
2cde0 20 77 65 20 67 65 6e 65 72 61 6c 6c 79 20 70 72 65 66 65 72 20 3c 61 20 68 72 65 66 3d 22 23 53 .we.generally.prefer.<a.href="#S
2ce00 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 72 61 74 68 65 72 20 74 68 61 6e 20 3c 61 lices">Slices</a>.rather.than.<a
2ce20 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e .href="#Sentinel-Terminated-Poin
2ce40 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 ters">Sentinel-Terminated.Pointe
2ce60 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 74 75 72 6e 20 61 6e 20 rs</a>..........You.can.turn.an.
2ce80 61 72 72 61 79 20 6f 72 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 61 20 73 6c 69 63 65 20 75 73 array.or.pointer.into.a.slice.us
2cea0 69 6e 67 20 73 6c 69 63 65 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ing.slice.syntax........</p>....
2cec0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 53 6c 69 63 65 73 20 68 61 76 65 20 62 6f 75 6e 64 ...<p>.........Slices.have.bound
2cee0 73 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 61 72 65 20 74 68 65 72 65 66 6f 72 65 20 70 72 6f s.checking.and.are.therefore.pro
2cf00 74 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 61 67 61 69 6e 73 74 20 74 68 69 73 20 6b 69 6e 64 tected.........against.this.kind
2cf20 20 6f 66 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 20 54 68 69 73 20 69 73 20 .of.undefined.behavior..This.is.
2cf40 6f 6e 65 20 72 65 61 73 6f 6e 0a 20 20 20 20 20 20 20 20 77 65 20 70 72 65 66 65 72 20 73 6c 69 one.reason.........we.prefer.sli
2cf60 63 65 73 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ces.to.pointers........</p>.....
2cf80 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 ..<figure><figcaption.class="zig
2cfa0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 6c -cap"><cite.class="file">test_sl
2cfc0 69 63 65 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f ice_bounds.zig</cite></figcaptio
2cfe0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
2d000 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c ">const</span>.expect.=.<span.cl
2d020 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e ass="tok-builtin">@import</span>
2d040 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 (<span.class="tok-str">&quot;std
2d060 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a &quot;</span>).testing.expect;..
2d080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e <span.class="tok-kw">test</span>
2d0a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 .<span.class="tok-str">&quot;poi
2d0c0 6e 74 65 72 20 73 6c 69 63 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 nter.slicing&quot;</span>.{.....
2d0e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">var</span>.
2d100 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 array.=.[_]<span.class="tok-type
2d120 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ">u8</span>{.<span.class="tok-nu
2d140 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">1</span>,.<span.class="tok
2d160 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">2</span>,.<span.class="
2d180 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-number">3</span>,.<span.clas
2d1a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 s="tok-number">4</span>,.<span.c
2d1c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">5</span>,.<spa
2d1e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">6</span>,.<
2d200 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e span.class="tok-number">7</span>
2d220 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 ,.<span.class="tok-number">8</sp
2d240 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c an>,.<span.class="tok-number">9<
2d260 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
2d280 3e 31 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >10</span>.};.....<span.class="t
2d2a0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 74 61 72 74 3a 20 3c 73 70 61 6e 20 63 ok-kw">var</span>.start:.<span.c
2d2c0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c lass="tok-type">usize</span>.=.<
2d2e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e span.class="tok-number">2</span>
2d300 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 ;.<span.class="tok-comment">//.v
2d320 61 72 20 74 6f 20 6d 61 6b 65 20 69 74 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 ar.to.make.it.runtime-known</spa
2d340 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 73 74 61 72 74 3b 20 3c 73 70 61 6e 20 63 6c 61 n>....._.=.&amp;start;.<span.cla
2d360 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 75 70 70 72 65 73 73 20 27 76 61 ss="tok-comment">//.suppress.'va
2d380 72 20 69 73 20 6e 65 76 65 72 20 6d 75 74 61 74 65 64 27 20 65 72 72 6f 72 3c 2f 73 70 61 6e 3e r.is.never.mutated'.error</span>
2d3a0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
2d3c0 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 73 74 61 72 74 2e 2e 3c 73 70 61 /span>.slice.=.array[start..<spa
2d3e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3b 0a n.class="tok-number">4</span>];.
2d400 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
2d420 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c an>.expect(slice.len.==.<span.cl
2d440 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 ass="tok-number">2</span>);.....
2d460 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">try</span>
2d480 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .expect(array[<span.class="tok-n
2d4a0 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d umber">3</span>].==.<span.class=
2d4c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 73 6c 69 63 "tok-number">4</span>);.....slic
2d4e0 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 e[<span.class="tok-number">1</sp
2d500 61 6e 3e 5d 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>].+=.<span.class="tok-number"
2d520 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >1</span>;.....<span.class="tok-
2d540 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 kw">try</span>.expect(array[<spa
2d560 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 20 3d n.class="tok-number">3</span>].=
2d580 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 =.<span.class="tok-number">5</sp
2d5a0 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 an>);.}</code></pre></figure><fi
2d5c0 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
2d5e0 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
2d600 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 6c 69 63 65 5f 62 6f 75 6e 64 $.<kbd>zig.test.test_slice_bound
2d620 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 6c 69 63 65 5f 62 6f 75 6e 64 s.zig</kbd>.1/1.test_slice_bound
2d640 73 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 73 6c 69 63 69 6e 67 2e 2e 2e 20 4f 4b 0a 41 6c 6c s.test.pointer.slicing....OK.All
2d660 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f .1.tests.passed..</samp></pre></
2d680 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 50 6f 69 6e 74 65 72 73 20 77 6f 72 6b 20 61 figure>.......<p>Pointers.work.a
2d6a0 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 74 6f 6f 2c 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 t.compile-time.too,.as.long.as.t
2d6c0 68 65 20 63 6f 64 65 20 64 6f 65 73 20 6e 6f 74 20 64 65 70 65 6e 64 20 6f 6e 0a 20 20 20 20 20 he.code.does.not.depend.on......
2d6e0 20 61 6e 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 3a 3c 2f 70 3e .an.undefined.memory.layout:</p>
2d700 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 .......<figure><figcaption.class
2d720 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 ="zig-cap"><cite.class="file">te
2d740 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c st_comptime_pointers.zig</cite><
2d760 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><code><span.cla
2d780 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 ss="tok-kw">const</span>.expect.
2d7a0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 =.<span.class="tok-builtin">@imp
2d7c0 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ort</span>(<span.class="tok-str"
2d7e0 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 >&quot;std&quot;</span>).testing
2d800 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 .expect;..<span.class="tok-kw">t
2d820 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 est</span>.<span.class="tok-str"
2d840 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 3c 2f >&quot;comptime.pointers&quot;</
2d860 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
2d880 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e >comptime</span>.{.........<span
2d8a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 .class="tok-kw">var</span>.x:.<s
2d8c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">i32</span>.
2d8e0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 =.<span.class="tok-number">1</sp
2d900 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 an>;.........<span.class="tok-kw
2d920 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 20 20 20 ">const</span>.ptr.=.&amp;x;....
2d940 20 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .....ptr.*.+=.<span.class="tok-n
2d960 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 78 20 2b 3d 20 3c 73 umber">1</span>;.........x.+=.<s
2d980 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b pan.class="tok-number">1</span>;
2d9a0 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 .........<span.class="tok-kw">tr
2d9c0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 y</span>.expect(ptr.*.==.<span.c
2d9e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 lass="tok-number">3</span>);....
2da00 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 .}.}</code></pre></figure><figur
2da20 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e e><figcaption.class="shell-cap">
2da40 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c Shell</figcaption><pre><samp>$.<
2da60 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 kbd>zig.test.test_comptime_point
2da80 65 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f ers.zig</kbd>.1/1.test_comptime_
2daa0 70 6f 69 6e 74 65 72 73 2e 74 65 73 74 2e 63 6f 6d 70 74 69 6d 65 20 70 6f 69 6e 74 65 72 73 2e pointers.test.comptime.pointers.
2dac0 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.1.tests.passed..</samp
2dae0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 63 6f 6e ></pre></figure>.......<p>To.con
2db00 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 61 64 64 72 65 73 73 20 69 6e 74 6f 20 61 20 70 vert.an.integer.address.into.a.p
2db20 6f 69 6e 74 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ointer,.use.<code><span.class="t
2db40 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 3c 2f ok-builtin">@ptrFromInt</span></
2db60 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 6f 20 63 6f 6e 76 65 72 74 20 61 20 70 6f 69 6e 74 65 code>........To.convert.a.pointe
2db80 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e r.to.an.integer,.use.<code><span
2dba0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 .class="tok-builtin">@intFromPtr
2dbc0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 </span></code>:</p>.......<figur
2dbe0 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
2dc00 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 74 65 67 65 72 5f 70 6f ite.class="file">test_integer_po
2dc20 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 inter_conversion.zig</cite></fig
2dc40 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><code><span.class="
2dc60 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 tok-kw">const</span>.expect.=.<s
2dc80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c pan.class="tok-builtin">@import<
2dca0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>(<span.class="tok-str">&qu
2dcc0 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 ot;std&quot;</span>).testing.exp
2dce0 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c ect;..<span.class="tok-kw">test<
2dd00 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>.<span.class="tok-str">&qu
2dd20 6f 74 3b 40 69 6e 74 46 72 6f 6d 50 74 72 20 61 6e 64 20 40 70 74 72 46 72 6f 6d 49 6e 74 26 71 ot;@intFromPtr.and.@ptrFromInt&q
2dd40 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
2dd60 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 ok-kw">const</span>.ptr:.*<span.
2dd80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 class="tok-type">i32</span>.=.<s
2dda0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d pan.class="tok-builtin">@ptrFrom
2ddc0 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 Int</span>(<span.class="tok-numb
2dde0 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 er">0xdeadbee0</span>);.....<spa
2de00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 64 n.class="tok-kw">const</span>.ad
2de20 64 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 dr.=.<span.class="tok-builtin">@
2de40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b 0a 20 20 20 20 3c 73 70 61 intFromPtr</span>(ptr);.....<spa
2de60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
2de80 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 ct(<span.class="tok-builtin">@Ty
2dea0 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 peOf</span>(addr).==.<span.class
2dec0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c ="tok-type">usize</span>);.....<
2dee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">try</span>.e
2df00 78 70 65 63 74 28 61 64 64 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e xpect(addr.==.<span.class="tok-n
2df20 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f umber">0xdeadbee0</span>);.}</co
2df40 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
2df60 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
2df80 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
2dfa0 74 65 73 74 20 74 65 73 74 5f 69 6e 74 65 67 65 72 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 test.test_integer_pointer_conver
2dfc0 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 74 65 67 65 72 5f sion.zig</kbd>.1/1.test_integer_
2dfe0 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 74 65 73 74 2e 40 69 6e 74 46 72 6f 6d pointer_conversion.test.@intFrom
2e000 50 74 72 20 61 6e 64 20 40 70 74 72 46 72 6f 6d 49 6e 74 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 Ptr.and.@ptrFromInt....OK.All.1.
2e020 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 tests.passed..</samp></pre></fig
2e040 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 70 72 65 ure>.......<p>Zig.is.able.to.pre
2e060 73 65 72 76 65 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 65 73 20 69 6e 20 63 6f 6d 70 74 69 serve.memory.addresses.in.compti
2e080 6d 65 20 63 6f 64 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 0a 20 20 20 20 20 20 74 68 65 20 70 6f me.code,.as.long.as.......the.po
2e0a0 69 6e 74 65 72 20 69 73 20 6e 65 76 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 64 3a 3c 2f 70 3e inter.is.never.dereferenced:</p>
2e0c0 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 .......<figure><figcaption.class
2e0e0 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 ="zig-cap"><cite.class="file">te
2e100 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a st_comptime_pointer_conversion.z
2e120 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
2e140 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
2e160 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 n>.expect.=.<span.class="tok-bui
2e180 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@import</span>(<span.class
2e1a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ="tok-str">&quot;std&quot;</span
2e1c0 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >).testing.expect;..<span.class=
2e1e0 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">test</span>.<span.class
2e200 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 40 70 74 72 46 72 ="tok-str">&quot;comptime.@ptrFr
2e220 6f 6d 49 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 omInt&quot;</span>.{.....<span.c
2e240 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a lass="tok-kw">comptime</span>.{.
2e260 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ........<span.class="tok-comment
2e280 22 3e 2f 2f 20 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 64 6f 20 74 68 69 73 20 61 74 20 63 ">//.Zig.is.able.to.do.this.at.c
2e2a0 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 3c 2f 73 70 61 6e 3e 0a 20 ompile-time,.as.long.as</span>..
2e2c0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 .......<span.class="tok-comment"
2e2e0 3e 2f 2f 20 70 74 72 20 69 73 20 6e 65 76 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 64 2e 3c 2f >//.ptr.is.never.dereferenced.</
2e300 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>.........<span.class="tok-k
2e320 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 w">const</span>.ptr:.*<span.clas
2e340 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 s="tok-type">i32</span>.=.<span.
2e360 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c class="tok-builtin">@ptrFromInt<
2e380 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e /span>(<span.class="tok-number">
2e3a0 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 0xdeadbee0</span>);.........<spa
2e3c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 64 n.class="tok-kw">const</span>.ad
2e3e0 64 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 dr.=.<span.class="tok-builtin">@
2e400 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b 0a 20 20 20 20 20 20 20 20 intFromPtr</span>(ptr);.........
2e420 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">try</span>.
2e440 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 expect(<span.class="tok-builtin"
2e460 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 >@TypeOf</span>(addr).==.<span.c
2e480 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 lass="tok-type">usize</span>);..
2e4a0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c .......<span.class="tok-kw">try<
2e4c0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 64 64 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 /span>.expect(addr.==.<span.clas
2e4e0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e s="tok-number">0xdeadbee0</span>
2e500 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e );.....}.}</code></pre></figure>
2e520 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
2e540 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 -cap">Shell</figcaption><pre><sa
2e560 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 mp>$.<kbd>zig.test.test_comptime
2e580 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f _pointer_conversion.zig</kbd>.1/
2e5a0 31 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 1.test_comptime_pointer_conversi
2e5c0 6f 6e 2e 74 65 73 74 2e 63 6f 6d 70 74 69 6d 65 20 40 70 74 72 46 72 6f 6d 49 6e 74 2e 2e 2e 20 on.test.comptime.@ptrFromInt....
2e5e0 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.1.tests.passed..</samp></
2e600 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a pre></figure>.......<p>See.also:
2e620 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d </p><ul>.<li><a.href="#Optional-
2e640 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c Pointers">Optional.Pointers</a><
2e660 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e 40 /li>.<li><a.href="#ptrFromInt">@
2e680 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d ptrFromInt</a></li>.<li><a.href=
2e6a0 22 23 69 6e 74 46 72 6f 6d 50 74 72 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 61 3e 3c 2f 6c "#intFromPtr">@intFromPtr</a></l
2e6c0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 i>.<li><a.href="#C-Pointers">C.P
2e6e0 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 3c 68 ointers</a></li>.</ul>........<h
2e700 33 20 69 64 3d 22 76 6f 6c 61 74 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 76 6f 3.id="volatile"><a.href="#toc-vo
2e720 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 latile">volatile</a>.<a.class="h
2e740 64 72 22 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e dr".href="#volatile">..</a></h3>
2e760 0a 0a 20 20 20 20 20 20 3c 70 3e 4c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 61 72 65 20 ........<p>Loads.and.stores.are.
2e780 61 73 73 75 6d 65 64 20 74 6f 20 6e 6f 74 20 68 61 76 65 20 73 69 64 65 20 65 66 66 65 63 74 73 assumed.to.not.have.side.effects
2e7a0 2e 20 49 66 20 61 20 67 69 76 65 6e 20 6c 6f 61 64 20 6f 72 20 73 74 6f 72 65 0a 20 20 20 20 20 ..If.a.given.load.or.store......
2e7c0 20 73 68 6f 75 6c 64 20 68 61 76 65 20 73 69 64 65 20 65 66 66 65 63 74 73 2c 20 73 75 63 68 20 .should.have.side.effects,.such.
2e7e0 61 73 20 4d 65 6d 6f 72 79 20 4d 61 70 70 65 64 20 49 6e 70 75 74 2f 4f 75 74 70 75 74 20 28 4d as.Memory.Mapped.Input/Output.(M
2e800 4d 49 4f 29 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b MIO),.use.<code><span.class="tok
2e820 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 -kw">volatile</span></code>.....
2e840 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 2c 20 6c 6f 61 64 73 20 ...In.the.following.code,.loads.
2e860 61 6e 64 20 73 74 6f 72 65 73 20 77 69 74 68 20 3c 63 6f 64 65 3e 6d 6d 69 6f 5f 70 74 72 3c 2f and.stores.with.<code>mmio_ptr</
2e880 63 6f 64 65 3e 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 61 6c 6c 20 68 61 70 70 code>.are.guaranteed.to.all.happ
2e8a0 65 6e 0a 20 20 20 20 20 20 61 6e 64 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 en.......and.in.the.same.order.a
2e8c0 73 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 s.in.source.code:</p>.......<fig
2e8e0 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
2e900 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 6f 6c 61 74 69 6c 65 <cite.class="file">test_volatile
2e920 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
2e940 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
2e960 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 pan>.expect.=.<span.class="tok-b
2e980 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@import</span>(<span.cla
2e9a0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 ss="tok-str">&quot;std&quot;</sp
2e9c0 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 an>).testing.expect;..<span.clas
2e9e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 s="tok-kw">test</span>.<span.cla
2ea00 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 6f 6c 61 74 69 6c 65 26 71 75 6f 74 ss="tok-str">&quot;volatile&quot
2ea20 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
2ea40 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6d 69 6f 5f 70 74 72 3a 20 2a 3c 73 70 61 kw">const</span>.mmio_ptr:.*<spa
2ea60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e n.class="tok-kw">volatile</span>
2ea80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e .<span.class="tok-type">u8</span
2eaa0 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 >.=.<span.class="tok-builtin">@p
2eac0 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f trFromInt</span>(<span.class="to
2eae0 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 35 36 37 38 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 k-number">0x12345678</span>);...
2eb00 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
2eb20 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 >.expect(<span.class="tok-builti
2eb40 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6d 6d 69 6f 5f 70 74 72 29 20 3d 3d 20 2a n">@TypeOf</span>(mmio_ptr).==.*
2eb60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 <span.class="tok-kw">volatile</s
2eb80 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f pan>.<span.class="tok-type">u8</
2eba0 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c span>);.}</code></pre></figure><
2ebc0 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d figure><figcaption.class="shell-
2ebe0 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d cap">Shell</figcaption><pre><sam
2ec00 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 76 6f 6c 61 74 69 6c 65 2e p>$.<kbd>zig.test.test_volatile.
2ec20 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 76 6f 6c 61 74 69 6c 65 2e 74 65 73 74 zig</kbd>.1/1.test_volatile.test
2ec40 2e 76 6f 6c 61 74 69 6c 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 .volatile....OK.All.1.tests.pass
2ec60 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 ed..</samp></pre></figure>......
2ec80 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .<p>.......Note.that.<code><span
2eca0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c .class="tok-kw">volatile</span><
2ecc0 2f 63 6f 64 65 3e 20 69 73 20 75 6e 72 65 6c 61 74 65 64 20 74 6f 20 63 6f 6e 63 75 72 72 65 6e /code>.is.unrelated.to.concurren
2ece0 63 79 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 cy.and.<a.href="#Atomics">Atomic
2ed00 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 73 65 65 20 63 6f 64 65 20 74 68 61 s</a>........If.you.see.code.tha
2ed20 74 20 69 73 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f t.is.using.<code><span.class="to
2ed40 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 k-kw">volatile</span></code>.for
2ed60 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 4d 65 6d 6f 72 79 20 4d 61 70 .something.other.than.Memory.Map
2ed80 70 65 64 0a 20 20 20 20 20 20 49 6e 70 75 74 2f 4f 75 74 70 75 74 2c 20 69 74 20 69 73 20 70 72 ped.......Input/Output,.it.is.pr
2eda0 6f 62 61 62 6c 79 20 61 20 62 75 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a obably.a.bug........</p>........
2edc0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 ......<p>.......<a.href="#ptrCas
2ede0 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 63 6f 6e 76 65 72 74 73 20 61 20 70 6f 69 6e 74 t">@ptrCast</a>.converts.a.point
2ee00 65 72 27 73 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 54 68 er's.element.type.to.another..Th
2ee20 69 73 0a 20 20 20 20 20 20 63 72 65 61 74 65 73 20 61 20 6e 65 77 20 70 6f 69 6e 74 65 72 20 74 is.......creates.a.new.pointer.t
2ee40 68 61 74 20 63 61 6e 20 63 61 75 73 65 20 75 6e 64 65 74 65 63 74 61 62 6c 65 20 69 6c 6c 65 67 hat.can.cause.undetectable.illeg
2ee60 61 6c 20 62 65 68 61 76 69 6f 72 0a 20 20 20 20 20 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 al.behavior.......depending.on.t
2ee80 68 65 20 6c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 74 68 61 74 20 70 61 73 73 20 74 68 he.loads.and.stores.that.pass.th
2eea0 72 6f 75 67 68 20 69 74 2e 20 47 65 6e 65 72 61 6c 6c 79 2c 20 6f 74 68 65 72 0a 20 20 20 20 20 rough.it..Generally,.other......
2eec0 20 6b 69 6e 64 73 20 6f 66 20 74 79 70 65 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 61 72 65 20 70 .kinds.of.type.conversions.are.p
2eee0 72 65 66 65 72 61 62 6c 65 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 referable.to.......<code><span.c
2ef00 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 lass="tok-builtin">@ptrCast</spa
2ef20 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 n></code>.if.possible........</p
2ef40 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
2ef60 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 s="zig-cap"><cite.class="file">t
2ef80 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f est_pointer_casting.zig</cite></
2efa0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><code><span.clas
2efc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 s="tok-kw">const</span>.std.=.<s
2efe0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c pan.class="tok-builtin">@import<
2f000 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>(<span.class="tok-str">&qu
2f020 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 ot;std&quot;</span>);.<span.clas
2f040 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d s="tok-kw">const</span>.expect.=
2f060 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 .std.testing.expect;..<span.clas
2f080 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 s="tok-kw">test</span>.<span.cla
2f0a0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 61 73 74 69 ss="tok-str">&quot;pointer.casti
2f0c0 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ng&quot;</span>.{.....<span.clas
2f0e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3c 73 s="tok-kw">const</span>.bytes.<s
2f100 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 pan.class="tok-kw">align</span>(
2f120 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e <span.class="tok-builtin">@align
2f140 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 Of</span>(<span.class="tok-type"
2f160 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >u32</span>)).=.[_]<span.class="
2f180 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u8</span>{.<span.class
2f1a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ="tok-number">0x12</span>,.<span
2f1c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c .class="tok-number">0x12</span>,
2f1e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f .<span.class="tok-number">0x12</
2f200 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e span>,.<span.class="tok-number">
2f220 30 78 31 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 0x12</span>.};.....<span.class="
2f240 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 33 32 5f 70 74 72 3a 20 2a 3c tok-kw">const</span>.u32_ptr:.*<
2f260 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
2f280 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 .<span.class="tok-type">u32</spa
2f2a0 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 n>.=.<span.class="tok-builtin">@
2f2c0 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 79 74 65 73 29 3b 0a 20 20 20 20 ptrCast</span>(&amp;bytes);.....
2f2e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">try</span>.
2f300 65 78 70 65 63 74 28 75 33 32 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d expect(u32_ptr.*.==.<span.class=
2f320 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e 29 3b "tok-number">0x12121212</span>);
2f340 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ......<span.class="tok-comment">
2f360 2f 2f 20 45 76 65 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 63 6f 6e 74 72 69 76 65 //.Even.this.example.is.contrive
2f380 64 20 2d 20 74 68 65 72 65 20 61 72 65 20 62 65 74 74 65 72 20 77 61 79 73 20 74 6f 20 64 6f 20 d.-.there.are.better.ways.to.do.
2f3a0 74 68 65 20 61 62 6f 76 65 20 74 68 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 the.above.than</span>.....<span.
2f3c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 63 class="tok-comment">//.pointer.c
2f3e0 61 73 74 69 6e 67 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 75 73 69 6e 67 20 61 20 73 6c 69 asting..For.example,.using.a.sli
2f400 63 65 20 6e 61 72 72 6f 77 69 6e 67 20 63 61 73 74 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 ce.narrowing.cast:</span>.....<s
2f420 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
2f440 75 33 32 5f 76 61 6c 75 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 u32_value.=.std.mem.bytesAsSlice
2f460 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 (<span.class="tok-type">u32</spa
2f480 6e 3e 2c 20 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 n>,.bytes[<span.class="tok-numbe
2f4a0 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">0</span>..])[<span.class="tok
2f4c0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -number">0</span>];.....<span.cl
2f4e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 75 ass="tok-kw">try</span>.expect(u
2f500 33 32 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 32_value.==.<span.class="tok-num
2f520 62 65 72 22 3e 30 78 31 32 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 ber">0x12121212</span>);......<s
2f540 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 64 20 65 pan.class="tok-comment">//.And.e
2f560 76 65 6e 20 61 6e 6f 74 68 65 72 20 77 61 79 2c 20 74 68 65 20 6d 6f 73 74 20 73 74 72 61 69 67 ven.another.way,.the.most.straig
2f580 68 74 66 6f 72 77 61 72 64 20 77 61 79 20 74 6f 20 64 6f 20 69 74 3a 3c 2f 73 70 61 6e 3e 0a 20 htforward.way.to.do.it:</span>..
2f5a0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
2f5c0 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 n>.expect(<span.class="tok-built
2f5e0 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d in">@as</span>(<span.class="tok-
2f600 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u32</span>,.<span.class="t
2f620 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 62 79 74 65 ok-builtin">@bitCast</span>(byte
2f640 73 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e s)).==.<span.class="tok-number">
2f660 30 78 31 32 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 0x12121212</span>);.}..<span.cla
2f680 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">test</span>.<span.cl
2f6a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 68 69 6c ass="tok-str">&quot;pointer.chil
2f6c0 64 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 d.type&quot;</span>.{.....<span.
2f6e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 74 class="tok-comment">//.pointer.t
2f700 79 70 65 73 20 68 61 76 65 20 61 20 60 63 68 69 6c 64 60 20 66 69 65 6c 64 20 77 68 69 63 68 20 ypes.have.a.`child`.field.which.
2f720 74 65 6c 6c 73 20 79 6f 75 20 74 68 65 20 74 79 70 65 20 74 68 65 79 20 70 6f 69 6e 74 20 74 6f tells.you.the.type.they.point.to
2f740 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .</span>.....<span.class="tok-kw
2f760 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">try</span>.expect(<span.class=
2f780 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 2a "tok-builtin">@typeInfo</span>(*
2f7a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e <span.class="tok-type">u32</span
2f7c0 3e 29 2e 50 6f 69 6e 74 65 72 2e 63 68 69 6c 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >).Pointer.child.==.<span.class=
2f7e0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e "tok-type">u32</span>);.}</code>
2f800 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 </pre></figure><figure><figcapti
2f820 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 on.class="shell-cap">Shell</figc
2f840 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
2f860 74 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e t.test_pointer_casting.zig</kbd>
2f880 0a 31 2f 32 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e 74 65 73 74 2e 70 .1/2.test_pointer_casting.test.p
2f8a0 6f 69 6e 74 65 72 20 63 61 73 74 69 6e 67 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 70 6f ointer.casting....OK.2/2.test_po
2f8c0 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 63 68 69 6c 64 inter_casting.test.pointer.child
2f8e0 20 74 79 70 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a .type....OK.All.2.tests.passed..
2f900 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 </samp></pre></figure>.......<h3
2f920 20 69 64 3d 22 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6c .id="Alignment"><a.href="#toc-Al
2f940 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ignment">Alignment</a>.<a.class=
2f960 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f "hdr".href="#Alignment">..</a></
2f980 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 74 79 70 65 20 68 h3>........<p>.......Each.type.h
2f9a0 61 73 20 61 6e 20 3c 73 74 72 6f 6e 67 3e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 74 72 6f 6e 67 3e as.an.<strong>alignment</strong>
2f9c0 20 2d 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 73 75 63 68 20 74 68 61 74 2c 0a .-.a.number.of.bytes.such.that,.
2f9e0 20 20 20 20 20 20 77 68 65 6e 20 61 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 74 79 70 65 20 69 ......when.a.value.of.the.type.i
2fa00 73 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 6f 72 20 73 74 6f 72 65 64 20 74 6f 20 6d 65 6d 6f 72 s.loaded.from.or.stored.to.memor
2fa20 79 2c 0a 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 6d 75 73 74 y,.......the.memory.address.must
2fa40 20 62 65 20 65 76 65 6e 6c 79 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 74 68 69 73 20 6e 75 6d .be.evenly.divisible.by.this.num
2fa60 62 65 72 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 ber..You.can.use.......<a.href="
2fa80 23 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 20 74 6f 20 66 69 6e 64 20 6f #alignOf">@alignOf</a>.to.find.o
2faa0 75 74 20 74 68 69 73 20 76 61 6c 75 65 20 66 6f 72 20 61 6e 79 20 74 79 70 65 2e 0a 20 20 20 20 ut.this.value.for.any.type......
2fac0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 69 67 6e 6d 65 6e 74 ..</p>.......<p>.......Alignment
2fae0 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 43 50 55 20 61 72 63 68 69 74 65 63 74 75 72 65 .depends.on.the.CPU.architecture
2fb00 2c 20 62 75 74 20 69 73 20 61 6c 77 61 79 73 20 61 20 70 6f 77 65 72 20 6f 66 20 74 77 6f 2c 20 ,.but.is.always.a.power.of.two,.
2fb20 61 6e 64 0a 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 and.......less.than.<code><span.
2fb40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b class="tok-number">1</span>.&lt;
2fb60 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 39 &lt;.<span.class="tok-number">29
2fb80 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 </span></code>........</p>......
2fba0 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 70 6f 69 6e 74 65 72 20 74 79 70 .<p>.......In.Zig,.a.pointer.typ
2fbc0 65 20 68 61 73 20 61 6e 20 61 6c 69 67 6e 6d 65 6e 74 20 76 61 6c 75 65 2e 20 49 66 20 74 68 65 e.has.an.alignment.value..If.the
2fbe0 20 76 61 6c 75 65 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 61 6c 69 .value.is.equal.to.the.......ali
2fc00 67 6e 6d 65 6e 74 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 74 79 70 65 2c 20 69 gnment.of.the.underlying.type,.i
2fc20 74 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 74 79 70 65 3a 0a t.can.be.omitted.from.the.type:.
2fc40 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 ......</p>.......<figure><figcap
2fc60 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 tion.class="zig-cap"><cite.class
2fc80 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 61 6c 69 67 6e 6d 65 6e 74 2e ="file">test_variable_alignment.
2fca0 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 zig</cite></figcaption><pre><cod
2fcc0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
2fce0 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 an>.std.=.<span.class="tok-built
2fd00 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@import</span>(<span.class="
2fd20 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 tok-str">&quot;std&quot;</span>)
2fd40 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ;.<span.class="tok-kw">const</sp
2fd60 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 an>.builtin.=.<span.class="tok-b
2fd80 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@import</span>(<span.cla
2fda0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b ss="tok-str">&quot;builtin&quot;
2fdc0 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 </span>);.<span.class="tok-kw">c
2fde0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 onst</span>.expect.=.std.testing
2fe00 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 .expect;..<span.class="tok-kw">t
2fe20 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 est</span>.<span.class="tok-str"
2fe40 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 3c >&quot;variable.alignment&quot;<
2fe60 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
2fe80 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">var</span>.x:.<span.class="tok
2fea0 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">i32</span>.=.<span.class=
2fec0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 "tok-number">1234</span>;.....<s
2fee0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
2ff00 61 6c 69 67 6e 5f 6f 66 5f 69 33 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d align_of_i32.=.<span.class="tok-
2ff20 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 builtin">@alignOf</span>(<span.c
2ff40 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e lass="tok-builtin">@TypeOf</span
2ff60 3e 28 78 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e >(x));.....<span.class="tok-kw">
2ff80 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 try</span>.expect(<span.class="t
2ffa0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b ok-builtin">@TypeOf</span>(&amp;
2ffc0 78 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 x).==.*<span.class="tok-type">i3
2ffe0 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 2</span>);.....<span.class="tok-
30000 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 2a 3c 73 70 61 6e 20 63 6c 61 kw">try</span>.expect(*<span.cla
30020 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 2a 3c 73 70 ss="tok-type">i32</span>.==.*<sp
30040 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 61 an.class="tok-kw">align</span>(a
30060 6c 69 67 6e 5f 6f 66 5f 69 33 32 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 lign_of_i32).<span.class="tok-ty
30080 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pe">i32</span>);.....<span.class
300a0 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 ="tok-kw">if</span>.(builtin.tar
300c0 67 65 74 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 78 38 36 5f 36 34 29 20 7b 0a 20 20 20 20 20 get.cpu.arch.==..x86_64).{......
300e0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
30100 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 n>.expect(<span.class="tok-built
30120 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 in">@typeInfo</span>(*<span.clas
30140 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 2e 50 6f 69 6e 74 65 72 s="tok-type">i32</span>).Pointer
30160 2e 61 6c 69 67 6e 6d 65 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .alignment.==.<span.class="tok-n
30180 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e umber">4</span>);.....}.}</code>
301a0 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 </pre></figure><figure><figcapti
301c0 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 on.class="shell-cap">Shell</figc
301e0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
30200 74 20 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 6b t.test_variable_alignment.zig</k
30220 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 61 6c 69 67 6e 6d 65 6e 74 2e bd>.1/1.test_variable_alignment.
30240 74 65 73 74 2e 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 2e 2e 2e 20 4f 4b 0a 41 6c test.variable.alignment....OK.Al
30260 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c l.1.tests.passed..</samp></pre><
30280 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 74 68 65 20 73 61 6d 65 20 77 61 /figure>.......<p>In.the.same.wa
302a0 79 20 74 68 61 74 20 61 20 3c 63 6f 64 65 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b y.that.a.<code>*<span.class="tok
302c0 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 -type">i32</span></code>.can.be.
302e0 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 <a.href="#Type-Coercion">coerced
30300 3c 2f 61 3e 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 2a 3c 73 70 61 6e </a>.to.a...........<code>*<span
30320 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 .class="tok-kw">const</span>.<sp
30340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-type">i32</span></
30360 63 6f 64 65 3e 2c 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 6c 61 72 67 65 72 20 61 code>,.a.pointer.with.a.larger.a
30380 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 lignment.can.be.implicitly......
303a0 20 63 61 73 74 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 73 6d 61 6c 6c 65 .cast.to.a.pointer.with.a.smalle
303c0 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 62 75 74 20 6e 6f 74 20 76 69 63 65 20 76 65 72 73 61 2e r.alignment,.but.not.vice.versa.
303e0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 .......</p>.......<p>.......You.
30400 63 61 6e 20 73 70 65 63 69 66 79 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 6e 20 76 61 72 69 61 62 6c can.specify.alignment.on.variabl
30420 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 66 20 79 6f 75 20 64 6f 20 74 68 69 73 es.and.functions..If.you.do.this
30440 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 68 65 6d 20 67 65 ,.then.......pointers.to.them.ge
30460 74 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 61 6c 69 67 6e 6d 65 6e 74 3a 0a 20 20 20 20 20 t.the.specified.alignment:......
30480 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 .</p>.......<figure><figcaption.
304a0 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c class="zig-cap"><cite.class="fil
304c0 65 22 3e 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 66 75 6e 63 5f 61 6c 69 67 6e 6d 65 6e 74 2e e">test_variable_func_alignment.
304e0 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 zig</cite></figcaption><pre><cod
30500 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
30520 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 an>.expect.=.<span.class="tok-bu
30540 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
30560 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;std&quot;</spa
30580 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n>).testing.expect;..<span.class
305a0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3c 73 70 61 6e 20 ="tok-kw">var</span>.foo:.<span.
305c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e class="tok-type">u8</span>.<span
305e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 .class="tok-kw">align</span>(<sp
30600 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-number">4</span>).
30620 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f =.<span.class="tok-number">100</
30640 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 span>;..<span.class="tok-kw">tes
30660 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>.<span.class="tok-str">&
30680 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 quot;global.variable.alignment&q
306a0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
306c0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
306e0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 lass="tok-builtin">@typeInfo</sp
30700 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 an>(<span.class="tok-builtin">@T
30720 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 29 29 2e 50 6f 69 6e 74 65 72 2e ypeOf</span>(&amp;foo)).Pointer.
30740 61 6c 69 67 6e 6d 65 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 alignment.==.<span.class="tok-nu
30760 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 mber">4</span>);.....<span.class
30780 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 ="tok-kw">try</span>.expect(<spa
307a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 n.class="tok-builtin">@TypeOf</s
307c0 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>(&amp;foo).==.*<span.class="
307e0 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 tok-kw">align</span>(<span.class
30800 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c ="tok-number">4</span>).<span.cl
30820 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c ass="tok-type">u8</span>);.....<
30840 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
30860 20 61 73 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 .as_pointer_to_array:.*<span.cla
30880 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 ss="tok-kw">align</span>(<span.c
308a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 5b 3c 73 70 lass="tok-number">4</span>).[<sp
308c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c an.class="tok-number">1</span>]<
308e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 span.class="tok-type">u8</span>.
30900 3d 20 26 61 6d 70 3b 66 6f 6f 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b =.&amp;foo;.....<span.class="tok
30920 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 73 6c 69 63 65 3a 20 5b 5d 3c 73 -kw">const</span>.as_slice:.[]<s
30940 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 pan.class="tok-kw">align</span>(
30960 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e <span.class="tok-number">4</span
30980 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 >).<span.class="tok-type">u8</sp
309a0 61 6e 3e 20 3d 20 61 73 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3b 0a 20 20 20 20 3c an>.=.as_pointer_to_array;.....<
309c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
309e0 20 61 73 5f 75 6e 61 6c 69 67 6e 65 64 5f 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 .as_unaligned_slice:.[]<span.cla
30a00 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 61 73 5f 73 6c 69 ss="tok-type">u8</span>.=.as_sli
30a20 63 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ce;.....<span.class="tok-kw">try
30a40 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 73 5f 75 6e 61 6c 69 67 6e 65 64 5f 73 6c 69 63 </span>.expect(as_unaligned_slic
30a60 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 e[<span.class="tok-number">0</sp
30a80 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>].==.<span.class="tok-number"
30aa0 3e 31 30 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >100</span>);.}..<span.class="to
30ac0 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b k-kw">fn</span>.<span.class="tok
30ae0 2d 66 6e 22 3e 64 65 72 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -fn">derp</span>().<span.class="
30b00 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 tok-kw">align</span>(<span.class
30b20 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@sizeOf</span>(<s
30b40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e pan.class="tok-type">usize</span
30b60 3e 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c >).*.<span.class="tok-number">2<
30b80 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 /span>).<span.class="tok-type">i
30ba0 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 32</span>.{.....<span.class="tok
30bc0 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">return</span>.<span.class="
30be0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 3c 73 70 61 6e tok-number">1234</span>;.}.<span
30c00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 .class="tok-kw">fn</span>.<span.
30c20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6e 6f 6f 70 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 class="tok-fn">noop1</span>().<s
30c40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 pan.class="tok-kw">align</span>(
30c60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e <span.class="tok-number">1</span
30c80 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f >).<span.class="tok-type">void</
30ca0 73 70 61 6e 3e 20 7b 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e span>.{}.<span.class="tok-kw">fn
30cc0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6e 6f 6f </span>.<span.class="tok-fn">noo
30ce0 70 34 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 p4</span>().<span.class="tok-kw"
30d00 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >align</span>(<span.class="tok-n
30d20 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">4</span>).<span.class="to
30d40 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 0a 0a 3c 73 70 61 6e 20 63 6c k-type">void</span>.{}..<span.cl
30d60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ass="tok-kw">test</span>.<span.c
30d80 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 20 61 6c lass="tok-str">&quot;function.al
30da0 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ignment&quot;</span>.{.....<span
30dc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
30de0 74 28 64 65 72 70 28 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d t(derp().==.<span.class="tok-num
30e00 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ber">1234</span>);.....<span.cla
30e20 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 ss="tok-kw">try</span>.expect(<s
30e40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c pan.class="tok-builtin">@TypeOf<
30e60 2f 73 70 61 6e 3e 28 64 65 72 70 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>(derp).==.<span.class="tok
30e80 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -kw">fn</span>.().<span.class="t
30ea0 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 ok-type">i32</span>);.....<span.
30ec0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 class="tok-kw">try</span>.expect
30ee0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 (<span.class="tok-builtin">@Type
30f00 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 64 65 72 70 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 Of</span>(&amp;derp).==.*<span.c
30f20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e lass="tok-kw">align</span>(<span
30f40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 .class="tok-builtin">@sizeOf</sp
30f60 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 an>(<span.class="tok-type">usize
30f80 3c 2f 73 70 61 6e 3e 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 </span>).*.<span.class="tok-numb
30fa0 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b er">2</span>).<span.class="tok-k
30fc0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b w">const</span>.<span.class="tok
30fe0 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -kw">fn</span>.().<span.class="t
31000 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 6e 6f 6f 70 31 ok-type">i32</span>);......noop1
31020 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ();.....<span.class="tok-kw">try
31040 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.expect(<span.class="tok-
31060 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 31 29 20 3d builtin">@TypeOf</span>(noop1).=
31080 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e =.<span.class="tok-kw">fn</span>
310a0 20 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c .().<span.class="tok-type">void<
310c0 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>);.....<span.class="tok-kw
310e0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">try</span>.expect(<span.class=
31100 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d "tok-builtin">@TypeOf</span>(&am
31120 70 3b 6e 6f 6f 70 31 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 p;noop1).==.*<span.class="tok-kw
31140 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">align</span>(<span.class="tok-
31160 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>).<span.class="t
31180 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">const</span>.<span.class=
311a0 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-kw">fn</span>.().<span.clas
311c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 s="tok-type">void</span>);......
311e0 6e 6f 6f 70 34 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 noop4();.....<span.class="tok-kw
31200 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">try</span>.expect(<span.class=
31220 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f "tok-builtin">@TypeOf</span>(noo
31240 70 34 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f p4).==.<span.class="tok-kw">fn</
31260 73 70 61 6e 3e 20 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>.().<span.class="tok-type">
31280 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 void</span>);.....<span.class="t
312a0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 ok-kw">try</span>.expect(<span.c
312c0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e lass="tok-builtin">@TypeOf</span
312e0 3e 28 26 61 6d 70 3b 6e 6f 6f 70 34 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >(&amp;noop4).==.*<span.class="t
31300 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">align</span>(<span.class=
31320 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">4</span>).<span.cla
31340 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ss="tok-kw">const</span>.<span.c
31360 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 29 20 3c 73 70 61 6e lass="tok-kw">fn</span>.().<span
31380 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 0a .class="tok-type">void</span>);.
313a0 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
313c0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
313e0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
31400 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 66 75 6e 63 5f 61 6c 69 >zig.test.test_variable_func_ali
31420 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 76 61 72 69 61 62 gnment.zig</kbd>.1/2.test_variab
31440 6c 65 5f 66 75 6e 63 5f 61 6c 69 67 6e 6d 65 6e 74 2e 74 65 73 74 2e 67 6c 6f 62 61 6c 20 76 61 le_func_alignment.test.global.va
31460 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f riable.alignment....OK.2/2.test_
31480 76 61 72 69 61 62 6c 65 5f 66 75 6e 63 5f 61 6c 69 67 6e 6d 65 6e 74 2e 74 65 73 74 2e 66 75 6e variable_func_alignment.test.fun
314a0 63 74 69 6f 6e 20 61 6c 69 67 6e 6d 65 6e 74 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 ction.alignment....OK.All.2.test
314c0 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e s.passed..</samp></pre></figure>
314e0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 61 20 70 .......<p>.......If.you.have.a.p
31500 6f 69 6e 74 65 72 20 6f 72 20 61 20 73 6c 69 63 65 20 74 68 61 74 20 68 61 73 20 61 20 73 6d 61 ointer.or.a.slice.that.has.a.sma
31520 6c 6c 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 62 75 74 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 20 ll.alignment,.but.you.know.that.
31540 69 74 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 68 61 73 20 61 20 62 69 67 67 65 72 20 61 it.actually.......has.a.bigger.a
31560 6c 69 67 6e 6d 65 6e 74 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 lignment,.use.<a.href="#alignCas
31580 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 0a t">@alignCast</a>.to.change.the.
315a0 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 61 20 6d 6f 72 65 20 61 6c 69 67 6e 65 ......pointer.into.a.more.aligne
315c0 64 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 69 73 20 61 20 6e 6f 2d 6f 70 20 61 74 20 72 75 d.pointer..This.is.a.no-op.at.ru
315e0 6e 74 69 6d 65 2c 20 62 75 74 20 69 6e 73 65 72 74 73 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 ntime,.but.inserts.a.......<a.hr
31600 65 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 ef="#Incorrect-Pointer-Alignment
31620 22 3e 73 61 66 65 74 79 20 63 68 65 63 6b 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ">safety.check</a>:.......</p>..
31640 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 .....<figure><figcaption.class="
31660 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 zig-cap"><cite.class="file">test
31680 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 _incorrect_pointer_alignment.zig
316a0 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c </cite></figcaption><pre><code><
316c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
316e0 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .std.=.<span.class="tok-builtin"
31700 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@import</span>(<span.class="tok
31720 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a -str">&quot;std&quot;</span>);..
31740 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e <span.class="tok-kw">test</span>
31760 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 .<span.class="tok-str">&quot;poi
31780 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 nter.alignment.safety&quot;</spa
317a0 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 n>.{.....<span.class="tok-kw">va
317c0 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r</span>.array.<span.class="tok-
317e0 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f kw">align</span>(<span.class="to
31800 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 k-number">4</span>).=.[_]<span.c
31820 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 lass="tok-type">u32</span>{.<spa
31840 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c n.class="tok-number">0x11111111<
31860 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
31880 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 >0x11111111</span>.};.....<span.
318a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 class="tok-kw">const</span>.byte
318c0 73 20 3d 20 73 74 64 2e 6d 65 6d 2e 73 6c 69 63 65 41 73 42 79 74 65 73 28 61 72 72 61 79 5b 3c s.=.std.mem.sliceAsBytes(array[<
318e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e span.class="tok-number">0</span>
31900 2e 2e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ..]);.....<span.class="tok-kw">t
31920 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 6f 6f ry</span>.std.testing.expect(foo
31940 28 62 79 74 65 73 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 (bytes).==.<span.class="tok-numb
31960 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 er">0x11111111</span>);.}.<span.
31980 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 class="tok-kw">fn</span>.<span.c
319a0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 62 79 74 65 73 3a 20 lass="tok-fn">foo</span>(bytes:.
319c0 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 []<span.class="tok-type">u8</spa
319e0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f n>).<span.class="tok-type">u32</
31a00 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
31a20 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 34 20 3d 20 62 79 74 65 73 5b 3c 73 70 >const</span>.slice4.=.bytes[<sp
31a40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e an.class="tok-number">1</span>..
31a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e <span.class="tok-number">5</span
31a80 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e >];.....<span.class="tok-kw">con
31aa0 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 st</span>.int_slice.=.std.mem.by
31ac0 74 65 73 41 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 tesAsSlice(<span.class="tok-type
31ae0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ">u32</span>,.<span.class="tok-b
31b00 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 uiltin">@as</span>([]<span.class
31b20 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">align</span>(<span.cla
31b40 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ss="tok-number">4</span>).<span.
31b60 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 class="tok-type">u8</span>,.<spa
31b80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 n.class="tok-builtin">@alignCast
31ba0 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 34 29 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 </span>(slice4)));.....<span.cla
31bc0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c ss="tok-kw">return</span>.int_sl
31be0 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f ice[<span.class="tok-number">0</
31c00 73 70 61 6e 3e 5d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c span>];.}</code></pre></figure><
31c20 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d figure><figcaption.class="shell-
31c40 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d cap">Shell</figcaption><pre><sam
31c60 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 63 6f 72 72 65 63 74 p>$.<kbd>zig.test.test_incorrect
31c80 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 _pointer_alignment.zig</kbd>.1/1
31ca0 20 74 65 73 74 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e .test_incorrect_pointer_alignmen
31cc0 74 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 2e t.test.pointer.alignment.safety.
31ce0 2e 2e 20 74 68 72 65 61 64 20 39 38 36 33 38 37 20 70 61 6e 69 63 3a 20 69 6e 63 6f 72 72 65 63 ...thread.986387.panic:.incorrec
31d00 74 20 61 6c 69 67 6e 6d 65 6e 74 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e t.alignment./home/ci/actions-run
31d20 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 ner/_work/zig-bootstrap/zig/docg
31d40 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c en_tmp/test_incorrect_pointer_al
31d60 69 67 6e 6d 65 6e 74 2e 7a 69 67 3a 31 30 3a 36 38 3a 20 30 78 31 30 33 39 31 64 61 20 69 6e 20 ignment.zig:10:68:.0x10391da.in.
31d80 66 6f 6f 20 28 74 65 73 74 29 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 5f 73 6c 69 63 65 20 3d foo.(test).....const.int_slice.=
31da0 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 75 33 32 2c 20 40 61 73 28 5b .std.mem.bytesAsSlice(u32,.@as([
31dc0 5d 61 6c 69 67 6e 28 34 29 20 75 38 2c 20 40 61 6c 69 67 6e 43 61 73 74 28 73 6c 69 63 65 34 29 ]align(4).u8,.@alignCast(slice4)
31de0 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ));.............................
31e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
31e20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 .......^./home/ci/actions-runner
31e40 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f /_work/zig-bootstrap/zig/docgen_
31e60 74 6d 70 2f 74 65 73 74 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e tmp/test_incorrect_pointer_align
31e80 6d 65 6e 74 2e 7a 69 67 3a 36 3a 33 31 3a 20 30 78 31 30 33 39 30 37 37 20 69 6e 20 74 65 73 74 ment.zig:6:31:.0x1039077.in.test
31ea0 2e 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 20 28 74 65 73 74 29 .pointer.alignment.safety.(test)
31ec0 0a 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 6f 6f 28 .....try.std.testing.expect(foo(
31ee0 62 79 74 65 73 29 20 3d 3d 20 30 78 31 31 31 31 31 31 31 31 29 3b 0a 20 20 20 20 20 20 20 20 20 bytes).==.0x11111111);..........
31f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f .....................^./home/ci/
31f20 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 actions-runner/_work/zig-bootstr
31f40 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 ap/out/host/lib/zig/compiler/tes
31f60 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 35 38 3a 32 35 3a 20 30 78 31 30 34 33 66 37 32 20 69 t_runner.zig:158:25:.0x1043f72.i
31f80 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 n.mainTerminal.(test).........if
31fa0 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 .(test_fn.func()).|_|.{.........
31fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f ................^./home/ci/actio
31fe0 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 ns-runner/_work/zig-bootstrap/ou
32000 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e t/host/lib/zig/compiler/test_run
32020 6e 65 72 2e 7a 69 67 3a 33 35 3a 32 38 3a 20 30 78 31 30 33 61 33 31 62 20 69 6e 20 6d 61 69 6e ner.zig:35:28:.0x103a31b.in.main
32040 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 .(test).........return.mainTermi
32060 6e 61 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nal();..........................
32080 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 ..^./home/ci/actions-runner/_wor
320a0 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 k/zig-bootstrap/out/host/lib/zig
320c0 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 39 36 61 39 /std/start.zig:501:22:.0x10396a9
320e0 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 0a .in.posixCallMainAndExit.(test).
32100 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 ............root.main();........
32120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 ..............^./home/ci/actions
32140 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f -runner/_work/zig-bootstrap/out/
32160 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 host/lib/zig/std/start.zig:253:5
32180 3a 20 30 78 31 30 33 39 32 31 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 0a 20 20 20 :.0x1039211.in._start.(test)....
321a0 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 .asm.volatile.(switch.(native_ar
321c0 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 ch).{.....^.???:?:?:.0x0.in.???.
321e0 28 3f 3f 3f 29 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 (???).error:.the.following.test.
32200 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e command.crashed:./home/ci/action
32220 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 s-runner/_work/zig-bootstrap/out
32240 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 38 34 30 63 63 33 35 36 63 35 39 65 37 /zig-local-cache/o/840cc356c59e7
32260 62 66 33 37 38 37 34 66 39 34 61 39 62 37 63 37 63 64 66 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e bf37874f94a9b7c7cdf/test.</samp>
32280 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 </pre></figure>...............<h
322a0 33 20 69 64 3d 22 61 6c 6c 6f 77 7a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 3.id="allowzero"><a.href="#toc-a
322c0 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 llowzero">allowzero</a>.<a.class
322e0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e c2 a7 3c 2f 61 3e 3c ="hdr".href="#allowzero">..</a><
32300 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 70 6f 69 6e 74 /h3>........<p>.......This.point
32320 65 72 20 61 74 74 72 69 62 75 74 65 20 61 6c 6c 6f 77 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f er.attribute.allows.a.pointer.to
32340 20 68 61 76 65 20 61 64 64 72 65 73 73 20 7a 65 72 6f 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 .have.address.zero..This.is.only
32360 20 65 76 65 72 20 6e 65 65 64 65 64 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 20 66 72 65 65 73 74 .ever.needed.on.the.......freest
32380 61 6e 64 69 6e 67 20 4f 53 20 74 61 72 67 65 74 2c 20 77 68 65 72 65 20 74 68 65 20 61 64 64 72 anding.OS.target,.where.the.addr
323a0 65 73 73 20 7a 65 72 6f 20 69 73 20 6d 61 70 70 61 62 6c 65 2e 20 49 66 20 79 6f 75 20 77 61 6e ess.zero.is.mappable..If.you.wan
323c0 74 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 73 2c 20 75 73 t.to.represent.null.pointers,.us
323e0 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 e.......<a.href="#Optional-Point
32400 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 69 6e 73 74 65 ers">Optional.Pointers</a>.inste
32420 61 64 2e 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 ad..<a.href="#Optional-Pointers"
32440 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 77 69 74 68 20 3c 63 6f 64 >Optional.Pointers</a>.with.<cod
32460 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f e><span.class="tok-kw">allowzero
32480 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 61 72 65 20 6e 6f 74 20 74 68 65 </span></code>.......are.not.the
324a0 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 70 6f 69 6e 74 65 72 73 2e 20 49 6e 20 74 68 69 73 20 .same.size.as.pointers..In.this.
324c0 63 6f 64 65 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 70 6f 69 6e 74 65 72 0a 20 20 20 code.example,.if.the.pointer....
324e0 20 20 20 64 69 64 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ...did.not.have.the.<code><span.
32500 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c class="tok-kw">allowzero</span><
32520 2f 63 6f 64 65 3e 20 61 74 74 72 69 62 75 74 65 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 /code>.attribute,.this.would.be.
32540 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 a.......<a.href="#Pointer-Cast-I
32560 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 nvalid-Null">Pointer.Cast.Invali
32580 64 20 4e 75 6c 6c 3c 2f 61 3e 20 70 61 6e 69 63 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 d.Null</a>.panic:.......</p>....
325a0 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 ...<figure><figcaption.class="zi
325c0 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 g-cap"><cite.class="file">test_a
325e0 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e llowzero.zig</cite></figcaption>
32600 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
32620 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.std.=.<span.class="
32640 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@import</span>(<spa
32660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 n.class="tok-str">&quot;std&quot
32680 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;</span>);.<span.class="tok-kw">
326a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e const</span>.expect.=.std.testin
326c0 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e g.expect;..<span.class="tok-kw">
326e0 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 test</span>.<span.class="tok-str
32700 22 3e 26 71 75 6f 74 3b 61 6c 6c 6f 77 7a 65 72 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b ">&quot;allowzero&quot;</span>.{
32720 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
32740 70 61 6e 3e 20 7a 65 72 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 pan>.zero:.<span.class="tok-type
32760 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">usize</span>.=.<span.class="to
32780 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">0</span>;.<span.class=
327a0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 20 74 6f 20 6d 61 6b 65 20 74 6f 20 "tok-comment">//.var.to.make.to.
327c0 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d runtime-known</span>....._.=.&am
327e0 70 3b 7a 65 72 6f 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 p;zero;.<span.class="tok-comment
32800 22 3e 2f 2f 20 73 75 70 70 72 65 73 73 20 27 76 61 72 20 69 73 20 6e 65 76 65 72 20 6d 75 74 61 ">//.suppress.'var.is.never.muta
32820 74 65 64 27 20 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ted'.error</span>.....<span.clas
32840 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 s="tok-kw">const</span>.ptr:.*<s
32860 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 pan.class="tok-kw">allowzero</sp
32880 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f an>.<span.class="tok-type">i32</
328a0 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e span>.=.<span.class="tok-builtin
328c0 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 7a 65 72 6f 29 3b 0a 20 20 20 20 ">@ptrFromInt</span>(zero);.....
328e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">try</span>.
32900 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 expect(<span.class="tok-builtin"
32920 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 70 74 72 29 20 3d 3d 20 3c 73 70 61 >@intFromPtr</span>(ptr).==.<spa
32940 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a n.class="tok-number">0</span>);.
32960 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
32980 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
329a0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
329c0 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 6b 62 >zig.test.test_allowzero.zig</kb
329e0 64 3e 0a 31 2f 31 20 74 65 73 74 5f 61 6c 6c 6f 77 7a 65 72 6f 2e 74 65 73 74 2e 61 6c 6c 6f 77 d>.1/1.test_allowzero.test.allow
32a00 7a 65 72 6f 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c zero....OK.All.1.tests.passed..<
32a20 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 /samp></pre></figure>...........
32a40 20 20 20 20 3c 68 33 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d ....<h3.id="Sentinel-Terminated-
32a60 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c Pointers"><a.href="#toc-Sentinel
32a80 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 -Terminated-Pointers">Sentinel-T
32aa0 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d erminated.Pointers</a>.<a.class=
32ac0 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 "hdr".href="#Sentinel-Terminated
32ae0 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 -Pointers">..</a></h3>........<p
32b00 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 5b 2a 3a 78 5d 54 3c >.......The.syntax.<code>[*:x]T<
32b20 2f 63 6f 64 65 3e 20 64 65 73 63 72 69 62 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 68 61 74 0a /code>.describes.a.pointer.that.
32b40 20 20 20 20 20 20 68 61 73 20 61 20 6c 65 6e 67 74 68 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 ......has.a.length.determined.by
32b60 20 61 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e 20 54 68 69 73 20 70 72 6f 76 69 64 65 73 .a.sentinel.value..This.provides
32b80 20 70 72 6f 74 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 61 67 61 69 6e 73 74 20 62 75 66 66 65 72 .protection.......against.buffer
32ba0 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 6f 76 65 72 72 65 61 64 73 2e 0a 20 20 20 20 20 20 3c .overflow.and.overreads........<
32bc0 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
32be0 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
32c00 3e 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 >sentinel-terminated_pointer.zig
32c20 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c </cite></figcaption><pre><code><
32c40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
32c60 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .std.=.<span.class="tok-builtin"
32c80 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@import</span>(<span.class="tok
32ca0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a -str">&quot;std&quot;</span>);..
32cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 <span.class="tok-comment">//.Thi
32ce0 73 20 69 73 20 61 6c 73 6f 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 60 73 74 64 2e 63 2e 70 72 s.is.also.available.as.`std.c.pr
32d00 69 6e 74 66 60 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b intf`.</span>.<span.class="tok-k
32d20 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b w">pub</span>.<span.class="tok-k
32d40 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">extern</span>.<span.class="to
32d60 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 k-str">&quot;c&quot;</span>.<spa
32d80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e n.class="tok-kw">fn</span>.<span
32da0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 66 3c 2f 73 70 61 6e 3e 28 66 6f .class="tok-fn">printf</span>(fo
32dc0 72 6d 61 74 3a 20 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 rmat:.[*:<span.class="tok-number
32de0 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ">0</span>]<span.class="tok-kw">
32e00 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 const</span>.<span.class="tok-ty
32e20 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pe">u8</span>,....).<span.class=
32e40 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 "tok-type">c_int</span>;..<span.
32e60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 class="tok-kw">pub</span>.<span.
32e80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 class="tok-kw">fn</span>.<span.c
32ea0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 lass="tok-fn">main</span>().<spa
32ec0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 n.class="tok-type">anyerror</spa
32ee0 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f n>!<span.class="tok-type">void</
32f00 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c 61 span>.{....._.=.printf(<span.cla
32f20 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 ss="tok-str">&quot;Hello,.world!
32f40 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 \n&quot;</span>);.<span.class="t
32f60 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 ok-comment">//.OK</span>......<s
32f80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
32fa0 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f msg.=.<span.class="tok-str">&quo
32fc0 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a t;Hello,.world!\n&quot;</span>;.
32fe0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ....<span.class="tok-kw">const</
33000 73 70 61 6e 3e 20 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 3a 20 5b span>.non_null_terminated_msg:.[
33020 6d 73 67 2e 6c 65 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 msg.len]<span.class="tok-type">u
33040 38 3c 2f 73 70 61 6e 3e 20 3d 20 6d 73 67 2e 2a 3b 0a 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 8</span>.=.msg.*;....._.=.printf
33060 28 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 0a (&amp;non_null_terminated_msg);.
33080 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
330a0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
330c0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
330e0 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 >zig.build-exe.sentinel-terminat
33100 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 20 2d 6c 63 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 ed_pointer.zig.-lc</kbd>.<span.c
33120 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 lass="sgr-1m">sentinel-terminate
33140 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3a 31 31 3a 31 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 d_pointer.zig:11:16:.</span><spa
33160 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e n.class="sgr-31m">error:.</span>
33180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 65 63 74 65 64 20 74 79 <span.class="sgr-1m">expected.ty
331a0 70 65 20 27 5b 2a 3a 30 5d 63 6f 6e 73 74 20 75 38 27 2c 20 66 6f 75 6e 64 20 27 2a 63 6f 6e 73 pe.'[*:0]const.u8',.found.'*cons
331c0 74 20 5b 31 34 5d 75 38 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 t.[14]u8'.</span>...._.=.printf(
331e0 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 0a 20 &amp;non_null_terminated_msg);..
33200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 ..............<span.class="sgr-3
33220 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 2m">^~~~~~~~~~~~~~~~~~~~~~~~.</s
33240 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 73 65 6e 74 69 6e 65 pan><span.class="sgr-1m">sentine
33260 6c 2d 74 65 72 6d 69 6e 61 74 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3a 31 31 3a 31 36 3a 20 l-terminated_pointer.zig:11:16:.
33280 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 </span><span.class="sgr-36m">not
332a0 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 e:.</span><span.class="sgr-1m">d
332c0 65 73 74 69 6e 61 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 72 65 71 75 69 72 65 73 20 27 30 27 20 estination.pointer.requires.'0'.
332e0 73 65 6e 74 69 6e 65 6c 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 sentinel.</span><span.class="sgr
33300 2d 31 6d 22 3e 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 5f 70 6f 69 6e 74 65 72 -1m">sentinel-terminated_pointer
33320 2e 7a 69 67 3a 34 3a 33 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 .zig:4:35:.</span><span.class="s
33340 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 gr-36m">note:.</span><span.class
33360 3d 22 73 67 72 2d 31 6d 22 3e 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 20 64 65 63 6c 61 72 65 ="sgr-1m">parameter.type.declare
33380 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 70 75 62 20 65 78 74 65 72 6e 20 26 71 75 6f 74 3b 63 d.here.</span>pub.extern.&quot;c
333a0 26 71 75 6f 74 3b 20 66 6e 20 70 72 69 6e 74 66 28 66 6f 72 6d 61 74 3a 20 5b 2a 3a 30 5d 63 6f &quot;.fn.printf(format:.[*:0]co
333c0 6e 73 74 20 75 38 2c 20 2e 2e 2e 29 20 63 5f 69 6e 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 nst.u8,....).c_int;.............
333e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .....................<span.class
33400 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e ="sgr-32m">~^~~~~~~~~~~~.</span>
33420 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 <span.class="sgr-2m">referenced.
33440 62 79 3a 0a 20 20 20 20 63 61 6c 6c 4d 61 69 6e 3a 20 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f by:.....callMain:./home/ci/actio
33460 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 ns-runner/_work/zig-bootstrap/ou
33480 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 31 31 t/host/lib/zig/std/start.zig:511
334a0 3a 33 32 0a 20 20 20 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 3a 20 2f 68 6f 6d 65 2f :32.....callMainWithArgs:./home/
334c0 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ci/actions-runner/_work/zig-boot
334e0 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 strap/out/host/lib/zig/std/start
33500 2e 7a 69 67 3a 34 36 39 3a 31 32 0a 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 72 65 66 65 72 65 .zig:469:12.....remaining.refere
33520 6e 63 65 20 74 72 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 65 nce.traces.hidden;.use.'-frefere
33540 6e 63 65 2d 74 72 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 20 nce-trace'.to.see.all.reference.
33560 74 72 61 63 65 73 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 traces.</span>.</samp></pre></fi
33580 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e gure>.......<p>See.also:</p><ul>
335a0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 .<li><a.href="#Sentinel-Terminat
335c0 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 ed-Slices">Sentinel-Terminated.S
335e0 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e lices</a></li>.<li><a.href="#Sen
33600 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 tinel-Terminated-Arrays">Sentine
33620 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 l-Terminated.Arrays</a></li>.</u
33640 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d l>.......................<h2.id=
33660 22 53 6c 69 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 6c 69 63 65 73 22 3e 53 "Slices"><a.href="#toc-Slices">S
33680 6c 69 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 lices</a>.<a.class="hdr".href="#
336a0 53 6c 69 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 Slices">..</a></h2>........<p>..
336c0 20 20 20 20 20 41 20 73 6c 69 63 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 61 20 .....A.slice.is.a.pointer.and.a.
336e0 6c 65 6e 67 74 68 2e 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 61 length..The.difference.between.a
33700 6e 20 61 72 72 61 79 20 61 6e 64 0a 20 20 20 20 20 20 61 20 73 6c 69 63 65 20 69 73 20 74 68 61 n.array.and.......a.slice.is.tha
33720 74 20 74 68 65 20 61 72 72 61 79 27 73 20 6c 65 6e 67 74 68 20 69 73 20 70 61 72 74 20 6f 66 20 t.the.array's.length.is.part.of.
33740 74 68 65 20 74 79 70 65 20 61 6e 64 20 6b 6e 6f 77 6e 20 61 74 0a 20 20 20 20 20 20 63 6f 6d 70 the.type.and.known.at.......comp
33760 69 6c 65 2d 74 69 6d 65 2c 20 77 68 65 72 65 61 73 20 74 68 65 20 73 6c 69 63 65 27 73 20 6c 65 ile-time,.whereas.the.slice's.le
33780 6e 67 74 68 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 0a 20 20 20 20 20 20 ngth.is.known.at.runtime........
337a0 42 6f 74 68 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 77 69 74 68 20 74 68 65 20 60 6c Both.can.be.accessed.with.the.`l
337c0 65 6e 60 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 en`.field........</p>.......<fig
337e0 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
33800 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 62 61 73 69 63 5f 73 6c <cite.class="file">test_basic_sl
33820 69 63 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 ices.zig</cite></figcaption><pre
33840 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
33860 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.expect.=.<span.class="t
33880 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
338a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
338c0 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 </span>).testing.expect;..<span.
338e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e class="tok-kw">test</span>.<span
33900 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 69 63 20 73 6c 69 .class="tok-str">&quot;basic.sli
33920 63 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ces&quot;</span>.{.....<span.cla
33940 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b ss="tok-kw">var</span>.array.=.[
33960 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 _]<span.class="tok-type">i32</sp
33980 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c an>{.<span.class="tok-number">1<
339a0 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
339c0 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >2</span>,.<span.class="tok-numb
339e0 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">3</span>,.<span.class="tok-n
33a00 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 umber">4</span>.};.....<span.cla
33a20 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6b 6e 6f 77 6e 5f 61 74 5f ss="tok-kw">var</span>.known_at_
33a40 72 75 6e 74 69 6d 65 5f 7a 65 72 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 runtime_zero:.<span.class="tok-t
33a60 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ype">usize</span>.=.<span.class=
33a80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 "tok-number">0</span>;....._.=.&
33aa0 61 6d 70 3b 6b 6e 6f 77 6e 5f 61 74 5f 72 75 6e 74 69 6d 65 5f 7a 65 72 6f 3b 0a 20 20 20 20 3c amp;known_at_runtime_zero;.....<
33ac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
33ae0 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 6b 6e 6f 77 6e 5f 61 74 5f 72 75 6e 74 69 6d 65 5f .slice.=.array[known_at_runtime_
33b00 7a 65 72 6f 2e 2e 61 72 72 61 79 2e 6c 65 6e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 zero..array.len];.....<span.clas
33b20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 s="tok-kw">try</span>.expect(<sp
33b40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f an.class="tok-builtin">@TypeOf</
33b60 73 70 61 6e 3e 28 73 6c 69 63 65 29 20 3d 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>(slice).==.[]<span.class="t
33b80 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 ok-type">i32</span>);.....<span.
33ba0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 class="tok-kw">try</span>.expect
33bc0 28 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d (&amp;slice[<span.class="tok-num
33be0 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 26 61 6d 70 3b 61 72 72 61 79 5b 3c 73 70 ber">0</span>].==.&amp;array[<sp
33c00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 an.class="tok-number">0</span>])
33c20 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
33c40 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 61 72 72 61 79 2e span>.expect(slice.len.==.array.
33c60 6c 65 6e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d len);......<span.class="tok-comm
33c80 65 6e 74 22 3e 2f 2f 20 49 66 20 79 6f 75 20 73 6c 69 63 65 20 77 69 74 68 20 63 6f 6d 70 74 69 ent">//.If.you.slice.with.compti
33ca0 6d 65 2d 6b 6e 6f 77 6e 20 73 74 61 72 74 20 61 6e 64 20 65 6e 64 20 70 6f 73 69 74 69 6f 6e 73 me-known.start.and.end.positions
33cc0 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e ,.the.result.is</span>.....<span
33ce0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 20 70 6f 69 6e 74 65 .class="tok-comment">//.a.pointe
33d00 72 20 74 6f 20 61 6e 20 61 72 72 61 79 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 73 6c 69 r.to.an.array,.rather.than.a.sli
33d20 63 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ce.</span>.....<span.class="tok-
33d40 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 5f 70 74 72 20 3d 20 61 72 72 kw">const</span>.array_ptr.=.arr
33d60 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 ay[<span.class="tok-number">0</s
33d80 70 61 6e 3e 2e 2e 61 72 72 61 79 2e 6c 65 6e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 pan>..array.len];.....<span.clas
33da0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 s="tok-kw">try</span>.expect(<sp
33dc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f an.class="tok-builtin">@TypeOf</
33de0 73 70 61 6e 3e 28 61 72 72 61 79 5f 70 74 72 29 20 3d 3d 20 2a 5b 61 72 72 61 79 2e 6c 65 6e 5d span>(array_ptr).==.*[array.len]
33e00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e <span.class="tok-type">i32</span
33e20 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e >);......<span.class="tok-commen
33e40 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 70 65 72 66 6f 72 6d 20 61 20 73 6c 69 63 65 2d 62 79 t">//.You.can.perform.a.slice-by
33e60 2d 6c 65 6e 67 74 68 20 62 79 20 73 6c 69 63 69 6e 67 20 74 77 69 63 65 2e 20 54 68 69 73 20 61 -length.by.slicing.twice..This.a
33e80 6c 6c 6f 77 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 llows.the.compiler</span>.....<s
33ea0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 70 65 pan.class="tok-comment">//.to.pe
33ec0 72 66 6f 72 6d 20 73 6f 6d 65 20 6f 70 74 69 6d 69 73 61 74 69 6f 6e 73 20 6c 69 6b 65 20 72 65 rform.some.optimisations.like.re
33ee0 63 6f 67 6e 69 73 69 6e 67 20 61 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 cognising.a.comptime-known.lengt
33f00 68 20 77 68 65 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 h.when</span>.....<span.class="t
33f20 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 61 72 74 20 70 6f 73 69 74 69 6f ok-comment">//.the.start.positio
33f40 6e 20 69 73 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 3c 2f 73 70 61 n.is.only.known.at.runtime.</spa
33f60 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c n>.....<span.class="tok-kw">var<
33f80 2f 73 70 61 6e 3e 20 72 75 6e 74 69 6d 65 5f 73 74 61 72 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 /span>.runtime_start:.<span.clas
33fa0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 s="tok-type">usize</span>.=.<spa
33fc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 n.class="tok-number">1</span>;..
33fe0 20 20 20 5f 20 3d 20 26 61 6d 70 3b 72 75 6e 74 69 6d 65 5f 73 74 61 72 74 3b 0a 20 20 20 20 3c ..._.=.&amp;runtime_start;.....<
34000 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
34020 20 6c 65 6e 67 74 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 .length.=.<span.class="tok-numbe
34040 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r">2</span>;.....<span.class="to
34060 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 5f 70 74 72 5f 6c 65 6e k-kw">const</span>.array_ptr_len
34080 20 3d 20 61 72 72 61 79 5b 72 75 6e 74 69 6d 65 5f 73 74 61 72 74 2e 2e 5d 5b 3c 73 70 61 6e 20 .=.array[runtime_start..][<span.
340a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 6c 65 6e class="tok-number">0</span>..len
340c0 67 74 68 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 gth];.....<span.class="tok-kw">t
340e0 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ry</span>.expect(<span.class="to
34100 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 72 72 61 79 5f k-builtin">@TypeOf</span>(array_
34120 70 74 72 5f 6c 65 6e 29 20 3d 3d 20 2a 5b 6c 65 6e 67 74 68 5d 3c 73 70 61 6e 20 63 6c 61 73 73 ptr_len).==.*[length]<span.class
34140 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 ="tok-type">i32</span>);......<s
34160 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 69 6e 67 pan.class="tok-comment">//.Using
34180 20 74 68 65 20 61 64 64 72 65 73 73 2d 6f 66 20 6f 70 65 72 61 74 6f 72 20 6f 6e 20 61 20 73 6c .the.address-of.operator.on.a.sl
341a0 69 63 65 20 67 69 76 65 73 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e ice.gives.a.single-item.pointer.
341c0 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 </span>.....<span.class="tok-kw"
341e0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >try</span>.expect(<span.class="
34200 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 tok-builtin">@TypeOf</span>(&amp
34220 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ;slice[<span.class="tok-number">
34240 30 3c 2f 73 70 61 6e 3e 5d 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 0</span>]).==.*<span.class="tok-
34260 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 type">i32</span>);.....<span.cla
34280 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 69 6e 67 20 74 68 65 20 60 70 ss="tok-comment">//.Using.the.`p
342a0 74 72 60 20 66 69 65 6c 64 20 67 69 76 65 73 20 61 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e tr`.field.gives.a.many-item.poin
342c0 74 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ter.</span>.....<span.class="tok
342e0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 -kw">try</span>.expect(<span.cla
34300 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@TypeOf</span>(
34320 73 6c 69 63 65 2e 70 74 72 29 20 3d 3d 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f slice.ptr).==.[*]<span.class="to
34340 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 k-type">i32</span>);.....<span.c
34360 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
34380 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 <span.class="tok-builtin">@intFr
343a0 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 2e 70 74 72 29 20 3d 3d 20 3c 73 70 61 6e omPtr</span>(slice.ptr).==.<span
343c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 .class="tok-builtin">@intFromPtr
343e0 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>(&amp;slice[<span.class="
34400 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 29 3b 0a 0a 20 20 20 20 3c 73 tok-number">0</span>]));......<s
34420 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 6c 69 63 65 pan.class="tok-comment">//.Slice
34440 73 20 68 61 76 65 20 61 72 72 61 79 20 62 6f 75 6e 64 73 20 63 68 65 63 6b 69 6e 67 2e 20 49 66 s.have.array.bounds.checking..If
34460 20 79 6f 75 20 74 72 79 20 74 6f 20 61 63 63 65 73 73 20 73 6f 6d 65 74 68 69 6e 67 20 6f 75 74 .you.try.to.access.something.out
34480 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.....<span.class="tok-com
344a0 6d 65 6e 74 22 3e 2f 2f 20 6f 66 20 62 6f 75 6e 64 73 2c 20 79 6f 75 27 6c 6c 20 67 65 74 20 61 ment">//.of.bounds,.you'll.get.a
344c0 20 73 61 66 65 74 79 20 63 68 65 63 6b 20 66 61 69 6c 75 72 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 .safety.check.failure:</span>...
344e0 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ..slice[<span.class="tok-number"
34500 3e 31 30 3c 2f 73 70 61 6e 3e 5d 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >10</span>].+=.<span.class="tok-
34520 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 number">1</span>;......<span.cla
34540 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 74 65 20 74 68 61 74 20 60 73 ss="tok-comment">//.Note.that.`s
34560 6c 69 63 65 2e 70 74 72 60 20 64 6f 65 73 20 6e 6f 74 20 69 6e 76 6f 6b 65 20 73 61 66 65 74 79 lice.ptr`.does.not.invoke.safety
34580 20 63 68 65 63 6b 69 6e 67 2c 20 77 68 69 6c 65 20 60 26 61 6d 70 3b 73 6c 69 63 65 5b 30 5d 60 .checking,.while.`&amp;slice[0]`
345a0 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.....<span.class="tok-com
345c0 6d 65 6e 74 22 3e 2f 2f 20 61 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 73 6c 69 63 65 20 ment">//.asserts.that.the.slice.
345e0 68 61 73 20 6c 65 6e 20 26 67 74 3b 20 30 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c has.len.&gt;.0.</span>.}</code><
34600 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f /pre></figure><figure><figcaptio
34620 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 n.class="shell-cap">Shell</figca
34640 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 ption><pre><samp>$.<kbd>zig.test
34660 20 74 65 73 74 5f 62 61 73 69 63 5f 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 .test_basic_slices.zig</kbd>.1/1
34680 20 74 65 73 74 5f 62 61 73 69 63 5f 73 6c 69 63 65 73 2e 74 65 73 74 2e 62 61 73 69 63 20 73 6c .test_basic_slices.test.basic.sl
346a0 69 63 65 73 2e 2e 2e 20 74 68 72 65 61 64 20 39 38 36 34 35 38 20 70 61 6e 69 63 3a 20 69 6e 64 ices....thread.986458.panic:.ind
346c0 65 78 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 3a 20 69 6e 64 65 78 20 31 30 2c 20 6c 65 6e 20 ex.out.of.bounds:.index.10,.len.
346e0 34 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 4./home/ci/actions-runner/_work/
34700 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 zig-bootstrap/zig/docgen_tmp/tes
34720 74 5f 62 61 73 69 63 5f 73 6c 69 63 65 73 2e 7a 69 67 3a 33 34 3a 31 30 3a 20 30 78 31 30 33 39 t_basic_slices.zig:34:10:.0x1039
34740 34 33 39 20 69 6e 20 74 65 73 74 2e 62 61 73 69 63 20 73 6c 69 63 65 73 20 28 74 65 73 74 29 0a 439.in.test.basic.slices.(test).
34760 20 20 20 20 73 6c 69 63 65 5b 31 30 5d 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 5e 0a 2f ....slice[10].+=.1;..........^./
34780 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 home/ci/actions-runner/_work/zig
347a0 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 -bootstrap/out/host/lib/zig/comp
347c0 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 35 38 3a 32 35 3a 20 30 78 31 iler/test_runner.zig:158:25:.0x1
347e0 30 34 34 61 64 32 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 28 74 65 73 74 29 0a 20 20 044ad2.in.mainTerminal.(test)...
34800 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a ......if.(test_fn.func()).|_|.{.
34820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f ........................^./home/
34840 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ci/actions-runner/_work/zig-boot
34860 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f strap/out/host/lib/zig/compiler/
34880 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 35 3a 32 38 3a 20 30 78 31 30 33 61 64 33 62 test_runner.zig:35:28:.0x103ad3b
348a0 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d .in.main.(test).........return.m
348c0 61 69 6e 54 65 72 6d 69 6e 61 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ainTerminal();..................
348e0 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e ..........^./home/ci/actions-run
34900 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 ner/_work/zig-bootstrap/out/host
34920 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 /lib/zig/std/start.zig:501:22:.0
34940 78 31 30 33 39 61 31 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 x1039a19.in.posixCallMainAndExit
34960 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b .(test).............root.main();
34980 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 ......................^./home/ci
349a0 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 /actions-runner/_work/zig-bootst
349c0 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a rap/out/host/lib/zig/std/start.z
349e0 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 39 35 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 ig:253:5:.0x1039581.in._start.(t
34a00 65 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e est).....asm.volatile.(switch.(n
34a20 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 ative_arch).{.....^.???:?:?:.0x0
34a40 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 .in.???.(???).error:.the.followi
34a60 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 0a 2f 68 6f 6d 65 2f 63 ng.test.command.crashed:./home/c
34a80 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 i/actions-runner/_work/zig-boots
34aa0 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 35 61 30 39 61 trap/out/zig-local-cache/o/5a09a
34ac0 38 30 64 65 35 31 33 62 33 39 39 31 61 36 37 37 34 61 36 38 64 66 65 36 39 61 66 2f 74 65 73 74 80de513b3991a6774a68dfe69af/test
34ae0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 .</samp></pre></figure>.......<p
34b00 3e 54 68 69 73 20 69 73 20 6f 6e 65 20 72 65 61 73 6f 6e 20 77 65 20 70 72 65 66 65 72 20 73 6c >This.is.one.reason.we.prefer.sl
34b20 69 63 65 73 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ices.to.pointers.</p>.......<fig
34b40 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
34b60 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 6c 69 63 65 73 2e 7a <cite.class="file">test_slices.z
34b80 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
34ba0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
34bc0 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n>.std.=.<span.class="tok-builti
34be0 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">@import</span>(<span.class="t
34c00 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b ok-str">&quot;std&quot;</span>);
34c20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
34c40 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a n>.expect.=.std.testing.expect;.
34c60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
34c80 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >.mem.=.std.mem;.<span.class="to
34ca0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6d 74 20 3d 20 73 74 64 2e 66 6d 74 k-kw">const</span>.fmt.=.std.fmt
34cc0 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 ;..<span.class="tok-kw">test</sp
34ce0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>.<span.class="tok-str">&quot;
34d00 75 73 69 6e 67 20 73 6c 69 63 65 73 20 66 6f 72 20 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 3c 2f using.slices.for.strings&quot;</
34d20 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d span>.{.....<span.class="tok-com
34d40 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 68 61 73 20 6e 6f 20 63 6f 6e 63 65 70 74 20 6f 66 20 73 ment">//.Zig.has.no.concept.of.s
34d60 74 72 69 6e 67 73 2e 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 63 6f 6e 73 trings..String.literals.are.cons
34d80 74 20 70 6f 69 6e 74 65 72 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 t.pointers</span>.....<span.clas
34da0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 s="tok-comment">//.to.null-termi
34dc0 6e 61 74 65 64 20 61 72 72 61 79 73 20 6f 66 20 75 38 2c 20 61 6e 64 20 62 79 20 63 6f 6e 76 65 nated.arrays.of.u8,.and.by.conve
34de0 6e 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 ntion.parameters</span>.....<spa
34e00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 61 74 20 61 72 n.class="tok-comment">//.that.ar
34e20 65 20 26 71 75 6f 74 3b 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 20 61 72 65 20 65 78 70 65 63 74 e.&quot;strings&quot;.are.expect
34e40 65 64 20 74 6f 20 62 65 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 73 6c 69 63 65 73 20 6f 66 ed.to.be.UTF-8.encoded.slices.of
34e60 20 75 38 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .u8.</span>.....<span.class="tok
34e80 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 77 65 20 63 6f 65 72 63 65 20 2a 63 6f 6e -comment">//.Here.we.coerce.*con
34ea0 73 74 20 5b 35 3a 30 5d 75 38 20 61 6e 64 20 2a 63 6f 6e 73 74 20 5b 36 3a 30 5d 75 38 20 74 6f st.[5:0]u8.and.*const.[6:0]u8.to
34ec0 20 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .[]const.u8</span>.....<span.cla
34ee0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 3a 20 ss="tok-kw">const</span>.hello:.
34f00 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 []<span.class="tok-kw">const</sp
34f20 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>.<span.class="tok-type">u8</s
34f40 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 pan>.=.<span.class="tok-str">&qu
34f60 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e ot;hello&quot;</span>;.....<span
34f80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 6f 72 .class="tok-kw">const</span>.wor
34fa0 6c 64 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ld:.[]<span.class="tok-kw">const
34fc0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 </span>.<span.class="tok-type">u
34fe0 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 8</span>.=.<span.class="tok-str"
35000 3e 26 71 75 6f 74 3b e4 b8 96 e7 95 8c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 >&quot;......&quot;</span>;.....
35020 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">var</span>
35040 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .all_together:.[<span.class="tok
35060 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d -number">100</span>]<span.class=
35080 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">u8</span>.=.<span.cla
350a0 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a ss="tok-null">undefined</span>;.
350c0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
350e0 20 59 6f 75 20 63 61 6e 20 75 73 65 20 73 6c 69 63 65 20 73 79 6e 74 61 78 20 77 69 74 68 20 61 .You.can.use.slice.syntax.with.a
35100 74 20 6c 65 61 73 74 20 6f 6e 65 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 20 69 6e 64 65 78 20 t.least.one.runtime-known.index.
35120 6f 6e 20 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f on.an</span>.....<span.class="to
35140 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 k-comment">//.array.to.convert.a
35160 6e 20 61 72 72 61 79 20 69 6e 74 6f 20 61 20 73 6c 69 63 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 n.array.into.a.slice.</span>....
35180 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">var</span>
351a0 20 73 74 61 72 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 .start:.<span.class="tok-type">u
351c0 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e size</span>.=.<span.class="tok-n
351e0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 73 74 umber">0</span>;....._.=.&amp;st
35200 61 72 74 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f art;.....<span.class="tok-kw">co
35220 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5f 73 6c 69 63 65 20 3d 20 nst</span>.all_together_slice.=.
35240 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5b 73 74 61 72 74 2e 2e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e all_together[start..];.....<span
35260 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 69 6e 67 20 63 .class="tok-comment">//.String.c
35280 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 65 78 61 6d 70 6c 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 oncatenation.example.</span>....
352a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
352c0 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>.hello_world.=.<span.class="to
352e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 66 6d 74 2e 62 75 66 50 72 69 6e 74 28 61 6c k-kw">try</span>.fmt.bufPrint(al
35300 6c 5f 74 6f 67 65 74 68 65 72 5f 73 6c 69 63 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 l_together_slice,.<span.class="t
35320 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 73 7d 20 7b 73 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 ok-str">&quot;{s}.{s}&quot;</spa
35340 6e 3e 2c 20 2e 7b 20 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 20 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 n>,..{.hello,.world.});......<sp
35360 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 47 65 6e 65 72 61 an.class="tok-comment">//.Genera
35380 6c 6c 79 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 55 54 46 2d 38 20 61 6e 64 20 6e 6f 74 20 77 lly,.you.can.use.UTF-8.and.not.w
353a0 6f 72 72 79 20 61 62 6f 75 74 20 77 68 65 74 68 65 72 20 73 6f 6d 65 74 68 69 6e 67 20 69 73 20 orry.about.whether.something.is.
353c0 61 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f a</span>.....<span.class="tok-co
353e0 6d 6d 65 6e 74 22 3e 2f 2f 20 73 74 72 69 6e 67 2e 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 6e mment">//.string..If.you.don't.n
35400 65 65 64 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 69 6e 64 69 76 69 64 75 61 6c 20 63 68 61 72 eed.to.deal.with.individual.char
35420 61 63 74 65 72 73 2c 20 6e 6f 20 6e 65 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e acters,.no.need</span>.....<span
35440 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 64 65 63 6f 64 .class="tok-comment">//.to.decod
35460 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e.</span>.....<span.class="tok-k
35480 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 w">try</span>.expect(mem.eql(<sp
354a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 68 an.class="tok-type">u8</span>,.h
354c0 65 6c 6c 6f 5f 77 6f 72 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ello_world,.<span.class="tok-str
354e0 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 e4 b8 96 e7 95 8c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ">&quot;hello.......&quot;</span
35500 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 >));.}..<span.class="tok-kw">tes
35520 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>.<span.class="tok-str">&
35540 71 75 6f 74 3b 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 quot;slice.pointer&quot;</span>.
35560 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f {.....<span.class="tok-kw">var</
35580 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e span>.array:.[<span.class="tok-n
355a0 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">10</span>]<span.class="to
355c0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">u8</span>.=.<span.class=
355e0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 "tok-null">undefined</span>;....
35600 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
35620 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 n>.ptr.=.&amp;array;.....<span.c
35640 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
35660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f <span.class="tok-builtin">@TypeO
35680 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 20 3d 3d 20 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 f</span>(ptr).==.*[<span.class="
356a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 tok-number">10</span>]<span.clas
356c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 s="tok-type">u8</span>);......<s
356e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 70 6f 69 pan.class="tok-comment">//.A.poi
35700 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 20 63 61 6e 20 62 65 20 73 6c 69 63 65 64 20 6a nter.to.an.array.can.be.sliced.j
35720 75 73 74 20 6c 69 6b 65 20 61 6e 20 61 72 72 61 79 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 ust.like.an.array:</span>.....<s
35740 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 74 pan.class="tok-kw">var</span>.st
35760 61 72 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a art:.<span.class="tok-type">usiz
35780 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 e</span>.=.<span.class="tok-numb
357a0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 er">0</span>;.....<span.class="t
357c0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 6e 64 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">var</span>.end:.<span.cla
357e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 ss="tok-type">usize</span>.=.<sp
35800 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">5</span>;.
35820 20 20 20 20 5f 20 3d 20 2e 7b 20 26 61 6d 70 3b 73 74 61 72 74 2c 20 26 61 6d 70 3b 65 6e 64 20 ...._.=..{.&amp;start,.&amp;end.
35840 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 };.....<span.class="tok-kw">cons
35860 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 70 74 72 5b 73 74 61 72 74 2e 2e 65 6e 64 5d t</span>.slice.=.ptr[start..end]
35880 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ;.....<span.class="tok-comment">
358a0 2f 2f 20 54 68 65 20 73 6c 69 63 65 20 69 73 20 6d 75 74 61 62 6c 65 20 62 65 63 61 75 73 65 20 //.The.slice.is.mutable.because.
358c0 77 65 20 73 6c 69 63 65 64 20 61 20 6d 75 74 61 62 6c 65 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 we.sliced.a.mutable.pointer.</sp
358e0 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 an>.....<span.class="tok-kw">try
35900 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.expect(<span.class="tok-
35920 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 29 20 3d builtin">@TypeOf</span>(slice).=
35940 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 =.[]<span.class="tok-type">u8</s
35960 70 61 6e 3e 29 3b 0a 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>);.....slice[<span.class="to
35980 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 k-number">2</span>].=.<span.clas
359a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 s="tok-number">3</span>;.....<sp
359c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
359e0 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ect(array[<span.class="tok-numbe
35a00 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">2</span>].==.<span.class="tok
35a20 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 -number">3</span>);......<span.c
35a40 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 67 61 69 6e 2c 20 73 6c 69 lass="tok-comment">//.Again,.sli
35a60 63 69 6e 67 20 77 69 74 68 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 69 6e 64 65 78 65 73 cing.with.comptime-known.indexes
35a80 20 77 69 6c 6c 20 70 72 6f 64 75 63 65 20 61 6e 6f 74 68 65 72 20 70 6f 69 6e 74 65 72 3c 2f 73 .will.produce.another.pointer</s
35aa0 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e pan>.....<span.class="tok-commen
35ac0 74 22 3e 2f 2f 20 74 6f 20 61 6e 20 61 72 72 61 79 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 t">//.to.an.array:</span>.....<s
35ae0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
35b00 70 74 72 32 20 3d 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ptr2.=.slice[<span.class="tok-nu
35b20 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">2</span>..<span.class="tok
35b40 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -number">3</span>];.....<span.cl
35b60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 ass="tok-kw">try</span>.expect(p
35b80 74 72 32 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 tr2.len.==.<span.class="tok-numb
35ba0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">1</span>);.....<span.class="
35bc0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 32 5b 3c tok-kw">try</span>.expect(ptr2[<
35be0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e span.class="tok-number">0</span>
35c00 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c ].==.<span.class="tok-number">3<
35c20 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>);.....<span.class="tok-kw
35c40 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">try</span>.expect(<span.class=
35c60 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 "tok-builtin">@TypeOf</span>(ptr
35c80 32 29 20 3d 3d 20 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 2).==.*[<span.class="tok-number"
35ca0 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >1</span>]<span.class="tok-type"
35cc0 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 >u8</span>);.}</code></pre></fig
35ce0 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 ure><figure><figcaption.class="s
35d00 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 hell-cap">Shell</figcaption><pre
35d20 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 6c 69 63 ><samp>$.<kbd>zig.test.test_slic
35d40 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 73 6c 69 63 65 73 2e 74 65 73 es.zig</kbd>.1/2.test_slices.tes
35d60 74 2e 75 73 69 6e 67 20 73 6c 69 63 65 73 20 66 6f 72 20 73 74 72 69 6e 67 73 2e 2e 2e 20 4f 4b t.using.slices.for.strings....OK
35d80 0a 32 2f 32 20 74 65 73 74 5f 73 6c 69 63 65 73 2e 74 65 73 74 2e 73 6c 69 63 65 20 70 6f 69 6e .2/2.test_slices.test.slice.poin
35da0 74 65 72 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f ter....OK.All.2.tests.passed..</
35dc0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 samp></pre></figure>.......<p>Se
35de0 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f e.also:</p><ul>.<li><a.href="#Po
35e00 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 inters">Pointers</a></li>.<li><a
35e20 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 .href="#for">for</a></li>.<li><a
35e40 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a .href="#Arrays">Arrays</a></li>.
35e60 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 </ul>.........<h3.id="Sentinel-T
35e80 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d erminated-Slices"><a.href="#toc-
35ea0 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 Sentinel-Terminated-Slices">Sent
35ec0 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c inel-Terminated.Slices</a>.<a.cl
35ee0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e ass="hdr".href="#Sentinel-Termin
35f00 61 74 65 64 2d 53 6c 69 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ated-Slices">..</a></h3>........
35f20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 5b 3a 78 5d 54 <p>.......The.syntax.<code>[:x]T
35f40 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 73 6c 69 63 65 20 77 68 69 63 68 20 68 61 73 20 61 20 72 </code>.is.a.slice.which.has.a.r
35f60 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 61 6e 64 20 61 6c untime-known.length.......and.al
35f80 73 6f 20 67 75 61 72 61 6e 74 65 65 73 20 61 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 61 so.guarantees.a.sentinel.value.a
35fa0 74 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 6e 64 65 78 65 64 20 62 79 20 74 68 65 20 6c 65 6e t.the.element.indexed.by.the.len
35fc0 67 74 68 2e 20 54 68 65 20 74 79 70 65 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 67 75 61 gth..The.type.does.not.......gua
35fe0 72 61 6e 74 65 65 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 73 65 6e 74 69 6e 65 rantee.that.there.are.no.sentine
36000 6c 20 65 6c 65 6d 65 6e 74 73 20 62 65 66 6f 72 65 20 74 68 61 74 2e 20 53 65 6e 74 69 6e 65 6c l.elements.before.that..Sentinel
36020 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 73 20 61 6c 6c 6f 77 20 65 6c 65 6d 65 6e 74 -terminated.slices.allow.element
36040 0a 20 20 20 20 20 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 6c 65 6e 3c 2f .......access.to.the.<code>len</
36060 63 6f 64 65 3e 20 69 6e 64 65 78 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 code>.index........</p>.......<f
36080 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 igure><figcaption.class="zig-cap
360a0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 75 6c 6c 5f 74 "><cite.class="file">test_null_t
360c0 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 erminated_slice.zig</cite></figc
360e0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
36100 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.std.=.<span.
36120 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 class="tok-builtin">@import</spa
36140 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 n>(<span.class="tok-str">&quot;s
36160 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 td&quot;</span>);.<span.class="t
36180 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 ok-kw">const</span>.expect.=.std
361a0 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .testing.expect;..<span.class="t
361c0 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ok-kw">test</span>.<span.class="
361e0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 30 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 tok-str">&quot;0-terminated.slic
36200 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e&quot;</span>.{.....<span.class
36220 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 3a 20 5b 3a ="tok-kw">const</span>.slice:.[:
36240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e <span.class="tok-number">0</span
36260 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 >]<span.class="tok-kw">const</sp
36280 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>.<span.class="tok-type">u8</s
362a0 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 pan>.=.<span.class="tok-str">&qu
362c0 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 ot;hello&quot;</span>;......<spa
362e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
36300 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ct(slice.len.==.<span.class="tok
36320 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -number">5</span>);.....<span.cl
36340 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 ass="tok-kw">try</span>.expect(s
36360 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c lice[<span.class="tok-number">5<
36380 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 /span>].==.<span.class="tok-numb
363a0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 er">0</span>);.}</code></pre></f
363c0 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
363e0 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
36400 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 75 re><samp>$.<kbd>zig.test.test_nu
36420 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f ll_terminated_slice.zig</kbd>.1/
36440 31 20 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 74 65 73 1.test_null_terminated_slice.tes
36460 74 2e 30 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 t.0-terminated.slice....OK.All.1
36480 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 .tests.passed..</samp></pre></fi
364a0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 6e 74 69 6e 65 6c 2d 74 gure>.......<p>.......Sentinel-t
364c0 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 63 72 65 erminated.slices.can.also.be.cre
364e0 61 74 65 64 20 75 73 69 6e 67 20 61 20 76 61 72 69 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 6c ated.using.a.variation.of.the.sl
36500 69 63 65 20 73 79 6e 74 61 78 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 64 61 74 61 5b 73 74 61 72 ice.syntax.......<code>data[star
36520 74 2e 2e 65 6e 64 20 3a 78 5d 3c 2f 63 6f 64 65 3e 2c 20 77 68 65 72 65 20 3c 63 6f 64 65 3e 64 t..end.:x]</code>,.where.<code>d
36540 61 74 61 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 ata</code>.is.a.many-item.pointe
36560 72 2c 0a 20 20 20 20 20 20 61 72 72 61 79 20 6f 72 20 73 6c 69 63 65 20 61 6e 64 20 3c 63 6f 64 r,.......array.or.slice.and.<cod
36580 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 e>x</code>.is.the.sentinel.value
365a0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 ........</p>.......<figure><figc
365c0 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
365e0 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 ss="file">test_null_terminated_s
36600 6c 69 63 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 licing.zig</cite></figcaption><p
36620 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
36640 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nst</span>.std.=.<span.class="to
36660 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-builtin">@import</span>(<span.
36680 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c class="tok-str">&quot;std&quot;<
366a0 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f /span>);.<span.class="tok-kw">co
366c0 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e nst</span>.expect.=.std.testing.
366e0 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 expect;..<span.class="tok-kw">te
36700 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e st</span>.<span.class="tok-str">
36720 26 71 75 6f 74 3b 30 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 69 6e 67 26 71 75 6f 74 3b &quot;0-terminated.slicing&quot;
36740 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
36760 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 w">var</span>.array.=.[_]<span.c
36780 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e lass="tok-type">u8</span>{.<span
367a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">3</span>,.<s
367c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">2</span>,
367e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 .<span.class="tok-number">1</spa
36800 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f n>,.<span.class="tok-number">0</
36820 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e span>,.<span.class="tok-number">
36840 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 3</span>,.<span.class="tok-numbe
36860 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">2</span>,.<span.class="tok-nu
36880 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">1</span>,.<span.class="tok
368a0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 -number">0</span>.};.....<span.c
368c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 75 6e 74 69 6d 65 lass="tok-kw">var</span>.runtime
368e0 5f 6c 65 6e 67 74 68 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e _length:.<span.class="tok-type">
36900 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d usize</span>.=.<span.class="tok-
36920 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 72 number">3</span>;....._.=.&amp;r
36940 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 untime_length;.....<span.class="
36960 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 tok-kw">const</span>.slice.=.arr
36980 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 ay[<span.class="tok-number">0</s
369a0 70 61 6e 3e 2e 2e 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 20 3a 3c 73 70 61 6e 20 63 6c 61 73 pan>..runtime_length.:<span.clas
369c0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 0a 20 20 20 20 3c s="tok-number">0</span>];......<
369e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">try</span>.e
36a00 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e xpect(<span.class="tok-builtin">
36a20 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 29 20 3d 3d 20 5b 3a 3c 73 70 61 6e @TypeOf</span>(slice).==.[:<span
36a40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 .class="tok-number">0</span>]<sp
36a60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 0a an.class="tok-type">u8</span>);.
36a80 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
36aa0 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c an>.expect(slice.len.==.<span.cl
36ac0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 ass="tok-number">3</span>);.}</c
36ae0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 ode></pre></figure><figure><figc
36b00 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f aption.class="shell-cap">Shell</
36b20 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
36b40 20 74 65 73 74 20 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 69 .test.test_null_terminated_slici
36b60 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6e 75 6c 6c 5f 74 65 72 6d 69 ng.zig</kbd>.1/1.test_null_termi
36b80 6e 61 74 65 64 5f 73 6c 69 63 69 6e 67 2e 74 65 73 74 2e 30 2d 74 65 72 6d 69 6e 61 74 65 64 20 nated_slicing.test.0-terminated.
36ba0 73 6c 69 63 69 6e 67 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 slicing....OK.All.1.tests.passed
36bc0 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c ..</samp></pre></figure>.......<
36be0 70 3e 0a 20 20 20 20 20 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 p>.......Sentinel-terminated.sli
36c00 63 69 6e 67 20 61 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 6e cing.asserts.that.the.element.in
36c20 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 61 .the.sentinel.position.of.the.ba
36c40 63 6b 69 6e 67 20 64 61 74 61 20 69 73 0a 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 74 68 65 cking.data.is.......actually.the
36c60 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 .sentinel.value..If.this.is.not.
36c80 74 68 65 20 63 61 73 65 2c 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 the.case,.safety-protected.<a.hr
36ca0 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e ef="#Undefined-Behavior">Undefin
36cc0 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 20 3c ed.Behavior</a>.results........<
36ce0 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
36d00 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
36d20 3e 74 65 73 74 5f 73 65 6e 74 69 6e 65 6c 5f 6d 69 73 6d 61 74 63 68 2e 7a 69 67 3c 2f 63 69 74 >test_sentinel_mismatch.zig</cit
36d40 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e></figcaption><pre><code><span.
36d60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 class="tok-kw">const</span>.std.
36d80 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 =.<span.class="tok-builtin">@imp
36da0 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ort</span>(<span.class="tok-str"
36dc0 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 >&quot;std&quot;</span>);.<span.
36de0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 class="tok-kw">const</span>.expe
36e00 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 ct.=.std.testing.expect;..<span.
36e20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e class="tok-kw">test</span>.<span
36e40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 65 6e 74 69 6e 65 6c 20 .class="tok-str">&quot;sentinel.
36e60 6d 69 73 6d 61 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 mismatch&quot;</span>.{.....<spa
36e80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 n.class="tok-kw">var</span>.arra
36ea0 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 y.=.[_]<span.class="tok-type">u8
36ec0 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>{.<span.class="tok-number
36ee0 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">3</span>,.<span.class="tok-num
36f00 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">2</span>,.<span.class="tok-
36f20 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>,.<span.class="t
36f40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 ok-number">0</span>.};......<spa
36f60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 72 65 61 74 69 6e n.class="tok-comment">//.Creatin
36f80 67 20 61 20 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 20 66 72 g.a.sentinel-terminated.slice.fr
36fa0 6f 6d 20 74 68 65 20 61 72 72 61 79 20 77 69 74 68 20 61 20 6c 65 6e 67 74 68 20 6f 66 20 32 3c om.the.array.with.a.length.of.2<
36fc0 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d /span>.....<span.class="tok-comm
36fe0 65 6e 74 22 3e 2f 2f 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 76 61 6c 75 65 ent">//.will.result.in.the.value
37000 20 60 31 60 20 6f 63 63 75 70 79 69 6e 67 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d .`1`.occupying.the.sentinel.elem
37020 65 6e 74 20 70 6f 73 69 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 ent.position.</span>.....<span.c
37040 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 64 6f 65 73 20 lass="tok-comment">//.This.does.
37060 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 69 6e 64 69 63 61 74 65 64 20 73 65 6e 74 69 6e 65 6c not.match.the.indicated.sentinel
37080 20 76 61 6c 75 65 20 6f 66 20 60 30 60 20 61 6e 64 20 77 69 6c 6c 20 6c 65 61 64 3c 2f 73 70 61 .value.of.`0`.and.will.lead</spa
370a0 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 n>.....<span.class="tok-comment"
370c0 3e 2f 2f 20 74 6f 20 61 20 72 75 6e 74 69 6d 65 20 70 61 6e 69 63 2e 3c 2f 73 70 61 6e 3e 0a 20 >//.to.a.runtime.panic.</span>..
370e0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 ...<span.class="tok-kw">var</spa
37100 6e 3e 20 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.runtime_length:.<span.class="
37120 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 tok-type">usize</span>.=.<span.c
37140 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 lass="tok-number">2</span>;.....
37160 5f 20 3d 20 26 61 6d 70 3b 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 3b 0a 20 20 20 20 3c 73 70 _.=.&amp;runtime_length;.....<sp
37180 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 an.class="tok-kw">const</span>.s
371a0 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 lice.=.array[<span.class="tok-nu
371c0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 20 3a mber">0</span>..runtime_length.:
371e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e <span.class="tok-number">0</span
37200 3e 5d 3b 0a 0a 20 20 20 20 5f 20 3d 20 73 6c 69 63 65 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 >];......_.=.slice;.}</code></pr
37220 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 e></figure><figure><figcaption.c
37240 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 lass="shell-cap">Shell</figcapti
37260 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 on><pre><samp>$.<kbd>zig.test.te
37280 73 74 5f 73 65 6e 74 69 6e 65 6c 5f 6d 69 73 6d 61 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 st_sentinel_mismatch.zig</kbd>.1
372a0 2f 31 20 74 65 73 74 5f 73 65 6e 74 69 6e 65 6c 5f 6d 69 73 6d 61 74 63 68 2e 74 65 73 74 2e 73 /1.test_sentinel_mismatch.test.s
372c0 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 2e 2e 2e 20 74 68 72 65 61 64 20 39 38 36 35 36 entinel.mismatch....thread.98656
372e0 36 20 70 61 6e 69 63 3a 20 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 3a 20 65 78 70 65 6.panic:.sentinel.mismatch:.expe
37300 63 74 65 64 20 30 2c 20 66 6f 75 6e 64 20 31 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 cted.0,.found.1./home/ci/actions
37320 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f -runner/_work/zig-bootstrap/zig/
37340 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 73 65 6e 74 69 6e 65 6c 5f 6d 69 73 6d 61 74 63 docgen_tmp/test_sentinel_mismatc
37360 68 2e 7a 69 67 3a 31 33 3a 32 34 3a 20 30 78 31 30 33 38 66 35 36 20 69 6e 20 74 65 73 74 2e 73 h.zig:13:24:.0x1038f56.in.test.s
37380 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 20 28 74 65 73 74 29 0a 20 20 20 20 63 6f 6e 73 entinel.mismatch.(test).....cons
373a0 74 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 30 2e 2e 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 t.slice.=.array[0..runtime_lengt
373c0 68 20 3a 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a h.:0];........................^.
373e0 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 /home/ci/actions-runner/_work/zi
37400 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d g-bootstrap/out/host/lib/zig/com
37420 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 35 38 3a 32 35 3a 20 30 78 piler/test_runner.zig:158:25:.0x
37440 31 30 34 34 61 61 32 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 28 74 65 73 74 29 0a 20 1044aa2.in.mainTerminal.(test)..
37460 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b .......if.(test_fn.func()).|_|.{
37480 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 .........................^./home
374a0 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f /ci/actions-runner/_work/zig-boo
374c0 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 tstrap/out/host/lib/zig/compiler
374e0 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 35 3a 32 38 3a 20 30 78 31 30 33 61 61 63 /test_runner.zig:35:28:.0x103aac
37500 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 b.in.main.(test).........return.
37520 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mainTerminal();.................
37540 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 ...........^./home/ci/actions-ru
37560 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 nner/_work/zig-bootstrap/out/hos
37580 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 t/lib/zig/std/start.zig:501:22:.
375a0 30 78 31 30 33 39 35 33 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 0x1039539.in.posixCallMainAndExi
375c0 74 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 t.(test).............root.main()
375e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 ;......................^./home/c
37600 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 i/actions-runner/_work/zig-boots
37620 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e trap/out/host/lib/zig/std/start.
37640 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 39 30 61 31 20 69 6e 20 5f 73 74 61 72 74 20 28 zig:253:5:.0x10390a1.in._start.(
37660 74 65 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 test).....asm.volatile.(switch.(
37680 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 native_arch).{.....^.???:?:?:.0x
376a0 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 0.in.???.(???).error:.the.follow
376c0 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 0a 2f 68 6f 6d 65 2f ing.test.command.crashed:./home/
376e0 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ci/actions-runner/_work/zig-boot
37700 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 35 30 66 65 strap/out/zig-local-cache/o/50fe
37720 65 31 64 31 66 35 36 30 32 32 63 35 39 30 61 33 65 33 33 62 62 65 62 33 31 61 31 31 2f 74 65 73 e1d1f56022c590a3e33bbeb31a11/tes
37740 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c t.</samp></pre></figure>.......<
37760 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d p>See.also:</p><ul>.<li><a.href=
37780 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e "#Sentinel-Terminated-Pointers">
377a0 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e Sentinel-Terminated.Pointers</a>
377c0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 </li>.<li><a.href="#Sentinel-Ter
377e0 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 minated-Arrays">Sentinel-Termina
37800 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 ted.Arrays</a></li>.</ul>.......
37820 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 74 72 75 63 74 22 3e ................<h2.id="struct">
37840 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e <a.href="#toc-struct">struct</a>
37860 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e c2 .<a.class="hdr".href="#struct">.
37880 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 .</a></h2>........<figure><figca
378a0 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 ption.class="zig-cap"><cite.clas
378c0 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e s="file">test_structs.zig</cite>
378e0 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><code><span.cl
37900 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 20 73 ass="tok-comment">//.Declare.a.s
37920 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 truct.</span>.<span.class="tok-c
37940 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 67 69 76 65 73 20 6e 6f 20 67 75 61 72 61 6e 74 65 omment">//.Zig.gives.no.guarante
37960 65 73 20 61 62 6f 75 74 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 66 69 65 6c 64 73 20 61 6e 64 es.about.the.order.of.fields.and
37980 20 74 68 65 20 73 69 7a 65 20 6f 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .the.size.of</span>.<span.class=
379a0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 72 75 63 74 20 62 75 74 20 "tok-comment">//.the.struct.but.
379c0 74 68 65 20 66 69 65 6c 64 73 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 the.fields.are.guaranteed.to.be.
379e0 41 42 49 2d 61 6c 69 67 6e 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ABI-aligned.</span>.<span.class=
37a00 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 "tok-kw">const</span>.Point.=.<s
37a20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e pan.class="tok-kw">struct</span>
37a40 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 .{.....x:.<span.class="tok-type"
37a60 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >f32</span>,.....y:.<span.class=
37a80 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e "tok-type">f32</span>,.};..<span
37aa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 61 79 62 65 20 77 65 .class="tok-comment">//.Maybe.we
37ac0 20 77 61 6e 74 20 74 6f 20 70 61 73 73 20 69 74 20 74 6f 20 4f 70 65 6e 47 4c 20 73 6f 20 77 65 .want.to.pass.it.to.OpenGL.so.we
37ae0 20 77 61 6e 74 20 74 6f 20 62 65 20 70 61 72 74 69 63 75 6c 61 72 20 61 62 6f 75 74 3c 2f 73 70 .want.to.be.particular.about</sp
37b00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f an>.<span.class="tok-comment">//
37b20 20 68 6f 77 20 74 68 65 20 62 79 74 65 73 20 61 72 65 20 61 72 72 61 6e 67 65 64 2e 3c 2f 73 70 .how.the.bytes.are.arranged.</sp
37b40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f an>.<span.class="tok-kw">const</
37b60 73 70 61 6e 3e 20 50 6f 69 6e 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.Point2.=.<span.class="tok-
37b80 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">packed</span>.<span.class="t
37ba0 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 3c 73 ok-kw">struct</span>.{.....x:.<s
37bc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-type">f32</span>,
37be0 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 .....y:.<span.class="tok-type">f
37c00 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 32</span>,.};...<span.class="tok
37c20 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 69 6e 73 74 61 6e 63 65 -comment">//.Declare.an.instance
37c40 20 6f 66 20 61 20 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .of.a.struct.</span>.<span.class
37c60 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 50 6f 69 6e 74 ="tok-kw">const</span>.p.=.Point
37c80 20 7b 0a 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d .{......x.=.<span.class="tok-num
37ca0 62 65 72 22 3e 30 2e 31 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e ber">0.12</span>,......y.=.<span
37cc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 33 34 3c 2f 73 70 61 6e 3e 2c .class="tok-number">0.34</span>,
37ce0 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .};..<span.class="tok-comment">/
37d00 2f 20 4d 61 79 62 65 20 77 65 27 72 65 20 6e 6f 74 20 72 65 61 64 79 20 74 6f 20 66 69 6c 6c 20 /.Maybe.we're.not.ready.to.fill.
37d20 6f 75 74 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 0a 3c out.some.of.the.fields.</span>.<
37d40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 span.class="tok-kw">var</span>.p
37d60 32 20 3d 20 50 6f 69 6e 74 20 7b 0a 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 2.=.Point.{......x.=.<span.class
37d80 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 31 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e ="tok-number">0.12</span>,......
37da0 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 y.=.<span.class="tok-null">undef
37dc0 69 6e 65 64 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ined</span>,.};..<span.class="to
37de0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 6d k-comment">//.Structs.can.have.m
37e00 65 74 68 6f 64 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ethods</span>.<span.class="tok-c
37e20 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 20 6d 65 74 68 6f 64 73 20 61 72 65 20 6e 6f omment">//.Struct.methods.are.no
37e40 74 20 73 70 65 63 69 61 6c 2c 20 74 68 65 79 20 61 72 65 20 6f 6e 6c 79 20 6e 61 6d 65 73 70 61 t.special,.they.are.only.namespa
37e60 63 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ced</span>.<span.class="tok-comm
37e80 65 6e 74 22 3e 2f 2f 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 ent">//.functions.that.you.can.c
37ea0 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 all.with.dot.syntax.</span>.<spa
37ec0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 65 n.class="tok-kw">const</span>.Ve
37ee0 63 33 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 c3.=.<span.class="tok-kw">struct
37f00 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>.{.....x:.<span.class="to
37f20 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e k-type">f32</span>,.....y:.<span
37f40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 .class="tok-type">f32</span>,...
37f60 20 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c ..z:.<span.class="tok-type">f32<
37f80 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>,......<span.class="tok-kw
37fa0 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">pub</span>.<span.class="tok-kw
37fc0 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 ">fn</span>.<span.class="tok-fn"
37fe0 3e 69 6e 69 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >init</span>(x:.<span.class="tok
38000 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 -type">f32</span>,.y:.<span.clas
38020 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 7a 3a 20 3c 73 70 61 s="tok-type">f32</span>,.z:.<spa
38040 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 56 n.class="tok-type">f32</span>).V
38060 65 63 33 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ec3.{.........<span.class="tok-k
38080 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 56 65 63 33 20 7b 0a 20 20 20 20 20 20 20 20 w">return</span>.Vec3.{.........
380a0 20 20 20 20 2e 78 20 3d 20 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 79 2c 0a .....x.=.x,..............y.=.y,.
380c0 20 20 20 20 20 20 20 20 20 20 20 20 2e 7a 20 3d 20 7a 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 .............z.=.z,.........};..
380e0 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 ...}......<span.class="tok-kw">p
38100 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ub</span>.<span.class="tok-kw">f
38120 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f n</span>.<span.class="tok-fn">do
38140 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 56 65 63 33 2c 20 6f 74 68 65 72 3a 20 56 65 63 33 t</span>(self:.Vec3,.other:.Vec3
38160 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 ).<span.class="tok-type">f32</sp
38180 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b an>.{.........<span.class="tok-k
381a0 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 78 20 2a 20 6f 74 68 65 72 2e w">return</span>.self.x.*.other.
381c0 78 20 2b 20 73 65 6c 66 2e 79 20 2a 20 6f 74 68 65 72 2e 79 20 2b 20 73 65 6c 66 2e 7a 20 2a 20 x.+.self.y.*.other.y.+.self.z.*.
381e0 6f 74 68 65 72 2e 7a 3b 0a 20 20 20 20 7d 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 other.z;.....}.};..<span.class="
38200 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 tok-kw">const</span>.expect.=.<s
38220 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c pan.class="tok-builtin">@import<
38240 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>(<span.class="tok-str">&qu
38260 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 ot;std&quot;</span>).testing.exp
38280 65 63 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f ect;.<span.class="tok-kw">test</
382a0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>.<span.class="tok-str">&quo
382c0 74 3b 64 6f 74 20 70 72 6f 64 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 t;dot.product&quot;</span>.{....
382e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
38300 6e 3e 20 76 31 20 3d 20 56 65 63 33 2e 69 6e 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.v1.=.Vec3.init(<span.class="t
38320 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ok-number">1.0</span>,.<span.cla
38340 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ss="tok-number">0.0</span>,.<spa
38360 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 n.class="tok-number">0.0</span>)
38380 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
383a0 3c 2f 73 70 61 6e 3e 20 76 32 20 3d 20 56 65 63 33 2e 69 6e 69 74 28 3c 73 70 61 6e 20 63 6c 61 </span>.v2.=.Vec3.init(<span.cla
383c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ss="tok-number">0.0</span>,.<spa
383e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c n.class="tok-number">1.0</span>,
38400 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 .<span.class="tok-number">0.0</s
38420 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>);.....<span.class="tok-kw">
38440 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 31 2e 64 6f 74 28 76 32 29 20 3d 3d 20 try</span>.expect(v1.dot(v2).==.
38460 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 <span.class="tok-number">0.0</sp
38480 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d an>);......<span.class="tok-comm
384a0 65 6e 74 22 3e 2f 2f 20 4f 74 68 65 72 20 74 68 61 6e 20 62 65 69 6e 67 20 61 76 61 69 6c 61 62 ent">//.Other.than.being.availab
384c0 6c 65 20 74 6f 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2c 20 73 74 72 75 le.to.call.with.dot.syntax,.stru
384e0 63 74 20 6d 65 74 68 6f 64 73 20 61 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 ct.methods.are</span>.....<span.
38500 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 74 20 73 70 65 63 69 class="tok-comment">//.not.speci
38520 61 6c 2e 20 59 6f 75 20 63 61 6e 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 6d 20 61 73 20 61 6e al..You.can.reference.them.as.an
38540 79 20 6f 74 68 65 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 6e 73 69 64 65 3c 2f 73 70 61 6e y.other.declaration.inside</span
38560 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e >.....<span.class="tok-comment">
38580 2f 2f 20 74 68 65 20 73 74 72 75 63 74 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 //.the.struct:</span>.....<span.
385a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 class="tok-kw">try</span>.expect
385c0 28 56 65 63 33 2e 64 6f 74 28 76 31 2c 20 76 32 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 (Vec3.dot(v1,.v2).==.<span.class
385e0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 ="tok-number">0.0</span>);.}..<s
38600 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 pan.class="tok-comment">//.Struc
38620 74 73 20 63 61 6e 20 68 61 76 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e ts.can.have.declarations.</span>
38640 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 .<span.class="tok-comment">//.St
38660 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 30 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 0a ructs.can.have.0.fields.</span>.
38680 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
386a0 3e 20 45 6d 70 74 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 >.Empty.=.<span.class="tok-kw">s
386c0 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 truct</span>.{.....<span.class="
386e0 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tok-kw">pub</span>.<span.class="
38700 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 49 20 3d 20 3c 73 70 61 6e 20 tok-kw">const</span>.PI.=.<span.
38720 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 0a class="tok-number">3.14</span>;.
38740 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 };.<span.class="tok-kw">test</sp
38760 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>.<span.class="tok-str">&quot;
38780 73 74 72 75 63 74 20 6e 61 6d 65 73 70 61 63 65 64 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b struct.namespaced.variable&quot;
387a0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
387c0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 45 6d 70 74 79 2e 50 49 20 3d 3d w">try</span>.expect(Empty.PI.==
387e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f .<span.class="tok-number">3.14</
38800 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>);.....<span.class="tok-kw"
38820 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >try</span>.expect(<span.class="
38840 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 45 6d 70 74 tok-builtin">@sizeOf</span>(Empt
38860 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 y).==.<span.class="tok-number">0
38880 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>);......<span.class="tok-
388a0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 69 6e 73 74 61 6e comment">//.you.can.still.instan
388c0 74 69 61 74 65 20 61 6e 20 65 6d 70 74 79 20 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 tiate.an.empty.struct</span>....
388e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
38900 6e 3e 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 20 3d 20 45 6d 70 74 79 20 7b 7d 3b 0a 0a 20 20 20 n>.does_nothing.=.Empty.{};.....
38920 20 5f 20 3d 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 ._.=.does_nothing;.}..<span.clas
38940 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 s="tok-comment">//.struct.field.
38960 6f 72 64 65 72 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 order.is.determined.by.the.compi
38980 6c 65 72 20 66 6f 72 20 6f 70 74 69 6d 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 3c 2f 73 70 ler.for.optimal.performance.</sp
389a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f an>.<span.class="tok-comment">//
389c0 20 68 6f 77 65 76 65 72 2c 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 63 61 6c 63 75 6c 61 74 .however,.you.can.still.calculat
389e0 65 20 61 20 73 74 72 75 63 74 20 62 61 73 65 20 70 6f 69 6e 74 65 72 20 67 69 76 65 6e 20 61 20 e.a.struct.base.pointer.given.a.
38a00 66 69 65 6c 64 20 70 6f 69 6e 74 65 72 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 field.pointer:</span>.<span.clas
38a20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="tok-kw">fn</span>.<span.class
38a40 3d 22 74 6f 6b 2d 66 6e 22 3e 73 65 74 59 42 61 73 65 64 4f 6e 58 3c 2f 73 70 61 6e 3e 28 78 3a ="tok-fn">setYBasedOnX</span>(x:
38a60 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 .*<span.class="tok-type">f32</sp
38a80 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 an>,.y:.<span.class="tok-type">f
38aa0 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 32</span>).<span.class="tok-type
38ac0 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">void</span>.{.....<span.class=
38ae0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 3a 20 2a 50 6f "tok-kw">const</span>.point:.*Po
38b00 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e int.=.<span.class="tok-builtin">
38b20 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 @fieldParentPtr</span>(<span.cla
38b40 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ss="tok-str">&quot;x&quot;</span
38b60 3e 2c 20 78 29 3b 0a 20 20 20 20 70 6f 69 6e 74 2e 79 20 3d 20 79 3b 0a 7d 0a 3c 73 70 61 6e 20 >,.x);.....point.y.=.y;.}.<span.
38b80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e class="tok-kw">test</span>.<span
38ba0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 65 6c 64 20 70 61 72 .class="tok-str">&quot;field.par
38bc0 65 6e 74 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c ent.pointer&quot;</span>.{.....<
38be0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 span.class="tok-kw">var</span>.p
38c00 6f 69 6e 74 20 3d 20 50 6f 69 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 oint.=.Point.{..........x.=.<spa
38c20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 31 32 33 34 3c 2f 73 70 61 n.class="tok-number">0.1234</spa
38c40 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>,..........y.=.<span.class="to
38c60 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 35 36 37 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a k-number">0.5678</span>,.....};.
38c80 20 20 20 20 73 65 74 59 42 61 73 65 64 4f 6e 58 28 26 61 6d 70 3b 70 6f 69 6e 74 2e 78 2c 20 3c ....setYBasedOnX(&amp;point.x,.<
38ca0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 3c 2f 73 70 61 span.class="tok-number">0.9</spa
38cc0 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 n>);.....<span.class="tok-kw">tr
38ce0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 6f 69 6e 74 2e 79 20 3d 3d 20 3c 73 70 61 6e y</span>.expect(point.y.==.<span
38d00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 3c 2f 73 70 61 6e 3e 29 3b .class="tok-number">0.9</span>);
38d20 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f .}..<span.class="tok-comment">//
38d40 20 59 6f 75 20 63 61 6e 20 72 65 74 75 72 6e 20 61 20 73 74 72 75 63 74 20 66 72 6f 6d 20 61 20 .You.can.return.a.struct.from.a.
38d60 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 69 73 20 68 6f 77 20 77 65 20 64 6f 20 67 65 6e 65 function..This.is.how.we.do.gene
38d80 72 69 63 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d rics</span>.<span.class="tok-com
38da0 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 5a 69 67 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ment">//.in.Zig:</span>.<span.cl
38dc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ass="tok-kw">fn</span>.<span.cla
38de0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 6e 6b 65 64 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 ss="tok-fn">LinkedList</span>(<s
38e00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 pan.class="tok-kw">comptime</spa
38e20 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 n>.T:.<span.class="tok-type">typ
38e40 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 e</span>).<span.class="tok-type"
38e60 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >type</span>.{.....<span.class="
38e80 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">return</span>.<span.clas
38ea0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 s="tok-kw">struct</span>.{......
38ec0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 ...<span.class="tok-kw">pub</spa
38ee0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 n>.<span.class="tok-kw">const</s
38f00 70 61 6e 3e 20 4e 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>.Node.=.<span.class="tok-kw"
38f20 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 >struct</span>.{.............pre
38f40 76 3a 20 3f 2a 4e 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 3a 20 3f 2a 4e v:.?*Node,.............next:.?*N
38f60 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 3a 20 54 2c 0a 20 20 20 20 20 20 ode,.............data:.T,.......
38f80 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 66 69 72 73 74 3a 20 3f 2a 4e 6f 64 65 2c 0a 20 20 20 ..};..........first:.?*Node,....
38fa0 20 20 20 20 20 6c 61 73 74 3a 20 20 3f 2a 4e 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 6c 65 6e 3a .....last:..?*Node,.........len:
38fc0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c ...<span.class="tok-type">usize<
38fe0 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>,.....};.}..<span.class="t
39000 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ok-kw">test</span>.<span.class="
39020 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6c 69 6e 6b 65 64 20 6c 69 73 74 26 71 75 6f 74 3b tok-str">&quot;linked.list&quot;
39040 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 </span>.{.....<span.class="tok-c
39060 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 73 20 63 61 6c 6c 65 64 20 61 74 20 63 omment">//.Functions.called.at.c
39080 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 65 20 6d 65 6d 6f 69 7a 65 64 2e 20 54 68 69 73 20 6d ompile-time.are.memoized..This.m
390a0 65 61 6e 73 20 79 6f 75 20 63 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c eans.you.can</span>.....<span.cl
390c0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 74 68 69 73 3a 3c 2f 73 ass="tok-comment">//.do.this:</s
390e0 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 pan>.....<span.class="tok-kw">tr
39100 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e y</span>.expect(LinkedList(<span
39120 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d .class="tok-type">i32</span>).==
39140 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 .LinkedList(<span.class="tok-typ
39160 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 e">i32</span>));......<span.clas
39180 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 20 3d 20 4c s="tok-kw">const</span>.list.=.L
391a0 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 inkedList(<span.class="tok-type"
391c0 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 0a 20 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 3d 20 3c >i32</span>){..........first.=.<
391e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e span.class="tok-null">null</span
39200 3e 2c 0a 20 20 20 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >,..........last.=.<span.class="
39220 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e tok-null">null</span>,..........
39240 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 len.=.<span.class="tok-number">0
39260 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>,.....};.....<span.class=
39280 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6c 69 73 74 2e "tok-kw">try</span>.expect(list.
392a0 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e len.==.<span.class="tok-number">
392c0 30 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 0</span>);......<span.class="tok
392e0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 69 6e 63 65 20 74 79 70 65 73 20 61 72 65 20 66 69 72 -comment">//.Since.types.are.fir
39300 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 20 79 6f 75 20 63 61 6e 20 69 6e 73 74 61 6e 74 69 st.class.values.you.can.instanti
39320 61 74 65 20 74 68 65 20 74 79 70 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c ate.the.type</span>.....<span.cl
39340 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 79 20 61 73 73 69 67 6e 69 6e ass="tok-comment">//.by.assignin
39360 67 20 69 74 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c g.it.to.a.variable:</span>.....<
39380 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
393a0 20 4c 69 73 74 4f 66 49 6e 74 73 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 .ListOfInts.=.LinkedList(<span.c
393c0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 lass="tok-type">i32</span>);....
393e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">try</span>
39400 20 65 78 70 65 63 74 28 4c 69 73 74 4f 66 49 6e 74 73 20 3d 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 .expect(ListOfInts.==.LinkedList
39420 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 (<span.class="tok-type">i32</spa
39440 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>));......<span.class="tok-kw">
39460 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 20 3d 20 4c 69 73 74 4f 66 49 6e 74 73 2e 4e 6f 64 var</span>.node.=.ListOfInts.Nod
39480 65 7b 0a 20 20 20 20 20 20 20 20 2e 70 72 65 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e{..........prev.=.<span.class="
394a0 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e tok-null">null</span>,..........
394c0 6e 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 next.=.<span.class="tok-null">nu
394e0 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 64 61 74 61 20 3d 20 3c 73 70 61 6e ll</span>,..........data.=.<span
39500 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c .class="tok-number">1234</span>,
39520 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .....};.....<span.class="tok-kw"
39540 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 32 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 >const</span>.list2.=.LinkedList
39560 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 (<span.class="tok-type">i32</spa
39580 6e 3e 29 7b 0a 20 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c n>){..........first.=.&amp;node,
395a0 0a 20 20 20 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c 0a 20 20 20 20 ..........last.=.&amp;node,.....
395c0 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 .....len.=.<span.class="tok-numb
395e0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 er">1</span>,.....};......<span.
39600 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 75 73 69 6e class="tok-comment">//.When.usin
39620 67 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 75 63 74 2c 20 66 69 65 6c 64 73 20 g.a.pointer.to.a.struct,.fields.
39640 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 64 69 72 65 63 74 6c 79 2c 3c 2f 73 70 61 6e 3e can.be.accessed.directly,</span>
39660 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
39680 2f 20 77 69 74 68 6f 75 74 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 72 65 66 65 72 65 6e 63 69 /.without.explicitly.dereferenci
396a0 6e 67 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e ng.the.pointer.</span>.....<span
396c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 6f 20 79 6f 75 20 63 .class="tok-comment">//.So.you.c
396e0 61 6e 20 64 6f 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an.do</span>.....<span.class="to
39700 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6c 69 73 74 32 2e 66 69 k-kw">try</span>.expect(list2.fi
39720 72 73 74 2e 3f 2e 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e rst.?.data.==.<span.class="tok-n
39740 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 umber">1234</span>);.....<span.c
39760 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 73 74 65 61 64 20 6f 66 lass="tok-comment">//.instead.of
39780 20 74 72 79 20 65 78 70 65 63 74 28 6c 69 73 74 32 2e 66 69 72 73 74 2e 3f 2e 2a 2e 64 61 74 61 .try.expect(list2.first.?.*.data
397a0 20 3d 3d 20 31 32 33 34 29 3b 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e .==.1234);</span>.}</code></pre>
397c0 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 </figure><figure><figcaption.cla
397e0 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e ss="shell-cap">Shell</figcaption
39800 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 ><pre><samp>$.<kbd>zig.test.test
39820 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 34 20 74 65 73 74 5f 73 74 72 75 _structs.zig</kbd>.1/4.test_stru
39840 63 74 73 2e 74 65 73 74 2e 64 6f 74 20 70 72 6f 64 75 63 74 2e 2e 2e 20 4f 4b 0a 32 2f 34 20 74 cts.test.dot.product....OK.2/4.t
39860 65 73 74 5f 73 74 72 75 63 74 73 2e 74 65 73 74 2e 73 74 72 75 63 74 20 6e 61 6d 65 73 70 61 63 est_structs.test.struct.namespac
39880 65 64 20 76 61 72 69 61 62 6c 65 2e 2e 2e 20 4f 4b 0a 33 2f 34 20 74 65 73 74 5f 73 74 72 75 63 ed.variable....OK.3/4.test_struc
398a0 74 73 2e 74 65 73 74 2e 66 69 65 6c 64 20 70 61 72 65 6e 74 20 70 6f 69 6e 74 65 72 2e 2e 2e 20 ts.test.field.parent.pointer....
398c0 4f 4b 0a 34 2f 34 20 74 65 73 74 5f 73 74 72 75 63 74 73 2e 74 65 73 74 2e 6c 69 6e 6b 65 64 20 OK.4/4.test_structs.test.linked.
398e0 6c 69 73 74 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 34 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c list....OK.All.4.tests.passed..<
39900 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 33 /samp></pre></figure>........<h3
39920 20 69 64 3d 22 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 .id="Default-Field-Values"><a.hr
39940 65 66 3d 22 23 74 6f 63 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 44 ef="#toc-Default-Field-Values">D
39960 65 66 61 75 6c 74 20 46 69 65 6c 64 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 efault.Field.Values</a>.<a.class
39980 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 ="hdr".href="#Default-Field-Valu
399a0 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 es">..</a></h3>........<p>......
399c0 20 45 61 63 68 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 6d 61 79 20 68 61 76 65 20 61 6e 20 65 .Each.struct.field.may.have.an.e
399e0 78 70 72 65 73 73 69 6f 6e 20 69 6e 64 69 63 61 74 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 xpression.indicating.the.default
39a00 20 66 69 65 6c 64 0a 20 20 20 20 20 20 76 61 6c 75 65 2e 20 53 75 63 68 20 65 78 70 72 65 73 73 .field.......value..Such.express
39a20 69 6f 6e 73 20 61 72 65 20 65 78 65 63 75 74 65 64 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 ions.are.executed.at.<a.href="#c
39a40 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 20 61 6e 64 20 61 6c 6c 6f 77 omptime">comptime</a>,.and.allow
39a60 20 74 68 65 0a 20 20 20 20 20 20 66 69 65 6c 64 20 74 6f 20 62 65 20 6f 6d 69 74 74 65 64 20 69 .the.......field.to.be.omitted.i
39a80 6e 20 61 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 n.a.struct.literal.expression:..
39aa0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 .....</p>.......<figure><figcapt
39ac0 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
39ae0 22 66 69 6c 65 22 3e 73 74 72 75 63 74 5f 64 65 66 61 75 6c 74 5f 66 69 65 6c 64 5f 76 61 6c 75 "file">struct_default_field_valu
39b00 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c es.zig</cite></figcaption><pre><
39b20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
39b40 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.Foo.=.<span.class="tok-kw
39b60 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 ">struct</span>.{.....a:.<span.c
39b80 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">i32</span>.=.<sp
39ba0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e an.class="tok-number">1234</span
39bc0 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >,.....b:.<span.class="tok-type"
39be0 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >i32</span>,.};..<span.class="to
39c00 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k-kw">test</span>.<span.class="t
39c20 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 61 75 6c 74 20 73 74 72 75 63 74 20 69 6e 69 ok-str">&quot;default.struct.ini
39c40 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 69 65 6c 64 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 tialization.fields&quot;</span>.
39c60 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 {.....<span.class="tok-kw">const
39c80 3c 2f 73 70 61 6e 3e 20 78 3a 20 46 6f 6f 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 2e 62 20 3d </span>.x:.Foo.=..{..........b.=
39ca0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 .<span.class="tok-number">5</spa
39cc0 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>,.....};.....<span.class="tok-
39ce0 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 2e 61 20 2b 20 78 2e 62 20 21 3d 20 3c 73 70 61 kw">if</span>.(x.a.+.x.b.!=.<spa
39d00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 39 3c 2f 73 70 61 6e 3e n.class="tok-number">1239</span>
39d20 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ).{.........<span.class="tok-kw"
39d40 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >comptime</span>.<span.class="to
39d60 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a k-kw">unreachable</span>;.....}.
39d80 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
39da0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
39dc0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
39de0 3e 7a 69 67 20 74 65 73 74 20 73 74 72 75 63 74 5f 64 65 66 61 75 6c 74 5f 66 69 65 6c 64 5f 76 >zig.test.struct_default_field_v
39e00 61 6c 75 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 73 74 72 75 63 74 5f 64 65 66 61 75 alues.zig</kbd>.1/1.struct_defau
39e20 6c 74 5f 66 69 65 6c 64 5f 76 61 6c 75 65 73 2e 74 65 73 74 2e 64 65 66 61 75 6c 74 20 73 74 72 lt_field_values.test.default.str
39e40 75 63 74 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 69 65 6c 64 73 2e 2e 2e 20 4f 4b 0a uct.initialization.fields....OK.
39e60 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 All.1.tests.passed..</samp></pre
39e80 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 65 66 61 75 ></figure>.......<p>.......Defau
39ea0 6c 74 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 61 72 65 20 6f 6e 6c 79 20 61 70 70 72 6f 70 72 lt.field.values.are.only.appropr
39ec0 69 61 74 65 20 77 68 65 6e 20 74 68 65 20 64 61 74 61 20 69 6e 76 61 72 69 61 6e 74 73 20 6f 66 iate.when.the.data.invariants.of
39ee0 20 61 20 73 74 72 75 63 74 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 76 69 6f 6c 61 74 .a.struct.......cannot.be.violat
39f00 65 64 20 62 79 20 6f 6d 69 74 74 69 6e 67 20 74 68 61 74 20 66 69 65 6c 64 20 66 72 6f 6d 20 61 ed.by.omitting.that.field.from.a
39f20 6e 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 n.initialization........</p>....
39f40 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 68 65 72 65 20 69 ...<p>.......For.example,.here.i
39f60 73 20 61 6e 20 69 6e 61 70 70 72 6f 70 72 69 61 74 65 20 75 73 65 20 6f 66 20 64 65 66 61 75 6c s.an.inappropriate.use.of.defaul
39f80 74 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 3a 0a 20 t.struct.field.initialization:..
39fa0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 .....</p>.......<figure><figcapt
39fc0 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
39fe0 22 66 69 6c 65 22 3e 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 "file">bad_default_value.zig</ci
3a000 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
3a020 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 68 72 .class="tok-kw">const</span>.Thr
3a040 65 73 68 6f 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 eshold.=.<span.class="tok-kw">st
3a060 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6d 69 6e 69 6d 75 6d 3a 20 3c 73 70 61 6e ruct</span>.{.....minimum:.<span
3a080 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c .class="tok-type">f32</span>.=.<
3a0a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 32 35 3c 2f 73 70 span.class="tok-number">0.25</sp
3a0c0 61 6e 3e 2c 0a 20 20 20 20 6d 61 78 69 6d 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>,.....maximum:.<span.class="t
3a0e0 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">f32</span>.=.<span.clas
3a100 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 37 35 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 s="tok-number">0.75</span>,.....
3a120 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
3a140 6e 3e 20 43 61 74 65 67 6f 72 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b n>.Category.=.<span.class="tok-k
3a160 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 20 6c 6f 77 2c 20 6d 65 64 69 75 6d 2c 20 68 69 w">enum</span>.{.low,.medium,.hi
3a180 67 68 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e gh.};......<span.class="tok-kw">
3a1a0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 fn</span>.<span.class="tok-fn">c
3a1c0 61 74 65 67 6f 72 69 7a 65 3c 2f 73 70 61 6e 3e 28 74 3a 20 54 68 72 65 73 68 6f 6c 64 2c 20 76 ategorize</span>(t:.Threshold,.v
3a1e0 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 alue:.<span.class="tok-type">f32
3a200 3c 2f 73 70 61 6e 3e 29 20 43 61 74 65 67 6f 72 79 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 </span>).Category.{.........asse
3a220 72 74 28 74 2e 6d 61 78 69 6d 75 6d 20 26 67 74 3b 3d 20 74 2e 6d 69 6e 69 6d 75 6d 29 3b 0a 20 rt(t.maximum.&gt;=.t.minimum);..
3a240 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f .......<span.class="tok-kw">if</
3a260 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 26 6c 74 3b 20 74 2e 6d 69 6e 69 6d 75 6d 29 20 3c 73 70 span>.(value.&lt;.t.minimum).<sp
3a280 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">return</span>.
3a2a0 2e 6c 6f 77 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .low;.........<span.class="tok-k
3a2c0 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 26 67 74 3b 20 74 2e 6d 61 78 69 6d w">if</span>.(value.&gt;.t.maxim
3a2e0 75 6d 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c um).<span.class="tok-kw">return<
3a300 2f 73 70 61 6e 3e 20 2e 68 69 67 68 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 /span>..high;.........<span.clas
3a320 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 2e 6d 65 64 69 75 6d s="tok-kw">return</span>..medium
3a340 3b 0a 20 20 20 20 7d 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ;.....}.};..<span.class="tok-kw"
3a360 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >pub</span>.<span.class="tok-kw"
3a380 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e >fn</span>.<span.class="tok-fn">
3a3a0 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d main</span>().!<span.class="tok-
3a3c0 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">void</span>.{.....<span.cl
3a3e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 74 68 72 65 73 68 6f 6c ass="tok-kw">var</span>.threshol
3a400 64 3a 20 54 68 72 65 73 68 6f 6c 64 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6d 61 78 69 6d d:.Threshold.=..{..........maxim
3a420 75 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e um.=.<span.class="tok-number">0.
3a440 32 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 20</span>,.....};.....<span.clas
3a460 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 61 74 65 67 6f 72 79 s="tok-kw">const</span>.category
3a480 20 3d 20 74 68 72 65 73 68 6f 6c 64 2e 63 61 74 65 67 6f 72 69 7a 65 28 3c 73 70 61 6e 20 63 6c .=.threshold.categorize(<span.cl
3a4a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 ass="tok-number">0.90</span>);..
3a4c0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
3a4e0 6e 3e 20 73 74 64 2e 69 6f 2e 67 65 74 53 74 64 4f 75 74 28 29 2e 77 72 69 74 65 41 6c 6c 28 3c n>.std.io.getStdOut().writeAll(<
3a500 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d span.class="tok-builtin">@tagNam
3a520 65 3c 2f 73 70 61 6e 3e 28 63 61 74 65 67 6f 72 79 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c e</span>(category));.}..<span.cl
3a540 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 ass="tok-kw">const</span>.std.=.
3a560 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 <span.class="tok-builtin">@impor
3a580 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>(<span.class="tok-str">&
3a5a0 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c quot;std&quot;</span>);.<span.cl
3a5c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 ass="tok-kw">const</span>.assert
3a5e0 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 .=.std.debug.assert;</code></pre
3a600 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c ></figure><figure><figcaption.cl
3a620 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f ass="shell-cap">Shell</figcaptio
3a640 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 n><pre><samp>$.<kbd>zig.build-ex
3a660 65 20 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 e.bad_default_value.zig</kbd>.$.
3a680 3c 6b 62 64 3e 2e 2f 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 3c 2f 6b 62 64 3e 0a 74 <kbd>./bad_default_value</kbd>.t
3a6a0 68 72 65 61 64 20 39 38 36 36 34 37 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 hread.986647.panic:.reached.unre
3a6c0 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 achable.code./home/ci/actions-ru
3a6e0 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 nner/_work/zig-bootstrap/out/hos
3a700 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 34 30 33 3a 31 34 3a 20 t/lib/zig/std/debug.zig:403:14:.
3a720 30 78 31 30 33 36 35 37 64 20 69 6e 20 61 73 73 65 72 74 20 28 62 61 64 5f 64 65 66 61 75 6c 74 0x103657d.in.assert.(bad_default
3a740 5f 76 61 6c 75 65 29 0a 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 _value).....if.(!ok).unreachable
3a760 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 20 ;.//.assertion.failure..........
3a780 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 ....^./home/ci/actions-runner/_w
3a7a0 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 ork/zig-bootstrap/zig/docgen_tmp
3a7c0 2f 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 2e 7a 69 67 3a 38 3a 31 35 3a 20 30 78 31 /bad_default_value.zig:8:15:.0x1
3a7e0 30 33 33 61 38 39 20 69 6e 20 63 61 74 65 67 6f 72 69 7a 65 20 28 62 61 64 5f 64 65 66 61 75 6c 033a89.in.categorize.(bad_defaul
3a800 74 5f 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 74 2e 6d 61 78 69 6d 75 t_value).........assert(t.maximu
3a820 6d 20 26 67 74 3b 3d 20 74 2e 6d 69 6e 69 6d 75 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 m.&gt;=.t.minimum);.............
3a840 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 ..^./home/ci/actions-runner/_wor
3a860 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 62 k/zig-bootstrap/zig/docgen_tmp/b
3a880 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 2e 7a 69 67 3a 31 39 3a 34 32 3a 20 30 78 31 30 ad_default_value.zig:19:42:.0x10
3a8a0 33 33 39 62 61 20 69 6e 20 6d 61 69 6e 20 28 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 339ba.in.main.(bad_default_value
3a8c0 29 0a 20 20 20 20 63 6f 6e 73 74 20 63 61 74 65 67 6f 72 79 20 3d 20 74 68 72 65 73 68 6f 6c 64 ).....const.category.=.threshold
3a8e0 2e 63 61 74 65 67 6f 72 69 7a 65 28 30 2e 39 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .categorize(0.90);..............
3a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 ............................^./h
3a920 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d ome/ci/actions-runner/_work/zig-
3a940 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 bootstrap/out/host/lib/zig/std/s
3a960 74 61 72 74 2e 7a 69 67 3a 35 31 31 3a 33 37 3a 20 30 78 31 30 33 33 38 64 35 20 69 6e 20 70 6f tart.zig:511:37:.0x10338d5.in.po
3a980 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 62 61 64 5f 64 65 66 61 75 6c 74 5f sixCallMainAndExit.(bad_default_
3a9a0 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 value).............const.result.
3a9c0 3d 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 20 63 61 74 63 68 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 =.root.main().catch.|err|.{.....
3a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3aa00 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f ^./home/ci/actions-runner/_work/
3aa20 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 zig-bootstrap/out/host/lib/zig/s
3aa40 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 33 33 66 31 20 69 6e td/start.zig:253:5:.0x10333f1.in
3aa60 20 5f 73 74 61 72 74 20 28 62 61 64 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 29 0a 20 20 20 20 ._start.(bad_default_value).....
3aa80 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 asm.volatile.(switch.(native_arc
3aaa0 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 h).{.....^.???:?:?:.0x0.in.???.(
3aac0 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e ???).(process.terminated.by.sign
3aae0 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 al).</samp></pre></figure>......
3ab00 20 3c 70 3e 0a 20 20 20 20 20 20 41 62 6f 76 65 20 79 6f 75 20 63 61 6e 20 73 65 65 20 74 68 65 .<p>.......Above.you.can.see.the
3ab20 20 64 61 6e 67 65 72 20 6f 66 20 69 67 6e 6f 72 69 6e 67 20 74 68 69 73 20 70 72 69 6e 63 69 70 .danger.of.ignoring.this.princip
3ab40 6c 65 2e 20 54 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 66 69 65 6c 64 20 76 61 6c 75 le..The.default.......field.valu
3ab60 65 73 20 63 61 75 73 65 64 20 74 68 65 20 64 61 74 61 20 69 6e 76 61 72 69 61 6e 74 20 74 6f 20 es.caused.the.data.invariant.to.
3ab80 62 65 20 76 69 6f 6c 61 74 65 64 2c 20 63 61 75 73 69 6e 67 20 69 6c 6c 65 67 61 6c 0a 20 20 20 be.violated,.causing.illegal....
3aba0 20 20 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ...behavior........</p>.......<p
3abc0 3e 0a 20 20 20 20 20 20 54 6f 20 66 69 78 20 74 68 69 73 2c 20 72 65 6d 6f 76 65 20 74 68 65 20 >.......To.fix.this,.remove.the.
3abe0 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 61 6c 6c 20 74 68 65 20 73 74 72 75 default.values.from.all.the.stru
3ac00 63 74 20 66 69 65 6c 64 73 2c 20 61 6e 64 20 70 72 6f 76 69 64 65 0a 20 20 20 20 20 20 61 20 6e ct.fields,.and.provide.......a.n
3ac20 61 6d 65 64 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 amed.default.value:.......</p>..
3ac40 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 .....<figure><figcaption.class="
3ac60 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 zig-cap"><cite.class="file">stru
3ac80 63 74 5f 64 65 66 61 75 6c 74 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ct_default_value.zig</cite></fig
3aca0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><code><span.class="
3acc0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 68 72 65 73 68 6f 6c 64 20 3d tok-kw">const</span>.Threshold.=
3ace0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 .<span.class="tok-kw">struct</sp
3ad00 61 6e 3e 20 7b 0a 20 20 20 20 6d 69 6e 69 6d 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.{.....minimum:.<span.class="
3ad20 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 6d 61 78 69 6d 75 tok-type">f32</span>,.....maximu
3ad40 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 m:.<span.class="tok-type">f32</s
3ad60 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>,......<span.class="tok-kw">
3ad80 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 66 61 75 6c 74 3a 20 54 68 72 65 73 68 6f 6c 64 20 const</span>.default:.Threshold.
3ada0 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6d 69 6e 69 6d 75 6d 20 3d 20 3c 73 70 61 6e 20 63 6c =..{..........minimum.=.<span.cl
3adc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 32 35 3c 2f 73 70 61 6e 3e 2c 0a 20 20 ass="tok-number">0.25</span>,...
3ade0 20 20 20 20 20 20 2e 6d 61 78 69 6d 75 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .......maximum.=.<span.class="to
3ae00 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 37 35 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 7d 3b k-number">0.75</span>,.....};.};
3ae20 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </code></pre></figure>.......<p>
3ae40 49 66 20 61 20 73 74 72 75 63 74 20 76 61 6c 75 65 20 72 65 71 75 69 72 65 73 20 61 20 72 75 6e If.a.struct.value.requires.a.run
3ae60 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 62 65 20 time-known.value.in.order.to.be.
3ae80 69 6e 69 74 69 61 6c 69 7a 65 64 0a 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 76 69 6f 6c 61 74 initialized.......without.violat
3aea0 69 6e 67 20 64 61 74 61 20 69 6e 76 61 72 69 61 6e 74 73 2c 20 74 68 65 6e 20 75 73 65 20 61 6e ing.data.invariants,.then.use.an
3aec0 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6d 65 74 68 6f 64 20 74 68 61 74 20 61 63 63 65 .initialization.method.that.acce
3aee0 70 74 73 0a 20 20 20 20 20 20 74 68 6f 73 65 20 72 75 6e 74 69 6d 65 20 76 61 6c 75 65 73 2c 20 pts.......those.runtime.values,.
3af00 61 6e 64 20 70 6f 70 75 6c 61 74 65 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 66 69 65 6c and.populates.the.remaining.fiel
3af20 64 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 ds.</p>...............<h3.id="ex
3af40 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 72 tern-struct"><a.href="#toc-exter
3af60 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 6e 20 73 74 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 n-struct">extern.struct</a>.<a.c
3af80 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 lass="hdr".href="#extern-struct"
3afa0 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 3c 63 6f 64 65 3e >..</a></h3>........<p>An.<code>
3afc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 <span.class="tok-kw">extern</spa
3afe0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f n>.<span.class="tok-kw">struct</
3b000 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 span></code>.has.in-memory.layou
3b020 74 20 6d 61 74 63 68 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 43 20 41 42 49 20 66 6f 72 20 74 t.matching.......the.C.ABI.for.t
3b040 68 65 20 74 61 72 67 65 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 77 65 6c 6c 2d he.target.</p>.......<p>If.well-
3b060 64 65 66 69 6e 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 69 73 20 6e 6f 74 20 defined.in-memory.layout.is.not.
3b080 72 65 71 75 69 72 65 64 2c 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 required,.<a.href="#struct">stru
3b0a0 63 74 3c 2f 61 3e 20 69 73 20 61 20 62 65 74 74 65 72 20 63 68 6f 69 63 65 0a 20 20 20 20 20 20 ct</a>.is.a.better.choice.......
3b0c0 62 65 63 61 75 73 65 20 69 74 20 70 6c 61 63 65 73 20 66 65 77 65 72 20 72 65 73 74 72 69 63 74 because.it.places.fewer.restrict
3b0e0 69 6f 6e 73 20 6f 6e 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 ions.on.the.compiler.</p>.......
3b100 3c 70 3e 53 65 65 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e <p>See.<a.href="#packed-struct">
3b120 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 20 66 6f 72 20 61 20 73 74 72 75 63 74 20 74 packed.struct</a>.for.a.struct.t
3b140 68 61 74 20 68 61 73 20 74 68 65 20 41 42 49 20 6f 66 20 69 74 73 20 62 61 63 6b 69 6e 67 20 69 hat.has.the.ABI.of.its.backing.i
3b160 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 66 75 nteger,.......which.can.be.usefu
3b180 6c 20 66 6f 72 20 6d 6f 64 65 6c 69 6e 67 20 66 6c 61 67 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 l.for.modeling.flags.</p>.......
3b1a0 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 <p>See.also:</p><ul>.<li><a.href
3b1c0 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 ="#extern-union">extern.union</a
3b1e0 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 65 6e 75 6d ></li>.<li><a.href="#extern-enum
3b200 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 ">extern.enum</a></li>.</ul>....
3b220 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 61 63 6b 65 64 2d 73 74 72 75 63 ............<h3.id="packed-struc
3b240 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e t"><a.href="#toc-packed-struct">
3b260 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 packed.struct</a>.<a.class="hdr"
3b280 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 .href="#packed-struct">..</a></h
3b2a0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 6c 69 6b 65 20 6e 6f 72 6d 61 3>........<p>.......Unlike.norma
3b2c0 6c 20 73 74 72 75 63 74 73 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f l.structs,.<code><span.class="to
3b2e0 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 k-kw">packed</span></code>.struc
3b300 74 73 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 ts.have.guaranteed.in-memory.lay
3b320 6f 75 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 out:.......</p>.......<ul>......
3b340 20 20 20 3c 6c 69 3e 46 69 65 6c 64 73 20 72 65 6d 61 69 6e 20 69 6e 20 74 68 65 20 6f 72 64 65 ...<li>Fields.remain.in.the.orde
3b360 72 20 64 65 63 6c 61 72 65 64 2c 20 6c 65 61 73 74 20 74 6f 20 6d 6f 73 74 20 73 69 67 6e 69 66 r.declared,.least.to.most.signif
3b380 69 63 61 6e 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 72 65 20 69 73 icant.</li>.........<li>There.is
3b3a0 20 6e 6f 20 70 61 64 64 69 6e 67 20 62 65 74 77 65 65 6e 20 66 69 65 6c 64 73 2e 3c 2f 6c 69 3e .no.padding.between.fields.</li>
3b3c0 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 72 62 69 74 72 .........<li>Zig.supports.arbitr
3b3e0 61 72 79 20 77 69 64 74 68 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e ary.width.<a.href="#Integers">In
3b400 74 65 67 65 72 73 3c 2f 61 3e 20 61 6e 64 20 61 6c 74 68 6f 75 67 68 20 6e 6f 72 6d 61 6c 6c 79 tegers</a>.and.although.normally
3b420 2c 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 66 65 77 65 72 0a 20 20 20 20 20 20 20 20 74 68 ,.integers.with.fewer.........th
3b440 61 6e 20 38 20 62 69 74 73 20 77 69 6c 6c 20 73 74 69 6c 6c 20 75 73 65 20 31 20 62 79 74 65 20 an.8.bits.will.still.use.1.byte.
3b460 6f 66 20 6d 65 6d 6f 72 79 2c 20 69 6e 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 2c 20 74 68 of.memory,.in.packed.structs,.th
3b480 65 79 20 75 73 65 0a 20 20 20 20 20 20 20 20 65 78 61 63 74 6c 79 20 74 68 65 69 72 20 62 69 74 ey.use.........exactly.their.bit
3b4a0 20 77 69 64 74 68 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c .width..........</li>.........<l
3b4c0 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 i><code><span.class="tok-type">b
3b4e0 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 69 65 6c 64 73 20 75 73 65 20 65 78 61 ool</span></code>.fields.use.exa
3b500 63 74 6c 79 20 31 20 62 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 ctly.1.bit.</li>.........<li>An.
3b520 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 66 69 65 6c 64 20 75 <a.href="#enum">enum</a>.field.u
3b540 73 65 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 69 74 73 ses.exactly.the.bit.width.of.its
3b560 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .integer.tag.type.</li>.........
3b580 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 <li>A.<a.href="#packed-union">pa
3b5a0 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 66 69 65 6c 64 20 75 73 65 73 20 65 78 61 63 74 6c cked.union</a>.field.uses.exactl
3b5c0 79 20 74 68 65 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 74 68 65 20 75 6e 69 6f 6e 20 66 69 65 y.the.bit.width.of.the.union.fie
3b5e0 6c 64 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 74 68 65 20 6c 61 72 67 65 73 74 20 62 69 74 20 ld.with.........the.largest.bit.
3b600 77 69 64 74 68 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 width.</li>.......</ul>.......<p
3b620 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 20 3c 63 6f 64 65 3e >.......This.means.that.a.<code>
3b640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 <span.class="tok-kw">packed</spa
3b660 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f n>.<span.class="tok-kw">struct</
3b680 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 70 61 72 74 69 63 69 70 61 74 65 0a 20 20 20 span></code>.can.participate....
3b6a0 20 20 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 ...in.a.<a.href="#bitCast">@bitC
3b6c0 61 73 74 3c 2f 61 3e 20 6f 72 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e ast</a>.or.a.<a.href="#ptrCast">
3b6e0 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 74 6f 20 72 65 69 6e 74 65 72 70 72 65 74 20 6d 65 6d 6f @ptrCast</a>.to.reinterpret.memo
3b700 72 79 2e 0a 20 20 20 20 20 20 54 68 69 73 20 65 76 65 6e 20 77 6f 72 6b 73 20 61 74 20 3c 61 20 ry........This.even.works.at.<a.
3b720 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3a 0a 20 href="#comptime">comptime</a>:..
3b740 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 .....</p>.......<figure><figcapt
3b760 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
3b780 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f "file">test_packed_structs.zig</
3b7a0 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 cite></figcaption><pre><code><sp
3b7c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 an.class="tok-kw">const</span>.s
3b7e0 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 td.=.<span.class="tok-builtin">@
3b800 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 import</span>(<span.class="tok-s
3b820 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 tr">&quot;std&quot;</span>);.<sp
3b840 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e an.class="tok-kw">const</span>.n
3b860 61 74 69 76 65 5f 65 6e 64 69 61 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ative_endian.=.<span.class="tok-
3b880 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c builtin">@import</span>(<span.cl
3b8a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 ass="tok-str">&quot;builtin&quot
3b8c0 3b 3c 2f 73 70 61 6e 3e 29 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 2e 65 6e 64 69 61 6e ;</span>).target.cpu.arch.endian
3b8e0 28 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ();.<span.class="tok-kw">const</
3b900 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 span>.expect.=.std.testing.expec
3b920 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f t;..<span.class="tok-kw">const</
3b940 73 70 61 6e 3e 20 46 75 6c 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>.Full.=.<span.class="tok-kw
3b960 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">packed</span>.<span.class="tok
3b980 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6e 75 6d 62 65 72 3a -kw">struct</span>.{.....number:
3b9a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 .<span.class="tok-type">u16</spa
3b9c0 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 n>,.};.<span.class="tok-kw">cons
3b9e0 74 3c 2f 73 70 61 6e 3e 20 44 69 76 69 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t</span>.Divided.=.<span.class="
3ba00 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">packed</span>.<span.clas
3ba20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 68 s="tok-kw">struct</span>.{.....h
3ba40 61 6c 66 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c alf1:.<span.class="tok-type">u8<
3ba60 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 71 75 61 72 74 65 72 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 /span>,.....quarter3:.<span.clas
3ba80 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 71 75 61 72 s="tok-type">u4</span>,.....quar
3baa0 74 65 72 34 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c ter4:.<span.class="tok-type">u4<
3bac0 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>,.};..<span.class="tok-kw"
3bae0 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >test</span>.<span.class="tok-st
3bb00 72 22 3e 26 71 75 6f 74 3b 40 62 69 74 43 61 73 74 20 62 65 74 77 65 65 6e 20 70 61 63 6b 65 64 r">&quot;@bitCast.between.packed
3bb20 20 73 74 72 75 63 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 .structs&quot;</span>.{.....<spa
3bb40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 n.class="tok-kw">try</span>.doTh
3bb60 65 54 65 73 74 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 eTest();.....<span.class="tok-kw
3bb80 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">try</span>.<span.class="tok-kw
3bba0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 29 3b 0a 7d ">comptime</span>.doTheTest();.}
3bbc0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
3bbe0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 54 68 65 54 65 73 74 3c .<span.class="tok-fn">doTheTest<
3bc00 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>().!<span.class="tok-type"
3bc20 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >void</span>.{.....<span.class="
3bc40 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
3bc60 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 class="tok-builtin">@sizeOf</spa
3bc80 6e 3e 28 46 75 6c 6c 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d n>(Full).==.<span.class="tok-num
3bca0 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">2</span>);.....<span.class=
3bcc0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e "tok-kw">try</span>.expect(<span
3bce0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 .class="tok-builtin">@sizeOf</sp
3bd00 61 6e 3e 28 44 69 76 69 64 65 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>(Divided).==.<span.class="tok
3bd20 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -number">2</span>);.....<span.cl
3bd40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 75 6c 6c 20 3d ass="tok-kw">const</span>.full.=
3bd60 20 46 75 6c 6c 7b 20 2e 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .Full{..number.=.<span.class="to
3bd80 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c k-number">0x1234</span>.};.....<
3bda0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
3bdc0 20 64 69 76 69 64 65 64 3a 20 44 69 76 69 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .divided:.Divided.=.<span.class=
3bde0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 66 75 "tok-builtin">@bitCast</span>(fu
3be00 6c 6c 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 ll);.....<span.class="tok-kw">tr
3be20 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 68 61 6c 66 31 20 3d 3d y</span>.expect(divided.half1.==
3be40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 33 34 3c 2f .<span.class="tok-number">0x34</
3be60 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>);.....<span.class="tok-kw"
3be80 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 71 75 61 72 74 >try</span>.expect(divided.quart
3bea0 65 72 33 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e er3.==.<span.class="tok-number">
3bec0 30 78 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 0x2</span>);.....<span.class="to
3bee0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e k-kw">try</span>.expect(divided.
3bf00 71 75 61 72 74 65 72 34 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d quarter4.==.<span.class="tok-num
3bf20 62 65 72 22 3e 30 78 31 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ber">0x1</span>);......<span.cla
3bf40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 65 64 ss="tok-kw">const</span>.ordered
3bf60 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 :.[<span.class="tok-number">2</s
3bf80 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f pan>]<span.class="tok-type">u8</
3bfa0 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e span>.=.<span.class="tok-builtin
3bfc0 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 66 75 6c 6c 29 3b 0a 20 20 20 20 3c 73 70 ">@bitCast</span>(full);.....<sp
3bfe0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">switch</span>.
3c000 28 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 2e 62 69 67 20 3d (native_endian).{..........big.=
3c020 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 &gt;.{.............<span.class="
3c040 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 72 64 65 72 65 tok-kw">try</span>.expect(ordere
3c060 64 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 d[<span.class="tok-number">0</sp
3c080 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>].==.<span.class="tok-number"
3c0a0 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e >0x12</span>);.............<span
3c0c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
3c0e0 74 28 6f 72 64 65 72 65 64 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 t(ordered[<span.class="tok-numbe
3c100 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">1</span>].==.<span.class="tok
3c120 2d 6e 75 6d 62 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 7d -number">0x34</span>);.........}
3c140 2c 0a 20 20 20 20 20 20 20 20 2e 6c 69 74 74 6c 65 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 ,..........little.=&gt;.{.......
3c160 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
3c180 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 72 64 65 72 65 64 5b 3c 73 70 61 6e 20 63 6c 61 73 73 span>.expect(ordered[<span.class
3c1a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e ="tok-number">0</span>].==.<span
3c1c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 29 .class="tok-number">0x34</span>)
3c1e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ;.............<span.class="tok-k
3c200 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 72 64 65 72 65 64 5b 3c 73 70 w">try</span>.expect(ordered[<sp
3c220 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 an.class="tok-number">1</span>].
3c240 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 ==.<span.class="tok-number">0x12
3c260 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f </span>);.........},.....}.}</co
3c280 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
3c2a0 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
3c2c0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
3c2e0 74 65 73 74 20 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 6b 62 test.test_packed_structs.zig</kb
3c300 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 73 2e 74 65 73 74 2e d>.1/1.test_packed_structs.test.
3c320 40 62 69 74 43 61 73 74 20 62 65 74 77 65 65 6e 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 2e @bitCast.between.packed.structs.
3c340 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.1.tests.passed..</samp
3c360 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ></pre></figure>.......<p>......
3c380 20 54 68 65 20 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 20 69 73 20 69 6e 66 65 72 72 65 64 .The.backing.integer.is.inferred
3c3a0 20 66 72 6f 6d 20 74 68 65 20 66 69 65 6c 64 73 27 20 74 6f 74 61 6c 20 62 69 74 20 77 69 64 74 .from.the.fields'.total.bit.widt
3c3c0 68 2e 0a 20 20 20 20 20 20 4f 70 74 69 6f 6e 61 6c 6c 79 2c 20 69 74 20 63 61 6e 20 62 65 20 65 h........Optionally,.it.can.be.e
3c3e0 78 70 6c 69 63 69 74 6c 79 20 70 72 6f 76 69 64 65 64 20 61 6e 64 20 65 6e 66 6f 72 63 65 64 20 xplicitly.provided.and.enforced.
3c400 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 at.compile.time:.......</p>.....
3c420 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 ..<figure><figcaption.class="zig
3c440 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6d 69 -cap"><cite.class="file">test_mi
3c460 73 73 69 7a 65 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ssized_packed_struct.zig</cite><
3c480 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><code><span.cla
3c4a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">test</span>.<span.cl
3c4c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 69 73 73 69 7a 65 64 20 70 61 63 ass="tok-str">&quot;missized.pac
3c4e0 6b 65 64 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ked.struct&quot;</span>.{.....<s
3c500 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
3c520 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c S.=.<span.class="tok-kw">packed<
3c540 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 /span>.<span.class="tok-kw">stru
3c560 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ct</span>(<span.class="tok-type"
3c580 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >u32</span>).{.a:.<span.class="t
3c5a0 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c ok-type">u16</span>,.b:.<span.cl
3c5c0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 ass="tok-type">u8</span>.};.....
3c5e0 5f 20 3d 20 53 7b 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d _.=.S{..a.=.<span.class="tok-num
3c600 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">4</span>,..b.=.<span.class=
3c620 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 "tok-number">2</span>.};.}</code
3c640 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 ></pre></figure><figure><figcapt
3c660 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 ion.class="shell-cap">Shell</fig
3c680 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 caption><pre><samp>$.<kbd>zig.te
3c6a0 73 74 20 74 65 73 74 5f 6d 69 73 73 69 7a 65 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 7a st.test_missized_packed_struct.z
3c6c0 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f ig</kbd>.<span.class="sgr-1m">do
3c6e0 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 6d 69 73 73 69 7a 65 64 5f 70 61 63 6b 65 64 5f 73 74 cgen_tmp/test_missized_packed_st
3c700 72 75 63 74 2e 7a 69 67 3a 32 3a 32 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 ruct.zig:2:29:.</span><span.clas
3c720 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 s="sgr-31m">error:.</span><span.
3c740 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 20 74 class="sgr-1m">backing.integer.t
3c760 79 70 65 20 27 75 33 32 27 20 68 61 73 20 62 69 74 20 73 69 7a 65 20 33 32 20 62 75 74 20 74 68 ype.'u32'.has.bit.size.32.but.th
3c780 65 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 20 68 61 76 65 20 61 20 74 6f 74 61 6c 20 62 69 74 e.struct.fields.have.a.total.bit
3c7a0 20 73 69 7a 65 20 6f 66 20 32 34 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 53 20 3d .size.of.24.</span>....const.S.=
3c7c0 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 28 75 33 32 29 20 7b 20 61 3a 20 75 31 36 2c 20 62 3a .packed.struct(u32).{.a:.u16,.b:
3c7e0 20 75 38 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .u8.};..........................
3c800 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 0a 3c 2f 73 ...<span.class="sgr-32m">^~~.</s
3c820 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
3c840 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f 77 73 20 74 68 65 20 61 64 64 72 65 ..<p>.......Zig.allows.the.addre
3c860 73 73 20 74 6f 20 62 65 20 74 61 6b 65 6e 20 6f 66 20 61 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 ss.to.be.taken.of.a.non-byte-ali
3c880 67 6e 65 64 20 66 69 65 6c 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 gned.field:.......</p>.......<fi
3c8a0 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
3c8c0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 6f 69 6e 74 65 72 ><cite.class="file">test_pointer
3c8e0 5f 74 6f 5f 6e 6f 6e 2d 62 79 74 65 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f _to_non-byte_aligned_field.zig</
3c900 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 cite></figcaption><pre><code><sp
3c920 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 an.class="tok-kw">const</span>.s
3c940 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 td.=.<span.class="tok-builtin">@
3c960 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 import</span>(<span.class="tok-s
3c980 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 tr">&quot;std&quot;</span>);.<sp
3c9a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 an.class="tok-kw">const</span>.e
3c9c0 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 xpect.=.std.testing.expect;..<sp
3c9e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 an.class="tok-kw">const</span>.B
3ca00 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 itField.=.<span.class="tok-kw">p
3ca20 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 acked</span>.<span.class="tok-kw
3ca40 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 ">struct</span>.{.....a:.<span.c
3ca60 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 lass="tok-type">u3</span>,.....b
3ca80 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 :.<span.class="tok-type">u3</spa
3caa0 6e 3e 2c 0a 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n>,.....c:.<span.class="tok-type
3cac0 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">u2</span>,.};..<span.class="to
3cae0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 42 69 74 46 69 65 6c 64 7b k-kw">var</span>.foo.=.BitField{
3cb00 0a 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ......a.=.<span.class="tok-numbe
3cb20 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 r">1</span>,......b.=.<span.clas
3cb40 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 63 20 s="tok-number">2</span>,......c.
3cb60 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 =.<span.class="tok-number">3</sp
3cb80 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 an>,.};..<span.class="tok-kw">te
3cba0 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e st</span>.<span.class="tok-str">
3cbc0 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 &quot;pointer.to.non-byte-aligne
3cbe0 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e d.field&quot;</span>.{.....<span
3cc00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 .class="tok-kw">const</span>.ptr
3cc20 20 3d 20 26 61 6d 70 3b 66 6f 6f 2e 62 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .=.&amp;foo.b;.....<span.class="
3cc40 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 2e 2a 20 tok-kw">try</span>.expect(ptr.*.
3cc60 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 ==.<span.class="tok-number">2</s
3cc80 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 pan>);.}</code></pre></figure><f
3cca0 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 igure><figcaption.class="shell-c
3ccc0 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 ap">Shell</figcaption><pre><samp
3cce0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 74 6f >$.<kbd>zig.test.test_pointer_to
3cd00 5f 6e 6f 6e 2d 62 79 74 65 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 6b 62 64 _non-byte_aligned_field.zig</kbd
3cd20 3e 0a 31 2f 31 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 79 74 65 5f 61 >.1/1.test_pointer_to_non-byte_a
3cd40 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e ligned_field.test.pointer.to.non
3cd60 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 -byte-aligned.field....OK.All.1.
3cd80 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 tests.passed..</samp></pre></fig
3cda0 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 ure>.......<p>.......However,.th
3cdc0 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 e.pointer.to.a.non-byte-aligned.
3cde0 66 69 65 6c 64 20 68 61 73 20 73 70 65 63 69 61 6c 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 field.has.special.properties.and
3ce00 20 63 61 6e 6e 6f 74 0a 20 20 20 20 20 20 62 65 20 70 61 73 73 65 64 20 77 68 65 6e 20 61 20 6e .cannot.......be.passed.when.a.n
3ce20 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 65 78 70 65 63 74 65 64 3a 0a 20 20 20 20 20 ormal.pointer.is.expected:......
3ce40 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 .</p>.......<figure><figcaption.
3ce60 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c class="zig-cap"><cite.class="fil
3ce80 65 22 3e 74 65 73 74 5f 6d 69 73 61 6c 69 67 6e 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f e">test_misaligned_pointer.zig</
3cea0 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 cite></figcaption><pre><code><sp
3cec0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 an.class="tok-kw">const</span>.s
3cee0 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 td.=.<span.class="tok-builtin">@
3cf00 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 import</span>(<span.class="tok-s
3cf20 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 tr">&quot;std&quot;</span>);.<sp
3cf40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 an.class="tok-kw">const</span>.e
3cf60 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 xpect.=.std.testing.expect;..<sp
3cf80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 an.class="tok-kw">const</span>.B
3cfa0 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 itField.=.<span.class="tok-kw">p
3cfc0 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 acked</span>.<span.class="tok-kw
3cfe0 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 ">struct</span>.{.....a:.<span.c
3d000 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 lass="tok-type">u3</span>,.....b
3d020 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 :.<span.class="tok-type">u3</spa
3d040 6e 3e 2c 0a 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n>,.....c:.<span.class="tok-type
3d060 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">u2</span>,.};..<span.class="to
3d080 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 69 74 5f 66 69 65 6c 64 20 3d 20 42 69 74 k-kw">var</span>.bit_field.=.Bit
3d0a0 46 69 65 6c 64 7b 0a 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b Field{......a.=.<span.class="tok
3d0c0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 -number">1</span>,......b.=.<spa
3d0e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 n.class="tok-number">2</span>,..
3d100 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ....c.=.<span.class="tok-number"
3d120 3e 33 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >3</span>,.};..<span.class="tok-
3d140 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b kw">test</span>.<span.class="tok
3d160 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 2d -str">&quot;pointer.to.non-byte-
3d180 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 aligned.field&quot;</span>.{....
3d1a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">try</span>
3d1c0 20 65 78 70 65 63 74 28 62 61 72 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d 3d .expect(bar(&amp;bit_field.b).==
3d1e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 .<span.class="tok-number">2</spa
3d200 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c n>);.}..<span.class="tok-kw">fn<
3d220 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c /span>.<span.class="tok-fn">bar<
3d240 2f 73 70 61 6e 3e 28 78 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e /span>(x:.*<span.class="tok-kw">
3d260 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 const</span>.<span.class="tok-ty
3d280 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe">u3</span>).<span.class="tok-
3d2a0 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 type">u3</span>.{.....<span.clas
3d2c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 2e 2a 3b 0a 7d 3c s="tok-kw">return</span>.x.*;.}<
3d2e0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 /code></pre></figure><figure><fi
3d300 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c gcaption.class="shell-cap">Shell
3d320 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
3d340 69 67 20 74 65 73 74 20 74 65 73 74 5f 6d 69 73 61 6c 69 67 6e 65 64 5f 70 6f 69 6e 74 65 72 2e ig.test.test_misaligned_pointer.
3d360 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 zig</kbd>.<span.class="sgr-1m">d
3d380 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 6d 69 73 61 6c 69 67 6e 65 64 5f 70 6f 69 6e 74 65 ocgen_tmp/test_misaligned_pointe
3d3a0 72 2e 7a 69 67 3a 31 37 3a 32 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d r.zig:17:20:.</span><span.class=
3d3c0 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c "sgr-31m">error:.</span><span.cl
3d3e0 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 2a 63 6f 6e ass="sgr-1m">expected.type.'*con
3d400 73 74 20 75 33 27 2c 20 66 6f 75 6e 64 20 27 2a 61 6c 69 67 6e 28 31 3a 33 3a 31 29 20 75 33 27 st.u3',.found.'*align(1:3:1).u3'
3d420 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 74 72 79 20 65 78 70 65 63 74 28 62 61 72 28 26 61 6d 70 3b .</span>....try.expect(bar(&amp;
3d440 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d 3d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 bit_field.b).==.2);.............
3d460 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e .......<span.class="sgr-32m">^~~
3d480 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 ~~~~~~~~~.</span><span.class="sg
3d4a0 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 6d 69 73 61 6c 69 67 6e 65 64 r-1m">docgen_tmp/test_misaligned
3d4c0 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3a 31 37 3a 32 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e _pointer.zig:17:20:.</span><span
3d4e0 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 .class="sgr-36m">note:.</span><s
3d500 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 6f 69 6e 74 65 72 20 68 6f 73 74 20 pan.class="sgr-1m">pointer.host.
3d520 73 69 7a 65 20 27 31 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 69 6e 74 6f 20 70 6f 69 6e 74 65 size.'1'.cannot.cast.into.pointe
3d540 72 20 68 6f 73 74 20 73 69 7a 65 20 27 30 27 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 r.host.size.'0'.</span><span.cla
3d560 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 6d 69 73 61 ss="sgr-1m">docgen_tmp/test_misa
3d580 6c 69 67 6e 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3a 31 37 3a 32 30 3a 20 3c 2f 73 70 61 6e ligned_pointer.zig:17:20:.</span
3d5a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 ><span.class="sgr-36m">note:.</s
3d5c0 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 6f 69 6e 74 65 72 pan><span.class="sgr-1m">pointer
3d5e0 20 62 69 74 20 6f 66 66 73 65 74 20 27 33 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 69 6e 74 6f .bit.offset.'3'.cannot.cast.into
3d600 20 70 6f 69 6e 74 65 72 20 62 69 74 20 6f 66 66 73 65 74 20 27 30 27 0a 3c 2f 73 70 61 6e 3e 3c .pointer.bit.offset.'0'.</span><
3d620 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 span.class="sgr-1m">docgen_tmp/t
3d640 65 73 74 5f 6d 69 73 61 6c 69 67 6e 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3a 32 30 3a 31 31 est_misaligned_pointer.zig:20:11
3d660 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e :.</span><span.class="sgr-36m">n
3d680 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 ote:.</span><span.class="sgr-1m"
3d6a0 3e 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f >parameter.type.declared.here.</
3d6c0 73 70 61 6e 3e 66 6e 20 62 61 72 28 78 3a 20 2a 63 6f 6e 73 74 20 75 33 29 20 75 33 20 7b 0a 20 span>fn.bar(x:.*const.u3).u3.{..
3d6e0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e .........<span.class="sgr-32m">^
3d700 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f ~~~~~~~~.</span>.</samp></pre></
3d720 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 figure>.......<p>.......In.this.
3d740 63 61 73 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 62 61 72 3c 2f 63 6f case,.the.function.<code>bar</co
3d760 64 65 3e 20 63 61 6e 6e 6f 74 20 62 65 20 63 61 6c 6c 65 64 20 62 65 63 61 75 73 65 20 74 68 65 de>.cannot.be.called.because.the
3d780 20 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 6e 6f 6e 2d 41 42 49 2d 61 6c .pointer.......to.the.non-ABI-al
3d7a0 69 67 6e 65 64 20 66 69 65 6c 64 20 6d 65 6e 74 69 6f 6e 73 20 74 68 65 20 62 69 74 20 6f 66 66 igned.field.mentions.the.bit.off
3d7c0 73 65 74 2c 20 62 75 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 65 63 74 73 20 61 6e set,.but.the.function.expects.an
3d7e0 20 41 42 49 2d 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .ABI-aligned.pointer........</p>
3d800 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 6f 69 6e 74 65 72 73 20 74 6f 20 6e 6f 6e .......<p>.......Pointers.to.non
3d820 2d 41 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 73 68 61 72 65 20 74 68 65 20 73 61 -ABI-aligned.fields.share.the.sa
3d840 6d 65 20 61 64 64 72 65 73 73 20 61 73 20 74 68 65 20 6f 74 68 65 72 20 66 69 65 6c 64 73 20 77 me.address.as.the.other.fields.w
3d860 69 74 68 69 6e 20 74 68 65 69 72 20 68 6f 73 74 20 69 6e 74 65 67 65 72 3a 0a 20 20 20 20 20 20 ithin.their.host.integer:.......
3d880 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
3d8a0 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
3d8c0 22 3e 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 61 64 64 72 65 ">test_packed_struct_field_addre
3d8e0 73 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ss.zig</cite></figcaption><pre><
3d900 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
3d920 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.std.=.<span.class="tok-bu
3d940 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
3d960 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;std&quot;</spa
3d980 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c n>);.<span.class="tok-kw">const<
3d9a0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 /span>.expect.=.std.testing.expe
3d9c0 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ct;..<span.class="tok-kw">const<
3d9e0 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>.BitField.=.<span.class="t
3da00 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">packed</span>.<span.class
3da20 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a ="tok-kw">struct</span>.{.....a:
3da40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e .<span.class="tok-type">u3</span
3da60 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >,.....b:.<span.class="tok-type"
3da80 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >u3</span>,.....c:.<span.class="
3daa0 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 tok-type">u2</span>,.};..<span.c
3dac0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 69 74 5f 66 69 65 lass="tok-kw">var</span>.bit_fie
3dae0 6c 64 20 3d 20 42 69 74 46 69 65 6c 64 7b 0a 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c ld.=.BitField{......a.=.<span.cl
3db00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e ass="tok-number">1</span>,......
3db20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f b.=.<span.class="tok-number">2</
3db40 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>,......c.=.<span.class="tok
3db60 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 -number">3</span>,.};..<span.cla
3db80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">test</span>.<span.cl
3dba0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 73 20 6f 66 20 ass="tok-str">&quot;pointers.of.
3dbc0 73 75 62 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 73 68 61 72 65 20 61 64 sub-byte-aligned.fields.share.ad
3dbe0 64 72 65 73 73 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e dresses&quot;</span>.{.....<span
3dc00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
3dc20 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 t(<span.class="tok-builtin">@int
3dc40 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 61 29 FromPtr</span>(&amp;bit_field.a)
3dc60 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 .==.<span.class="tok-builtin">@i
3dc80 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e ntFromPtr</span>(&amp;bit_field.
3dca0 62 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 b));.....<span.class="tok-kw">tr
3dcc0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b y</span>.expect(<span.class="tok
3dce0 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 26 61 6d -builtin">@intFromPtr</span>(&am
3dd00 70 3b 62 69 74 5f 66 69 65 6c 64 2e 61 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 p;bit_field.a).==.<span.class="t
3dd20 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 26 ok-builtin">@intFromPtr</span>(&
3dd40 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 63 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 amp;bit_field.c));.}</code></pre
3dd60 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c ></figure><figure><figcaption.cl
3dd80 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f ass="shell-cap">Shell</figcaptio
3dda0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 n><pre><samp>$.<kbd>zig.test.tes
3ddc0 74 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 61 64 64 72 65 73 73 2e 7a 69 t_packed_struct_field_address.zi
3dde0 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 5f 66 g</kbd>.1/1.test_packed_struct_f
3de00 69 65 6c 64 5f 61 64 64 72 65 73 73 2e 74 65 73 74 2e 70 6f 69 6e 74 65 72 73 20 6f 66 20 73 75 ield_address.test.pointers.of.su
3de20 62 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 73 68 61 72 65 20 61 64 64 72 b-byte-aligned.fields.share.addr
3de40 65 73 73 65 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a esses....OK.All.1.tests.passed..
3de60 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </samp></pre></figure>.......<p>
3de80 0a 20 20 20 20 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 6f 62 73 65 72 76 65 64 20 77 69 74 68 .......This.can.be.observed.with
3dea0 20 3c 61 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 .<a.href="#bitOffsetOf">@bitOffs
3dec0 65 74 4f 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 22 etOf</a>.and.<a.href="#offsetOf"
3dee0 3e 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 >offsetOf</a>:.......</p>.......
3df00 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
3df20 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 62 69 74 4f ap"><cite.class="file">test_bitO
3df40 66 66 73 65 74 4f 66 5f 6f 66 66 73 65 74 4f 66 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ffsetOf_offsetOf.zig</cite></fig
3df60 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><code><span.class="
3df80 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e tok-kw">const</span>.std.=.<span
3dfa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 .class="tok-builtin">@import</sp
3dfc0 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>(<span.class="tok-str">&quot;
3dfe0 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 std&quot;</span>);.<span.class="
3e000 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 tok-kw">const</span>.expect.=.st
3e020 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 d.testing.expect;..<span.class="
3e040 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 tok-kw">const</span>.BitField.=.
3e060 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 <span.class="tok-kw">packed</spa
3e080 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f n>.<span.class="tok-kw">struct</
3e0a0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.{.....a:.<span.class="tok-
3e0c0 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c type">u3</span>,.....b:.<span.cl
3e0e0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 63 3a ass="tok-type">u3</span>,.....c:
3e100 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e .<span.class="tok-type">u2</span
3e120 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 >,.};..<span.class="tok-kw">test
3e140 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>.<span.class="tok-str">&q
3e160 75 6f 74 3b 6f 66 66 73 65 74 73 20 6f 66 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 uot;offsets.of.non-byte-aligned.
3e180 66 69 65 6c 64 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 fields&quot;</span>.{.....<span.
3e1a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b class="tok-kw">comptime</span>.{
3e1c0 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 .........<span.class="tok-kw">tr
3e1e0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b y</span>.expect(<span.class="tok
3e200 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 -builtin">@bitOffsetOf</span>(Bi
3e220 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 tField,.<span.class="tok-str">&q
3e240 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 uot;a&quot;</span>).==.<span.cla
3e260 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 ss="tok-number">0</span>);......
3e280 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
3e2a0 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 n>.expect(<span.class="tok-built
3e2c0 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 in">@bitOffsetOf</span>(BitField
3e2e0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 26 ,.<span.class="tok-str">&quot;b&
3e300 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f quot;</span>).==.<span.class="to
3e320 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 k-number">3</span>);.........<sp
3e340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
3e360 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 ect(<span.class="tok-builtin">@b
3e380 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 itOffsetOf</span>(BitField,.<spa
3e3a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c n.class="tok-str">&quot;c&quot;<
3e3c0 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 /span>).==.<span.class="tok-numb
3e3e0 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c er">6</span>);..........<span.cl
3e400 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c ass="tok-kw">try</span>.expect(<
3e420 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 span.class="tok-builtin">@offset
3e440 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d Of</span>(BitField,.<span.class=
3e460 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 "tok-str">&quot;a&quot;</span>).
3e480 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 ==.<span.class="tok-number">0</s
3e4a0 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>);.........<span.class="tok-
3e4c0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 kw">try</span>.expect(<span.clas
3e4e0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e s="tok-builtin">@offsetOf</span>
3e500 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 (BitField,.<span.class="tok-str"
3e520 3e 26 71 75 6f 74 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 >&quot;b&quot;</span>).==.<span.
3e540 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 class="tok-number">0</span>);...
3e560 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
3e580 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 span>.expect(<span.class="tok-bu
3e5a0 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 iltin">@offsetOf</span>(BitField
3e5c0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 ,.<span.class="tok-str">&quot;c&
3e5e0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f quot;</span>).==.<span.class="to
3e600 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f k-number">0</span>);.....}.}</co
3e620 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
3e640 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
3e660 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
3e680 74 65 73 74 20 74 65 73 74 5f 62 69 74 4f 66 66 73 65 74 4f 66 5f 6f 66 66 73 65 74 4f 66 2e 7a test.test_bitOffsetOf_offsetOf.z
3e6a0 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 62 69 74 4f 66 66 73 65 74 4f 66 5f 6f 66 ig</kbd>.1/1.test_bitOffsetOf_of
3e6c0 66 73 65 74 4f 66 2e 74 65 73 74 2e 6f 66 66 73 65 74 73 20 6f 66 20 6e 6f 6e 2d 62 79 74 65 2d fsetOf.test.offsets.of.non-byte-
3e6e0 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 aligned.fields....OK.All.1.tests
3e700 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
3e720 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 68 ......<p>.......Packed.structs.h
3e740 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 6c 69 67 6e 6d 65 6e 74 20 61 73 20 74 68 65 69 72 20 ave.the.same.alignment.as.their.
3e760 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 2c 20 68 6f 77 65 76 65 72 2c 20 6f 76 65 72 61 6c backing.integer,.however,.overal
3e780 69 67 6e 65 64 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 70 61 63 6b 65 64 20 73 igned.......pointers.to.packed.s
3e7a0 74 72 75 63 74 73 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 tructs.can.override.this:.......
3e7c0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
3e7e0 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
3e800 22 3e 74 65 73 74 5f 6f 76 65 72 61 6c 69 67 6e 65 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 ">test_overaligned_packed_struct
3e820 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
3e840 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
3e860 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.std.=.<span.class="tok-buil
3e880 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tin">@import</span>(<span.class=
3e8a0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;std&quot;</span>
3e8c0 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 );.<span.class="tok-kw">const</s
3e8e0 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 pan>.expect.=.std.testing.expect
3e900 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ;..<span.class="tok-kw">const</s
3e920 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 pan>.S.=.<span.class="tok-kw">pa
3e940 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 cked</span>.<span.class="tok-kw"
3e960 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c >struct</span>.{.....a:.<span.cl
3e980 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 ass="tok-type">u32</span>,.....b
3e9a0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 :.<span.class="tok-type">u32</sp
3e9c0 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 an>,.};.<span.class="tok-kw">tes
3e9e0 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>.<span.class="tok-str">&
3ea00 71 75 6f 74 3b 6f 76 65 72 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 61 63 6b quot;overaligned.pointer.to.pack
3ea20 65 64 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 ed.struct&quot;</span>.{.....<sp
3ea40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f an.class="tok-kw">var</span>.foo
3ea60 3a 20 53 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f :.S.<span.class="tok-kw">align</
3ea80 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 span>(<span.class="tok-number">4
3eaa0 3c 2f 73 70 61 6e 3e 29 20 3d 20 2e 7b 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>).=..{..a.=.<span.class="
3eac0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 62 20 3d 20 3c 73 70 61 6e tok-number">1</span>,..b.=.<span
3eae0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a .class="tok-number">2</span>.};.
3eb00 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ....<span.class="tok-kw">const</
3eb20 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.ptr:.*<span.class="tok-kw"
3eb40 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >align</span>(<span.class="tok-n
3eb60 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 53 20 3d 20 26 61 6d 70 3b 66 6f 6f 3b 0a 20 umber">4</span>).S.=.&amp;foo;..
3eb80 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ...<span.class="tok-kw">const</s
3eba0 70 61 6e 3e 20 70 74 72 5f 74 6f 5f 62 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>.ptr_to_b:.*<span.class="tok
3ebc0 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 70 74 72 2e 62 3b 0a -type">u32</span>.=.&amp;ptr.b;.
3ebe0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
3ec00 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 5f 74 6f 5f 62 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 an>.expect(ptr_to_b.*.==.<span.c
3ec20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f lass="tok-number">2</span>);.}</
3ec40 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 code></pre></figure><figure><fig
3ec60 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c caption.class="shell-cap">Shell<
3ec80 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
3eca0 67 20 74 65 73 74 20 74 65 73 74 5f 6f 76 65 72 61 6c 69 67 6e 65 64 5f 70 61 63 6b 65 64 5f 73 g.test.test_overaligned_packed_s
3ecc0 74 72 75 63 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6f 76 65 72 61 6c 69 truct.zig</kbd>.1/1.test_overali
3ece0 67 6e 65 64 5f 70 61 63 6b 65 64 5f 73 74 72 75 63 74 2e 74 65 73 74 2e 6f 76 65 72 61 6c 69 67 gned_packed_struct.test.overalig
3ed00 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 2e 2e 2e 20 ned.pointer.to.packed.struct....
3ed20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.1.tests.passed..</samp></
3ed40 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 pre></figure>.......<p>.......It
3ed60 27 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 73 65 74 20 61 6c 69 67 6e 6d 65 6e 's.also.possible.to.set.alignmen
3ed80 74 20 6f 66 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 t.of.struct.fields:.......</p>..
3eda0 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 .....<figure><figcaption.class="
3edc0 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 zig-cap"><cite.class="file">test
3ede0 5f 61 6c 69 67 6e 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 73 2e 7a 69 67 3c 2f 63 69 74 65 _aligned_struct_fields.zig</cite
3ee00 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
3ee20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d lass="tok-kw">const</span>.std.=
3ee40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f .<span.class="tok-builtin">@impo
3ee60 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e rt</span>(<span.class="tok-str">
3ee80 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 &quot;std&quot;</span>);.<span.c
3eea0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 lass="tok-kw">const</span>.expec
3eec0 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c tEqual.=.std.testing.expectEqual
3eee0 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 ;..<span.class="tok-kw">test</sp
3ef00 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>.<span.class="tok-str">&quot;
3ef20 61 6c 69 67 6e 65 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 26 71 75 6f 74 3b 3c 2f 73 70 61 aligned.struct.fields&quot;</spa
3ef40 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.{.....<span.class="tok-kw">co
3ef60 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nst</span>.S.=.<span.class="tok-
3ef80 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 61 3a 20 3c kw">struct</span>.{.........a:.<
3efa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">u32</span>
3efc0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 .<span.class="tok-kw">align</spa
3efe0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 n>(<span.class="tok-number">2</s
3f000 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>),.........b:.<span.class="t
3f020 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-type">u32</span>.<span.class=
3f040 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 "tok-kw">align</span>(<span.clas
3f060 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 7d s="tok-number">64</span>),.....}
3f080 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f ;.....<span.class="tok-kw">var</
3f0a0 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 53 7b 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.foo.=.S{..a.=.<span.class=
3f0c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 62 20 3d 20 3c 73 70 61 "tok-number">1</span>,..b.=.<spa
3f0e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 3b n.class="tok-number">2</span>.};
3f100 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
3f120 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.expectEqual(<span.class="t
3f140 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 ok-number">64</span>,.<span.clas
3f160 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 s="tok-builtin">@alignOf</span>(
3f180 53 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 S));.....<span.class="tok-kw">tr
3f1a0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 6c 61 73 y</span>.expectEqual(*<span.clas
3f1c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c s="tok-kw">align</span>(<span.cl
3f1e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ass="tok-number">2</span>).<span
3f200 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-type">u32</span>,.<s
3f220 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c pan.class="tok-builtin">@TypeOf<
3f240 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 2e 61 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 /span>(&amp;foo.a));.....<span.c
3f260 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
3f280 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e qual(*<span.class="tok-kw">align
3f2a0 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 </span>(<span.class="tok-number"
3f2c0 3e 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 >64</span>).<span.class="tok-typ
3f2e0 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u32</span>,.<span.class="tok-
3f300 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f builtin">@TypeOf</span>(&amp;foo
3f320 2e 62 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 .b));.}</code></pre></figure><fi
3f340 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
3f360 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
3f380 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 6c 69 67 6e 65 64 5f 73 74 72 $.<kbd>zig.test.test_aligned_str
3f3a0 75 63 74 5f 66 69 65 6c 64 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 61 6c uct_fields.zig</kbd>.1/1.test_al
3f3c0 69 67 6e 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 73 2e 74 65 73 74 2e 61 6c 69 67 6e 65 64 igned_struct_fields.test.aligned
3f3e0 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 .struct.fields....OK.All.1.tests
3f400 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
3f420 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 69 6e 67 20 70 61 63 6b 65 64 20 73 74 72 ......<p>.......Using.packed.str
3f440 75 63 74 73 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f ucts.with.<a.href="#volatile">vo
3f460 6c 61 74 69 6c 65 3c 2f 61 3e 20 69 73 20 70 72 6f 62 6c 65 6d 61 74 69 63 2c 20 61 6e 64 20 6d latile</a>.is.problematic,.and.m
3f480 61 79 20 62 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 6e 20 74 68 65 20 66 75 74 ay.be.a.compile.error.in.the.fut
3f4a0 75 72 65 2e 0a 20 20 20 20 20 20 46 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 69 73 20 73 ure........For.details.on.this.s
3f4c0 75 62 73 63 72 69 62 65 20 74 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 ubscribe.to.......<a.href="https
3f4e0 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 ://github.com/ziglang/zig/issues
3f500 2f 31 37 36 31 22 3e 74 68 69 73 20 69 73 73 75 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 54 4f 44 /1761">this.issue</a>........TOD
3f520 4f 20 75 70 64 61 74 65 20 74 68 65 73 65 20 64 6f 63 73 20 77 69 74 68 20 61 20 72 65 63 6f 6d O.update.these.docs.with.a.recom
3f540 6d 65 6e 64 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 6f 20 75 73 65 20 70 61 63 6b 65 64 20 73 mendation.on.how.to.use.packed.s
3f560 74 72 75 63 74 73 20 77 69 74 68 20 4d 4d 49 4f 0a 20 20 20 20 20 20 28 74 68 65 20 75 73 65 20 tructs.with.MMIO.......(the.use.
3f580 63 61 73 65 20 66 6f 72 20 76 6f 6c 61 74 69 6c 65 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 case.for.volatile.packed.structs
3f5a0 29 20 6f 6e 63 65 20 74 68 69 73 20 69 73 73 75 65 20 69 73 20 72 65 73 6f 6c 76 65 64 2e 0a 20 ).once.this.issue.is.resolved...
3f5c0 20 20 20 20 20 44 6f 6e 27 74 20 77 6f 72 72 79 2c 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20 .....Don't.worry,.there.will.be.
3f5e0 61 20 67 6f 6f 64 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 20 75 73 65 20 63 61 73 a.good.solution.for.this.use.cas
3f600 65 20 69 6e 20 7a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 e.in.zig........</p>............
3f620 20 20 20 3c 68 33 20 69 64 3d 22 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 3c 61 20 68 72 65 ...<h3.id="Struct-Naming"><a.hre
3f640 66 3d 22 23 74 6f 63 2d 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 53 74 72 75 63 74 20 4e 61 f="#toc-Struct-Naming">Struct.Na
3f660 6d 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 ming</a>.<a.class="hdr".href="#S
3f680 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 truct-Naming">..</a></h3>.......
3f6a0 20 3c 70 3e 53 69 6e 63 65 20 61 6c 6c 20 73 74 72 75 63 74 73 20 61 72 65 20 61 6e 6f 6e 79 6d .<p>Since.all.structs.are.anonym
3f6c0 6f 75 73 2c 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 20 62 61 ous,.Zig.infers.the.type.name.ba
3f6e0 73 65 64 20 6f 6e 20 61 20 66 65 77 20 72 75 6c 65 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 sed.on.a.few.rules.</p>.......<u
3f700 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 l>...........<li>If.the.struct.i
3f720 73 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 65 78 70 72 65 73 73 69 s.in.the.initialization.expressi
3f740 6f 6e 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 on.of.a.variable,.it.gets.named.
3f760 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 2e 3c 2f after...........that.variable.</
3f780 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 li>...........<li>If.the.struct.
3f7a0 69 73 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b is.in.the.<code><span.class="tok
3f7c0 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 -kw">return</span></code>.expres
3f7e0 73 69 6f 6e 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 61 66 74 65 72 0a 20 20 20 20 20 20 sion,.it.gets.named.after.......
3f800 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 74 20 69 73 20 72 65 74 75 72 6e 69 6e 67 ....the.function.it.is.returning
3f820 20 66 72 6f 6d 2c 20 77 69 74 68 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 76 61 6c 75 65 73 .from,.with.the.parameter.values
3f840 20 73 65 72 69 61 6c 69 7a 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e .serialized.</li>...........<li>
3f860 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 73 74 72 75 63 74 20 67 65 74 73 20 61 20 6e 61 6d Otherwise,.the.struct.gets.a.nam
3f880 65 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 28 66 69 6c 65 6e 61 6d 65 2e 66 75 6e 63 6e 61 e.such.as.<code>(filename.funcna
3f8a0 6d 65 2e 5f 5f 73 74 72 75 63 74 5f 49 44 29 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 me.__struct_ID)</code>.</li>....
3f8c0 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 64 65 63 6c .......<li>If.the.struct.is.decl
3f8e0 61 72 65 64 20 69 6e 73 69 64 65 20 61 6e 6f 74 68 65 72 20 73 74 72 75 63 74 2c 20 69 74 20 67 ared.inside.another.struct,.it.g
3f900 65 74 73 20 6e 61 6d 65 64 20 61 66 74 65 72 20 62 6f 74 68 20 74 68 65 20 70 61 72 65 6e 74 0a ets.named.after.both.the.parent.
3f920 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 61 6e 64 20 74 68 65 20 6e 61 6d 65 20 69 6e ..........struct.and.the.name.in
3f940 66 65 72 72 65 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 72 75 6c 65 73 2c 20 73 65 ferred.by.the.previous.rules,.se
3f960 70 61 72 61 74 65 64 20 62 79 20 61 20 64 6f 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 parated.by.a.dot.</li>.......</u
3f980 6c 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 l>.......<figure><figcaption.cla
3f9a0 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e ss="zig-cap"><cite.class="file">
3f9c0 73 74 72 75 63 74 5f 6e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 struct_name.zig</cite></figcapti
3f9e0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
3fa00 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 w">const</span>.std.=.<span.clas
3fa20 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c s="tok-builtin">@import</span>(<
3fa40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 span.class="tok-str">&quot;std&q
3fa60 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d uot;</span>);..<span.class="tok-
3fa80 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d kw">pub</span>.<span.class="tok-
3faa0 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
3fac0 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n">main</span>().<span.class="to
3fae0 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 k-type">void</span>.{.....<span.
3fb00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 class="tok-kw">const</span>.Foo.
3fb20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 =.<span.class="tok-kw">struct</s
3fb40 70 61 6e 3e 20 7b 7d 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 pan>.{};.....std.debug.print(<sp
3fb60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c an.class="tok-str">&quot;variabl
3fb80 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 e:.{s}\n&quot;</span>,..{<span.c
3fba0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 lass="tok-builtin">@typeName</sp
3fbc0 61 6e 3e 28 46 6f 6f 29 7d 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 an>(Foo)});.....std.debug.print(
3fbe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e <span.class="tok-str">&quot;anon
3fc00 79 6d 6f 75 73 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 ymous:.{s}\n&quot;</span>,..{<sp
3fc20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 an.class="tok-builtin">@typeName
3fc40 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 </span>(<span.class="tok-kw">str
3fc60 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 7d 29 7d 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e uct</span>.{})});.....std.debug.
3fc80 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f print(<span.class="tok-str">&quo
3fca0 74 3b 66 75 6e 63 74 69 6f 6e 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 t;function:.{s}\n&quot;</span>,.
3fcc0 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 .{<span.class="tok-builtin">@typ
3fce0 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 eName</span>(List(<span.class="t
3fd00 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 ok-type">i32</span>))});.}..<spa
3fd20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e n.class="tok-kw">fn</span>.<span
3fd40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 .class="tok-fn">List</span>(<spa
3fd60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e n.class="tok-kw">comptime</span>
3fd80 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c .T:.<span.class="tok-type">type<
3fda0 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 /span>).<span.class="tok-type">t
3fdc0 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype</span>.{.....<span.class="to
3fde0 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">return</span>.<span.class=
3fe00 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 "tok-kw">struct</span>.{........
3fe20 20 78 3a 20 54 2c 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 .x:.T,.....};.}</code></pre></fi
3fe40 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 gure><figure><figcaption.class="
3fe60 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 shell-cap">Shell</figcaption><pr
3fe80 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 74 72 e><samp>$.<kbd>zig.build-exe.str
3fea0 75 63 74 5f 6e 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 73 74 72 75 uct_name.zig</kbd>.$.<kbd>./stru
3fec0 63 74 5f 6e 61 6d 65 3c 2f 6b 62 64 3e 0a 76 61 72 69 61 62 6c 65 3a 20 73 74 72 75 63 74 5f 6e ct_name</kbd>.variable:.struct_n
3fee0 61 6d 65 2e 6d 61 69 6e 2e 46 6f 6f 0a 61 6e 6f 6e 79 6d 6f 75 73 3a 20 73 74 72 75 63 74 5f 6e ame.main.Foo.anonymous:.struct_n
3ff00 61 6d 65 2e 6d 61 69 6e 5f 5f 73 74 72 75 63 74 5f 33 33 38 39 0a 66 75 6e 63 74 69 6f 6e 3a 20 ame.main__struct_3389.function:.
3ff20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 4c 69 73 74 28 69 33 32 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 struct_name.List(i32).</samp></p
3ff40 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 re></figure>...............<h3.i
3ff60 64 3d 22 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 d="Anonymous-Struct-Literals"><a
3ff80 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 .href="#toc-Anonymous-Struct-Lit
3ffa0 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 erals">Anonymous.Struct.Literals
3ffc0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 </a>.<a.class="hdr".href="#Anony
3ffe0 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 mous-Struct-Literals">..</a></h3
40000 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f 77 73 20 6f 6d >........<p>.......Zig.allows.om
40020 69 74 74 69 6e 67 20 74 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 6f 66 20 61 20 6c 69 74 65 itting.the.struct.type.of.a.lite
40040 72 61 6c 2e 20 57 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d ral..When.the.result.is.<a.href=
40060 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 2c 0a 20 20 "#Type-Coercion">coerced</a>,...
40080 20 20 20 20 74 68 65 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 20 77 69 6c 6c 20 64 69 72 65 ....the.struct.literal.will.dire
400a0 63 74 6c 79 20 69 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 52 ctly.instantiate.the.<a.href="#R
400c0 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 72 65 73 75 6c 74 esult-Location-Semantics">result
400e0 20 6c 6f 63 61 74 69 6f 6e 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 77 69 74 68 20 6e 6f 20 63 6f 70 .location</a>,.......with.no.cop
40100 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 y:.......</p>.......<figure><fig
40120 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c caption.class="zig-cap"><cite.cl
40140 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 74 72 75 63 74 5f 72 65 73 75 6c 74 2e 7a 69 ass="file">test_struct_result.zi
40160 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e g</cite></figcaption><pre><code>
40180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
401a0 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e >.std.=.<span.class="tok-builtin
401c0 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">@import</span>(<span.class="to
401e0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a k-str">&quot;std&quot;</span>);.
40200 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
40220 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a >.expect.=.std.testing.expect;..
40240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
40260 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 >.Point.=.<span.class="tok-kw">s
40280 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f truct</span>.{x:.<span.class="to
402a0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 k-type">i32</span>,.y:.<span.cla
402c0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7d 3b 0a 0a 3c 73 70 61 ss="tok-type">i32</span>};..<spa
402e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 n.class="tok-kw">test</span>.<sp
40300 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f an.class="tok-str">&quot;anonymo
40320 75 73 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b us.struct.literal&quot;</span>.{
40340 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
40360 2f 73 70 61 6e 3e 20 70 74 3a 20 50 6f 69 6e 74 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 2e 78 /span>.pt:.Point.=..{..........x
40380 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f .=.<span.class="tok-number">13</
403a0 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>,..........y.=.<span.class=
403c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 "tok-number">67</span>,.....};..
403e0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
40400 6e 3e 20 65 78 70 65 63 74 28 70 74 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.expect(pt.x.==.<span.class="t
40420 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e ok-number">13</span>);.....<span
40440 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
40460 74 28 70 74 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 t(pt.y.==.<span.class="tok-numbe
40480 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 r">67</span>);.}</code></pre></f
404a0 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
404c0 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
404e0 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 74 re><samp>$.<kbd>zig.test.test_st
40500 72 75 63 74 5f 72 65 73 75 6c 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 ruct_result.zig</kbd>.1/1.test_s
40520 74 72 75 63 74 5f 72 65 73 75 6c 74 2e 74 65 73 74 2e 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 truct_result.test.anonymous.stru
40540 63 74 20 6c 69 74 65 72 61 6c 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 ct.literal....OK.All.1.tests.pas
40560 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 sed..</samp></pre></figure>.....
40580 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 63 61 6e 20 ..<p>.......The.struct.type.can.
405a0 62 65 20 69 6e 66 65 72 72 65 64 2e 20 48 65 72 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 be.inferred..Here.the.<a.href="#
405c0 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 72 65 73 75 6c Result-Location-Semantics">resul
405e0 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 69 6e t.location</a>.......does.not.in
40600 63 6c 75 64 65 20 61 20 74 79 70 65 2c 20 61 6e 64 20 73 6f 20 5a 69 67 20 69 6e 66 65 72 73 20 clude.a.type,.and.so.Zig.infers.
40620 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 the.type:.......</p>.......<figu
40640 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
40660 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f 75 73 cite.class="file">test_anonymous
40680 5f 73 74 72 75 63 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c _struct.zig</cite></figcaption><
406a0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
406c0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 onst</span>.std.=.<span.class="t
406e0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
40700 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
40720 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 </span>);.<span.class="tok-kw">c
40740 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 onst</span>.expect.=.std.testing
40760 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 .expect;..<span.class="tok-kw">t
40780 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 est</span>.<span.class="tok-str"
407a0 3e 26 71 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 26 71 75 >&quot;fully.anonymous.struct&qu
407c0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
407e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 63 68 65 63 6b 28 2e 7b 0a 20 20 20 20 20 20 k-kw">try</span>.check(.{.......
40800 20 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 ...int.=.<span.class="tok-builti
40820 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 n">@as</span>(<span.class="tok-t
40840 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">u32</span>,.<span.class="to
40860 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 k-number">1234</span>),.........
40880 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 .float.=.<span.class="tok-builti
408a0 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 n">@as</span>(<span.class="tok-t
408c0 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">f64</span>,.<span.class="to
408e0 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 k-number">12.34</span>),........
40900 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 ..b.=.<span.class="tok-null">tru
40920 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 e</span>,..........s.=.<span.cla
40940 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 ss="tok-str">&quot;hi&quot;</spa
40960 6e 3e 2c 0a 20 20 20 20 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>,.....});.}..<span.class="tok-
40980 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
409a0 6e 22 3e 63 68 65 63 6b 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 n">check</span>(args:.<span.clas
409c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 s="tok-kw">anytype</span>).!<spa
409e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b n.class="tok-type">void</span>.{
40a00 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
40a20 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 69 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c pan>.expect(args.int.==.<span.cl
40a40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 ass="tok-number">1234</span>);..
40a60 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
40a80 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c n>.expect(args.float.==.<span.cl
40aa0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a ass="tok-number">12.34</span>);.
40ac0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
40ae0 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 62 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c an>.expect(args.b);.....<span.cl
40b00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 ass="tok-kw">try</span>.expect(a
40b20 72 67 73 2e 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 rgs.s[<span.class="tok-number">0
40b40 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 </span>].==.<span.class="tok-str
40b60 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">'h'</span>);.....<span.class="
40b80 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 73 tok-kw">try</span>.expect(args.s
40ba0 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 [<span.class="tok-number">1</spa
40bc0 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 69 27 n>].==.<span.class="tok-str">'i'
40be0 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 </span>);.}</code></pre></figure
40c00 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c ><figure><figcaption.class="shel
40c20 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 l-cap">Shell</figcaption><pre><s
40c40 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f amp>$.<kbd>zig.test.test_anonymo
40c60 75 73 5f 73 74 72 75 63 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 61 6e 6f us_struct.zig</kbd>.1/1.test_ano
40c80 6e 79 6d 6f 75 73 5f 73 74 72 75 63 74 2e 74 65 73 74 2e 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f nymous_struct.test.fully.anonymo
40ca0 75 73 20 73 74 72 75 63 74 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 us.struct....OK.All.1.tests.pass
40cc0 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 ed..</samp></pre></figure>......
40ce0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 75 70 6c 65 73 22 3e 3c 61 20 68 72 65 66 .........<h3.id="Tuples"><a.href
40d00 3d 22 23 74 6f 63 2d 54 75 70 6c 65 73 22 3e 54 75 70 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 ="#toc-Tuples">Tuples</a>.<a.cla
40d20 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 75 70 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f ss="hdr".href="#Tuples">..</a></
40d40 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 6f 6e 79 6d 6f 75 73 20 73 h3>........<p>.......Anonymous.s
40d60 74 72 75 63 74 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 77 69 74 68 6f 75 74 20 73 70 tructs.can.be.created.without.sp
40d80 65 63 69 66 79 69 6e 67 20 66 69 65 6c 64 20 6e 61 6d 65 73 2c 20 61 6e 64 20 61 72 65 20 72 65 ecifying.field.names,.and.are.re
40da0 66 65 72 72 65 64 20 74 6f 20 61 73 20 22 74 75 70 6c 65 73 22 2e 0a 20 20 20 20 20 20 3c 2f 70 ferred.to.as."tuples"........</p
40dc0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 69 65 6c 64 73 20 61 72 65 >.......<p>.......The.fields.are
40de0 20 69 6d 70 6c 69 63 69 74 6c 79 20 6e 61 6d 65 64 20 75 73 69 6e 67 20 6e 75 6d 62 65 72 73 20 .implicitly.named.using.numbers.
40e00 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 30 2e 20 42 65 63 61 75 73 65 20 74 68 65 69 72 20 6e starting.from.0..Because.their.n
40e20 61 6d 65 73 20 61 72 65 20 69 6e 74 65 67 65 72 73 2c 0a 20 20 20 20 20 20 74 68 65 79 20 63 61 ames.are.integers,.......they.ca
40e40 6e 6e 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 2e 3c 2f 63 nnot.be.accessed.with.<code>.</c
40e60 6f 64 65 3e 20 73 79 6e 74 61 78 20 77 69 74 68 6f 75 74 20 61 6c 73 6f 20 77 72 61 70 70 69 6e ode>.syntax.without.also.wrappin
40e80 67 20 74 68 65 6d 20 69 6e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 40 26 71 75 6f 74 3b 26 71 75 g.them.in.......<code>@&quot;&qu
40ea0 6f 74 3b 3c 2f 63 6f 64 65 3e 2e 20 4e 61 6d 65 73 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 3e 40 ot;</code>..Names.inside.<code>@
40ec0 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 63 6f 64 65 3e 20 61 72 65 20 61 6c 77 61 79 73 20 72 &quot;&quot;</code>.are.always.r
40ee0 65 63 6f 67 6e 69 73 65 64 20 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 ecognised.as.......<a.href="#Ide
40f00 6e 74 69 66 69 65 72 73 22 3e 69 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 ntifiers">identifiers</a>.......
40f20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 69 6b 65 20 61 72 72 61 79 .</p>.......<p>.......Like.array
40f40 73 2c 20 74 75 70 6c 65 73 20 68 61 76 65 20 61 20 2e 6c 65 6e 20 66 69 65 6c 64 2c 20 63 61 6e s,.tuples.have.a..len.field,.can
40f60 20 62 65 20 69 6e 64 65 78 65 64 20 28 70 72 6f 76 69 64 65 64 20 74 68 65 20 69 6e 64 65 78 20 .be.indexed.(provided.the.index.
40f80 69 73 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 29 0a 20 20 20 20 20 20 61 6e 64 20 77 6f 72 is.comptime-known).......and.wor
40fa0 6b 20 77 69 74 68 20 74 68 65 20 2b 2b 20 61 6e 64 20 2a 2a 20 6f 70 65 72 61 74 6f 72 73 2e 20 k.with.the.++.and.**.operators..
40fc0 54 68 65 79 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 69 74 65 72 61 74 65 64 20 6f 76 65 72 20 77 They.can.also.be.iterated.over.w
40fe0 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 ith.<a.href="#inline-for">inline
41000 20 66 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 .for</a>........</p>.......<figu
41020 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
41040 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 75 70 6c 65 73 2e 7a 69 cite.class="file">test_tuples.zi
41060 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e g</cite></figcaption><pre><code>
41080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
410a0 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e >.std.=.<span.class="tok-builtin
410c0 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">@import</span>(<span.class="to
410e0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a k-str">&quot;std&quot;</span>);.
41100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
41120 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a >.expect.=.std.testing.expect;..
41140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e <span.class="tok-kw">test</span>
41160 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 75 70 .<span.class="tok-str">&quot;tup
41180 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 le&quot;</span>.{.....<span.clas
411a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 73 20 3d s="tok-kw">const</span>.values.=
411c0 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ..{.........<span.class="tok-bui
411e0 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ltin">@as</span>(<span.class="to
41200 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">u32</span>,.<span.class=
41220 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 "tok-number">1234</span>),......
41240 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 ...<span.class="tok-builtin">@as
41260 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 </span>(<span.class="tok-type">f
41280 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 64</span>,.<span.class="tok-numb
412a0 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e er">12.34</span>),.........<span
412c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 .class="tok-null">true</span>,..
412e0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .......<span.class="tok-str">&qu
41300 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 20 2b 2b 20 2e 7b 3c ot;hi&quot;</span>,.....}.++..{<
41320 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 span.class="tok-null">false</spa
41340 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>}.**.<span.class="tok-number">
41360 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 2</span>;.....<span.class="tok-k
41380 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 5b 3c 73 70 61 w">try</span>.expect(values[<spa
413a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d n.class="tok-number">0</span>].=
413c0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c =.<span.class="tok-number">1234<
413e0 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>);.....<span.class="tok-kw
41400 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 5b 3c 73 70 61 6e ">try</span>.expect(values[<span
41420 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d .class="tok-number">4</span>].==
41440 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 .<span.class="tok-null">false</s
41460 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>);.....<span.class="tok-kw">
41480 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b inline</span>.<span.class="tok-k
414a0 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 73 2c 20 3c 73 70 61 6e 20 63 6c 61 w">for</span>.(values,.<span.cla
414c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 76 2c 20 ss="tok-number">0</span>..).|v,.
414e0 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 i|.{.........<span.class="tok-kw
41500 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">if</span>.(i.!=.<span.class="t
41520 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">2</span>).<span.class
41540 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 ="tok-kw">continue</span>;......
41560 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
41580 6e 3e 20 65 78 70 65 63 74 28 76 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c n>.expect(v);.....}.....<span.cl
415a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 ass="tok-kw">try</span>.expect(v
415c0 61 6c 75 65 73 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 alues.len.==.<span.class="tok-nu
415e0 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 mber">6</span>);.....<span.class
41600 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 ="tok-kw">try</span>.expect(valu
41620 65 73 2e 40 26 71 75 6f 74 3b 33 26 71 75 6f 74 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 es.@&quot;3&quot;[<span.class="t
41640 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-number">0</span>].==.<span.cl
41660 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f ass="tok-str">'h'</span>);.}</co
41680 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
416a0 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
416c0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
416e0 74 65 73 74 20 74 65 73 74 5f 74 75 70 6c 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 test.test_tuples.zig</kbd>.1/1.t
41700 65 73 74 5f 74 75 70 6c 65 73 2e 74 65 73 74 2e 74 75 70 6c 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 est_tuples.test.tuple....OK.All.
41720 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 1.tests.passed..</samp></pre></f
41740 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a igure>..............<p>See.also:
41760 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 </p><ul>.<li><a.href="#comptime"
41780 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 >comptime</a></li>.<li><a.href="
417a0 23 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 #fieldParentPtr">@fieldParentPtr
417c0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 </a></li>.</ul>...............<h
417e0 32 20 69 64 3d 22 65 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 6e 75 6d 22 3e 2.id="enum"><a.href="#toc-enum">
41800 65 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 enum</a>.<a.class="hdr".href="#e
41820 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e num">..</a></h2>........<figure>
41840 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 <figcaption.class="zig-cap"><cit
41860 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 6e 75 6d 73 2e 7a 69 67 3c 2f 63 e.class="file">test_enums.zig</c
41880 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 ite></figcaption><pre><code><spa
418a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 n.class="tok-kw">const</span>.ex
418c0 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 pect.=.<span.class="tok-builtin"
418e0 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@import</span>(<span.class="tok
41900 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 -str">&quot;std&quot;</span>).te
41920 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b sting.expect;.<span.class="tok-k
41940 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 w">const</span>.mem.=.<span.clas
41960 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c s="tok-builtin">@import</span>(<
41980 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 span.class="tok-str">&quot;std&q
419a0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 uot;</span>).mem;..<span.class="
419c0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 65 6e 75 6d 2e tok-comment">//.Declare.an.enum.
419e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e </span>.<span.class="tok-kw">con
41a00 73 74 3c 2f 73 70 61 6e 3e 20 54 79 70 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f st</span>.Type.=.<span.class="to
41a20 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6f 6b 2c 0a 20 20 20 20 k-kw">enum</span>.{.....ok,.....
41a40 6e 6f 74 5f 6f 6b 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d not_ok,.};..<span.class="tok-com
41a60 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 20 73 70 65 63 69 66 69 63 20 65 6e 75 6d ment">//.Declare.a.specific.enum
41a80 20 66 69 65 6c 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .field.</span>.<span.class="tok-
41aa0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 54 79 70 65 2e 6f 6b 3b 0a 0a 3c kw">const</span>.c.=.Type.ok;..<
41ac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 79 span.class="tok-comment">//.If.y
41ae0 6f 75 20 77 61 6e 74 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 ou.want.access.to.the.ordinal.va
41b00 6c 75 65 20 6f 66 20 61 6e 20 65 6e 75 6d 2c 20 79 6f 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e lue.of.an.enum,.you</span>.<span
41b20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 73 70 65 63 .class="tok-comment">//.can.spec
41b40 69 66 79 20 74 68 65 20 74 61 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ify.the.tag.type.</span>.<span.c
41b60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 6c 75 65 lass="tok-kw">const</span>.Value
41b80 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 .=.<span.class="tok-kw">enum</sp
41ba0 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 an>(<span.class="tok-type">u2</s
41bc0 70 61 6e 3e 29 20 7b 0a 20 20 20 20 7a 65 72 6f 2c 0a 20 20 20 20 6f 6e 65 2c 0a 20 20 20 20 74 pan>).{.....zero,.....one,.....t
41be0 77 6f 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 wo,.};.<span.class="tok-comment"
41c00 3e 2f 2f 20 4e 6f 77 20 79 6f 75 20 63 61 6e 20 63 61 73 74 20 62 65 74 77 65 65 6e 20 75 32 20 >//.Now.you.can.cast.between.u2.
41c20 61 6e 64 20 56 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 and.Value.</span>.<span.class="t
41c40 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 ok-comment">//.The.ordinal.value
41c60 20 73 74 61 72 74 73 20 66 72 6f 6d 20 30 2c 20 63 6f 75 6e 74 69 6e 67 20 75 70 20 62 79 20 31 .starts.from.0,.counting.up.by.1
41c80 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6d 65 6d 62 65 72 2e 3c 2f 73 70 61 6e .from.the.previous.member.</span
41ca0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 >.<span.class="tok-kw">test</spa
41cc0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 n>.<span.class="tok-str">&quot;e
41ce0 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b num.ordinal.value&quot;</span>.{
41d00 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
41d20 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 pan>.expect(<span.class="tok-bui
41d40 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 2e ltin">@intFromEnum</span>(Value.
41d60 7a 65 72 6f 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 zero).==.<span.class="tok-number
41d80 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">0</span>);.....<span.class="to
41da0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c k-kw">try</span>.expect(<span.cl
41dc0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f ass="tok-builtin">@intFromEnum</
41de0 73 70 61 6e 3e 28 56 61 6c 75 65 2e 6f 6e 65 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>(Value.one).==.<span.class=
41e00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 "tok-number">1</span>);.....<spa
41e20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
41e40 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e ct(<span.class="tok-builtin">@in
41e60 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 2e 74 77 6f 29 20 3d 3d 20 3c tFromEnum</span>(Value.two).==.<
41e80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e span.class="tok-number">2</span>
41ea0 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e );.}..<span.class="tok-comment">
41ec0 2f 2f 20 59 6f 75 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 //.You.can.override.the.ordinal.
41ee0 76 61 6c 75 65 20 66 6f 72 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 value.for.an.enum.</span>.<span.
41f00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 6c 75 class="tok-kw">const</span>.Valu
41f20 65 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f e2.=.<span.class="tok-kw">enum</
41f40 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 span>(<span.class="tok-type">u32
41f60 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 68 75 6e 64 72 65 64 20 3d 20 3c 73 70 61 6e 20 63 </span>).{.....hundred.=.<span.c
41f80 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 lass="tok-number">100</span>,...
41fa0 20 20 74 68 6f 75 73 61 6e 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ..thousand.=.<span.class="tok-nu
41fc0 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 6d 69 6c 6c 69 6f 6e 20 3d mber">1000</span>,.....million.=
41fe0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 30 30 .<span.class="tok-number">100000
42000 30 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 0</span>,.};.<span.class="tok-kw
42020 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">test</span>.<span.class="tok-s
42040 74 72 22 3e 26 71 75 6f 74 3b 73 65 74 20 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 tr">&quot;set.enum.ordinal.value
42060 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
42080 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e "tok-kw">try</span>.expect(<span
420a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 .class="tok-builtin">@intFromEnu
420c0 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 68 75 6e 64 72 65 64 29 20 3d 3d 20 3c 73 70 61 m</span>(Value2.hundred).==.<spa
420e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 29 n.class="tok-number">100</span>)
42100 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
42120 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 span>.expect(<span.class="tok-bu
42140 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 iltin">@intFromEnum</span>(Value
42160 32 2e 74 68 6f 75 73 61 6e 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 2.thousand).==.<span.class="tok-
42180 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 number">1000</span>);.....<span.
421a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 class="tok-kw">try</span>.expect
421c0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 (<span.class="tok-builtin">@intF
421e0 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 6d 69 6c 6c 69 6f 6e 29 20 3d romEnum</span>(Value2.million).=
42200 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 30 =.<span.class="tok-number">10000
42220 30 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 00</span>);.}..<span.class="tok-
42240 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 6f 76 65 72 72 69 64 comment">//.You.can.also.overrid
42260 65 20 6f 6e 6c 79 20 73 6f 6d 65 20 76 61 6c 75 65 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e.only.some.values.</span>.<span
42280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 6c .class="tok-kw">const</span>.Val
422a0 75 65 33 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c ue3.=.<span.class="tok-kw">enum<
422c0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 /span>(<span.class="tok-type">u4
422e0 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 61 2c 0a 20 20 20 20 62 20 3d 20 3c 73 70 61 6e 20 </span>).{.....a,.....b.=.<span.
42300 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 class="tok-number">8</span>,....
42320 20 63 2c 0a 20 20 20 20 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d .c,.....d.=.<span.class="tok-num
42340 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 65 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 ber">4</span>,.....e,.};.<span.c
42360 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 lass="tok-kw">test</span>.<span.
42380 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 69 6d 70 6c 69 class="tok-str">&quot;enum.impli
423a0 63 69 74 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 73 20 61 6e 64 20 6f 76 65 72 72 69 64 64 65 cit.ordinal.values.and.overridde
423c0 6e 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 n.values&quot;</span>.{.....<spa
423e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
42400 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e ct(<span.class="tok-builtin">@in
42420 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 33 2e 61 29 20 3d 3d 20 3c 73 tFromEnum</span>(Value3.a).==.<s
42440 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">0</span>)
42460 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
42480 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 span>.expect(<span.class="tok-bu
424a0 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 iltin">@intFromEnum</span>(Value
424c0 33 2e 62 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3.b).==.<span.class="tok-number"
424e0 3e 38 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >8</span>);.....<span.class="tok
42500 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 -kw">try</span>.expect(<span.cla
42520 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 ss="tok-builtin">@intFromEnum</s
42540 70 61 6e 3e 28 56 61 6c 75 65 33 2e 63 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>(Value3.c).==.<span.class="t
42560 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 ok-number">9</span>);.....<span.
42580 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 class="tok-kw">try</span>.expect
425a0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 (<span.class="tok-builtin">@intF
425c0 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 33 2e 64 29 20 3d 3d 20 3c 73 70 61 romEnum</span>(Value3.d).==.<spa
425e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a n.class="tok-number">4</span>);.
42600 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
42620 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c an>.expect(<span.class="tok-buil
42640 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 33 2e tin">@intFromEnum</span>(Value3.
42660 65 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 e).==.<span.class="tok-number">5
42680 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f </span>);.}..<span.class="tok-co
426a0 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 6d 73 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 mment">//.Enums.can.have.methods
426c0 2c 20 74 68 65 20 73 61 6d 65 20 61 73 20 73 74 72 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 ,.the.same.as.structs.and.unions
426e0 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e .</span>.<span.class="tok-commen
42700 74 22 3e 2f 2f 20 45 6e 75 6d 20 6d 65 74 68 6f 64 73 20 61 72 65 20 6e 6f 74 20 73 70 65 63 69 t">//.Enum.methods.are.not.speci
42720 61 6c 2c 20 74 68 65 79 20 61 72 65 20 6f 6e 6c 79 20 6e 61 6d 65 73 70 61 63 65 64 3c 2f 73 70 al,.they.are.only.namespaced</sp
42740 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f an>.<span.class="tok-comment">//
42760 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 77 69 74 .functions.that.you.can.call.wit
42780 68 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 h.dot.syntax.</span>.<span.class
427a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 75 69 74 20 3d 20 3c 73 ="tok-kw">const</span>.Suit.=.<s
427c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b pan.class="tok-kw">enum</span>.{
427e0 0a 20 20 20 20 63 6c 75 62 73 2c 0a 20 20 20 20 73 70 61 64 65 73 2c 0a 20 20 20 20 64 69 61 6d .....clubs,.....spades,.....diam
42800 6f 6e 64 73 2c 0a 20 20 20 20 68 65 61 72 74 73 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 onds,.....hearts,......<span.cla
42820 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ss="tok-kw">pub</span>.<span.cla
42840 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ss="tok-kw">fn</span>.<span.clas
42860 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 43 6c 75 62 73 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 s="tok-fn">isClubs</span>(self:.
42880 53 75 69 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f Suit).<span.class="tok-type">boo
428a0 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 l</span>.{.........<span.class="
428c0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 20 3d 3d 20 53 75 tok-kw">return</span>.self.==.Su
428e0 69 74 2e 63 6c 75 62 73 3b 0a 20 20 20 20 7d 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 it.clubs;.....}.};.<span.class="
42900 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d tok-kw">test</span>.<span.class=
42920 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6d 65 74 68 6f 64 26 71 75 6f 74 "tok-str">&quot;enum.method&quot
42940 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
42960 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 53 75 69 74 2e 73 70 61 64 65 73 kw">const</span>.p.=.Suit.spades
42980 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
429a0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 70 2e 69 73 43 6c 75 62 73 28 29 29 3b 0a 7d 0a 0a 3c span>.expect(!p.isClubs());.}..<
429c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 20 65 span.class="tok-comment">//.An.e
429e0 6e 75 6d 20 63 61 6e 20 62 65 20 73 77 69 74 63 68 65 64 20 75 70 6f 6e 2e 3c 2f 73 70 61 6e 3e num.can.be.switched.upon.</span>
42a00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
42a20 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e n>.Foo.=.<span.class="tok-kw">en
42a40 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 73 74 72 69 6e 67 2c 0a 20 20 20 20 6e 75 6d 62 um</span>.{.....string,.....numb
42a60 65 72 2c 0a 20 20 20 20 6e 6f 6e 65 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er,.....none,.};.<span.class="to
42a80 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k-kw">test</span>.<span.class="t
42aa0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c ok-str">&quot;enum.switch&quot;<
42ac0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
42ae0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 46 6f 6f 2e 6e 75 6d 62 65 72 3b 0a 20 ">const</span>.p.=.Foo.number;..
42b00 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ...<span.class="tok-kw">const</s
42b20 70 61 6e 3e 20 77 68 61 74 5f 69 73 5f 69 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>.what_is_it.=.<span.class="t
42b40 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 70 29 20 7b 0a 20 20 20 20 20 ok-kw">switch</span>.(p).{......
42b60 20 20 20 46 6f 6f 2e 73 74 72 69 6e 67 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ...Foo.string.=&gt;.<span.class=
42b80 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 73 74 72 69 6e 67 "tok-str">&quot;this.is.a.string
42ba0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 46 6f 6f 2e 6e 75 6d 62 65 &quot;</span>,.........Foo.numbe
42bc0 72 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 r.=&gt;.<span.class="tok-str">&q
42be0 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d 62 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e uot;this.is.a.number&quot;</span
42c00 3e 2c 0a 20 20 20 20 20 20 20 20 46 6f 6f 2e 6e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 >,.........Foo.none.=&gt;.<span.
42c20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 class="tok-str">&quot;this.is.a.
42c40 6e 6f 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 none&quot;</span>,.....};.....<s
42c60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 pan.class="tok-kw">try</span>.ex
42c80 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 pect(mem.eql(<span.class="tok-ty
42ca0 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 77 68 61 74 5f 69 73 5f 69 74 2c 20 3c 73 70 61 6e pe">u8</span>,.what_is_it,.<span
42cc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 .class="tok-str">&quot;this.is.a
42ce0 20 6e 75 6d 62 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e .number&quot;</span>));.}..<span
42d00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 79 70 65 49 6e 66 .class="tok-comment">//.@typeInf
42d20 6f 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 69 6e 74 65 o.can.be.used.to.access.the.inte
42d40 67 65 72 20 74 61 67 20 74 79 70 65 20 6f 66 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 0a ger.tag.type.of.an.enum.</span>.
42d60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
42d80 3e 20 53 6d 61 6c 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 >.Small.=.<span.class="tok-kw">e
42da0 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6f 6e 65 2c 0a 20 20 20 20 74 77 6f 2c 0a 20 num</span>.{.....one,.....two,..
42dc0 20 20 20 74 68 72 65 65 2c 0a 20 20 20 20 66 6f 75 72 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 ...three,.....four,.};.<span.cla
42de0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">test</span>.<span.cl
42e00 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 2e 6d 65 74 61 2e 54 61 67 ass="tok-str">&quot;std.meta.Tag
42e20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
42e40 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e "tok-kw">try</span>.expect(<span
42e60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f .class="tok-builtin">@typeInfo</
42e80 73 70 61 6e 3e 28 53 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 74 61 67 5f 74 79 70 65 20 3d 3d 20 3c 73 span>(Small).Enum.tag_type.==.<s
42ea0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 29 3b pan.class="tok-type">u2</span>);
42ec0 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f .}..<span.class="tok-comment">//
42ee0 20 40 74 79 70 65 49 6e 66 6f 20 74 65 6c 6c 73 20 75 73 20 74 68 65 20 66 69 65 6c 64 20 63 6f .@typeInfo.tells.us.the.field.co
42f00 75 6e 74 20 61 6e 64 20 74 68 65 20 66 69 65 6c 64 73 20 6e 61 6d 65 73 3a 3c 2f 73 70 61 6e 3e unt.and.the.fields.names:</span>
42f20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
42f40 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 >.<span.class="tok-str">&quot;@t
42f60 79 70 65 49 6e 66 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ypeInfo&quot;</span>.{.....<span
42f80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
42fa0 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 t(<span.class="tok-builtin">@typ
42fc0 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 66 69 65 6c 64 73 2e eInfo</span>(Small).Enum.fields.
42fe0 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e len.==.<span.class="tok-number">
43000 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 4</span>);.....<span.class="tok-
43020 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 kw">try</span>.expect(mem.eql(<s
43040 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 pan.class="tok-type">u8</span>,.
43060 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 <span.class="tok-builtin">@typeI
43080 6e 66 6f 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 66 69 65 6c 64 73 5b 3c 73 nfo</span>(Small).Enum.fields[<s
430a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">1</span>]
430c0 2e 6e 61 6d 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .name,.<span.class="tok-str">&qu
430e0 6f 74 3b 74 77 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 ot;two&quot;</span>));.}..<span.
43100 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 61 67 4e 61 6d 65 20 class="tok-comment">//.@tagName.
43120 67 69 76 65 73 20 61 20 5b 3a 30 5d 63 6f 6e 73 74 20 75 38 20 72 65 70 72 65 73 65 6e 74 61 74 gives.a.[:0]const.u8.representat
43140 69 6f 6e 20 6f 66 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ion.of.an.enum.value:</span>.<sp
43160 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 an.class="tok-kw">test</span>.<s
43180 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 61 67 4e 61 pan.class="tok-str">&quot;@tagNa
431a0 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 me&quot;</span>.{.....<span.clas
431c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d s="tok-kw">try</span>.expect(mem
431e0 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f .eql(<span.class="tok-type">u8</
43200 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 span>,.<span.class="tok-builtin"
43220 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 2e 74 68 72 65 65 29 2c 20 3c >@tagName</span>(Small.three),.<
43240 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 65 span.class="tok-str">&quot;three
43260 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c &quot;</span>));.}</code></pre><
43280 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 /figure><figure><figcaption.clas
432a0 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e s="shell-cap">Shell</figcaption>
432c0 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f <pre><samp>$.<kbd>zig.test.test_
432e0 65 6e 75 6d 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 enums.zig</kbd>.1/8.test_enums.t
43300 65 73 74 2e 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 2e 2e 2e 20 4f 4b 0a 32 2f 38 est.enum.ordinal.value....OK.2/8
43320 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 74 2e 73 65 74 20 65 6e 75 6d 20 6f 72 64 69 6e 61 .test_enums.test.set.enum.ordina
43340 6c 20 76 61 6c 75 65 2e 2e 2e 20 4f 4b 0a 33 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 l.value....OK.3/8.test_enums.tes
43360 74 2e 65 6e 75 6d 20 69 6d 70 6c 69 63 69 74 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 73 20 61 t.enum.implicit.ordinal.values.a
43380 6e 64 20 6f 76 65 72 72 69 64 64 65 6e 20 76 61 6c 75 65 73 2e 2e 2e 20 4f 4b 0a 34 2f 38 20 74 nd.overridden.values....OK.4/8.t
433a0 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 74 2e 65 6e 75 6d 20 6d 65 74 68 6f 64 2e 2e 2e 20 4f 4b est_enums.test.enum.method....OK
433c0 0a 35 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 74 2e 65 6e 75 6d 20 73 77 69 74 63 68 .5/8.test_enums.test.enum.switch
433e0 2e 2e 2e 20 4f 4b 0a 36 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 74 2e 73 74 64 2e 6d ....OK.6/8.test_enums.test.std.m
43400 65 74 61 2e 54 61 67 2e 2e 2e 20 4f 4b 0a 37 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 2e 74 65 73 eta.Tag....OK.7/8.test_enums.tes
43420 74 2e 40 74 79 70 65 49 6e 66 6f 2e 2e 2e 20 4f 4b 0a 38 2f 38 20 74 65 73 74 5f 65 6e 75 6d 73 t.@typeInfo....OK.8/8.test_enums
43440 2e 74 65 73 74 2e 40 74 61 67 4e 61 6d 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 38 20 74 65 73 74 73 .test.@tagName....OK.All.8.tests
43460 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
43480 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c ......<p>See.also:</p><ul>.<li><
434a0 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e a.href="#typeInfo">@typeInfo</a>
434c0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 </li>.<li><a.href="#tagName">@ta
434e0 67 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a gName</a></li>.<li><a.href="#siz
43500 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 eOf">@sizeOf</a></li>.</ul>.....
43520 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 3c 61 20 68 72 65 66 ....<h3.id="extern-enum"><a.href
43540 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c ="#toc-extern-enum">extern.enum<
43560 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e /a>.<a.class="hdr".href="#extern
43580 2d 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 -enum">..</a></h3>........<p>...
435a0 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 65 6e 75 6d 73 20 61 72 65 20 6e 6f 74 20 67 75 ....By.default,.enums.are.not.gu
435c0 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 aranteed.to.be.compatible.with.t
435e0 68 65 20 43 20 41 42 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 he.C.ABI:.......</p>.......<figu
43600 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
43620 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 6e 75 6d 5f 65 78 70 6f 72 74 5f 65 72 cite.class="file">enum_export_er
43640 72 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ror.zig</cite></figcaption><pre>
43660 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
43680 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.Foo.=.<span.class="tok-k
436a0 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 20 61 2c 20 62 2c 20 63 20 7d 3b 0a 3c 73 70 61 w">enum</span>.{.a,.b,.c.};.<spa
436c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">export</span>.<
436e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
43700 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 61 6e 3e 28 pan.class="tok-fn">entry</span>(
43720 66 6f 6f 3a 20 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 foo:.Foo).<span.class="tok-type"
43740 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 63 6f 64 65 3e >void</span>.{._.=.foo;.}</code>
43760 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 </pre></figure><figure><figcapti
43780 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 on.class="shell-cap">Shell</figc
437a0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 aption><pre><samp>$.<kbd>zig.bui
437c0 6c 64 2d 6f 62 6a 20 65 6e 75 6d 5f 65 78 70 6f 72 74 5f 65 72 72 6f 72 2e 7a 69 67 3c 2f 6b 62 ld-obj.enum_export_error.zig</kb
437e0 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 d>.<span.class="sgr-1m">docgen_t
43800 6d 70 2f 65 6e 75 6d 5f 65 78 70 6f 72 74 5f 65 72 72 6f 72 2e 7a 69 67 3a 32 3a 31 37 3a 20 3c mp/enum_export_error.zig:2:17:.<
43820 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f /span><span.class="sgr-31m">erro
43840 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 r:.</span><span.class="sgr-1m">p
43860 61 72 61 6d 65 74 65 72 20 6f 66 20 74 79 70 65 20 27 65 6e 75 6d 5f 65 78 70 6f 72 74 5f 65 72 arameter.of.type.'enum_export_er
43880 72 6f 72 2e 46 6f 6f 27 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 69 6e 20 66 75 6e 63 74 69 6f 6e ror.Foo'.not.allowed.in.function
438a0 20 77 69 74 68 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 27 43 27 0a 3c 2f 73 .with.calling.convention.'C'.</s
438c0 70 61 6e 3e 65 78 70 6f 72 74 20 66 6e 20 65 6e 74 72 79 28 66 6f 6f 3a 20 46 6f 6f 29 20 76 6f pan>export.fn.entry(foo:.Foo).vo
438e0 69 64 20 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 id.{._.=.foo;.}.................
43900 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 0a 3c <span.class="sgr-32m">^~~~~~~~.<
43920 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 /span><span.class="sgr-1m">docge
43940 6e 5f 74 6d 70 2f 65 6e 75 6d 5f 65 78 70 6f 72 74 5f 65 72 72 6f 72 2e 7a 69 67 3a 32 3a 31 37 n_tmp/enum_export_error.zig:2:17
43960 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e :.</span><span.class="sgr-36m">n
43980 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 ote:.</span><span.class="sgr-1m"
439a0 3e 65 6e 75 6d 20 74 61 67 20 74 79 70 65 20 27 75 32 27 20 69 73 20 6e 6f 74 20 65 78 74 65 72 >enum.tag.type.'u2'.is.not.exter
439c0 6e 20 63 6f 6d 70 61 74 69 62 6c 65 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d n.compatible.</span><span.class=
439e0 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 65 6e 75 6d 5f 65 78 70 6f 72 74 5f "sgr-1m">docgen_tmp/enum_export_
43a00 65 72 72 6f 72 2e 7a 69 67 3a 32 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 error.zig:2:17:.</span><span.cla
43a20 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 ss="sgr-36m">note:.</span><span.
43a40 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 6e 6c 79 20 69 6e 74 65 67 65 72 73 20 77 69 74 class="sgr-1m">only.integers.wit
43a60 68 20 30 2c 20 38 2c 20 31 36 2c 20 33 32 2c 20 36 34 20 61 6e 64 20 31 32 38 20 62 69 74 73 20 h.0,.8,.16,.32,.64.and.128.bits.
43a80 61 72 65 20 65 78 74 65 72 6e 20 63 6f 6d 70 61 74 69 62 6c 65 0a 3c 2f 73 70 61 6e 3e 3c 73 70 are.extern.compatible.</span><sp
43aa0 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 65 6e 75 an.class="sgr-1m">docgen_tmp/enu
43ac0 6d 5f 65 78 70 6f 72 74 5f 65 72 72 6f 72 2e 7a 69 67 3a 31 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e m_export_error.zig:1:13:.</span>
43ae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 <span.class="sgr-36m">note:.</sp
43b00 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 6e 75 6d 20 64 65 63 an><span.class="sgr-1m">enum.dec
43b20 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 46 6f 6f 20 3d 20 65 6e lared.here.</span>const.Foo.=.en
43b40 75 6d 20 7b 20 61 2c 20 62 2c 20 63 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 um.{.a,.b,.c.};.............<spa
43b60 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e n.class="sgr-32m">^~~~~~~~~~~~~~
43b80 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ~~.</span>.</samp></pre></figure
43ba0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 61 20 43 2d 41 42 49 2d 63 6f >.......<p>.......For.a.C-ABI-co
43bc0 6d 70 61 74 69 62 6c 65 20 65 6e 75 6d 2c 20 70 72 6f 76 69 64 65 20 61 6e 20 65 78 70 6c 69 63 mpatible.enum,.provide.an.explic
43be0 69 74 20 74 61 67 20 74 79 70 65 20 74 6f 0a 20 20 20 20 20 20 74 68 65 20 65 6e 75 6d 3a 0a 20 it.tag.type.to.......the.enum:..
43c00 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 .....</p>.......<figure><figcapt
43c20 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
43c40 22 66 69 6c 65 22 3e 65 6e 75 6d 5f 65 78 70 6f 72 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 "file">enum_export.zig</cite></f
43c60 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><code><span.class
43c80 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 ="tok-kw">const</span>.Foo.=.<sp
43ca0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 28 3c 73 an.class="tok-kw">enum</span>(<s
43cc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e pan.class="tok-type">c_int</span
43ce0 3e 29 20 7b 20 61 2c 20 62 2c 20 63 20 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >).{.a,.b,.c.};.<span.class="tok
43d00 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">export</span>.<span.class="
43d20 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tok-kw">fn</span>.<span.class="t
43d40 6f 6b 2d 66 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 61 6e 3e 28 66 6f 6f 3a 20 46 6f 6f 29 20 3c 73 ok-fn">entry</span>(foo:.Foo).<s
43d60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e pan.class="tok-type">void</span>
43d80 20 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 .{._.=.foo;.}</code></pre></figu
43da0 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
43dc0 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
43de0 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 65 6e 75 6d 5f <samp>$.<kbd>zig.build-obj.enum_
43e00 65 78 70 6f 72 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f export.zig</kbd>.</samp></pre></
43e20 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 6e figure>...............<h3.id="En
43e40 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 6e 75 6d 2d um-Literals"><a.href="#toc-Enum-
43e60 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 Literals">Enum.Literals</a>.<a.c
43e80 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 lass="hdr".href="#Enum-Literals"
43ea0 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 6e >..</a></h3>........<p>.......En
43ec0 75 6d 20 6c 69 74 65 72 61 6c 73 20 61 6c 6c 6f 77 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 um.literals.allow.specifying.the
43ee0 20 6e 61 6d 65 20 6f 66 20 61 6e 20 65 6e 75 6d 20 66 69 65 6c 64 20 77 69 74 68 6f 75 74 20 73 .name.of.an.enum.field.without.s
43f00 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 65 6e 75 6d 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c pecifying.the.enum.type:.......<
43f20 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
43f40 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
43f60 3e 74 65 73 74 5f 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f >test_enum_literals.zig</cite></
43f80 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><code><span.clas
43fa0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 s="tok-kw">const</span>.std.=.<s
43fc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c pan.class="tok-builtin">@import<
43fe0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>(<span.class="tok-str">&qu
44000 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 ot;std&quot;</span>);.<span.clas
44020 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d s="tok-kw">const</span>.expect.=
44040 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 .std.testing.expect;..<span.clas
44060 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 s="tok-kw">const</span>.Color.=.
44080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e <span.class="tok-kw">enum</span>
440a0 20 7b 0a 20 20 20 20 61 75 74 6f 2c 0a 20 20 20 20 6f 66 66 2c 0a 20 20 20 20 6f 6e 2c 0a 7d 3b .{.....auto,.....off,.....on,.};
440c0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
440e0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 n>.<span.class="tok-str">&quot;e
44100 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 num.literals&quot;</span>.{.....
44120 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
44140 3e 20 63 6f 6c 6f 72 31 3a 20 43 6f 6c 6f 72 20 3d 20 2e 61 75 74 6f 3b 0a 20 20 20 20 3c 73 70 >.color1:.Color.=..auto;.....<sp
44160 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 an.class="tok-kw">const</span>.c
44180 6f 6c 6f 72 32 20 3d 20 43 6f 6c 6f 72 2e 61 75 74 6f 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c olor2.=.Color.auto;.....<span.cl
441a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 ass="tok-kw">try</span>.expect(c
441c0 6f 6c 6f 72 31 20 3d 3d 20 63 6f 6c 6f 72 32 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 olor1.==.color2);.}..<span.class
441e0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ="tok-kw">test</span>.<span.clas
44200 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 75 73 69 6e 67 20 65 s="tok-str">&quot;switch.using.e
44220 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 num.literals&quot;</span>.{.....
44240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
44260 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 6e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c >.color.=.Color.on;.....<span.cl
44280 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 ass="tok-kw">const</span>.result
442a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f .=.<span.class="tok-kw">switch</
442c0 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 2e 61 75 74 6f 20 3d 26 span>.(color).{..........auto.=&
442e0 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 gt;.<span.class="tok-null">false
44300 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 6f 6e 20 3d 26 67 74 3b 20 3c 73 70 61 6e </span>,..........on.=&gt;.<span
44320 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 .class="tok-null">true</span>,..
44340 20 20 20 20 20 20 20 2e 6f 66 66 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ........off.=&gt;.<span.class="t
44360 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 ok-null">false</span>,.....};...
44380 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
443a0 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e >.expect(result);.}</code></pre>
443c0 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 </figure><figure><figcaption.cla
443e0 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e ss="shell-cap">Shell</figcaption
44400 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 ><pre><samp>$.<kbd>zig.test.test
44420 5f 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 _enum_literals.zig</kbd>.1/2.tes
44440 74 5f 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 73 2e 74 65 73 74 2e 65 6e 75 6d 20 6c 69 74 65 72 61 t_enum_literals.test.enum.litera
44460 6c 73 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 73 2e ls....OK.2/2.test_enum_literals.
44480 74 65 73 74 2e 73 77 69 74 63 68 20 75 73 69 6e 67 20 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 2e test.switch.using.enum.literals.
444a0 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.2.tests.passed..</samp
444c0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c ></pre></figure>...............<
444e0 68 33 20 69 64 3d 22 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 3c 61 20 68 h3.id="Non-exhaustive-enum"><a.h
44500 72 65 66 3d 22 23 74 6f 63 2d 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 4e ref="#toc-Non-exhaustive-enum">N
44520 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d on-exhaustive.enum</a>.<a.class=
44540 22 68 64 72 22 20 68 72 65 66 3d 22 23 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d "hdr".href="#Non-exhaustive-enum
44560 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 ">..</a></h3>........<p>.......A
44580 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 20 63 61 6e 20 62 65 20 63 72 65 61 .non-exhaustive.enum.can.be.crea
445a0 74 65 64 20 62 79 20 61 64 64 69 6e 67 20 61 20 74 72 61 69 6c 69 6e 67 20 3c 63 6f 64 65 3e 5f ted.by.adding.a.trailing.<code>_
445c0 3c 2f 63 6f 64 65 3e 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 54 68 65 20 65 6e 75 6d 20 6d 75 </code>.field........The.enum.mu
445e0 73 74 20 73 70 65 63 69 66 79 20 61 20 74 61 67 20 74 79 70 65 20 61 6e 64 20 63 61 6e 6e 6f 74 st.specify.a.tag.type.and.cannot
44600 20 63 6f 6e 73 75 6d 65 20 65 76 65 72 79 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 .consume.every.enumeration.value
44620 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 ........</p>.......<p>.......<a.
44640 68 72 65 66 3d 22 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 href="#enumFromInt">@enumFromInt
44660 3c 2f 61 3e 20 6f 6e 20 61 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 20 69 6e </a>.on.a.non-exhaustive.enum.in
44680 76 6f 6c 76 65 73 20 74 68 65 20 73 61 66 65 74 79 20 73 65 6d 61 6e 74 69 63 73 0a 20 20 20 20 volves.the.safety.semantics.....
446a0 20 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 ..of.<a.href="#intCast">@intCast
446c0 3c 2f 61 3e 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2c 20 62 75 </a>.to.the.integer.tag.type,.bu
446e0 74 20 62 65 79 6f 6e 64 20 74 68 61 74 20 61 6c 77 61 79 73 20 72 65 73 75 6c 74 73 20 69 6e 0a t.beyond.that.always.results.in.
44700 20 20 20 20 20 20 61 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 65 6e 75 6d 20 76 61 6c 75 65 2e ......a.well-defined.enum.value.
44720 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 73 77 .......</p>.......<p>.......A.sw
44740 69 74 63 68 20 6f 6e 20 61 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 20 63 61 itch.on.a.non-exhaustive.enum.ca
44760 6e 20 69 6e 63 6c 75 64 65 20 61 20 3c 63 6f 64 65 3e 5f 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 n.include.a.<code>_</code>.prong
44780 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 61 6e 20 3c 63 6f 64 65 3e 3c .as.an.alternative.to.an.<code><
447a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c span.class="tok-kw">else</span><
447c0 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 2e 0a 20 20 20 20 20 20 57 69 74 68 20 61 20 3c 63 6f 64 65 /code>.prong........With.a.<code
447e0 3e 5f 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 65 72 72 >_</code>.prong.the.compiler.err
44800 6f 72 73 20 69 66 20 61 6c 6c 20 74 68 65 20 6b 6e 6f 77 6e 20 74 61 67 20 6e 61 6d 65 73 20 61 ors.if.all.the.known.tag.names.a
44820 72 65 20 6e 6f 74 20 68 61 6e 64 6c 65 64 20 62 79 20 74 68 65 20 73 77 69 74 63 68 2e 0a 20 20 re.not.handled.by.the.switch....
44840 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ....</p>.......<figure><figcapti
44860 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 on.class="zig-cap"><cite.class="
44880 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 63 68 5f 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 file">test_switch_non-exhaustive
448a0 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
448c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
448e0 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.std.=.<span.class="tok-buil
44900 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tin">@import</span>(<span.class=
44920 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;std&quot;</span>
44940 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 );.<span.class="tok-kw">const</s
44960 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 pan>.expect.=.std.testing.expect
44980 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ;..<span.class="tok-kw">const</s
449a0 70 61 6e 3e 20 4e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b pan>.Number.=.<span.class="tok-k
449c0 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">enum</span>(<span.class="tok-
449e0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 6f 6e 65 2c 0a 20 20 20 20 type">u8</span>).{.....one,.....
44a00 74 77 6f 2c 0a 20 20 20 20 74 68 72 65 65 2c 0a 20 20 20 20 5f 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e two,.....three,....._,.};..<span
44a20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 .class="tok-kw">test</span>.<spa
44a40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f n.class="tok-str">&quot;switch.o
44a60 6e 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 n.non-exhaustive.enum&quot;</spa
44a80 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.{.....<span.class="tok-kw">co
44aa0 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 4e 75 6d 62 65 72 2e 6f 6e 65 3b 0a nst</span>.number.=.Number.one;.
44ac0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ....<span.class="tok-kw">const</
44ae0 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.result.=.<span.class="tok-
44b00 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 0a 20 20 20 kw">switch</span>.(number).{....
44b20 20 20 20 20 20 2e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......one.=&gt;.<span.class="tok
44b40 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 74 77 6f -null">true</span>,..........two
44b60 2c 0a 20 20 20 20 20 20 20 20 2e 74 68 72 65 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 ,..........three.=&gt;.<span.cla
44b80 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 ss="tok-null">false</span>,.....
44ba0 20 20 20 20 5f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c ...._.=&gt;.<span.class="tok-nul
44bc0 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 l">false</span>,.....};.....<spa
44be0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
44c00 63 74 28 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ct(result);.....<span.class="tok
44c20 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 6f 6e 65 20 3d 20 3c 73 70 61 6e -kw">const</span>.is_one.=.<span
44c40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6e .class="tok-kw">switch</span>.(n
44c60 75 6d 62 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 2e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 umber).{..........one.=&gt;.<spa
44c80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a n.class="tok-null">true</span>,.
44ca0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 ........<span.class="tok-kw">els
44cc0 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e</span>.=&gt;.<span.class="tok-
44ce0 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c null">false</span>,.....};.....<
44d00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">try</span>.e
44d20 78 70 65 63 74 28 69 73 5f 6f 6e 65 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 xpect(is_one);.}</code></pre></f
44d40 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
44d60 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
44d80 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 re><samp>$.<kbd>zig.test.test_sw
44da0 69 74 63 68 5f 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f itch_non-exhaustive.zig</kbd>.1/
44dc0 31 20 74 65 73 74 5f 73 77 69 74 63 68 5f 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2e 74 65 73 1.test_switch_non-exhaustive.tes
44de0 74 2e 73 77 69 74 63 68 20 6f 6e 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 2e t.switch.on.non-exhaustive.enum.
44e00 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.1.tests.passed..</samp
44e20 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a ></pre></figure>................
44e40 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ......<h2.id="union"><a.href="#t
44e60 6f 63 2d 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 oc-union">union</a>.<a.class="hd
44e80 72 22 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 r".href="#union">..</a></h2>....
44ea0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 62 61 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ....<p>.......A.bare.<code><span
44ec0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="tok-kw">union</span></co
44ee0 64 65 3e 20 64 65 66 69 6e 65 73 20 61 20 73 65 74 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 74 79 de>.defines.a.set.of.possible.ty
44f00 70 65 73 20 74 68 61 74 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 61 73 pes.that.a.value.......can.be.as
44f20 20 61 20 6c 69 73 74 20 6f 66 20 66 69 65 6c 64 73 2e 20 4f 6e 6c 79 20 6f 6e 65 20 66 69 65 6c .a.list.of.fields..Only.one.fiel
44f40 64 20 63 61 6e 20 62 65 20 61 63 74 69 76 65 20 61 74 20 61 20 74 69 6d 65 2e 0a 20 20 20 20 20 d.can.be.active.at.a.time.......
44f60 20 54 68 65 20 69 6e 2d 6d 65 6d 6f 72 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 .The.in-memory.representation.of
44f80 20 62 61 72 65 20 75 6e 69 6f 6e 73 20 69 73 20 6e 6f 74 20 67 75 61 72 61 6e 74 65 65 64 2e 0a .bare.unions.is.not.guaranteed..
44fa0 20 20 20 20 20 20 42 61 72 65 20 75 6e 69 6f 6e 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 ......Bare.unions.cannot.be.used
44fc0 20 74 6f 20 72 65 69 6e 74 65 72 70 72 65 74 20 6d 65 6d 6f 72 79 2e 20 46 6f 72 20 74 68 61 74 .to.reinterpret.memory..For.that
44fe0 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 ,.use.<a.href="#ptrCast">@ptrCas
45000 74 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 6f 72 20 75 73 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 t</a>,.......or.use.an.<a.href="
45020 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 20 #extern-union">extern.union</a>.
45040 6f 72 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 or.a.<a.href="#packed-union">pac
45060 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 77 68 69 63 68 20 68 61 76 65 0a 20 20 20 20 20 20 67 ked.union</a>.which.have.......g
45080 75 61 72 61 6e 74 65 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 2e 0a 20 20 20 20 uaranteed.in-memory.layout......
450a0 20 20 3c 61 20 68 72 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 ..<a.href="#Wrong-Union-Field-Ac
450c0 63 65 73 73 22 3e 41 63 63 65 73 73 69 6e 67 20 74 68 65 20 6e 6f 6e 2d 61 63 74 69 76 65 20 66 cess">Accessing.the.non-active.f
450e0 69 65 6c 64 3c 2f 61 3e 20 69 73 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 ield</a>.is.......safety-checked
45100 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 .<a.href="#Undefined-Behavior">U
45120 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 ndefined.Behavior</a>:.......</p
45140 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
45160 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 s="zig-cap"><cite.class="file">t
45180 65 73 74 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 61 63 63 65 73 73 2e 7a 69 67 3c 2f 63 69 74 65 est_wrong_union_access.zig</cite
451a0 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
451c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 61 79 6c 6f lass="tok-kw">const</span>.Paylo
451e0 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c ad.=.<span.class="tok-kw">union<
45200 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>.{.....int:.<span.class="t
45220 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 66 6c 6f 61 74 3a 20 ok-type">i64</span>,.....float:.
45240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e <span.class="tok-type">f64</span
45260 3e 2c 0a 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >,.....boolean:.<span.class="tok
45280 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 -type">bool</span>,.};.<span.cla
452a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">test</span>.<span.cl
452c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e ass="tok-str">&quot;simple.union
452e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
45300 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 61 79 6c 6f 61 64 20 3d 20 50 61 "tok-kw">var</span>.payload.=.Pa
45320 79 6c 6f 61 64 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e yload{..int.=.<span.class="tok-n
45340 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 70 61 79 6c 6f 61 umber">1234</span>.};.....payloa
45360 64 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 d.float.=.<span.class="tok-numbe
45380 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c r">12.34</span>;.}</code></pre><
453a0 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 /figure><figure><figcaption.clas
453c0 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e s="shell-cap">Shell</figcaption>
453e0 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f <pre><samp>$.<kbd>zig.test.test_
45400 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 61 63 63 65 73 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 wrong_union_access.zig</kbd>.1/1
45420 20 74 65 73 74 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 61 63 63 65 73 73 2e 74 65 73 74 2e 73 69 .test_wrong_union_access.test.si
45440 6d 70 6c 65 20 75 6e 69 6f 6e 2e 2e 2e 20 74 68 72 65 61 64 20 39 38 37 31 32 32 20 70 61 6e 69 mple.union....thread.987122.pani
45460 63 3a 20 61 63 63 65 73 73 20 6f 66 20 75 6e 69 6f 6e 20 66 69 65 6c 64 20 27 66 6c 6f 61 74 27 c:.access.of.union.field.'float'
45480 20 77 68 69 6c 65 20 66 69 65 6c 64 20 27 69 6e 74 27 20 69 73 20 61 63 74 69 76 65 0a 2f 68 6f .while.field.'int'.is.active./ho
454a0 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 me/ci/actions-runner/_work/zig-b
454c0 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 77 72 6f ootstrap/zig/docgen_tmp/test_wro
454e0 6e 67 5f 75 6e 69 6f 6e 5f 61 63 63 65 73 73 2e 7a 69 67 3a 38 3a 31 32 3a 20 30 78 31 30 33 38 ng_union_access.zig:8:12:.0x1038
45500 66 32 37 20 69 6e 20 74 65 73 74 2e 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 20 28 74 65 73 74 29 0a f27.in.test.simple.union.(test).
45520 20 20 20 20 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 0a 20 20 20 20 20 ....payload.float.=.12.34;......
45540 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f ......^./home/ci/actions-runner/
45560 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 _work/zig-bootstrap/out/host/lib
45580 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 35 /zig/compiler/test_runner.zig:15
455a0 38 3a 32 35 3a 20 30 78 31 30 34 34 30 63 32 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 8:25:.0x10440c2.in.mainTerminal.
455c0 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 (test).........if.(test_fn.func(
455e0 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )).|_|.{........................
45600 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b .^./home/ci/actions-runner/_work
45620 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f /zig-bootstrap/out/host/lib/zig/
45640 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 35 3a 32 38 3a 20 compiler/test_runner.zig:35:28:.
45660 30 78 31 30 33 61 31 31 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 0x103a11b.in.main.(test)........
45680 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 .return.mainTerminal();.........
456a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 ...................^./home/ci/ac
456c0 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 tions-runner/_work/zig-bootstrap
456e0 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a /out/host/lib/zig/std/start.zig:
45700 35 30 31 3a 32 32 3a 20 30 78 31 30 33 39 34 62 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 501:22:.0x10394b9.in.posixCallMa
45720 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f inAndExit.(test).............roo
45740 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e t.main();......................^
45760 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a ./home/ci/actions-runner/_work/z
45780 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 ig-bootstrap/out/host/lib/zig/st
457a0 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 39 30 32 31 20 69 6e 20 d/start.zig:253:5:.0x1039021.in.
457c0 5f 73 74 61 72 74 20 28 74 65 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 _start.(test).....asm.volatile.(
457e0 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f switch.(native_arch).{.....^.???
45800 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 65 72 72 6f 72 3a 20 74 68 :?:?:.0x0.in.???.(???).error:.th
45820 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 e.following.test.command.crashed
45840 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f :./home/ci/actions-runner/_work/
45860 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 zig-bootstrap/out/zig-local-cach
45880 65 2f 6f 2f 35 32 38 35 32 34 39 62 63 33 32 63 38 32 66 66 33 61 30 37 33 35 36 64 66 62 38 33 e/o/5285249bc32c82ff3a07356dfb83
458a0 66 65 34 33 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e fe43/test.</samp></pre></figure>
458c0 0a 20 20 20 20 20 20 3c 70 3e 59 6f 75 20 63 61 6e 20 61 63 74 69 76 61 74 65 20 61 6e 6f 74 68 .......<p>You.can.activate.anoth
458e0 65 72 20 66 69 65 6c 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 20 65 6e 74 69 72 65 er.field.by.assigning.the.entire
45900 20 75 6e 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 .union:</p>.......<figure><figca
45920 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 ption.class="zig-cap"><cite.clas
45940 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f s="file">test_simple_union.zig</
45960 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 cite></figcaption><pre><code><sp
45980 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 an.class="tok-kw">const</span>.s
459a0 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 td.=.<span.class="tok-builtin">@
459c0 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 import</span>(<span.class="tok-s
459e0 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 tr">&quot;std&quot;</span>);.<sp
45a00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 an.class="tok-kw">const</span>.e
45a20 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 xpect.=.std.testing.expect;..<sp
45a40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 an.class="tok-kw">const</span>.P
45a60 61 79 6c 6f 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e ayload.=.<span.class="tok-kw">un
45a80 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ion</span>.{.....int:.<span.clas
45aa0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 66 6c 6f s="tok-type">i64</span>,.....flo
45ac0 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f at:.<span.class="tok-type">f64</
45ae0 73 70 61 6e 3e 2c 0a 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>,.....boolean:.<span.class=
45b00 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e "tok-type">bool</span>,.};.<span
45b20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 .class="tok-kw">test</span>.<spa
45b40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 n.class="tok-str">&quot;simple.u
45b60 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c nion&quot;</span>.{.....<span.cl
45b80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 61 79 6c 6f 61 64 20 ass="tok-kw">var</span>.payload.
45ba0 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 =.Payload{..int.=.<span.class="t
45bc0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 ok-number">1234</span>.};.....<s
45be0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 pan.class="tok-kw">try</span>.ex
45c00 70 65 63 74 28 70 61 79 6c 6f 61 64 2e 69 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pect(payload.int.==.<span.class=
45c20 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 70 "tok-number">1234</span>);.....p
45c40 61 79 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e ayload.=.Payload{..float.=.<span
45c60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e .class="tok-number">12.34</span>
45c80 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 .};.....<span.class="tok-kw">try
45ca0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 3d 3d 20 </span>.expect(payload.float.==.
45cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f <span.class="tok-number">12.34</
45ce0 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c span>);.}</code></pre></figure><
45d00 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d figure><figcaption.class="shell-
45d20 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d cap">Shell</figcaption><pre><sam
45d40 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 6e p>$.<kbd>zig.test.test_simple_un
45d60 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 6e ion.zig</kbd>.1/1.test_simple_un
45d80 69 6f 6e 2e 74 65 73 74 2e 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 ion.test.simple.union....OK.All.
45da0 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 1.tests.passed..</samp></pre></f
45dc0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 6f 72 64 65 72 20 igure>.......<p>.......In.order.
45de0 74 6f 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c to.use.<a.href="#switch">switch<
45e00 2f 61 3e 20 77 69 74 68 20 61 20 75 6e 69 6f 6e 2c 20 69 74 20 6d 75 73 74 20 62 65 20 61 20 3c /a>.with.a.union,.it.must.be.a.<
45e20 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e a.href="#Tagged-union">Tagged.un
45e40 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ion</a>........</p>.......<p>...
45e60 20 20 20 20 54 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 75 6e 69 6f 6e 20 77 68 65 6e 20 74 ....To.initialize.a.union.when.t
45e80 68 65 20 74 61 67 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e he.tag.is.a.<a.href="#comptime">
45ea0 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 6e 61 6d 65 2c 20 73 65 65 20 3c 61 20 comptime</a>-known.name,.see.<a.
45ec0 68 72 65 66 3d 22 23 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e href="#unionInit">@unionInit</a>
45ee0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 61 67 67 ........</p>........<h3.id="Tagg
45f00 65 64 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 61 67 67 65 64 2d 75 ed-union"><a.href="#toc-Tagged-u
45f20 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d nion">Tagged.union</a>.<a.class=
45f40 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 "hdr".href="#Tagged-union">..</a
45f60 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 64 ></h3>........<p>Unions.can.be.d
45f80 65 63 6c 61 72 65 64 20 77 69 74 68 20 61 6e 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 0a 20 eclared.with.an.enum.tag.type...
45fa0 20 20 20 20 20 54 68 69 73 20 74 75 72 6e 73 20 74 68 65 20 75 6e 69 6f 6e 20 69 6e 74 6f 20 61 .....This.turns.the.union.into.a
45fc0 20 3c 65 6d 3e 74 61 67 67 65 64 3c 2f 65 6d 3e 20 75 6e 69 6f 6e 2c 20 77 68 69 63 68 20 6d 61 .<em>tagged</em>.union,.which.ma
45fe0 6b 65 73 20 69 74 20 65 6c 69 67 69 62 6c 65 0a 20 20 20 20 20 20 74 6f 20 75 73 65 20 77 69 74 kes.it.eligible.......to.use.wit
46000 68 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 h.<a.href="#switch">switch</a>.e
46020 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 54 61 67 67 65 64 20 75 6e 69 6f 6e 73 20 xpressions........Tagged.unions.
46040 63 6f 65 72 63 65 20 74 6f 20 74 68 65 69 72 20 74 61 67 20 74 79 70 65 3a 20 3c 61 20 68 72 65 coerce.to.their.tag.type:.<a.hre
46060 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 55 6e 69 6f 6e 73 2d 61 6e 64 2d 45 6e 75 f="#Type-Coercion-Unions-and-Enu
46080 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 55 6e 69 6f 6e 73 20 61 6e 64 20 45 6e ms">Type.Coercion:.Unions.and.En
460a0 75 6d 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 ums</a>........</p>.......<figur
460c0 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
460e0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 61 67 67 65 64 5f 75 6e 69 ite.class="file">test_tagged_uni
46100 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c on.zig</cite></figcaption><pre><
46120 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
46140 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.std.=.<span.class="tok-bu
46160 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
46180 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;std&quot;</spa
461a0 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c n>);.<span.class="tok-kw">const<
461c0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 /span>.expect.=.std.testing.expe
461e0 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ct;..<span.class="tok-kw">const<
46200 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 20 3d 20 3c 73 70 61 6e 20 63 6c /span>.ComplexTypeTag.=.<span.cl
46220 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6f ass="tok-kw">enum</span>.{.....o
46240 6b 2c 0a 20 20 20 20 6e 6f 74 5f 6f 6b 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k,.....not_ok,.};.<span.class="t
46260 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 20 ok-kw">const</span>.ComplexType.
46280 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 =.<span.class="tok-kw">union</sp
462a0 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 29 20 7b 0a 20 20 20 20 6f 6b 3a 20 3c 73 an>(ComplexTypeTag).{.....ok:.<s
462c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a pan.class="tok-type">u8</span>,.
462e0 20 20 20 20 6e 6f 74 5f 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ....not_ok:.<span.class="tok-typ
46300 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">void</span>,.};..<span.class=
46320 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">test</span>.<span.class
46340 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 ="tok-str">&quot;switch.on.tagge
46360 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e d.union&quot;</span>.{.....<span
46380 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d .class="tok-kw">const</span>.c.=
463a0 20 43 6f 6d 70 6c 65 78 54 79 70 65 7b 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .ComplexType{..ok.=.<span.class=
463c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 "tok-number">42</span>.};.....<s
463e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 pan.class="tok-kw">try</span>.ex
46400 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 pect(<span.class="tok-builtin">@
46420 61 73 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2c 20 63 29 20 3d 3d 20 as</span>(ComplexTypeTag,.c).==.
46440 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 ComplexTypeTag.ok);......<span.c
46460 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 lass="tok-kw">switch</span>.(c).
46480 7b 0a 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 20 3d 26 67 74 {.........ComplexTypeTag.ok.=&gt
464a0 3b 20 7c 76 61 6c 75 65 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ;.|value|.<span.class="tok-kw">t
464c0 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 ry</span>.expect(value.==.<span.
464e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 2c 0a 20 class="tok-number">42</span>),..
46500 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6e 6f 74 5f 6f 6b 20 3d 26 67 .......ComplexTypeTag.not_ok.=&g
46520 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 t;.<span.class="tok-kw">unreacha
46540 62 6c 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ble</span>,.....}.}..<span.class
46560 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ="tok-kw">test</span>.<span.clas
46580 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 65 74 20 74 61 67 20 74 79 70 65 26 71 s="tok-str">&quot;get.tag.type&q
465a0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
465c0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 74 ok-kw">try</span>.expect(std.met
465e0 61 2e 54 61 67 28 43 6f 6d 70 6c 65 78 54 79 70 65 29 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 70 a.Tag(ComplexType).==.ComplexTyp
46600 65 54 61 67 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 eTag);.}</code></pre></figure><f
46620 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 igure><figcaption.class="shell-c
46640 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 ap">Shell</figcaption><pre><samp
46660 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 74 61 67 67 65 64 5f 75 6e 69 >$.<kbd>zig.test.test_tagged_uni
46680 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 74 61 67 67 65 64 5f 75 6e 69 on.zig</kbd>.1/2.test_tagged_uni
466a0 6f 6e 2e 74 65 73 74 2e 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 2e 2e on.test.switch.on.tagged.union..
466c0 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 74 65 73 74 2e ..OK.2/2.test_tagged_union.test.
466e0 67 65 74 20 74 61 67 20 74 79 70 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 get.tag.type....OK.All.2.tests.p
46700 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 assed..</samp></pre></figure>...
46720 20 20 20 20 3c 70 3e 49 6e 20 6f 72 64 65 72 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 70 61 ....<p>In.order.to.modify.the.pa
46740 79 6c 6f 61 64 20 6f 66 20 61 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 6e 20 61 20 73 77 69 yload.of.a.tagged.union.in.a.swi
46760 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 70 6c 61 63 65 20 61 20 3c 63 tch.expression,.......place.a.<c
46780 6f 64 65 3e 2a 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 ode>*</code>.before.the.variable
467a0 20 6e 61 6d 65 20 74 6f 20 6d 61 6b 65 20 69 74 20 61 20 70 6f 69 6e 74 65 72 3a 0a 20 20 20 20 .name.to.make.it.a.pointer:.....
467c0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e ..</p>.......<figure><figcaption
467e0 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="zig-cap"><cite.class="fi
46800 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 63 68 5f 6d 6f 64 69 66 79 5f 74 61 67 67 65 64 5f 75 6e le">test_switch_modify_tagged_un
46820 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ion.zig</cite></figcaption><pre>
46840 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
46860 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 </span>.std.=.<span.class="tok-b
46880 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@import</span>(<span.cla
468a0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 ss="tok-str">&quot;std&quot;</sp
468c0 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 an>);.<span.class="tok-kw">const
468e0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 </span>.expect.=.std.testing.exp
46900 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ect;..<span.class="tok-kw">const
46920 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 20 3d 20 3c 73 70 61 6e 20 63 </span>.ComplexTypeTag.=.<span.c
46940 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 lass="tok-kw">enum</span>.{.....
46960 6f 6b 2c 0a 20 20 20 20 6e 6f 74 5f 6f 6b 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ok,.....not_ok,.};.<span.class="
46980 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 tok-kw">const</span>.ComplexType
469a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 .=.<span.class="tok-kw">union</s
469c0 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 29 20 7b 0a 20 20 20 20 6f 6b 3a 20 3c pan>(ComplexTypeTag).{.....ok:.<
469e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c span.class="tok-type">u8</span>,
46a00 0a 20 20 20 20 6e 6f 74 5f 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 .....not_ok:.<span.class="tok-ty
46a20 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 pe">void</span>,.};..<span.class
46a40 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ="tok-kw">test</span>.<span.clas
46a60 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 74 61 67 67 65 64 20 s="tok-str">&quot;modify.tagged.
46a80 75 6e 69 6f 6e 20 69 6e 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 union.in.switch&quot;</span>.{..
46aa0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 ...<span.class="tok-kw">var</spa
46ac0 6e 3e 20 63 20 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 7b 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 n>.c.=.ComplexType{..ok.=.<span.
46ae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a class="tok-number">42</span>.};.
46b00 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 .....<span.class="tok-kw">switch
46b20 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 </span>.(c).{.........ComplexTyp
46b40 65 54 61 67 2e 6f 6b 20 3d 26 67 74 3b 20 7c 2a 76 61 6c 75 65 7c 20 76 61 6c 75 65 2e 2a 20 2b eTag.ok.=&gt;.|*value|.value.*.+
46b60 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 =.<span.class="tok-number">1</sp
46b80 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6e 6f 74 5f an>,.........ComplexTypeTag.not_
46ba0 6f 6b 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e ok.=&gt;.<span.class="tok-kw">un
46bc0 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 reachable</span>,.....}......<sp
46be0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
46c00 65 63 74 28 63 2e 6f 6b 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ect(c.ok.==.<span.class="tok-num
46c20 62 65 72 22 3e 34 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ber">43</span>);.}</code></pre><
46c40 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 /figure><figure><figcaption.clas
46c60 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e s="shell-cap">Shell</figcaption>
46c80 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f <pre><samp>$.<kbd>zig.test.test_
46ca0 73 77 69 74 63 68 5f 6d 6f 64 69 66 79 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f switch_modify_tagged_union.zig</
46cc0 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 77 69 74 63 68 5f 6d 6f 64 69 66 79 5f 74 61 67 67 kbd>.1/1.test_switch_modify_tagg
46ce0 65 64 5f 75 6e 69 6f 6e 2e 74 65 73 74 2e 6d 6f 64 69 66 79 20 74 61 67 67 65 64 20 75 6e 69 6f ed_union.test.modify.tagged.unio
46d00 6e 20 69 6e 20 73 77 69 74 63 68 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 n.in.switch....OK.All.1.tests.pa
46d20 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 ssed..</samp></pre></figure>....
46d40 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 6d 61 64 65 20 ...<p>.......Unions.can.be.made.
46d60 74 6f 20 69 6e 66 65 72 20 74 68 65 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 0a 20 20 20 20 to.infer.the.enum.tag.type......
46d80 20 20 46 75 72 74 68 65 72 2c 20 75 6e 69 6f 6e 73 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 6f ..Further,.unions.can.have.metho
46da0 64 73 20 6a 75 73 74 20 6c 69 6b 65 20 73 74 72 75 63 74 73 20 61 6e 64 20 65 6e 75 6d 73 2e 0a ds.just.like.structs.and.enums..
46dc0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 ......</p>.......<figure><figcap
46de0 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 tion.class="zig-cap"><cite.class
46e00 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 69 6f 6e 5f 6d 65 74 68 6f 64 2e 7a 69 67 3c 2f 63 ="file">test_union_method.zig</c
46e20 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 ite></figcaption><pre><code><spa
46e40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 n.class="tok-kw">const</span>.st
46e60 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 d.=.<span.class="tok-builtin">@i
46e80 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 mport</span>(<span.class="tok-st
46ea0 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 r">&quot;std&quot;</span>);.<spa
46ec0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 n.class="tok-kw">const</span>.ex
46ee0 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 pect.=.std.testing.expect;..<spa
46f00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 n.class="tok-kw">const</span>.Va
46f20 72 69 61 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 riant.=.<span.class="tok-kw">uni
46f40 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 on</span>(<span.class="tok-kw">e
46f60 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 num</span>).{.....int:.<span.cla
46f80 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 6f ss="tok-type">i32</span>,.....bo
46fa0 6f 6c 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f olean:.<span.class="tok-type">bo
46fc0 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ol</span>,......<span.class="tok
46fe0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 6f 69 64 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 -comment">//.void.can.be.omitted
47000 20 77 68 65 6e 20 69 6e 66 65 72 72 69 6e 67 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 3c 2f .when.inferring.enum.tag.type.</
47020 73 70 61 6e 3e 0a 20 20 20 20 6e 6f 6e 65 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 span>.....none,......<span.class
47040 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="tok-kw">fn</span>.<span.class=
47060 22 74 6f 6b 2d 66 6e 22 3e 74 72 75 74 68 79 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 56 61 72 "tok-fn">truthy</span>(self:.Var
47080 69 61 6e 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f iant).<span.class="tok-type">boo
470a0 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 l</span>.{.........<span.class="
470c0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">return</span>.<span.clas
470e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 65 6c 66 29 20 s="tok-kw">switch</span>.(self).
47100 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 61 72 69 61 6e 74 2e 69 6e 74 20 3d 26 67 74 3b 20 {.............Variant.int.=&gt;.
47120 7c 78 5f 69 6e 74 7c 20 78 5f 69 6e 74 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f |x_int|.x_int.!=.<span.class="to
47140 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 k-number">0</span>,.............
47160 56 61 72 69 61 6e 74 2e 62 6f 6f 6c 65 61 6e 20 3d 26 67 74 3b 20 7c 78 5f 62 6f 6f 6c 7c 20 78 Variant.boolean.=&gt;.|x_bool|.x
47180 5f 62 6f 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 61 72 69 61 6e 74 2e 6e 6f 6e 65 20 _bool,.............Variant.none.
471a0 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c =&gt;.<span.class="tok-null">fal
471c0 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 7d 3b 0a 0a se</span>,.........};.....}.};..
471e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e <span.class="tok-kw">test</span>
47200 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 69 .<span.class="tok-str">&quot;uni
47220 6f 6e 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 on.method&quot;</span>.{.....<sp
47240 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 31 20 an.class="tok-kw">var</span>.v1.
47260 3d 20 56 61 72 69 61 6e 74 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 =.Variant{..int.=.<span.class="t
47280 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e ok-number">1</span>.};.....<span
472a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 32 20 3d 20 .class="tok-kw">var</span>.v2.=.
472c0 56 61 72 69 61 6e 74 7b 20 2e 62 6f 6f 6c 65 61 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d Variant{..boolean.=.<span.class=
472e0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 "tok-null">false</span>.};......
47300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">try</span>.
47320 65 78 70 65 63 74 28 76 31 2e 74 72 75 74 68 79 28 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 expect(v1.truthy());.....<span.c
47340 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
47360 21 76 32 2e 74 72 75 74 68 79 28 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 !v2.truthy());.}</code></pre></f
47380 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
473a0 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
473c0 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 75 6e re><samp>$.<kbd>zig.test.test_un
473e0 69 6f 6e 5f 6d 65 74 68 6f 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 75 6e ion_method.zig</kbd>.1/1.test_un
47400 69 6f 6e 5f 6d 65 74 68 6f 64 2e 74 65 73 74 2e 75 6e 69 6f 6e 20 6d 65 74 68 6f 64 2e 2e 2e 20 ion_method.test.union.method....
47420 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.1.tests.passed..</samp></
47440 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 pre></figure>.......<p>.......<a
47460 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 20 63 61 .href="#tagName">@tagName</a>.ca
47480 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 n.be.used.to.return.a.<a.href="#
474a0 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 20 3c 63 6f comptime">comptime</a>.......<co
474c0 64 65 3e 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c de>[:<span.class="tok-number">0<
474e0 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 /span>]<span.class="tok-kw">cons
47500 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e t</span>.<span.class="tok-type">
47520 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 u8</span></code>.value.represent
47540 69 6e 67 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ing.the.field.name:.......</p>..
47560 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 .....<figure><figcaption.class="
47580 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 zig-cap"><cite.class="file">test
475a0 5f 74 61 67 4e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e _tagName.zig</cite></figcaption>
475c0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
475e0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.std.=.<span.class="
47600 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@import</span>(<spa
47620 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 n.class="tok-str">&quot;std&quot
47640 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;</span>);.<span.class="tok-kw">
47660 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e const</span>.expect.=.std.testin
47680 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e g.expect;..<span.class="tok-kw">
476a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 6d 61 6c 6c 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 const</span>.Small2.=.<span.clas
476c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c s="tok-kw">union</span>(<span.cl
476e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 ass="tok-kw">enum</span>).{.....
47700 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 a:.<span.class="tok-type">i32</s
47720 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 pan>,.....b:.<span.class="tok-ty
47740 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c pe">bool</span>,.....c:.<span.cl
47760 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 ass="tok-type">u8</span>,.};.<sp
47780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 an.class="tok-kw">test</span>.<s
477a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 61 67 4e 61 pan.class="tok-str">&quot;@tagNa
477c0 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 me&quot;</span>.{.....<span.clas
477e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 s="tok-kw">try</span>.expect(std
47800 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e .mem.eql(<span.class="tok-type">
47820 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c u8</span>,.<span.class="tok-buil
47840 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 32 2e 61 29 2c 20 tin">@tagName</span>(Small2.a),.
47860 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 <span.class="tok-str">&quot;a&qu
47880 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 ot;</span>));.}</code></pre></fi
478a0 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 gure><figure><figcaption.class="
478c0 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 shell-cap">Shell</figcaption><pr
478e0 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 74 61 67 e><samp>$.<kbd>zig.test.test_tag
47900 4e 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 74 61 67 4e 61 6d 65 2e Name.zig</kbd>.1/1.test_tagName.
47920 74 65 73 74 2e 40 74 61 67 4e 61 6d 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 test.@tagName....OK.All.1.tests.
47940 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 passed..</samp></pre></figure>..
47960 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 75 6e 69 6f .............<h3.id="extern-unio
47980 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 n"><a.href="#toc-extern-union">e
479a0 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 xtern.union</a>.<a.class="hdr".h
479c0 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ref="#extern-union">..</a></h3>.
479e0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .......<p>.......An.<code><span.
47a00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 class="tok-kw">extern</span>.<sp
47a20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-kw">union</span></
47a40 63 6f 64 65 3e 20 68 61 73 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 67 75 61 72 61 6e 74 65 code>.has.memory.layout.guarante
47a60 65 64 20 74 6f 20 62 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 0a 20 20 20 20 20 20 74 ed.to.be.compatible.with.......t
47a80 68 65 20 74 61 72 67 65 74 20 43 20 41 42 49 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 he.target.C.ABI........</p>.....
47aa0 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ..<p>See.also:</p><ul>.<li><a.hr
47ac0 65 66 3d 22 23 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 6e 20 73 74 72 75 63 ef="#extern-struct">extern.struc
47ae0 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 t</a></li>.</ul>................
47b00 3c 68 33 20 69 64 3d 22 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 <h3.id="packed-union"><a.href="#
47b20 74 6f 63 2d 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f toc-packed-union">packed.union</
47b40 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d a>.<a.class="hdr".href="#packed-
47b60 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 20 3c union">..</a></h3>........<p>A.<
47b80 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 code><span.class="tok-kw">packed
47ba0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 </span>.<span.class="tok-kw">uni
47bc0 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 77 65 6c 6c 2d 64 65 66 69 6e 65 on</span></code>.has.well-define
47be0 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 61 6e 64 20 69 73 20 65 6c 69 67 69 62 d.in-memory.layout.and.is.eligib
47c00 6c 65 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 62 65 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d le...........to.be.in.a.<a.href=
47c20 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f "#packed-struct">packed.struct</
47c40 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6e a>.</p>...............<h3.id="An
47c60 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d onymous-Union-Literals"><a.href=
47c80 22 23 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e "#toc-Anonymous-Union-Literals">
47ca0 41 6e 6f 6e 79 6d 6f 75 73 20 55 6e 69 6f 6e 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 Anonymous.Union.Literals</a>.<a.
47cc0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 class="hdr".href="#Anonymous-Uni
47ce0 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 on-Literals">..</a></h3>........
47d00 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 <p><a.href="#Anonymous-Struct-Li
47d20 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c terals">Anonymous.Struct.Literal
47d40 73 3c 2f 61 3e 20 73 79 6e 74 61 78 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 s</a>.syntax.can.be.used.to.init
47d60 69 61 6c 69 7a 65 20 75 6e 69 6f 6e 73 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 ialize.unions.without.specifying
47d80 0a 20 20 20 20 20 20 74 68 65 20 74 79 70 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 .......the.type:</p>.......<figu
47da0 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
47dc0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f 75 73 cite.class="file">test_anonymous
47de0 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 _union.zig</cite></figcaption><p
47e00 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
47e20 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nst</span>.std.=.<span.class="to
47e40 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-builtin">@import</span>(<span.
47e60 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c class="tok-str">&quot;std&quot;<
47e80 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f /span>);.<span.class="tok-kw">co
47ea0 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e nst</span>.expect.=.std.testing.
47ec0 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f expect;..<span.class="tok-kw">co
47ee0 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.Number.=.<span.class=
47f00 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 69 6e 74 3a "tok-kw">union</span>.{.....int:
47f20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 .<span.class="tok-type">i32</spa
47f40 6e 3e 2c 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>,.....float:.<span.class="tok-
47f60 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 type">f64</span>,.};..<span.clas
47f80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 s="tok-kw">test</span>.<span.cla
47fa0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 75 6e 69 ss="tok-str">&quot;anonymous.uni
47fc0 6f 6e 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b on.literal.syntax&quot;</span>.{
47fe0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
48000 2f 73 70 61 6e 3e 20 69 3a 20 4e 75 6d 62 65 72 20 3d 20 2e 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 /span>.i:.Number.=..{..int.=.<sp
48020 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 an.class="tok-number">42</span>.
48040 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 };.....<span.class="tok-kw">cons
48060 74 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 6d 61 6b 65 4e 75 6d 62 65 72 28 29 3b 0a 20 20 20 20 3c t</span>.f.=.makeNumber();.....<
48080 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">try</span>.e
480a0 78 70 65 63 74 28 69 2e 69 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d xpect(i.int.==.<span.class="tok-
480c0 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c number">42</span>);.....<span.cl
480e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 ass="tok-kw">try</span>.expect(f
48100 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 .float.==.<span.class="tok-numbe
48120 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">12.34</span>);.}..<span.class
48140 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="tok-kw">fn</span>.<span.class=
48160 22 74 6f 6b 2d 66 6e 22 3e 6d 61 6b 65 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 28 29 20 4e 75 6d "tok-fn">makeNumber</span>().Num
48180 62 65 72 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 ber.{.....<span.class="tok-kw">r
481a0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 2e 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 eturn</span>..{..float.=.<span.c
481c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d lass="tok-number">12.34</span>.}
481e0 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
48200 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 ><figcaption.class="shell-cap">S
48220 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
48240 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f 75 73 5f 75 6e 69 6f 6e bd>zig.test.test_anonymous_union
48260 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f 75 73 5f 75 6e .zig</kbd>.1/1.test_anonymous_un
48280 69 6f 6e 2e 74 65 73 74 2e 61 6e 6f 6e 79 6d 6f 75 73 20 75 6e 69 6f 6e 20 6c 69 74 65 72 61 6c ion.test.anonymous.union.literal
482a0 20 73 79 6e 74 61 78 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 .syntax....OK.All.1.tests.passed
482c0 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a ..</samp></pre></figure>........
482e0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 6f 70 61 71 75 65 22 3e 3c ...............<h2.id="opaque"><
48300 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 20 a.href="#toc-opaque">opaque</a>.
48320 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e c2 a7 <a.class="hdr".href="#opaque">..
48340 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 </a></h2>........<p>.......<code
48360 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 70 ><span.class="tok-kw">opaque</sp
48380 61 6e 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 6e 65 77 20 74 79 70 an>.{}</code>.declares.a.new.typ
483a0 65 20 77 69 74 68 20 61 6e 20 75 6e 6b 6e 6f 77 6e 20 28 62 75 74 20 6e 6f 6e 2d 7a 65 72 6f 29 e.with.an.unknown.(but.non-zero)
483c0 20 73 69 7a 65 20 61 6e 64 20 61 6c 69 67 6e 6d 65 6e 74 2e 0a 20 20 20 20 20 20 49 74 20 63 61 .size.and.alignment........It.ca
483e0 6e 20 63 6f 6e 74 61 69 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 74 68 65 20 73 61 6d 65 20 n.contain.declarations.the.same.
48400 61 73 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e as.<a.href="#struct">structs</a>
48420 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c 0a 20 ,.<a.href="#union">unions</a>,..
48440 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 73 3c 2f .....and.<a.href="#enum">enums</
48460 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 a>........</p>.......<p>.......T
48480 68 69 73 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 74 79 70 65 20 73 his.is.typically.used.for.type.s
484a0 61 66 65 74 79 20 77 68 65 6e 20 69 6e 74 65 72 61 63 74 69 6e 67 20 77 69 74 68 20 43 20 63 6f afety.when.interacting.with.C.co
484c0 64 65 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 70 6f 73 65 20 73 74 72 75 63 74 20 64 de.that.does.not.expose.struct.d
484e0 65 74 61 69 6c 73 2e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 etails........Example:.......</p
48500 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
48520 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 s="zig-cap"><cite.class="file">t
48540 65 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f est_opaque.zig</cite></figcaptio
48560 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
48580 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 44 65 72 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ">const</span>.Derp.=.<span.clas
485a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 0a 3c 73 70 s="tok-kw">opaque</span>.{};.<sp
485c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 an.class="tok-kw">const</span>.W
485e0 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 at.=.<span.class="tok-kw">opaque
48600 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>.{};..<span.class="tok-kw
48620 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">extern</span>.<span.class="tok
48640 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d -kw">fn</span>.<span.class="tok-
48660 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 64 3a 20 2a 44 65 72 70 29 20 3c 73 70 61 6e 20 63 fn">bar</span>(d:.*Derp).<span.c
48680 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 lass="tok-type">void</span>;.<sp
486a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 an.class="tok-kw">fn</span>.<spa
486c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 77 3a 20 2a n.class="tok-fn">foo</span>(w:.*
486e0 57 61 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f Wat).<span.class="tok-kw">callco
48700 6e 76 3c 2f 73 70 61 6e 3e 28 2e 43 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 nv</span>(.C).<span.class="tok-t
48720 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 62 61 72 28 77 29 3b 0a 7d ype">void</span>.{.....bar(w);.}
48740 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
48760 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 n>.<span.class="tok-str">&quot;c
48780 61 6c 6c 20 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c all.foo&quot;</span>.{.....foo(<
487a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c span.class="tok-null">undefined<
487c0 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e /span>);.}</code></pre></figure>
487e0 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
48800 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 -cap">Shell</figcaption><pre><sa
48820 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6f 70 61 71 75 65 2e 7a mp>$.<kbd>zig.test.test_opaque.z
48840 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f ig</kbd>.<span.class="sgr-1m">do
48860 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f cgen_tmp/test_opaque.zig:6:9:.</
48880 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 span><span.class="sgr-31m">error
488a0 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 :.</span><span.class="sgr-1m">ex
488c0 70 65 63 74 65 64 20 74 79 70 65 20 27 2a 74 65 73 74 5f 6f 70 61 71 75 65 2e 44 65 72 70 27 2c pected.type.'*test_opaque.Derp',
488e0 20 66 6f 75 6e 64 20 27 2a 74 65 73 74 5f 6f 70 61 71 75 65 2e 57 61 74 27 0a 3c 2f 73 70 61 6e .found.'*test_opaque.Wat'.</span
48900 3e 20 20 20 20 62 61 72 28 77 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 >....bar(w);.........<span.class
48920 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="sgr-32m">^.</span><span.class=
48940 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 6f 70 61 71 75 65 2e "sgr-1m">docgen_tmp/test_opaque.
48960 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 zig:6:9:.</span><span.class="sgr
48980 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -36m">note:.</span><span.class="
489a0 73 67 72 2d 31 6d 22 3e 70 6f 69 6e 74 65 72 20 74 79 70 65 20 63 68 69 6c 64 20 27 74 65 73 74 sgr-1m">pointer.type.child.'test
489c0 5f 6f 70 61 71 75 65 2e 57 61 74 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 69 6e 74 6f 20 70 6f _opaque.Wat'.cannot.cast.into.po
489e0 69 6e 74 65 72 20 74 79 70 65 20 63 68 69 6c 64 20 27 74 65 73 74 5f 6f 70 61 71 75 65 2e 44 65 inter.type.child.'test_opaque.De
48a00 72 70 27 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e rp'.</span><span.class="sgr-1m">
48a20 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3a 32 3a 31 33 3a docgen_tmp/test_opaque.zig:2:13:
48a40 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f .</span><span.class="sgr-36m">no
48a60 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e te:.</span><span.class="sgr-1m">
48a80 6f 70 61 71 75 65 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 opaque.declared.here.</span>cons
48aa0 74 20 57 61 74 20 3d 20 6f 70 61 71 75 65 20 7b 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c t.Wat.=.opaque.{};.............<
48ac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c span.class="sgr-32m">^~~~~~~~~.<
48ae0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 /span><span.class="sgr-1m">docge
48b00 6e 5f 74 6d 70 2f 74 65 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3a 31 3a 31 34 3a 20 3c 2f 73 70 n_tmp/test_opaque.zig:1:14:.</sp
48b20 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c an><span.class="sgr-36m">note:.<
48b40 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 70 61 71 75 /span><span.class="sgr-1m">opaqu
48b60 65 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 44 65 72 e.declared.here.</span>const.Der
48b80 70 20 3d 20 6f 70 61 71 75 65 20 7b 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 p.=.opaque.{};..............<spa
48ba0 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 n.class="sgr-32m">^~~~~~~~~.</sp
48bc0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 an><span.class="sgr-1m">docgen_t
48be0 6d 70 2f 74 65 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3a 34 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e mp/test_opaque.zig:4:18:.</span>
48c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 <span.class="sgr-36m">note:.</sp
48c20 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 61 72 61 6d 65 74 65 an><span.class="sgr-1m">paramete
48c40 72 20 74 79 70 65 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 65 78 74 65 r.type.declared.here.</span>exte
48c60 72 6e 20 66 6e 20 62 61 72 28 64 3a 20 2a 44 65 72 70 29 20 76 6f 69 64 3b 0a 20 20 20 20 20 20 rn.fn.bar(d:.*Derp).void;.......
48c80 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 ...........<span.class="sgr-32m"
48ca0 3e 5e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 >^~~~~.</span><span.class="sgr-2
48cc0 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 74 65 73 74 2e 63 61 6c 6c 20 m">referenced.by:.....test.call.
48ce0 66 6f 6f 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 6f 70 61 71 75 65 2e 7a 69 67 3a foo:.docgen_tmp/test_opaque.zig:
48d00 31 30 3a 35 0a 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 10:5.....remaining.reference.tra
48d20 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 ces.hidden;.use.'-freference-tra
48d40 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 0a ce'.to.see.all.reference.traces.
48d60 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
48d80 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 42 6c 6f 63 6b 73 22 3e 3c 61 20 .............<h2.id="Blocks"><a.
48da0 68 72 65 66 3d 22 23 74 6f 63 2d 42 6c 6f 63 6b 73 22 3e 42 6c 6f 63 6b 73 3c 2f 61 3e 20 3c 61 href="#toc-Blocks">Blocks</a>.<a
48dc0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 6c 6f 63 6b 73 22 3e c2 a7 3c 2f .class="hdr".href="#Blocks">..</
48de0 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 6c 6f 63 6b 73 20 a></h2>........<p>.......Blocks.
48e00 61 72 65 20 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 73 63 6f 70 65 20 6f 66 20 76 are.used.to.limit.the.scope.of.v
48e20 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e ariable.declarations:.......</p>
48e40 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 .......<figure><figcaption.class
48e60 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 ="zig-cap"><cite.class="file">te
48e80 73 74 5f 62 6c 6f 63 6b 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e st_blocks.zig</cite></figcaption
48ea0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
48ec0 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >test</span>.<span.class="tok-st
48ee0 72 22 3e 26 71 75 6f 74 3b 61 63 63 65 73 73 20 76 61 72 69 61 62 6c 65 20 61 66 74 65 72 20 62 r">&quot;access.variable.after.b
48f00 6c 6f 63 6b 20 73 63 6f 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 7b 0a lock.scope&quot;</span>.{.....{.
48f20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ........<span.class="tok-kw">var
48f40 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>.x:.<span.class="tok-type
48f60 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">i32</span>.=.<span.class="tok-
48f80 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 26 61 number">1</span>;........._.=.&a
48fa0 6d 70 3b 78 3b 0a 20 20 20 20 7d 0a 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 mp;x;.....}.....x.+=.<span.class
48fc0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e ="tok-number">1</span>;.}</code>
48fe0 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 </pre></figure><figure><figcapti
49000 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 on.class="shell-cap">Shell</figc
49020 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
49040 74 20 74 65 73 74 5f 62 6c 6f 63 6b 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c t.test_blocks.zig</kbd>.<span.cl
49060 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 62 6c 6f ass="sgr-1m">docgen_tmp/test_blo
49080 63 6b 73 2e 7a 69 67 3a 36 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d cks.zig:6:5:.</span><span.class=
490a0 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c "sgr-31m">error:.</span><span.cl
490c0 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 73 65 20 6f 66 20 75 6e 64 65 63 6c 61 72 65 64 20 69 ass="sgr-1m">use.of.undeclared.i
490e0 64 65 6e 74 69 66 69 65 72 20 27 78 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 78 20 2b 3d 20 31 3b dentifier.'x'.</span>....x.+=.1;
49100 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 0a 3c 2f 73 .....<span.class="sgr-32m">^.</s
49120 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
49140 20 20 3c 70 3e 42 6c 6f 63 6b 73 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 57 68 65 ..<p>Blocks.are.expressions..Whe
49160 6e 20 6c 61 62 65 6c 65 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n.labeled,.<code><span.class="to
49180 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 k-kw">break</span></code>.can.be
491a0 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 66 72 .used.......to.return.a.value.fr
491c0 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c om.the.block:.......</p>.......<
491e0 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 figure><figcaption.class="zig-ca
49200 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6c 61 62 65 6c p"><cite.class="file">test_label
49220 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e ed_break.zig</cite></figcaption>
49240 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
49260 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.std.=.<span.class="
49280 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@import</span>(<spa
492a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 n.class="tok-str">&quot;std&quot
492c0 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;</span>);.<span.class="tok-kw">
492e0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e const</span>.expect.=.std.testin
49300 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e g.expect;..<span.class="tok-kw">
49320 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 test</span>.<span.class="tok-str
49340 22 3e 26 71 75 6f 74 3b 6c 61 62 65 6c 65 64 20 62 72 65 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c ">&quot;labeled.break.from.label
49360 65 64 20 62 6c 6f 63 6b 20 65 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ed.block.expression&quot;</span>
49380 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c .{.....<span.class="tok-kw">var<
493a0 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.y:.<span.class="tok-type"
493c0 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >i32</span>.=.<span.class="tok-n
493e0 75 6d 62 65 72 22 3e 31 32 33 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c umber">123</span>;......<span.cl
49400 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 62 6c ass="tok-kw">const</span>.x.=.bl
49420 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k:.{.........y.+=.<span.class="t
49440 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 ok-number">1</span>;.........<sp
49460 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a an.class="tok-kw">break</span>.:
49480 62 6c 6b 20 79 3b 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 blk.y;.....};.....<span.class="t
494a0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 ok-kw">try</span>.expect(x.==.<s
494c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 34 3c 2f 73 70 61 6e pan.class="tok-number">124</span
494e0 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 >);.....<span.class="tok-kw">try
49500 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.expect(y.==.<span.class=
49520 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 "tok-number">124</span>);.}</cod
49540 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 e></pre></figure><figure><figcap
49560 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 tion.class="shell-cap">Shell</fi
49580 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
495a0 65 73 74 20 74 65 73 74 5f 6c 61 62 65 6c 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e est.test_labeled_break.zig</kbd>
495c0 0a 31 2f 31 20 74 65 73 74 5f 6c 61 62 65 6c 65 64 5f 62 72 65 61 6b 2e 74 65 73 74 2e 6c 61 62 .1/1.test_labeled_break.test.lab
495e0 65 6c 65 64 20 62 72 65 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c 65 64 20 62 6c 6f 63 6b 20 65 78 eled.break.from.labeled.block.ex
49600 70 72 65 73 73 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 pression....OK.All.1.tests.passe
49620 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 d..</samp></pre></figure>.......
49640 3c 70 3e 48 65 72 65 2c 20 3c 63 6f 64 65 3e 62 6c 6b 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 <p>Here,.<code>blk</code>.can.be
49660 20 61 6e 79 20 6e 61 6d 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f .any.name.</p>.......<p>See.also
49680 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d :</p><ul>.<li><a.href="#Labeled-
496a0 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c while">Labeled.while</a></li>.<l
496c0 69 3e 3c 61 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 i><a.href="#Labeled-for">Labeled
496e0 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 .for</a></li>.</ul>.........<h3.
49700 69 64 3d 22 53 68 61 64 6f 77 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 68 61 id="Shadowing"><a.href="#toc-Sha
49720 64 6f 77 69 6e 67 22 3e 53 68 61 64 6f 77 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 dowing">Shadowing</a>.<a.class="
49740 68 64 72 22 20 68 72 65 66 3d 22 23 53 68 61 64 6f 77 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 hdr".href="#Shadowing">..</a></h
49760 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 3>........<p><a.href="#Identifie
49780 72 73 22 3e 49 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 20 61 72 65 20 6e 65 76 65 72 20 61 6c rs">Identifiers</a>.are.never.al
497a0 6c 6f 77 65 64 20 74 6f 20 22 68 69 64 65 22 20 6f 74 68 65 72 20 69 64 65 6e 74 69 66 69 65 72 lowed.to."hide".other.identifier
497c0 73 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 3a 3c 2f 70 3e 0a 20 20 s.by.using.the.same.name:</p>...
497e0 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a ....<figure><figcaption.class="z
49800 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
49820 73 68 61 64 6f 77 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e shadowing.zig</cite></figcaption
49840 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
49860 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >const</span>.pi.=.<span.class="
49880 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 tok-number">3.14</span>;..<span.
498a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e class="tok-kw">test</span>.<span
498c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 73 69 64 65 20 74 65 .class="tok-str">&quot;inside.te
498e0 73 74 20 62 6c 6f 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 st.block&quot;</span>.{.....<spa
49900 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 65 74 27 73 20 65 n.class="tok-comment">//.Let's.e
49920 76 65 6e 20 67 6f 20 69 6e 73 69 64 65 20 61 6e 6f 74 68 65 72 20 62 6c 6f 63 6b 3c 2f 73 70 61 ven.go.inside.another.block</spa
49940 6e 3e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>.....{.........<span.class="to
49960 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-kw">var</span>.pi:.<span.class
49980 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">i32</span>.=.<span.c
499a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 lass="tok-number">1234</span>;..
499c0 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 ...}.}</code></pre></figure><fig
499e0 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 ure><figcaption.class="shell-cap
49a00 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
49a20 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 68 61 64 6f 77 69 6e 67 2e 7a 69 .<kbd>zig.test.test_shadowing.zi
49a40 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 g</kbd>.<span.class="sgr-1m">doc
49a60 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 73 68 61 64 6f 77 69 6e 67 2e 7a 69 67 3a 36 3a 31 33 3a gen_tmp/test_shadowing.zig:6:13:
49a80 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 .</span><span.class="sgr-31m">er
49aa0 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 ror:.</span><span.class="sgr-1m"
49ac0 3e 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 73 68 61 64 6f 77 73 20 64 65 63 6c 61 72 61 74 >local.variable.shadows.declarat
49ae0 69 6f 6e 20 6f 66 20 27 70 69 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 76 61 72 20 70 ion.of.'pi'.</span>........var.p
49b00 69 3a 20 69 33 32 20 3d 20 31 32 33 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e i:.i32.=.1234;.............<span
49b20 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e .class="sgr-32m">^~.</span><span
49b40 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f .class="sgr-1m">docgen_tmp/test_
49b60 73 68 61 64 6f 77 69 6e 67 2e 7a 69 67 3a 31 3a 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 shadowing.zig:1:1:.</span><span.
49b80 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 class="sgr-36m">note:.</span><sp
49ba0 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a an.class="sgr-1m">declared.here.
49bc0 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 70 69 20 3d 20 33 2e 31 34 3b 0a 3c 73 70 61 6e 20 63 6c </span>const.pi.=.3.14;.<span.cl
49be0 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f ass="sgr-32m">^~~~~~~~~~~~~~~.</
49c00 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>.</samp></pre></figure>....
49c20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 6f 66 20 74 68 69 73 2c 20 77 68 ...<p>.......Because.of.this,.wh
49c40 65 6e 20 79 6f 75 20 72 65 61 64 20 5a 69 67 20 63 6f 64 65 20 79 6f 75 20 63 61 6e 20 61 6c 77 en.you.read.Zig.code.you.can.alw
49c60 61 79 73 20 72 65 6c 79 20 6f 6e 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 74 6f 20 63 6f 6e ays.rely.on.an.identifier.to.con
49c80 73 69 73 74 65 6e 74 6c 79 20 6d 65 61 6e 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 74 68 sistently.mean.......the.same.th
49ca0 69 6e 67 20 77 69 74 68 69 6e 20 74 68 65 20 73 63 6f 70 65 20 69 74 20 69 73 20 64 65 66 69 6e ing.within.the.scope.it.is.defin
49cc0 65 64 2e 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 2c 20 68 6f 77 65 76 65 72 2c 20 ed..Note.that.you.can,.however,.
49ce0 75 73 65 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 69 66 0a 20 20 20 20 20 20 74 68 65 20 73 use.the.same.name.if.......the.s
49d00 63 6f 70 65 73 20 61 72 65 20 73 65 70 61 72 61 74 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 copes.are.separate:.......</p>..
49d20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 .....<figure><figcaption.class="
49d40 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 zig-cap"><cite.class="file">test
49d60 5f 73 63 6f 70 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c _scopes.zig</cite></figcaption><
49d80 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 pre><code><span.class="tok-kw">t
49da0 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 est</span>.<span.class="tok-str"
49dc0 3e 26 71 75 6f 74 3b 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 26 71 75 6f 74 3b 3c 2f 73 70 >&quot;separate.scopes&quot;</sp
49de0 61 6e 3e 20 7b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>.{.....{.........<span.class=
49e00 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 69 20 3d 20 3c 73 70 61 6e "tok-kw">const</span>.pi.=.<span
49e20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b .class="tok-number">3.14</span>;
49e40 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 70 69 3b 0a 20 20 20 20 7d 0a 20 20 20 20 7b 0a 20 20 20 ........._.=.pi;.....}.....{....
49e60 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
49e80 70 61 6e 3e 20 70 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e pan>.pi:.<span.class="tok-type">
49ea0 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e bool</span>.=.<span.class="tok-n
49ec0 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 26 61 ull">true</span>;........._.=.&a
49ee0 6d 70 3b 70 69 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 mp;pi;.....}.}</code></pre></fig
49f00 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 ure><figure><figcaption.class="s
49f20 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 hell-cap">Shell</figcaption><pre
49f40 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 63 6f 70 ><samp>$.<kbd>zig.test.test_scop
49f60 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 63 6f 70 65 73 2e 74 65 73 es.zig</kbd>.1/1.test_scopes.tes
49f80 74 2e 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 t.separate.scopes....OK.All.1.te
49fa0 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
49fc0 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 6d 70 74 79 2d 42 e>...............<h3.id="Empty-B
49fe0 6c 6f 63 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 6d 70 74 79 2d 42 6c 6f 63 6b locks"><a.href="#toc-Empty-Block
4a000 73 22 3e 45 6d 70 74 79 20 42 6c 6f 63 6b 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 s">Empty.Blocks</a>.<a.class="hd
4a020 72 22 20 68 72 65 66 3d 22 23 45 6d 70 74 79 2d 42 6c 6f 63 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f r".href="#Empty-Blocks">..</a></
4a040 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 65 6d 70 74 79 20 62 6c 6f 63 6b 20 69 73 20 h3>........<p>An.empty.block.is.
4a060 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d equivalent.to.<code><span.class=
4a080 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 7b 7d 3c 2f 63 6f 64 65 3e 3a "tok-type">void</span>{}</code>:
4a0a0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
4a0c0 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
4a0e0 22 3e 74 65 73 74 5f 65 6d 70 74 79 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 ">test_empty_block.zig</cite></f
4a100 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><code><span.class
4a120 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 ="tok-kw">const</span>.std.=.<sp
4a140 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f an.class="tok-builtin">@import</
4a160 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>(<span.class="tok-str">&quo
4a180 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t;std&quot;</span>);.<span.class
4a1a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 ="tok-kw">const</span>.expect.=.
4a1c0 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 std.testing.expect;..<span.class
4a1e0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 ="tok-kw">test</span>.{.....<spa
4a200 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 n.class="tok-kw">const</span>.a.
4a220 3d 20 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 =.{};.....<span.class="tok-kw">c
4a240 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b onst</span>.b.=.<span.class="tok
4a260 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 -type">void</span>{};.....<span.
4a280 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 class="tok-kw">try</span>.expect
4a2a0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 (<span.class="tok-builtin">@Type
4a2c0 4f 66 3c 2f 73 70 61 6e 3e 28 61 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b Of</span>(a).==.<span.class="tok
4a2e0 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 -type">void</span>);.....<span.c
4a300 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
4a320 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f <span.class="tok-builtin">@TypeO
4a340 66 3c 2f 73 70 61 6e 3e 28 62 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d f</span>(b).==.<span.class="tok-
4a360 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">void</span>);.....<span.cl
4a380 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 ass="tok-kw">try</span>.expect(a
4a3a0 20 3d 3d 20 62 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c .==.b);.}</code></pre></figure><
4a3c0 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d figure><figcaption.class="shell-
4a3e0 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d cap">Shell</figcaption><pre><sam
4a400 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 6d 70 74 79 5f 62 6c 6f p>$.<kbd>zig.test.test_empty_blo
4a420 63 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 65 6d 70 74 79 5f 62 6c 6f 63 ck.zig</kbd>.1/1.test_empty_bloc
4a440 6b 2e 74 65 73 74 5f 30 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 k.test_0....OK.All.1.tests.passe
4a460 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 d..</samp></pre></figure>.......
4a480 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 77 69 74 63 68 22 3e 3c ...............<h2.id="switch"><
4a4a0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 a.href="#toc-switch">switch</a>.
4a4c0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e c2 a7 <a.class="hdr".href="#switch">..
4a4e0 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 </a></h2>........<figure><figcap
4a500 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 tion.class="zig-cap"><cite.class
4a520 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f ="file">test_switch.zig</cite></
4a540 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><code><span.clas
4a560 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 s="tok-kw">const</span>.std.=.<s
4a580 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c pan.class="tok-builtin">@import<
4a5a0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>(<span.class="tok-str">&qu
4a5c0 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 ot;std&quot;</span>);.<span.clas
4a5e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 s="tok-kw">const</span>.builtin.
4a600 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 =.<span.class="tok-builtin">@imp
4a620 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ort</span>(<span.class="tok-str"
4a640 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 >&quot;builtin&quot;</span>);.<s
4a660 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
4a680 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 expect.=.std.testing.expect;..<s
4a6a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c pan.class="tok-kw">test</span>.<
4a6c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 span.class="tok-str">&quot;switc
4a6e0 68 20 73 69 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 h.simple&quot;</span>.{.....<spa
4a700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a n.class="tok-kw">const</span>.a:
4a720 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 .<span.class="tok-type">u64</spa
4a740 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 n>.=.<span.class="tok-number">10
4a760 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>;.....<span.class="tok-kw
4a780 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">const</span>.zz:.<span.class="
4a7a0 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 tok-type">u64</span>.=.<span.cla
4a7c0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 33 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 ss="tok-number">103</span>;.....
4a7e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6c .<span.class="tok-comment">//.Al
4a800 6c 20 62 72 61 6e 63 68 65 73 20 6f 66 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f l.branches.of.a.switch.expressio
4a820 6e 20 6d 75 73 74 20 62 65 20 61 62 6c 65 20 74 6f 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 n.must.be.able.to.be.coerced.to.
4a840 61 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f a</span>.....<span.class="tok-co
4a860 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 mment">//.common.type.</span>...
4a880 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 3c 2f ..<span.class="tok-comment">//</
4a8a0 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 span>.....<span.class="tok-comme
4a8c0 6e 74 22 3e 2f 2f 20 42 72 61 6e 63 68 65 73 20 63 61 6e 6e 6f 74 20 66 61 6c 6c 74 68 72 6f 75 nt">//.Branches.cannot.fallthrou
4a8e0 67 68 2e 20 49 66 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 62 65 68 61 76 69 6f 72 20 69 73 20 64 gh..If.fallthrough.behavior.is.d
4a900 65 73 69 72 65 64 2c 20 63 6f 6d 62 69 6e 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e esired,.combine</span>.....<span
4a920 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 63 61 73 65 .class="tok-comment">//.the.case
4a940 73 20 61 6e 64 20 75 73 65 20 61 6e 20 69 66 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 s.and.use.an.if.</span>.....<spa
4a960 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 n.class="tok-kw">const</span>.b.
4a980 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 =.<span.class="tok-kw">switch</s
4a9a0 70 61 6e 3e 20 28 61 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.(a).{.........<span.class="
4a9c0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 75 6c 74 69 70 6c 65 20 63 61 73 65 73 20 63 tok-comment">//.Multiple.cases.c
4a9e0 61 6e 20 62 65 20 63 6f 6d 62 69 6e 65 64 20 76 69 61 20 61 20 27 2c 27 3c 2f 73 70 61 6e 3e 0a an.be.combined.via.a.','</span>.
4aa00 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ........<span.class="tok-number"
4aa20 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >1</span>,.<span.class="tok-numb
4aa40 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">2</span>,.<span.class="tok-n
4aa60 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 umber">3</span>.=&gt;.<span.clas
4aa80 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 20 20 s="tok-number">0</span>,........
4aaa0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 52 ..<span.class="tok-comment">//.R
4aac0 61 6e 67 65 73 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 64 20 75 73 69 6e 67 20 74 68 65 anges.can.be.specified.using.the
4aae0 20 2e 2e 2e 20 73 79 6e 74 61 78 2e 20 54 68 65 73 65 20 61 72 65 20 69 6e 63 6c 75 73 69 76 65 .....syntax..These.are.inclusive
4ab00 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.........<span.class="tok
4ab20 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 66 20 62 6f 74 68 20 65 6e 64 73 2e 3c 2f 73 70 61 6e -comment">//.of.both.ends.</span
4ab40 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 >.........<span.class="tok-numbe
4ab60 72 22 3e 35 3c 2f 73 70 61 6e 3e 2e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e r">5</span>...<span.class="tok-n
4ab80 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c umber">100</span>.=&gt;.<span.cl
4aba0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 ass="tok-number">1</span>,......
4abc0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
4abe0 20 42 72 61 6e 63 68 65 73 20 63 61 6e 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 63 6f 6d .Branches.can.be.arbitrarily.com
4ac00 70 6c 65 78 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 plex.</span>.........<span.class
4ac20 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 62 ="tok-number">101</span>.=&gt;.b
4ac40 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 lk:.{.............<span.class="t
4ac60 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.c:.<span.cla
4ac80 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">u64</span>.=.<span
4aca0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">5</span>;...
4acc0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 ..........<span.class="tok-kw">b
4ace0 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 63 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 reak</span>.:blk.c.*.<span.class
4ad00 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 ="tok-number">2</span>.+.<span.c
4ad20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 lass="tok-number">1</span>;.....
4ad40 20 20 20 20 7d 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ....},..........<span.class="tok
4ad60 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 74 63 68 69 6e 67 20 6f 6e 20 61 72 62 69 74 72 -comment">//.Switching.on.arbitr
4ad80 61 72 79 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 73 20 61 6c 6c 6f 77 65 64 20 61 73 20 6c 6f ary.expressions.is.allowed.as.lo
4ada0 6e 67 20 61 73 20 74 68 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 ng.as.the</span>.........<span.c
4adc0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 72 65 73 73 69 6f 6e lass="tok-comment">//.expression
4ade0 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 3c 2f 73 70 61 6e .is.known.at.compile-time.</span
4ae00 3e 0a 20 20 20 20 20 20 20 20 7a 7a 20 3d 26 67 74 3b 20 7a 7a 2c 0a 20 20 20 20 20 20 20 20 62 >.........zz.=&gt;.zz,.........b
4ae20 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 lk:.{.............<span.class="t
4ae40 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.d:.<span.cla
4ae60 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">u32</span>.=.<span
4ae80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">5</span>;...
4aea0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ..........<span.class="tok-kw">c
4aec0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d onst</span>.e:.<span.class="tok-
4aee0 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">u32</span>.=.<span.class="
4af00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 tok-number">100</span>;.........
4af20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f ....<span.class="tok-kw">break</
4af40 73 70 61 6e 3e 20 3a 62 6c 6b 20 64 20 2b 20 65 3b 0a 20 20 20 20 20 20 20 20 7d 20 3d 26 67 74 span>.:blk.d.+.e;.........}.=&gt
4af60 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 37 3c 2f ;.<span.class="tok-number">107</
4af80 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>,..........<span.class="tok
4afa0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 63 61 74 -comment">//.The.else.branch.cat
4afc0 63 68 65 73 20 65 76 65 72 79 74 68 69 6e 67 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 63 61 70 74 ches.everything.not.already.capt
4afe0 75 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ured.</span>.........<span.class
4b000 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6c 73 65 20 62 72 61 6e 63 68 65 73 20 ="tok-comment">//.Else.branches.
4b020 61 72 65 20 6d 61 6e 64 61 74 6f 72 79 20 75 6e 6c 65 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 are.mandatory.unless.the.entire.
4b040 72 61 6e 67 65 20 6f 66 20 76 61 6c 75 65 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c range.of.values</span>.........<
4b060 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 73 20 68 span.class="tok-comment">//.is.h
4b080 61 6e 64 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 andled.</span>.........<span.cla
4b0a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 ss="tok-kw">else</span>.=&gt;.<s
4b0c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">9</span>,
4b0e0 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .....};......<span.class="tok-kw
4b100 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 ">try</span>.expect(b.==.<span.c
4b120 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a lass="tok-number">1</span>);.}..
4b140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 <span.class="tok-comment">//.Swi
4b160 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 6f 75 74 73 tch.expressions.can.be.used.outs
4b180 69 64 65 20 61 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ide.a.function:</span>.<span.cla
4b1a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 5f 6d 73 67 20 ss="tok-kw">const</span>.os_msg.
4b1c0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 =.<span.class="tok-kw">switch</s
4b1e0 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 6f 73 2e 74 61 67 29 20 7b 0a 20 pan>.(builtin.target.os.tag).{..
4b200 20 20 20 2e 6c 69 6e 75 78 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ....linux.=&gt;.<span.class="tok
4b220 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 65 20 66 6f 75 6e 64 20 61 20 6c 69 6e 75 78 20 75 73 65 -str">&quot;we.found.a.linux.use
4b240 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d r&quot;</span>,.....<span.class=
4b260 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e "tok-kw">else</span>.=&gt;.<span
4b280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 74 20 61 20 6c 69 6e .class="tok-str">&quot;not.a.lin
4b2a0 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 ux.user&quot;</span>,.};..<span.
4b2c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 73 69 64 65 20 61 20 class="tok-comment">//.Inside.a.
4b2e0 66 75 6e 63 74 69 6f 6e 2c 20 73 77 69 74 63 68 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6d 70 6c function,.switch.statements.impl
4b300 69 63 69 74 6c 79 20 61 72 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 3c icitly.are.compile-time</span>.<
4b320 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 61 6c span.class="tok-comment">//.eval
4b340 75 61 74 65 64 20 69 66 20 74 68 65 20 74 61 72 67 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 69 uated.if.the.target.expression.i
4b360 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 s.compile-time.known.</span>.<sp
4b380 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 an.class="tok-kw">test</span>.<s
4b3a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 pan.class="tok-str">&quot;switch
4b3c0 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a .inside.function&quot;</span>.{.
4b3e0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c ....<span.class="tok-kw">switch<
4b400 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 6f 73 2e 74 61 67 29 20 7b /span>.(builtin.target.os.tag).{
4b420 0a 20 20 20 20 20 20 20 20 2e 66 75 63 68 73 69 61 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 ..........fuchsia.=&gt;.{.......
4b440 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ......<span.class="tok-comment">
4b460 2f 2f 20 4f 6e 20 61 6e 20 4f 53 20 6f 74 68 65 72 20 74 68 61 6e 20 66 75 63 68 73 69 61 2c 20 //.On.an.OS.other.than.fuchsia,.
4b480 62 6c 6f 63 6b 20 69 73 20 6e 6f 74 20 65 76 65 6e 20 61 6e 61 6c 79 7a 65 64 2c 3c 2f 73 70 61 block.is.not.even.analyzed,</spa
4b4a0 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.............<span.class="tok-
4b4c0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 6f 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f comment">//.so.this.compile.erro
4b4e0 72 20 69 73 20 6e 6f 74 20 74 72 69 67 67 65 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 r.is.not.triggered.</span>......
4b500 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 .......<span.class="tok-comment"
4b520 3e 2f 2f 20 4f 6e 20 66 75 63 68 73 69 61 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f >//.On.fuchsia.this.compile.erro
4b540 72 20 77 6f 75 6c 64 20 62 65 20 74 72 69 67 67 65 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 r.would.be.triggered.</span>....
4b560 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 .........<span.class="tok-builti
4b580 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c n">@compileError</span>(<span.cl
4b5a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 63 68 73 69 61 20 6e 6f 74 20 ass="tok-str">&quot;fuchsia.not.
4b5c0 73 75 70 70 6f 72 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 supported&quot;</span>);........
4b5e0 20 7d 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .},.........<span.class="tok-kw"
4b600 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f >else</span>.=&gt;.{},.....}.}</
4b620 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 code></pre></figure><figure><fig
4b640 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c caption.class="shell-cap">Shell<
4b660 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
4b680 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 g.test.test_switch.zig</kbd>.1/2
4b6a0 20 74 65 73 74 5f 73 77 69 74 63 68 2e 74 65 73 74 2e 73 77 69 74 63 68 20 73 69 6d 70 6c 65 2e .test_switch.test.switch.simple.
4b6c0 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 73 77 69 74 63 68 2e 74 65 73 74 2e 73 77 69 74 63 ...OK.2/2.test_switch.test.switc
4b6e0 68 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 h.inside.function....OK.All.2.te
4b700 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
4b720 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 e>.......<p>.......<code><span.c
4b740 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-kw">switch</span></cod
4b760 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 66 69 e>.can.be.used.to.capture.the.fi
4b780 65 6c 64 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 6f 66 20 61 20 3c 61 20 68 72 65 66 3d 22 23 eld.values.......of.a.<a.href="#
4b7a0 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 2e 20 Tagged-union">Tagged.union</a>..
4b7c0 4d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 66 69 65 6c 64 20 76 61 6c 75 65 Modifications.to.the.field.value
4b7e0 73 20 63 61 6e 20 62 65 0a 20 20 20 20 20 20 64 6f 6e 65 20 62 79 20 70 6c 61 63 69 6e 67 20 61 s.can.be.......done.by.placing.a
4b800 20 3c 63 6f 64 65 3e 2a 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 68 65 20 63 61 70 74 75 .<code>*</code>.before.the.captu
4b820 72 65 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 2c 0a 20 20 20 20 20 20 74 75 72 6e 69 6e 67 20 re.variable.name,.......turning.
4b840 69 74 20 69 6e 74 6f 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 it.into.a.pointer........</p>...
4b860 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a ....<figure><figcaption.class="z
4b880 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
4b8a0 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f switch_tagged_union.zig</cite></
4b8c0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><code><span.clas
4b8e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d s="tok-kw">const</span>.expect.=
4b900 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f .<span.class="tok-builtin">@impo
4b920 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e rt</span>(<span.class="tok-str">
4b940 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e &quot;std&quot;</span>).testing.
4b960 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 expect;..<span.class="tok-kw">te
4b980 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e st</span>.<span.class="tok-str">
4b9a0 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 26 71 75 6f &quot;switch.on.tagged.union&quo
4b9c0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
4b9e0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 -kw">const</span>.Point.=.<span.
4ba00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 class="tok-kw">struct</span>.{..
4ba20 20 20 20 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 .......x:.<span.class="tok-type"
4ba40 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 >u8</span>,.........y:.<span.cla
4ba60 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a ss="tok-type">u8</span>,.....};.
4ba80 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ....<span.class="tok-kw">const</
4baa0 73 70 61 6e 3e 20 49 74 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>.Item.=.<span.class="tok-kw
4bac0 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">union</span>(<span.class="tok-
4bae0 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 61 3a 20 3c 73 kw">enum</span>).{.........a:.<s
4bb00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-type">u32</span>,
4bb20 0a 20 20 20 20 20 20 20 20 63 3a 20 50 6f 69 6e 74 2c 0a 20 20 20 20 20 20 20 20 64 2c 0a 20 20 .........c:.Point,.........d,...
4bb40 20 20 20 20 20 20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ......e:.<span.class="tok-type">
4bb60 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c u32</span>,.....};......<span.cl
4bb80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 49 74 65 6d ass="tok-kw">var</span>.a.=.Item
4bba0 7b 20 2e 63 20 3d 20 50 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 {..c.=.Point{..x.=.<span.class="
4bbc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 6e tok-number">1</span>,..y.=.<span
4bbe0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 20 7d .class="tok-number">2</span>.}.}
4bc00 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 ;......<span.class="tok-comment"
4bc20 3e 2f 2f 20 53 77 69 74 63 68 69 6e 67 20 6f 6e 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 78 20 65 6e >//.Switching.on.more.complex.en
4bc40 75 6d 73 20 69 73 20 61 6c 6c 6f 77 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e ums.is.allowed.</span>.....<span
4bc60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d .class="tok-kw">const</span>.b.=
4bc80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 .<span.class="tok-kw">switch</sp
4bca0 61 6e 3e 20 28 61 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.(a).{.........<span.class="t
4bcc0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 20 69 ok-comment">//.A.capture.group.i
4bce0 73 20 61 6c 6c 6f 77 65 64 20 6f 6e 20 61 20 6d 61 74 63 68 2c 20 61 6e 64 20 77 69 6c 6c 20 72 s.allowed.on.a.match,.and.will.r
4bd00 65 74 75 72 6e 20 74 68 65 20 65 6e 75 6d 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 eturn.the.enum</span>.........<s
4bd20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 pan.class="tok-comment">//.value
4bd40 20 6d 61 74 63 68 65 64 2e 20 49 66 20 74 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 73 20 6f .matched..If.the.payload.types.o
4bd60 66 20 62 6f 74 68 20 63 61 73 65 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 3c 2f 73 70 61 6e 3e f.both.cases.are.the.same</span>
4bd80 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e .........<span.class="tok-commen
4bda0 74 22 3e 2f 2f 20 74 68 65 79 20 63 61 6e 20 62 65 20 70 75 74 20 69 6e 74 6f 20 74 68 65 20 73 t">//.they.can.be.put.into.the.s
4bdc0 61 6d 65 20 73 77 69 74 63 68 20 70 72 6f 6e 67 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 ame.switch.prong.</span>........
4bde0 20 49 74 65 6d 2e 61 2c 20 49 74 65 6d 2e 65 20 3d 26 67 74 3b 20 7c 69 74 65 6d 7c 20 69 74 65 .Item.a,.Item.e.=&gt;.|item|.ite
4be00 6d 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d m,..........<span.class="tok-com
4be20 6d 65 6e 74 22 3e 2f 2f 20 41 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 6d 61 74 63 ment">//.A.reference.to.the.matc
4be40 68 65 64 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 6f 62 74 61 69 6e 65 64 20 75 73 69 6e 67 20 hed.value.can.be.obtained.using.
4be60 60 2a 60 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 49 74 65 6d 2e `*`.syntax.</span>.........Item.
4be80 63 20 3d 26 67 74 3b 20 7c 2a 69 74 65 6d 7c 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 c.=&gt;.|*item|.blk:.{..........
4bea0 20 20 20 69 74 65 6d 2e 2a 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ...item.*.x.+=.<span.class="tok-
4bec0 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 number">1</span>;.............<s
4bee0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">break</span>.
4bf00 3a 62 6c 6b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c :blk.<span.class="tok-number">6<
4bf20 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 /span>;.........},..........<spa
4bf40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 20 65 6c 73 65 n.class="tok-comment">//.No.else
4bf60 20 69 73 20 72 65 71 75 69 72 65 64 20 69 66 20 74 68 65 20 74 79 70 65 73 20 63 61 73 65 73 20 .is.required.if.the.types.cases.
4bf80 77 61 73 20 65 78 68 61 75 73 74 69 76 65 6c 79 20 68 61 6e 64 6c 65 64 3c 2f 73 70 61 6e 3e 0a was.exhaustively.handled</span>.
4bfa0 20 20 20 20 20 20 20 20 49 74 65 6d 2e 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ........Item.d.=&gt;.<span.class
4bfc0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 0a ="tok-number">8</span>,.....};..
4bfe0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
4c000 61 6e 3e 20 65 78 70 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expect(b.==.<span.class="tok
4c020 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -number">6</span>);.....<span.cl
4c040 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 ass="tok-kw">try</span>.expect(a
4c060 2e 63 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 .c.x.==.<span.class="tok-number"
4c080 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 >2</span>);.}</code></pre></figu
4c0a0 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
4c0c0 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
4c0e0 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 <samp>$.<kbd>zig.test.test_switc
4c100 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 h_tagged_union.zig</kbd>.1/1.tes
4c120 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 74 65 73 74 2e 73 77 69 74 63 t_switch_tagged_union.test.switc
4c140 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 h.on.tagged.union....OK.All.1.te
4c160 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
4c180 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c e>.......<p>See.also:</p><ul>.<l
4c1a0 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f i><a.href="#comptime">comptime</
4c1c0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d a></li>.<li><a.href="#enum">enum
4c1e0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 45 </a></li>.<li><a.href="#compileE
4c200 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 rror">@compileError</a></li>.<li
4c220 3e 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f ><a.href="#Compile-Variables">Co
4c240 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a mpile.Variables</a></li>.</ul>..
4c260 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 .......<h3.id="Exhaustive-Switch
4c280 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 68 61 75 73 74 69 76 65 2d 53 77 ing"><a.href="#toc-Exhaustive-Sw
4c2a0 69 74 63 68 69 6e 67 22 3e 45 78 68 61 75 73 74 69 76 65 20 53 77 69 74 63 68 69 6e 67 3c 2f 61 itching">Exhaustive.Switching</a
4c2c0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 68 61 75 73 74 69 >.<a.class="hdr".href="#Exhausti
4c2e0 76 65 2d 53 77 69 74 63 68 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ve-Switching">..</a></h3>.......
4c300 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .<p>.......When.a.<code><span.cl
4c320 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-kw">switch</span></code
4c340 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 6e 20 3c 63 >.expression.does.not.have.an.<c
4c360 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 ode><span.class="tok-kw">else</s
4c380 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6c 61 75 73 65 2c 0a 20 20 20 20 20 20 69 74 20 6d 75 73 pan></code>.clause,.......it.mus
4c3a0 74 20 65 78 68 61 75 73 74 69 76 65 6c 79 20 6c 69 73 74 20 61 6c 6c 20 74 68 65 20 70 6f 73 73 t.exhaustively.list.all.the.poss
4c3c0 69 62 6c 65 20 76 61 6c 75 65 73 2e 20 46 61 69 6c 75 72 65 20 74 6f 20 64 6f 20 73 6f 20 69 73 ible.values..Failure.to.do.so.is
4c3e0 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .a.compile.error:.......</p>....
4c400 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 ...<figure><figcaption.class="zi
4c420 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 g-cap"><cite.class="file">test_u
4c440 6e 68 61 6e 64 6c 65 64 5f 65 6e 75 6d 65 72 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f nhandled_enumeration_value.zig</
4c460 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 cite></figcaption><pre><code><sp
4c480 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 an.class="tok-kw">const</span>.C
4c4a0 6f 6c 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d olor.=.<span.class="tok-kw">enum
4c4c0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 75 74 6f 2c 0a 20 20 20 20 6f 66 66 2c 0a 20 20 20 </span>.{.....auto,.....off,....
4c4e0 20 6f 6e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 .on,.};..<span.class="tok-kw">te
4c500 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e st</span>.<span.class="tok-str">
4c520 26 71 75 6f 74 3b 65 78 68 61 75 73 74 69 76 65 20 73 77 69 74 63 68 69 6e 67 26 71 75 6f 74 3b &quot;exhaustive.switching&quot;
4c540 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
4c560 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 66 w">const</span>.color.=.Color.of
4c580 66 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 f;.....<span.class="tok-kw">swit
4c5a0 63 68 3c 2f 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 43 6f 6c 6f ch</span>.(color).{.........Colo
4c5c0 72 2e 61 75 74 6f 20 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 20 20 20 20 43 6f 6c 6f 72 2e 6f r.auto.=&gt;.{},.........Color.o
4c5e0 6e 20 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e n.=&gt;.{},.....}.}</code></pre>
4c600 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 </figure><figure><figcaption.cla
4c620 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e ss="shell-cap">Shell</figcaption
4c640 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 ><pre><samp>$.<kbd>zig.test.test
4c660 5f 75 6e 68 61 6e 64 6c 65 64 5f 65 6e 75 6d 65 72 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 7a 69 67 _unhandled_enumeration_value.zig
4c680 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 </kbd>.<span.class="sgr-1m">docg
4c6a0 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 75 6e 68 61 6e 64 6c 65 64 5f 65 6e 75 6d 65 72 61 74 69 6f en_tmp/test_unhandled_enumeratio
4c6c0 6e 5f 76 61 6c 75 65 2e 7a 69 67 3a 39 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c n_value.zig:9:5:.</span><span.cl
4c6e0 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 ass="sgr-31m">error:.</span><spa
4c700 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 73 77 69 74 63 68 20 6d 75 73 74 20 68 61 6e n.class="sgr-1m">switch.must.han
4c720 64 6c 65 20 61 6c 6c 20 70 6f 73 73 69 62 69 6c 69 74 69 65 73 0a 3c 2f 73 70 61 6e 3e 20 20 20 dle.all.possibilities.</span>...
4c740 20 73 77 69 74 63 68 20 28 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .switch.(color).{.....<span.clas
4c760 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 s="sgr-32m">^~~~~~.</span><span.
4c780 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 75 class="sgr-1m">docgen_tmp/test_u
4c7a0 6e 68 61 6e 64 6c 65 64 5f 65 6e 75 6d 65 72 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 7a 69 67 3a 33 nhandled_enumeration_value.zig:3
4c7c0 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 :5:.</span><span.class="sgr-36m"
4c7e0 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 >note:.</span><span.class="sgr-1
4c800 6d 22 3e 75 6e 68 61 6e 64 6c 65 64 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 3a 20 m">unhandled.enumeration.value:.
4c820 27 6f 66 66 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 6f 66 66 2c 0a 20 20 20 20 3c 73 70 61 6e 20 'off'.</span>....off,.....<span.
4c840 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e class="sgr-32m">^~~.</span><span
4c860 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f .class="sgr-1m">docgen_tmp/test_
4c880 75 6e 68 61 6e 64 6c 65 64 5f 65 6e 75 6d 65 72 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 7a 69 67 3a unhandled_enumeration_value.zig:
4c8a0 31 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 1:15:.</span><span.class="sgr-36
4c8c0 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 m">note:.</span><span.class="sgr
4c8e0 2d 31 6d 22 3e 65 6e 75 6d 20 27 74 65 73 74 5f 75 6e 68 61 6e 64 6c 65 64 5f 65 6e 75 6d 65 72 -1m">enum.'test_unhandled_enumer
4c900 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 43 6f 6c 6f 72 27 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 ation_value.Color'.declared.here
4c920 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 43 6f 6c 6f 72 20 3d 20 65 6e 75 6d 20 7b 0a 20 20 20 .</span>const.Color.=.enum.{....
4c940 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 ...........<span.class="sgr-32m"
4c960 3e 5e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 >^~~~.</span>.</samp></pre></fig
4c980 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 77 69 74 63 ure>...............<h3.id="Switc
4c9a0 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 hing-with-Enum-Literals"><a.href
4c9c0 3d 22 23 74 6f 63 2d 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 ="#toc-Switching-with-Enum-Liter
4c9e0 61 6c 73 22 3e 53 77 69 74 63 68 69 6e 67 20 77 69 74 68 20 45 6e 75 6d 20 4c 69 74 65 72 61 6c als">Switching.with.Enum.Literal
4ca00 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 77 69 74 s</a>.<a.class="hdr".href="#Swit
4ca20 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e ching-with-Enum-Literals">..</a>
4ca40 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 </h3>........<p>.......<a.href="
4ca60 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 #Enum-Literals">Enum.Literals</a
4ca80 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 75 73 65 20 77 69 74 68 20 3c 63 6f 64 >.can.be.useful.to.use.with.<cod
4caa0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 e><span.class="tok-kw">switch</s
4cac0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 61 76 6f 69 64 0a 20 20 20 20 20 20 72 65 70 65 74 pan></code>.to.avoid.......repet
4cae0 69 74 69 76 65 6c 79 20 73 70 65 63 69 66 79 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 itively.specifying.<a.href="#enu
4cb00 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e m">enum</a>.or.<a.href="#union">
4cb20 75 6e 69 6f 6e 3c 2f 61 3e 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 union</a>.types:.......</p>.....
4cb40 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 ..<figure><figcaption.class="zig
4cb60 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 78 -cap"><cite.class="file">test_ex
4cb80 68 61 75 73 74 69 76 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 haustive_switch.zig</cite></figc
4cba0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
4cbc0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.std.=.<span.
4cbe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 class="tok-builtin">@import</spa
4cc00 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 n>(<span.class="tok-str">&quot;s
4cc20 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 td&quot;</span>);.<span.class="t
4cc40 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 ok-kw">const</span>.expect.=.std
4cc60 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .testing.expect;..<span.class="t
4cc80 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 61 ok-kw">const</span>.Color.=.<spa
4cca0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 n.class="tok-kw">enum</span>.{..
4ccc0 20 20 20 61 75 74 6f 2c 0a 20 20 20 20 6f 66 66 2c 0a 20 20 20 20 6f 6e 2c 0a 7d 3b 0a 0a 3c 73 ...auto,.....off,.....on,.};..<s
4cce0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c pan.class="tok-kw">test</span>.<
4cd00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 span.class="tok-str">&quot;enum.
4cd20 6c 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e literals.with.switch&quot;</span
4cd40 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e >.{.....<span.class="tok-kw">con
4cd60 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 66 66 3b 0a 20 20 20 st</span>.color.=.Color.off;....
4cd80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
4cda0 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n>.result.=.<span.class="tok-kw"
4cdc0 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 >switch</span>.(color).{........
4cde0 20 2e 61 75 74 6f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ..auto.=&gt;.<span.class="tok-nu
4ce00 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 6f 6e 20 3d 26 ll">false</span>,..........on.=&
4ce20 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 gt;.<span.class="tok-null">false
4ce40 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 6f 66 66 20 3d 26 67 74 3b 20 3c 73 70 61 </span>,..........off.=&gt;.<spa
4ce60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a n.class="tok-null">true</span>,.
4ce80 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ....};.....<span.class="tok-kw">
4cea0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b 0a 7d 3c 2f 63 6f try</span>.expect(result);.}</co
4cec0 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
4cee0 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
4cf00 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
4cf20 74 65 73 74 20 74 65 73 74 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c test.test_exhaustive_switch.zig<
4cf40 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 69 74 63 68 /kbd>.1/1.test_exhaustive_switch
4cf60 2e 74 65 73 74 2e 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 63 68 2e .test.enum.literals.with.switch.
4cf80 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.1.tests.passed..</samp
4cfa0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c ></pre></figure>...............<
4cfc0 68 33 20 69 64 3d 22 49 6e 6c 69 6e 65 2d 53 77 69 74 63 68 2d 50 72 6f 6e 67 73 22 3e 3c 61 20 h3.id="Inline-Switch-Prongs"><a.
4cfe0 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 6c 69 6e 65 2d 53 77 69 74 63 68 2d 50 72 6f 6e 67 73 22 href="#toc-Inline-Switch-Prongs"
4d000 3e 49 6e 6c 69 6e 65 20 53 77 69 74 63 68 20 50 72 6f 6e 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 >Inline.Switch.Prongs</a>.<a.cla
4d020 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 6c 69 6e 65 2d 53 77 69 74 63 68 2d 50 72 ss="hdr".href="#Inline-Switch-Pr
4d040 6f 6e 67 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ongs">..</a></h3>........<p>....
4d060 20 20 20 53 77 69 74 63 68 20 70 72 6f 6e 67 73 20 63 61 6e 20 62 65 20 6d 61 72 6b 65 64 20 61 ...Switch.prongs.can.be.marked.a
4d080 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c s.<code><span.class="tok-kw">inl
4d0a0 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 67 65 6e 65 72 61 74 65 0a 20 20 ine</span></code>.to.generate...
4d0c0 20 20 20 20 74 68 65 20 70 72 6f 6e 67 27 73 20 62 6f 64 79 20 66 6f 72 20 65 61 63 68 20 70 6f ....the.prong's.body.for.each.po
4d0e0 73 73 69 62 6c 65 20 76 61 6c 75 65 20 69 74 20 63 6f 75 6c 64 20 68 61 76 65 2c 20 6d 61 6b 69 ssible.value.it.could.have,.maki
4d100 6e 67 20 74 68 65 0a 20 20 20 20 20 20 63 61 70 74 75 72 65 64 20 76 61 6c 75 65 20 3c 61 20 68 ng.the.......captured.value.<a.h
4d120 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 0a 20 20 ref="#comptime">comptime</a>....
4d140 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ....</p>.......<figure><figcapti
4d160 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 on.class="zig-cap"><cite.class="
4d180 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 63 69 file">test_inline_switch.zig</ci
4d1a0 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
4d1c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 .class="tok-kw">const</span>.std
4d1e0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d .=.<span.class="tok-builtin">@im
4d200 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 port</span>(<span.class="tok-str
4d220 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e ">&quot;std&quot;</span>);.<span
4d240 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 .class="tok-kw">const</span>.exp
4d260 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 ect.=.std.testing.expect;.<span.
4d280 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 class="tok-kw">const</span>.expe
4d2a0 63 74 45 72 72 6f 72 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f ctError.=.std.testing.expectErro
4d2c0 72 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 r;..<span.class="tok-kw">fn</spa
4d2e0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 46 69 65 6c 64 4f n>.<span.class="tok-fn">isFieldO
4d300 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ptional</span>(<span.class="tok-
4d320 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 kw">comptime</span>.T:.<span.cla
4d340 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 66 69 65 6c 64 ss="tok-type">type</span>,.field
4d360 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 _index:.<span.class="tok-type">u
4d380 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 size</span>).!<span.class="tok-t
4d3a0 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype">bool</span>.{.....<span.cla
4d3c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 73 20 ss="tok-kw">const</span>.fields.
4d3e0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 =.<span.class="tok-builtin">@typ
4d400 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 53 74 72 75 63 74 2e 66 69 65 6c 64 73 3b 0a 20 eInfo</span>(T).Struct.fields;..
4d420 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f ...<span.class="tok-kw">return</
4d440 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 span>.<span.class="tok-kw">switc
4d460 68 3c 2f 73 70 61 6e 3e 20 28 66 69 65 6c 64 5f 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 h</span>.(field_index).{........
4d480 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 .<span.class="tok-comment">//.Th
4d4a0 69 73 20 70 72 6f 6e 67 20 69 73 20 61 6e 61 6c 79 7a 65 64 20 74 77 69 63 65 20 77 69 74 68 20 is.prong.is.analyzed.twice.with.
4d4c0 60 69 64 78 60 20 62 65 69 6e 67 20 61 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 `idx`.being.a</span>.........<sp
4d4e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 70 74 69 an.class="tok-comment">//.compti
4d500 6d 65 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 65 61 63 68 20 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e me-known.value.each.time.</span>
4d520 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e .........<span.class="tok-kw">in
4d540 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d line</span>.<span.class="tok-num
4d560 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">0</span>,.<span.class="tok-
4d580 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7c 69 64 78 7c 20 3c 73 70 number">1</span>.=&gt;.|idx|.<sp
4d5a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f an.class="tok-builtin">@typeInfo
4d5c0 3c 2f 73 70 61 6e 3e 28 66 69 65 6c 64 73 5b 69 64 78 5d 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>(fields[idx].<span.class=
4d5e0 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2e 4f 70 74 69 "tok-type">type</span>).==..Opti
4d600 6f 6e 61 6c 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b onal,.........<span.class="tok-k
4d620 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 w">else</span>.=&gt;.<span.class
4d640 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ="tok-kw">return</span>.<span.cl
4d660 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 64 65 78 4f ass="tok-kw">error</span>.IndexO
4d680 75 74 4f 66 42 6f 75 6e 64 73 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 utOfBounds,.....};.}..<span.clas
4d6a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 72 75 63 74 31 20 s="tok-kw">const</span>.Struct1.
4d6c0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 =.<span.class="tok-kw">struct</s
4d6e0 70 61 6e 3e 20 7b 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 pan>.{.a:.<span.class="tok-type"
4d700 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >u32</span>,.b:.?<span.class="to
4d720 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 k-type">u32</span>.};..<span.cla
4d740 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">test</span>.<span.cl
4d760 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 20 40 74 79 70 65 49 ass="tok-str">&quot;using.@typeI
4d780 6e 66 6f 20 77 69 74 68 20 72 75 6e 74 69 6d 65 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f 73 nfo.with.runtime.values&quot;</s
4d7a0 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
4d7c0 76 61 72 3c 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 var</span>.index:.<span.class="t
4d7e0 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c ok-type">usize</span>.=.<span.cl
4d800 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c ass="tok-number">0</span>;.....<
4d820 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">try</span>.e
4d840 78 70 65 63 74 28 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c xpect(!<span.class="tok-kw">try<
4d860 2f 73 70 61 6e 3e 20 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 28 53 74 72 75 63 74 31 2c 20 /span>.isFieldOptional(Struct1,.
4d880 69 6e 64 65 78 29 29 3b 0a 20 20 20 20 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 index));.....index.+=.<span.clas
4d8a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 s="tok-number">1</span>;.....<sp
4d8c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
4d8e0 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ect(<span.class="tok-kw">try</sp
4d900 61 6e 3e 20 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 28 53 74 72 75 63 74 31 2c 20 69 6e 64 an>.isFieldOptional(Struct1,.ind
4d920 65 78 29 29 3b 0a 20 20 20 20 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ex));.....index.+=.<span.class="
4d940 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 tok-number">1</span>;.....<span.
4d960 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 class="tok-kw">try</span>.expect
4d980 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 Error(<span.class="tok-kw">error
4d9a0 3c 2f 73 70 61 6e 3e 2e 49 6e 64 65 78 4f 75 74 4f 66 42 6f 75 6e 64 73 2c 20 69 73 46 69 65 6c </span>.IndexOutOfBounds,.isFiel
4d9c0 64 4f 70 74 69 6f 6e 61 6c 28 53 74 72 75 63 74 31 2c 20 69 6e 64 65 78 29 29 3b 0a 7d 0a 0a 3c dOptional(Struct1,.index));.}..<
4d9e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 61 6c 6c span.class="tok-comment">//.Call
4da00 73 20 74 6f 20 60 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 60 20 6f 6e 20 60 53 74 72 75 63 s.to.`isFieldOptional`.on.`Struc
4da20 74 31 60 20 67 65 74 20 75 6e 72 6f 6c 6c 65 64 20 74 6f 20 61 6e 20 65 71 75 69 76 61 6c 65 6e t1`.get.unrolled.to.an.equivalen
4da40 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e t</span>.<span.class="tok-commen
4da60 74 22 3e 2f 2f 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 0a 3c t">//.of.this.function:</span>.<
4da80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
4daa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e pan.class="tok-fn">isFieldOption
4dac0 61 6c 55 6e 72 6f 6c 6c 65 64 3c 2f 73 70 61 6e 3e 28 66 69 65 6c 64 5f 69 6e 64 65 78 3a 20 3c alUnrolled</span>(field_index:.<
4dae0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 span.class="tok-type">usize</spa
4db00 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c n>).!<span.class="tok-type">bool
4db20 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
4db40 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">return</span>.<span.class="to
4db60 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 66 69 65 6c 64 5f 69 6e 64 65 78 k-kw">switch</span>.(field_index
4db80 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ).{.........<span.class="tok-num
4dba0 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">0</span>.=&gt;.<span.class=
4dbc0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 "tok-null">false</span>,........
4dbe0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 .<span.class="tok-number">1</spa
4dc00 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e n>.=&gt;.<span.class="tok-null">
4dc20 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 true</span>,.........<span.class
4dc40 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 ="tok-kw">else</span>.=&gt;.<spa
4dc60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">return</span>.<
4dc80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e span.class="tok-kw">error</span>
4dca0 2e 49 6e 64 65 78 4f 75 74 4f 66 42 6f 75 6e 64 73 2c 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 .IndexOutOfBounds,.....};.}</cod
4dcc0 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 e></pre></figure><figure><figcap
4dce0 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 tion.class="shell-cap">Shell</fi
4dd00 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
4dd20 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e est.test_inline_switch.zig</kbd>
4dd40 0a 31 2f 31 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 2e 74 65 73 74 2e 75 73 69 .1/1.test_inline_switch.test.usi
4dd60 6e 67 20 40 74 79 70 65 49 6e 66 6f 20 77 69 74 68 20 72 75 6e 74 69 6d 65 20 76 61 6c 75 65 73 ng.@typeInfo.with.runtime.values
4dd80 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d ....OK.All.1.tests.passed..</sam
4dda0 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 3c p></pre></figure>.......<p>The.<
4ddc0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 code><span.class="tok-kw">inline
4dde0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6d 61 79 20 61 6c 73 6f 20 </span></code>.keyword.may.also.
4de00 62 65 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 72 61 6e 67 65 73 3a 3c 2f 70 3e 0a 20 20 20 be.combined.with.ranges:</p>....
4de20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 ...<figure><figcaption.class="zi
4de40 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 6c 69 6e 65 g-cap"><cite.class="file">inline
4de60 5f 70 72 6f 6e 67 5f 72 61 6e 67 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 _prong_range.zig</cite></figcapt
4de80 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
4dea0 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
4dec0 6e 22 3e 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 n">isFieldOptional</span>(<span.
4dee0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 class="tok-kw">comptime</span>.T
4df00 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 :.<span.class="tok-type">type</s
4df20 70 61 6e 3e 2c 20 66 69 65 6c 64 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>,.field_index:.<span.class="
4df40 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 tok-type">usize</span>).!<span.c
4df60 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 lass="tok-type">bool</span>.{...
4df80 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ..<span.class="tok-kw">const</sp
4dfa0 61 6e 3e 20 66 69 65 6c 64 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 an>.fields.=.<span.class="tok-bu
4dfc0 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 53 74 72 75 63 iltin">@typeInfo</span>(T).Struc
4dfe0 74 2e 66 69 65 6c 64 73 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b t.fields;.....<span.class="tok-k
4e000 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">return</span>.<span.class="to
4e020 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 66 69 65 6c 64 5f 69 6e 64 65 78 k-kw">switch</span>.(field_index
4e040 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ).{.........<span.class="tok-kw"
4e060 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >inline</span>.<span.class="tok-
4e080 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 2e 66 69 65 6c 64 73 2e 6c 65 6e 20 2d 20 number">0</span>...fields.len.-.
4e0a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e <span.class="tok-number">1</span
4e0c0 3e 20 3d 26 67 74 3b 20 7c 69 64 78 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 >.=&gt;.|idx|.<span.class="tok-b
4e0e0 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 66 69 65 6c 64 73 5b uiltin">@typeInfo</span>(fields[
4e100 69 64 78 5d 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 idx].<span.class="tok-type">type
4e120 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2e 4f 70 74 69 6f 6e 61 6c 2c 0a 20 20 20 20 20 20 20 20 3c </span>).==..Optional,.........<
4e140 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 span.class="tok-kw">else</span>.
4e160 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 =&gt;.<span.class="tok-kw">retur
4e180 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 n</span>.<span.class="tok-kw">er
4e1a0 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 64 65 78 4f 75 74 4f 66 42 6f 75 6e 64 73 2c 0a 20 20 20 ror</span>.IndexOutOfBounds,....
4e1c0 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 .};.}</code></pre></figure>.....
4e1e0 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..<p>.......<code><span.class="t
4e200 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">inline</span>.<span.class
4e220 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f ="tok-kw">else</span></code>.pro
4e240 6e 67 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 74 79 70 65 20 73 61 66 65 0a 20 ngs.can.be.used.as.a.type.safe..
4e260 20 20 20 20 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .....alternative.to.<code><span.
4e280 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 class="tok-kw">inline</span>.<sp
4e2a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f an.class="tok-kw">for</span></co
4e2c0 64 65 3e 20 6c 6f 6f 70 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 de>.loops:.......</p>.......<fig
4e2e0 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
4e300 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 65 <cite.class="file">test_inline_e
4e320 6c 73 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e lse.zig</cite></figcaption><pre>
4e340 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
4e360 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 </span>.std.=.<span.class="tok-b
4e380 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@import</span>(<span.cla
4e3a0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 ss="tok-str">&quot;std&quot;</sp
4e3c0 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 an>);.<span.class="tok-kw">const
4e3e0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 </span>.expect.=.std.testing.exp
4e400 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ect;..<span.class="tok-kw">const
4e420 3c 2f 73 70 61 6e 3e 20 53 6c 69 63 65 54 79 70 65 41 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.SliceTypeA.=.<span.class
4e440 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ="tok-kw">extern</span>.<span.cl
4e460 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 ass="tok-kw">struct</span>.{....
4e480 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 .len:.<span.class="tok-type">usi
4e4a0 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 ze</span>,.....ptr:.[*]<span.cla
4e4c0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 ss="tok-type">u32</span>,.};.<sp
4e4e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 an.class="tok-kw">const</span>.S
4e500 6c 69 63 65 54 79 70 65 42 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 liceTypeB.=.<span.class="tok-kw"
4e520 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >extern</span>.<span.class="tok-
4e540 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 70 74 72 3a 20 5b 2a 5d kw">struct</span>.{.....ptr:.[*]
4e560 53 6c 69 63 65 54 79 70 65 41 2c 0a 20 20 20 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 SliceTypeA,.....len:.<span.class
4e580 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 ="tok-type">usize</span>,.};.<sp
4e5a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 an.class="tok-kw">const</span>.A
4e5c0 6e 79 53 6c 69 63 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 nySlice.=.<span.class="tok-kw">u
4e5e0 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 nion</span>(<span.class="tok-kw"
4e600 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 61 3a 20 53 6c 69 63 65 54 79 70 65 >enum</span>).{.....a:.SliceType
4e620 41 2c 0a 20 20 20 20 62 3a 20 53 6c 69 63 65 54 79 70 65 42 2c 0a 20 20 20 20 63 3a 20 5b 5d 3c A,.....b:.SliceTypeB,.....c:.[]<
4e640 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
4e660 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e .<span.class="tok-type">u8</span
4e680 3e 2c 0a 20 20 20 20 64 3a 20 5b 5d 41 6e 79 53 6c 69 63 65 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 >,.....d:.[]AnySlice,.};..<span.
4e6a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 class="tok-kw">fn</span>.<span.c
4e6c0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 69 74 68 46 6f 72 3c 2f 73 70 61 6e 3e 28 61 6e 79 lass="tok-fn">withFor</span>(any
4e6e0 3a 20 41 6e 79 53 6c 69 63 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 :.AnySlice).<span.class="tok-typ
4e700 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 e">usize</span>.{.....<span.clas
4e720 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 61 67 20 3d 20 3c 73 s="tok-kw">const</span>.Tag.=.<s
4e740 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 pan.class="tok-builtin">@typeInf
4e760 6f 3c 2f 73 70 61 6e 3e 28 41 6e 79 53 6c 69 63 65 29 2e 55 6e 69 6f 6e 2e 74 61 67 5f 74 79 70 o</span>(AnySlice).Union.tag_typ
4e780 65 2e 3f 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e e.?;.....<span.class="tok-kw">in
4e7a0 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 line</span>.<span.class="tok-kw"
4e7c0 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 >for</span>.(<span.class="tok-bu
4e7e0 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 61 67 29 2e 45 6e 75 iltin">@typeInfo</span>(Tag).Enu
4e800 6d 2e 66 69 65 6c 64 73 29 20 7c 66 69 65 6c 64 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 m.fields).|field|.{.........<spa
4e820 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 60 69 n.class="tok-comment">//.With.`i
4e840 6e 6c 69 6e 65 20 66 6f 72 60 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 67 65 6e nline.for`.the.function.gets.gen
4e860 65 72 61 74 65 64 20 61 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 erated.as</span>.........<span.c
4e880 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 20 73 65 72 69 65 73 20 6f lass="tok-comment">//.a.series.o
4e8a0 66 20 60 69 66 60 20 73 74 61 74 65 6d 65 6e 74 73 20 72 65 6c 79 69 6e 67 20 6f 6e 20 74 68 65 f.`if`.statements.relying.on.the
4e8c0 20 6f 70 74 69 6d 69 7a 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 .optimizer</span>.........<span.
4e8e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 63 6f 6e 76 65 72 class="tok-comment">//.to.conver
4e900 74 20 69 74 20 74 6f 20 61 20 73 77 69 74 63 68 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 t.it.to.a.switch.</span>........
4e920 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">if</span>.
4e940 28 66 69 65 6c 64 2e 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b (field.value.==.<span.class="tok
4e960 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 61 6e -builtin">@intFromEnum</span>(an
4e980 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 y)).{.............<span.class="t
4e9a0 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">return</span>.<span.class
4e9c0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 61 6e 79 ="tok-builtin">@field</span>(any
4e9e0 2c 20 66 69 65 6c 64 2e 6e 61 6d 65 29 2e 6c 65 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ,.field.name).len;.........}....
4ea00 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 .}.....<span.class="tok-comment"
4ea20 3e 2f 2f 20 57 68 65 6e 20 75 73 69 6e 67 20 60 69 6e 6c 69 6e 65 20 66 6f 72 60 20 74 68 65 20 >//.When.using.`inline.for`.the.
4ea40 63 6f 6d 70 69 6c 65 72 20 64 6f 65 73 6e 27 74 20 6b 6e 6f 77 20 74 68 61 74 20 65 76 65 72 79 compiler.doesn't.know.that.every
4ea60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.....<span.class="tok-com
4ea80 6d 65 6e 74 22 3e 2f 2f 20 70 6f 73 73 69 62 6c 65 20 63 61 73 65 20 68 61 73 20 62 65 65 6e 20 ment">//.possible.case.has.been.
4eaa0 68 61 6e 64 6c 65 64 20 72 65 71 75 69 72 69 6e 67 20 61 6e 20 65 78 70 6c 69 63 69 74 20 60 75 handled.requiring.an.explicit.`u
4eac0 6e 72 65 61 63 68 61 62 6c 65 60 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c nreachable`.</span>.....<span.cl
4eae0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b ass="tok-kw">unreachable</span>;
4eb00 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 .}..<span.class="tok-kw">fn</spa
4eb20 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 69 74 68 53 77 69 74 n>.<span.class="tok-fn">withSwit
4eb40 63 68 3c 2f 73 70 61 6e 3e 28 61 6e 79 3a 20 41 6e 79 53 6c 69 63 65 29 20 3c 73 70 61 6e 20 63 ch</span>(any:.AnySlice).<span.c
4eb60 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 lass="tok-type">usize</span>.{..
4eb80 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f ...<span.class="tok-kw">return</
4eba0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 span>.<span.class="tok-kw">switc
4ebc0 68 3c 2f 73 70 61 6e 3e 20 28 61 6e 79 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 h</span>.(any).{.........<span.c
4ebe0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 60 69 6e 6c 69 lass="tok-comment">//.With.`inli
4ec00 6e 65 20 65 6c 73 65 60 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 78 70 6c 69 63 69 ne.else`.the.function.is.explici
4ec20 74 6c 79 20 67 65 6e 65 72 61 74 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 tly.generated</span>.........<sp
4ec40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 20 74 68 65 an.class="tok-comment">//.as.the
4ec60 20 64 65 73 69 72 65 64 20 73 77 69 74 63 68 20 61 6e 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 .desired.switch.and.the.compiler
4ec80 20 63 61 6e 20 63 68 65 63 6b 20 74 68 61 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c .can.check.that</span>.........<
4eca0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 65 72 span.class="tok-comment">//.ever
4ecc0 79 20 70 6f 73 73 69 62 6c 65 20 63 61 73 65 20 69 73 20 68 61 6e 64 6c 65 64 2e 3c 2f 73 70 61 y.possible.case.is.handled.</spa
4ece0 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>.........<span.class="tok-kw">
4ed00 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b inline</span>.<span.class="tok-k
4ed20 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7c 73 6c 69 63 65 7c 20 73 6c 69 w">else</span>.=&gt;.|slice|.sli
4ed40 63 65 2e 6c 65 6e 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ce.len,.....};.}..<span.class="t
4ed60 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ok-kw">test</span>.<span.class="
4ed80 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 66 6f 72 20 61 6e 64 20 69 6e tok-str">&quot;inline.for.and.in
4eda0 6c 69 6e 65 20 65 6c 73 65 20 73 69 6d 69 6c 61 72 69 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e line.else.similarity&quot;</span
4edc0 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e >.{.....<span.class="tok-kw">con
4ede0 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 79 20 3d 20 41 6e 79 53 6c 69 63 65 7b 20 2e 63 20 3d 20 3c st</span>.any.=.AnySlice{..c.=.<
4ee00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f span.class="tok-str">&quot;hello
4ee20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 &quot;</span>.};.....<span.class
4ee40 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 77 69 74 68 ="tok-kw">try</span>.expect(with
4ee60 46 6f 72 28 61 6e 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d For(any).==.<span.class="tok-num
4ee80 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">5</span>);.....<span.class=
4eea0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 77 69 74 68 53 "tok-kw">try</span>.expect(withS
4eec0 77 69 74 63 68 28 61 6e 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e witch(any).==.<span.class="tok-n
4eee0 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e umber">5</span>);.}</code></pre>
4ef00 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 </figure><figure><figcaption.cla
4ef20 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e ss="shell-cap">Shell</figcaption
4ef40 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 ><pre><samp>$.<kbd>zig.test.test
4ef60 5f 69 6e 6c 69 6e 65 5f 65 6c 73 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f _inline_else.zig</kbd>.1/1.test_
4ef80 69 6e 6c 69 6e 65 5f 65 6c 73 65 2e 74 65 73 74 2e 69 6e 6c 69 6e 65 20 66 6f 72 20 61 6e 64 20 inline_else.test.inline.for.and.
4efa0 69 6e 6c 69 6e 65 20 65 6c 73 65 20 73 69 6d 69 6c 61 72 69 74 79 2e 2e 2e 20 4f 4b 0a 41 6c 6c inline.else.similarity....OK.All
4efc0 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f .1.tests.passed..</samp></pre></
4efe0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 75 73 69 figure>.......<p>.......When.usi
4f000 6e 67 20 61 6e 20 69 6e 6c 69 6e 65 20 70 72 6f 6e 67 20 73 77 69 74 63 68 69 6e 67 20 6f 6e 20 ng.an.inline.prong.switching.on.
4f020 61 6e 20 75 6e 69 6f 6e 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 63 61 70 an.union.an.additional.......cap
4f040 74 75 72 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 75 ture.can.be.used.to.obtain.the.u
4f060 6e 69 6f 6e 27 73 20 65 6e 75 6d 20 74 61 67 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 nion's.enum.tag.value........</p
4f080 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
4f0a0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 s="zig-cap"><cite.class="file">t
4f0c0 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 5f 75 6e 69 6f 6e 5f 74 61 67 2e 7a 69 67 3c est_inline_switch_union_tag.zig<
4f0e0 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 /cite></figcaption><pre><code><s
4f100 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
4f120 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e std.=.<span.class="tok-builtin">
4f140 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @import</span>(<span.class="tok-
4f160 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 str">&quot;std&quot;</span>);.<s
4f180 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
4f1a0 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 expect.=.std.testing.expect;..<s
4f1c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
4f1e0 55 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f U.=.<span.class="tok-kw">union</
4f200 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c span>(<span.class="tok-kw">enum<
4f220 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>).{.....a:.<span.class="to
4f240 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e k-type">u32</span>,.....b:.<span
4f260 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b .class="tok-type">f32</span>,.};
4f280 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
4f2a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 3c 2f 73 70 .<span.class="tok-fn">getNum</sp
4f2c0 61 6e 3e 28 75 3a 20 55 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 an>(u:.U).<span.class="tok-type"
4f2e0 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >u32</span>.{.....<span.class="t
4f300 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 75 29 20 7b 0a 20 20 20 20 20 ok-kw">switch</span>.(u).{......
4f320 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 ...<span.class="tok-comment">//.
4f340 48 65 72 65 20 60 6e 75 6d 60 20 69 73 20 61 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 61 Here.`num`.is.a.runtime-known.va
4f360 6c 75 65 20 74 68 61 74 20 69 73 20 65 69 74 68 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 lue.that.is.either</span>.......
4f380 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 ..<span.class="tok-comment">//.`
4f3a0 75 2e 61 60 20 6f 72 20 60 75 2e 62 60 20 61 6e 64 20 60 74 61 67 60 20 69 73 20 60 75 60 27 73 u.a`.or.`u.b`.and.`tag`.is.`u`'s
4f3c0 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 74 61 67 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e .comptime-known.tag.value.</span
4f3e0 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 >.........<span.class="tok-kw">i
4f400 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 nline</span>.<span.class="tok-kw
4f420 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7c 6e 75 6d 2c 20 74 61 67 7c 20 7b ">else</span>.=&gt;.|num,.tag|.{
4f440 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .............<span.class="tok-kw
4f460 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 74 61 67 20 3d 3d 20 2e 62 29 20 7b 0a 20 20 20 20 20 20 ">if</span>.(tag.==..b).{.......
4f480 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 ..........<span.class="tok-kw">r
4f4a0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 eturn</span>.<span.class="tok-bu
4f4c0 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 6e 75 6d 29 iltin">@intFromFloat</span>(num)
4f4e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 ;.............}.............<spa
4f500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6e n.class="tok-kw">return</span>.n
4f520 75 6d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 um;.........}.....}.}..<span.cla
4f540 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">test</span>.<span.cl
4f560 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f ass="tok-str">&quot;test&quot;</
4f580 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
4f5a0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 20 3d 20 55 7b 20 2e 62 20 3d 20 3c 73 70 61 6e 20 >const</span>.u.=.U{..b.=.<span.
4f5c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a class="tok-number">42</span>.};.
4f5e0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
4f600 61 6e 3e 20 65 78 70 65 63 74 28 67 65 74 4e 75 6d 28 75 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c an>.expect(getNum(u).==.<span.cl
4f620 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f ass="tok-number">42</span>);.}</
4f640 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 code></pre></figure><figure><fig
4f660 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c caption.class="shell-cap">Shell<
4f680 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
4f6a0 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 69 74 63 68 5f 75 6e 69 6f 6e 5f g.test.test_inline_switch_union_
4f6c0 74 61 67 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 73 77 tag.zig</kbd>.1/1.test_inline_sw
4f6e0 69 74 63 68 5f 75 6e 69 6f 6e 5f 74 61 67 2e 74 65 73 74 2e 74 65 73 74 2e 2e 2e 20 4f 4b 0a 41 itch_union_tag.test.test....OK.A
4f700 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ll.1.tests.passed..</samp></pre>
4f720 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e </figure>.......<p>See.also:</p>
4f740 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 <ul>.<li><a.href="#inline-while"
4f760 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 >inline.while</a></li>.<li><a.hr
4f780 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 3c ef="#inline-for">inline.for</a><
4f7a0 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 /li>.</ul>......................
4f7c0 20 3c 68 32 20 69 64 3d 22 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 .<h2.id="while"><a.href="#toc-wh
4f7e0 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ile">while</a>.<a.class="hdr".hr
4f800 65 66 3d 22 23 77 68 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c ef="#while">..</a></h2>........<
4f820 70 3e 0a 20 20 20 20 20 20 41 20 77 68 69 6c 65 20 6c 6f 6f 70 20 69 73 20 75 73 65 64 20 74 6f p>.......A.while.loop.is.used.to
4f840 20 72 65 70 65 61 74 65 64 6c 79 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f .repeatedly.execute.an.expressio
4f860 6e 20 75 6e 74 69 6c 0a 20 20 20 20 20 20 73 6f 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 n.until.......some.condition.is.
4f880 6e 6f 20 6c 6f 6e 67 65 72 20 74 72 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 no.longer.true........</p>......
4f8a0 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d .<figure><figcaption.class="zig-
4f8c0 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 cap"><cite.class="file">test_whi
4f8e0 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c le.zig</cite></figcaption><pre><
4f900 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
4f920 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.expect.=.<span.class="tok
4f940 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@import</span>(<span.c
4f960 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;std&quot;</
4f980 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c span>).testing.expect;..<span.cl
4f9a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ass="tok-kw">test</span>.<span.c
4f9c0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 61 73 69 63 lass="tok-str">&quot;while.basic
4f9e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
4fa00 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">var</span>.i:.<span.cla
4fa20 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 ss="tok-type">usize</span>.=.<sp
4fa40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">0</span>;.
4fa60 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f ....<span.class="tok-kw">while</
4fa80 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e span>.(i.&lt;.<span.class="tok-n
4faa0 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 69 20 2b 3d umber">10</span>).{.........i.+=
4fac0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 .<span.class="tok-number">1</spa
4fae0 6e 3e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b n>;.....}.....<span.class="tok-k
4fb00 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 w">try</span>.expect(i.==.<span.
4fb20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d class="tok-number">10</span>);.}
4fb40 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 </code></pre></figure><figure><f
4fb60 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c igcaption.class="shell-cap">Shel
4fb80 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
4fba0 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f zig.test.test_while.zig</kbd>.1/
4fbc0 31 20 74 65 73 74 5f 77 68 69 6c 65 2e 74 65 73 74 2e 77 68 69 6c 65 20 62 61 73 69 63 2e 2e 2e 1.test_while.test.while.basic...
4fbe0 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.1.tests.passed..</samp><
4fc00 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 /pre></figure>.......<p>.......U
4fc20 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 se.<code><span.class="tok-kw">br
4fc40 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 65 78 69 74 20 61 20 77 68 69 6c eak</span></code>.to.exit.a.whil
4fc60 65 20 6c 6f 6f 70 20 65 61 72 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c e.loop.early........</p>.......<
4fc80 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 figure><figcaption.class="zig-ca
4fca0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 6c 65 p"><cite.class="file">test_while
4fcc0 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 _break.zig</cite></figcaption><p
4fce0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
4fd00 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.expect.=.<span.class=
4fd20 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@import</span>(<sp
4fd40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f an.class="tok-str">&quot;std&quo
4fd60 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 t;</span>).testing.expect;..<spa
4fd80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 n.class="tok-kw">test</span>.<sp
4fda0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 an.class="tok-str">&quot;while.b
4fdc0 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c reak&quot;</span>.{.....<span.cl
4fde0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e ass="tok-kw">var</span>.i:.<span
4fe00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d .class="tok-type">usize</span>.=
4fe20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 .<span.class="tok-number">0</spa
4fe40 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 n>;.....<span.class="tok-kw">whi
4fe60 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c le</span>.(<span.class="tok-null
4fe80 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 ">true</span>).{.........<span.c
4fea0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 3d 3d 20 3c 73 lass="tok-kw">if</span>.(i.==.<s
4fec0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e pan.class="tok-number">10</span>
4fee0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ).............<span.class="tok-k
4ff00 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c 73 w">break</span>;.........i.+=.<s
4ff20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b pan.class="tok-number">1</span>;
4ff40 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .....}.....<span.class="tok-kw">
4ff60 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 try</span>.expect(i.==.<span.cla
4ff80 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 ss="tok-number">10</span>);.}</c
4ffa0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 ode></pre></figure><figure><figc
4ffc0 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f aption.class="shell-cap">Shell</
4ffe0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
50000 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c 65 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e .test.test_while_break.zig</kbd>
50020 0a 31 2f 31 20 74 65 73 74 5f 77 68 69 6c 65 5f 62 72 65 61 6b 2e 74 65 73 74 2e 77 68 69 6c 65 .1/1.test_while_break.test.while
50040 20 62 72 65 61 6b 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e .break....OK.All.1.tests.passed.
50060 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 .</samp></pre></figure>.......<p
50080 3e 0a 20 20 20 20 20 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >.......Use.<code><span.class="t
500a0 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f ok-kw">continue</span></code>.to
500c0 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 .jump.back.to.the.beginning.of.t
500e0 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 he.loop........</p>.......<figur
50100 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
50120 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 6c 65 5f 63 6f 6e 74 ite.class="file">test_while_cont
50140 69 6e 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 inue.zig</cite></figcaption><pre
50160 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
50180 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.expect.=.<span.class="t
501a0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
501c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
501e0 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 </span>).testing.expect;..<span.
50200 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e class="tok-kw">test</span>.<span
50220 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 63 6f 6e .class="tok-str">&quot;while.con
50240 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 tinue&quot;</span>.{.....<span.c
50260 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 lass="tok-kw">var</span>.i:.<spa
50280 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 n.class="tok-type">usize</span>.
502a0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 =.<span.class="tok-number">0</sp
502c0 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 an>;.....<span.class="tok-kw">wh
502e0 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c ile</span>.(<span.class="tok-nul
50300 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c l">true</span>).{.........i.+=.<
50320 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e span.class="tok-number">1</span>
50340 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 ;.........<span.class="tok-kw">i
50360 66 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f f</span>.(i.&lt;.<span.class="to
50380 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 k-number">10</span>)............
503a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f .<span.class="tok-kw">continue</
503c0 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>;.........<span.class="tok-
503e0 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 kw">break</span>;.....}.....<spa
50400 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
50420 63 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ct(i.==.<span.class="tok-number"
50440 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 >10</span>);.}</code></pre></fig
50460 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 ure><figure><figcaption.class="s
50480 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 hell-cap">Shell</figcaption><pre
504a0 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c ><samp>$.<kbd>zig.test.test_whil
504c0 65 5f 63 6f 6e 74 69 6e 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 77 68 e_continue.zig</kbd>.1/1.test_wh
504e0 69 6c 65 5f 63 6f 6e 74 69 6e 75 65 2e 74 65 73 74 2e 77 68 69 6c 65 20 63 6f 6e 74 69 6e 75 65 ile_continue.test.while.continue
50500 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d ....OK.All.1.tests.passed..</sam
50520 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 p></pre></figure>.......<p>.....
50540 20 20 57 68 69 6c 65 20 6c 6f 6f 70 73 20 73 75 70 70 6f 72 74 20 61 20 63 6f 6e 74 69 6e 75 65 ..While.loops.support.a.continue
50560 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 69 63 68 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 .expression.which.is.executed.wh
50580 65 6e 20 74 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 69 73 20 63 6f 6e 74 69 6e 75 65 64 2e 20 en.the.loop.......is.continued..
505a0 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 The.<code><span.class="tok-kw">c
505c0 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 72 65 ontinue</span></code>.keyword.re
505e0 73 70 65 63 74 73 20 74 68 69 73 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f spects.this.expression........</
50600 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 p>.......<figure><figcaption.cla
50620 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e ss="zig-cap"><cite.class="file">
50640 74 65 73 74 5f 77 68 69 6c 65 5f 63 6f 6e 74 69 6e 75 65 5f 65 78 70 72 65 73 73 69 6f 6e 2e 7a test_while_continue_expression.z
50660 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
50680 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
506a0 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 n>.expect.=.<span.class="tok-bui
506c0 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@import</span>(<span.class
506e0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ="tok-str">&quot;std&quot;</span
50700 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >).testing.expect;..<span.class=
50720 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">test</span>.<span.class
50740 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 ="tok-str">&quot;while.loop.cont
50760 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 inue.expression&quot;</span>.{..
50780 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 ...<span.class="tok-kw">var</spa
507a0 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 n>.i:.<span.class="tok-type">usi
507c0 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ze</span>.=.<span.class="tok-num
507e0 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ber">0</span>;.....<span.class="
50800 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 tok-kw">while</span>.(i.&lt;.<sp
50820 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 an.class="tok-number">10</span>)
50840 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .:.(i.+=.<span.class="tok-number
50860 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">1</span>).{}.....<span.class="
50880 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c tok-kw">try</span>.expect(i.==.<
508a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e span.class="tok-number">10</span
508c0 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 >);.}..<span.class="tok-kw">test
508e0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>.<span.class="tok-str">&q
50900 75 6f 74 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 uot;while.loop.continue.expressi
50920 6f 6e 2c 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e on,.more.complicated&quot;</span
50940 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 >.{.....<span.class="tok-kw">var
50960 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>.i:.<span.class="tok-type
50980 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">usize</span>.=.<span.class="to
509a0 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c k-number">1</span>;.....<span.cl
509c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6a 3a 20 3c 73 70 61 6e ass="tok-kw">var</span>.j:.<span
509e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d .class="tok-type">usize</span>.=
50a00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 .<span.class="tok-number">1</spa
50a20 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 n>;.....<span.class="tok-kw">whi
50a40 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 2a 20 6a 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 le</span>.(i.*.j.&lt;.<span.clas
50a60 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 30 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 7b s="tok-number">2000</span>).:.({
50a80 20 69 20 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 .i.*=.<span.class="tok-number">2
50aa0 3c 2f 73 70 61 6e 3e 3b 20 6a 20 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e </span>;.j.*=.<span.class="tok-n
50ac0 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 20 7d 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 umber">3</span>;.}).{.........<s
50ae0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
50b00 6d 79 5f 69 6a 20 3d 20 69 20 2a 20 6a 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 my_ij.=.i.*.j;.........<span.cla
50b20 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 79 ss="tok-kw">try</span>.expect(my
50b40 5f 69 6a 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 _ij.&lt;.<span.class="tok-number
50b60 22 3e 32 30 30 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f ">2000</span>);.....}.}</code></
50b80 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e pre></figure><figure><figcaption
50ba0 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 .class="shell-cap">Shell</figcap
50bc0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
50be0 74 65 73 74 5f 77 68 69 6c 65 5f 63 6f 6e 74 69 6e 75 65 5f 65 78 70 72 65 73 73 69 6f 6e 2e 7a test_while_continue_expression.z
50c00 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 77 68 69 6c 65 5f 63 6f 6e 74 69 6e 75 65 ig</kbd>.1/2.test_while_continue
50c20 5f 65 78 70 72 65 73 73 69 6f 6e 2e 74 65 73 74 2e 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 _expression.test.while.loop.cont
50c40 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 77 inue.expression....OK.2/2.test_w
50c60 68 69 6c 65 5f 63 6f 6e 74 69 6e 75 65 5f 65 78 70 72 65 73 73 69 6f 6e 2e 74 65 73 74 2e 77 68 hile_continue_expression.test.wh
50c80 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d 6f ile.loop.continue.expression,.mo
50ca0 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 re.complicated....OK.All.2.tests
50cc0 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .passed..</samp></pre></figure>.
50ce0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 69 6c 65 20 6c 6f 6f 70 73 20 61 72 65 20 ......<p>.......While.loops.are.
50d00 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 65 expressions..The.result.of.the.e
50d20 78 70 72 65 73 73 69 6f 6e 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 6f 66 xpression.is.the.......result.of
50d40 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .the.<code><span.class="tok-kw">
50d60 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6c 61 75 73 65 20 6f 66 20 61 20 77 else</span></code>.clause.of.a.w
50d80 68 69 6c 65 20 6c 6f 6f 70 2c 20 77 68 69 63 68 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65 hile.loop,.which.is.executed.whe
50da0 6e 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 69 n.......the.condition.of.the.whi
50dc0 6c 65 20 6c 6f 6f 70 20 69 73 20 74 65 73 74 65 64 20 61 73 20 66 61 6c 73 65 2e 0a 20 20 20 20 le.loop.is.tested.as.false......
50de0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 ..</p>.......<p>.......<code><sp
50e00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-kw">break</span></
50e20 63 6f 64 65 3e 2c 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 code>,.like.<code><span.class="t
50e40 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 63 63 ok-kw">return</span></code>,.acc
50e60 65 70 74 73 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d epts.a.value...............param
50e80 65 74 65 72 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 eter..This.is.the.result.of.the.
50ea0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 <code><span.class="tok-kw">while
50ec0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 </span></code>.expression.......
50ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 3c 63 6f 64 65 3e 3c 73 70 61 .............When.you.<code><spa
50f00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 n.class="tok-kw">break</span></c
50f20 6f 64 65 3e 20 66 72 6f 6d 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 2c 20 74 68 65 20 3c 63 6f 64 ode>.from.a.while.loop,.the.<cod
50f40 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 e><span.class="tok-kw">else</spa
50f60 6e 3e 3c 2f 63 6f 64 65 3e 20 62 72 61 6e 63 68 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 65 76 n></code>.branch.is.not.......ev
50f80 61 6c 75 61 74 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 aluated........</p>.......<figur
50fa0 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
50fc0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 6c 65 5f 65 6c 73 65 ite.class="file">test_while_else
50fe0 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
51000 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
51020 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 pan>.expect.=.<span.class="tok-b
51040 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@import</span>(<span.cla
51060 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 ss="tok-str">&quot;std&quot;</sp
51080 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 an>).testing.expect;..<span.clas
510a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 s="tok-kw">test</span>.<span.cla
510c0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 6c 73 65 26 71 75 ss="tok-str">&quot;while.else&qu
510e0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
51100 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 61 6e 67 65 48 61 73 k-kw">try</span>.expect(rangeHas
51120 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e Number(<span.class="tok-number">
51140 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 0</span>,.<span.class="tok-numbe
51160 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e r">10</span>,.<span.class="tok-n
51180 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 umber">5</span>));.....<span.cla
511a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 72 ss="tok-kw">try</span>.expect(!r
511c0 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e angeHasNumber(<span.class="tok-n
511e0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">0</span>,.<span.class="to
51200 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">10</span>,.<span.class
51220 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 35 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 ="tok-number">15</span>));.}..<s
51240 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 pan.class="tok-kw">fn</span>.<sp
51260 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 an.class="tok-fn">rangeHasNumber
51280 3c 2f 73 70 61 6e 3e 28 62 65 67 69 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>(begin:.<span.class="tok-
512a0 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 65 6e 64 3a 20 3c 73 70 61 6e 20 63 type">usize</span>,.end:.<span.c
512c0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 6e 75 lass="tok-type">usize</span>,.nu
512e0 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 mber:.<span.class="tok-type">usi
51300 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ze</span>).<span.class="tok-type
51320 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">bool</span>.{.....<span.class=
51340 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 62 65 67 69 6e 3b 0a 20 "tok-kw">var</span>.i.=.begin;..
51360 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f ...<span.class="tok-kw">return</
51380 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 span>.<span.class="tok-kw">while
513a0 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 65 6e 64 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 </span>.(i.&lt;.end).:.(i.+=.<sp
513c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-number">1</span>).
513e0 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 {.........<span.class="tok-kw">i
51400 66 3c 2f 73 70 61 6e 3e 20 28 69 20 3d 3d 20 6e 75 6d 62 65 72 29 20 7b 0a 20 20 20 20 20 20 20 f</span>.(i.==.number).{........
51420 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c .....<span.class="tok-kw">break<
51440 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 /span>.<span.class="tok-null">tr
51460 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 20 3c 73 70 61 6e ue</span>;.........}.....}.<span
51480 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 .class="tok-kw">else</span>.<spa
514a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b n.class="tok-null">false</span>;
514c0 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
514e0 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 <figcaption.class="shell-cap">Sh
51500 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
51520 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c 65 5f 65 6c 73 65 2e 7a 69 67 3c 2f d>zig.test.test_while_else.zig</
51540 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 77 68 69 6c 65 5f 65 6c 73 65 2e 74 65 73 74 2e 77 68 kbd>.1/1.test_while_else.test.wh
51560 69 6c 65 20 65 6c 73 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 ile.else....OK.All.1.tests.passe
51580 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 d..</samp></pre></figure>.......
515a0 3c 68 33 20 69 64 3d 22 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 <h3.id="Labeled-while"><a.href="
515c0 23 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c #toc-Labeled-while">Labeled.whil
515e0 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c 61 62 65 e</a>.<a.class="hdr".href="#Labe
51600 6c 65 64 2d 77 68 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 led-while">..</a></h3>........<p
51620 3e 57 68 65 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >When.a.<code><span.class="tok-k
51640 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 6c w">while</span></code>.loop.is.l
51660 61 62 65 6c 65 64 2c 20 69 74 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f abeled,.it.can.be.referenced.fro
51680 6d 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 m.a.<code><span.class="tok-kw">b
516a0 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 reak</span></code>..............
516c0 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 .or.<code><span.class="tok-kw">c
516e0 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 77 69 74 68 69 ontinue</span></code>.from.withi
51700 6e 20 61 20 6e 65 73 74 65 64 20 6c 6f 6f 70 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 n.a.nested.loop:</p>.......<figu
51720 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
51740 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 6c 65 5f 6e 65 73 cite.class="file">test_while_nes
51760 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ted_break.zig</cite></figcaption
51780 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
517a0 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >test</span>.<span.class="tok-st
517c0 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 r">&quot;nested.break&quot;</spa
517e0 6e 3e 20 7b 0a 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n>.{.....outer:.<span.class="tok
51800 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">while</span>.(<span.class="
51820 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 tok-null">true</span>).{........
51840 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 .<span.class="tok-kw">while</spa
51860 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c n>.(<span.class="tok-null">true<
51880 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 /span>).{.............<span.clas
518a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 0a s="tok-kw">break</span>.:outer;.
518c0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ........}.....}.}..<span.class="
518e0 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d tok-kw">test</span>.<span.class=
51900 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 "tok-str">&quot;nested.continue&
51920 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
51940 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">var</span>.i:.<span.clas
51960 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 s="tok-type">usize</span>.=.<spa
51980 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 n.class="tok-number">0</span>;..
519a0 20 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 ...outer:.<span.class="tok-kw">w
519c0 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d hile</span>.(i.&lt;.<span.class=
519e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 "tok-number">10</span>).:.(i.+=.
51a00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e <span.class="tok-number">1</span
51a20 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >).{.........<span.class="tok-kw
51a40 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">while</span>.(<span.class="tok
51a60 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 -null">true</span>).{...........
51a80 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c ..<span.class="tok-kw">continue<
51aa0 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d /span>.:outer;.........}.....}.}
51ac0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 </code></pre></figure><figure><f
51ae0 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c igcaption.class="shell-cap">Shel
51b00 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
51b20 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c 65 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b zig.test.test_while_nested_break
51b40 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 77 68 69 6c 65 5f 6e 65 73 74 65 64 .zig</kbd>.1/2.test_while_nested
51b60 5f 62 72 65 61 6b 2e 74 65 73 74 2e 6e 65 73 74 65 64 20 62 72 65 61 6b 2e 2e 2e 20 4f 4b 0a 32 _break.test.nested.break....OK.2
51b80 2f 32 20 74 65 73 74 5f 77 68 69 6c 65 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 74 65 73 74 2e /2.test_while_nested_break.test.
51ba0 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 nested.continue....OK.All.2.test
51bc0 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e s.passed..</samp></pre></figure>
51be0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 68 69 6c 65 2d 77 69 74 68 ..............<h3.id="while-with
51c00 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 69 6c 65 2d -Optionals"><a.href="#toc-while-
51c20 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f with-Optionals">while.with.Optio
51c40 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 nals</a>.<a.class="hdr".href="#w
51c60 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e hile-with-Optionals">..</a></h3>
51c80 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 20 68 ........<p>.......Just.like.<a.h
51ca0 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 77 68 ref="#if">if</a>.expressions,.wh
51cc0 69 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 ile.loops.can.take.an.optional.a
51ce0 73 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 63 61 70 74 75 72 s.the.......condition.and.captur
51d00 65 20 74 68 65 20 70 61 79 6c 6f 61 64 2e 20 57 68 65 6e 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 e.the.payload..When.<a.href="#nu
51d20 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 74 68 65 20 ll">null</a>.is.encountered.the.
51d40 6c 6f 6f 70 0a 20 20 20 20 20 20 65 78 69 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 loop.......exits........</p>....
51d60 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 3e 7c 78 7c 3c ...<p>.......When.the.<code>|x|<
51d80 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 72 65 73 65 6e 74 20 6f 6e 20 61 20 3c 63 /code>.syntax.is.present.on.a.<c
51da0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f ode><span.class="tok-kw">while</
51dc0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 74 span></code>.expression,.......t
51de0 68 65 20 77 68 69 6c 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 6e 20 he.while.condition.must.have.an.
51e00 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 <a.href="#Optional-Type">Optiona
51e20 6c 20 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e l.Type</a>........</p>.......<p>
51e40 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .......The.<code><span.class="to
51e60 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 72 61 6e 63 68 20 k-kw">else</span></code>.branch.
51e80 69 73 20 61 6c 6c 6f 77 65 64 20 6f 6e 20 6f 70 74 69 6f 6e 61 6c 20 69 74 65 72 61 74 69 6f 6e is.allowed.on.optional.iteration
51ea0 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 62 65 ..In.this.case,.it.will.......be
51ec0 20 65 78 65 63 75 74 65 64 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20 6e 75 6c 6c 20 76 61 6c 75 .executed.on.the.first.null.valu
51ee0 65 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 e.encountered........</p>.......
51f00 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
51f20 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 6c ap"><cite.class="file">test_whil
51f40 65 5f 6e 75 6c 6c 5f 63 61 70 74 75 72 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 e_null_capture.zig</cite></figca
51f60 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
51f80 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 k-kw">const</span>.expect.=.<spa
51fa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 n.class="tok-builtin">@import</s
51fc0 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>(<span.class="tok-str">&quot
51fe0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 ;std&quot;</span>).testing.expec
52000 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 t;..<span.class="tok-kw">test</s
52020 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>.<span.class="tok-str">&quot
52040 3b 77 68 69 6c 65 20 6e 75 6c 6c 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ;while.null.capture&quot;</span>
52060 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c .{.....<span.class="tok-kw">var<
52080 2f 73 70 61 6e 3e 20 73 75 6d 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 /span>.sum1:.<span.class="tok-ty
520a0 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">u32</span>.=.<span.class="to
520c0 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6e 75 6d 62 65 72 73 5f k-number">0</span>;.....numbers_
520e0 6c 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e left.=.<span.class="tok-number">
52100 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 3</span>;.....<span.class="tok-k
52120 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 w">while</span>.(eventuallyNullS
52140 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d equence()).|value|.{.........sum
52160 31 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 1.+=.value;.....}.....<span.clas
52180 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d s="tok-kw">try</span>.expect(sum
521a0 31 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 1.==.<span.class="tok-number">3<
521c0 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 /span>);......<span.class="tok-c
521e0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 75 6c 6c 20 63 61 70 74 75 72 65 20 77 69 74 68 20 61 6e 20 omment">//.null.capture.with.an.
52200 65 6c 73 65 20 62 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 else.block</span>.....<span.clas
52220 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 32 3a 20 3c 73 70 61 s="tok-kw">var</span>.sum2:.<spa
52240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 n.class="tok-type">u32</span>.=.
52260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e <span.class="tok-number">0</span
52280 3e 3b 0a 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 >;.....numbers_left.=.<span.clas
522a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 s="tok-number">3</span>;.....<sp
522c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 an.class="tok-kw">while</span>.(
522e0 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 eventuallyNullSequence()).|value
52300 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d |.{.........sum2.+=.value;.....}
52320 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e .<span.class="tok-kw">else</span
52340 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >.{.........<span.class="tok-kw"
52360 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 32 20 3d 3d 20 3c 73 70 61 6e >try</span>.expect(sum2.==.<span
52380 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 .class="tok-number">3</span>);..
523a0 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ...}......<span.class="tok-comme
523c0 6e 74 22 3e 2f 2f 20 6e 75 6c 6c 20 63 61 70 74 75 72 65 20 77 69 74 68 20 61 20 63 6f 6e 74 69 nt">//.null.capture.with.a.conti
523e0 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 nue.expression</span>.....<span.
52400 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 class="tok-kw">var</span>.i:.<sp
52420 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">u32</span>.=
52440 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 .<span.class="tok-number">0</spa
52460 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 n>;.....<span.class="tok-kw">var
52480 3c 2f 73 70 61 6e 3e 20 73 75 6d 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 </span>.sum3:.<span.class="tok-t
524a0 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">u32</span>.=.<span.class="t
524c0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6e 75 6d 62 65 72 73 ok-number">0</span>;.....numbers
524e0 5f 6c 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 _left.=.<span.class="tok-number"
52500 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >3</span>;.....<span.class="tok-
52520 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c kw">while</span>.(eventuallyNull
52540 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 Sequence()).|value|.:.(i.+=.<spa
52560 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b n.class="tok-number">1</span>).{
52580 0a 20 20 20 20 20 20 20 20 73 75 6d 33 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 .........sum3.+=.value;.....}...
525a0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
525c0 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expect(i.==.<span.class="tok-n
525e0 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 umber">3</span>);.}..<span.class
52600 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 73 5f 6c 65 66 ="tok-kw">var</span>.numbers_lef
52620 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 t:.<span.class="tok-type">u32</s
52640 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e pan>.=.<span.class="tok-null">un
52660 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b defined</span>;.<span.class="tok
52680 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d -kw">fn</span>.<span.class="tok-
526a0 66 6e 22 3e 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 3c 2f 73 70 61 6e fn">eventuallyNullSequence</span
526c0 3e 28 29 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c >().?<span.class="tok-type">u32<
526e0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
52700 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">return</span>.<span.class="tok
52720 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 3d 20 -kw">if</span>.(numbers_left.==.
52740 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e <span.class="tok-number">0</span
52760 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f >).<span.class="tok-null">null</
52780 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c span>.<span.class="tok-kw">else<
527a0 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 /span>.blk:.{.........numbers_le
527c0 66 74 20 2d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 ft.-=.<span.class="tok-number">1
527e0 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>;.........<span.class="to
52800 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d 62 65 72 73 5f k-kw">break</span>.:blk.numbers_
52820 6c 65 66 74 3b 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 left;.....};.}</code></pre></fig
52840 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 ure><figure><figcaption.class="s
52860 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 hell-cap">Shell</figcaption><pre
52880 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c ><samp>$.<kbd>zig.test.test_whil
528a0 65 5f 6e 75 6c 6c 5f 63 61 70 74 75 72 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 e_null_capture.zig</kbd>.1/1.tes
528c0 74 5f 77 68 69 6c 65 5f 6e 75 6c 6c 5f 63 61 70 74 75 72 65 2e 74 65 73 74 2e 77 68 69 6c 65 20 t_while_null_capture.test.while.
528e0 6e 75 6c 6c 20 63 61 70 74 75 72 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 null.capture....OK.All.1.tests.p
52900 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 assed..</samp></pre></figure>...
52920 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 68 69 6c 65 2d 77 69 74 68 2d 45 ............<h3.id="while-with-E
52940 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 69 6c 65 rror-Unions"><a.href="#toc-while
52960 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 45 -with-Error-Unions">while.with.E
52980 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 rror.Unions</a>.<a.class="hdr".h
529a0 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 ref="#while-with-Error-Unions">.
529c0 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 .</a></h3>........<p>.......Just
529e0 20 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 .like.<a.href="#if">if</a>.expre
52a00 73 73 69 6f 6e 73 2c 20 77 68 69 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 ssions,.while.loops.can.take.an.
52a20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 61 73 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6e 64 69 74 69 error.union.as.......the.conditi
52a40 6f 6e 20 61 6e 64 20 63 61 70 74 75 72 65 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 72 20 74 68 on.and.capture.the.payload.or.th
52a60 65 20 65 72 72 6f 72 20 63 6f 64 65 2e 20 57 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6e e.error.code..When.the.......con
52a80 64 69 74 69 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 dition.results.in.an.error.code.
52aa0 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 6e 64 the.else.branch.is.evaluated.and
52ac0 0a 20 20 20 20 20 20 74 68 65 20 6c 6f 6f 70 20 69 73 20 66 69 6e 69 73 68 65 64 2e 0a 20 20 20 .......the.loop.is.finished.....
52ae0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 ...</p>.......<p>.......When.the
52b00 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 .<code><span.class="tok-kw">else
52b20 3c 2f 73 70 61 6e 3e 20 7c 78 7c 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 72 65 </span>.|x|</code>.syntax.is.pre
52b40 73 65 6e 74 20 6f 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b sent.on.a.<code><span.class="tok
52b60 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 -kw">while</span></code>.express
52b80 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 65 20 77 68 69 6c 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6d ion,.......the.while.condition.m
52ba0 75 73 74 20 68 61 76 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f ust.have.an.<a.href="#Error-Unio
52bc0 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 n-Type">Error.Union.Type</a>....
52be0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ....</p>.......<figure><figcapti
52c00 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 on.class="zig-cap"><cite.class="
52c20 66 69 6c 65 22 3e 74 65 73 74 5f 77 68 69 6c 65 5f 65 72 72 6f 72 5f 63 61 70 74 75 72 65 2e 7a file">test_while_error_capture.z
52c40 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
52c60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
52c80 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 n>.expect.=.<span.class="tok-bui
52ca0 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@import</span>(<span.class
52cc0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ="tok-str">&quot;std&quot;</span
52ce0 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >).testing.expect;..<span.class=
52d00 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">test</span>.<span.class
52d20 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 72 72 6f 72 20 75 6e 69 ="tok-str">&quot;while.error.uni
52d40 6f 6e 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 on.capture&quot;</span>.{.....<s
52d60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 pan.class="tok-kw">var</span>.su
52d80 6d 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f m1:.<span.class="tok-type">u32</
52da0 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 span>.=.<span.class="tok-number"
52dc0 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 >0</span>;.....numbers_left.=.<s
52de0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b pan.class="tok-number">3</span>;
52e00 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c .....<span.class="tok-kw">while<
52e20 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 45 72 72 6f 72 53 65 71 75 65 6e 63 65 28 /span>.(eventuallyErrorSequence(
52e40 29 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 31 20 2b 3d 20 76 61 6c )).|value|.{.........sum1.+=.val
52e60 75 65 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ue;.....}.<span.class="tok-kw">e
52e80 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e lse</span>.|err|.{.........<span
52ea0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
52ec0 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 t(err.==.<span.class="tok-kw">er
52ee0 72 6f 72 3c 2f 73 70 61 6e 3e 2e 52 65 61 63 68 65 64 5a 65 72 6f 29 3b 0a 20 20 20 20 7d 0a 7d ror</span>.ReachedZero);.....}.}
52f00 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e ..<span.class="tok-kw">var</span
52f20 3e 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.numbers_left:.<span.class="tok
52f40 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">u32</span>.=.<span.class=
52f60 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 "tok-null">undefined</span>;..<s
52f80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 pan.class="tok-kw">fn</span>.<sp
52fa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 76 65 6e 74 75 61 6c 6c 79 45 72 72 6f an.class="tok-fn">eventuallyErro
52fc0 72 53 65 71 75 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rSequence</span>().<span.class="
52fe0 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 tok-type">anyerror</span>!<span.
53000 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 class="tok-type">u32</span>.{...
53020 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 ..<span.class="tok-kw">return</s
53040 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 pan>.<span.class="tok-kw">if</sp
53060 61 6e 3e 20 28 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 an>.(numbers_left.==.<span.class
53080 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c ="tok-number">0</span>).<span.cl
530a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 52 65 61 63 68 65 ass="tok-kw">error</span>.Reache
530c0 64 5a 65 72 6f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c dZero.<span.class="tok-kw">else<
530e0 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 /span>.blk:.{.........numbers_le
53100 66 74 20 2d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 ft.-=.<span.class="tok-number">1
53120 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>;.........<span.class="to
53140 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d 62 65 72 73 5f k-kw">break</span>.:blk.numbers_
53160 6c 65 66 74 3b 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 left;.....};.}</code></pre></fig
53180 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 ure><figure><figcaption.class="s
531a0 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 hell-cap">Shell</figcaption><pre
531c0 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c ><samp>$.<kbd>zig.test.test_whil
531e0 65 5f 65 72 72 6f 72 5f 63 61 70 74 75 72 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 e_error_capture.zig</kbd>.1/1.te
53200 73 74 5f 77 68 69 6c 65 5f 65 72 72 6f 72 5f 63 61 70 74 75 72 65 2e 74 65 73 74 2e 77 68 69 6c st_while_error_capture.test.whil
53220 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 63 61 70 74 75 72 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 e.error.union.capture....OK.All.
53240 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 1.tests.passed..</samp></pre></f
53260 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 6c igure>...............<h3.id="inl
53280 69 6e 65 2d 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 6c 69 6e 65 2d ine-while"><a.href="#toc-inline-
532a0 77 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 while">inline.while</a>.<a.class
532c0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e c2 a7 3c 2f ="hdr".href="#inline-while">..</
532e0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 69 6c 65 20 6c a></h3>........<p>.......While.l
53300 6f 6f 70 73 20 63 61 6e 20 62 65 20 69 6e 6c 69 6e 65 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 oops.can.be.inlined..This.causes
53320 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 62 65 20 75 6e 72 6f 6c 6c 65 64 2c 20 77 68 69 63 68 0a .the.loop.to.be.unrolled,.which.
53340 20 20 20 20 20 20 61 6c 6c 6f 77 73 20 74 68 65 20 63 6f 64 65 20 74 6f 20 64 6f 20 73 6f 6d 65 ......allows.the.code.to.do.some
53360 20 74 68 69 6e 67 73 20 77 68 69 63 68 20 6f 6e 6c 79 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 .things.which.only.work.at.compi
53380 6c 65 20 74 69 6d 65 2c 0a 20 20 20 20 20 20 73 75 63 68 20 61 73 20 75 73 65 20 74 79 70 65 73 le.time,.......such.as.use.types
533a0 20 61 73 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 3c 2f .as.first.class.values........</
533c0 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 p>.......<figure><figcaption.cla
533e0 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e ss="zig-cap"><cite.class="file">
53400 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 test_inline_while.zig</cite></fi
53420 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><code><span.class=
53440 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c "tok-kw">const</span>.expect.=.<
53460 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 span.class="tok-builtin">@import
53480 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
534a0 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 uot;std&quot;</span>).testing.ex
534c0 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 pect;..<span.class="tok-kw">test
534e0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>.<span.class="tok-str">&q
53500 75 6f 74 3b 69 6e 6c 69 6e 65 20 77 68 69 6c 65 20 6c 6f 6f 70 26 71 75 6f 74 3b 3c 2f 73 70 61 uot;inline.while.loop&quot;</spa
53520 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.{.....<span.class="tok-kw">co
53540 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b mptime</span>.<span.class="tok-k
53560 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 w">var</span>.i.=.<span.class="t
53580 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ok-number">0</span>;.....<span.c
535a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 lass="tok-kw">var</span>.sum:.<s
535c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e pan.class="tok-type">usize</span
535e0 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f >.=.<span.class="tok-number">0</
53600 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>;.....<span.class="tok-kw">
53620 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b inline</span>.<span.class="tok-k
53640 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c w">while</span>.(i.&lt;.<span.cl
53660 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 ass="tok-number">3</span>).:.(i.
53680 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 +=.<span.class="tok-number">1</s
536a0 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>).{.........<span.class="tok
536c0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">const</span>.T.=.<span.clas
536e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 69 29 20 7b 0a 20 s="tok-kw">switch</span>.(i).{..
53700 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ...........<span.class="tok-numb
53720 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">0</span>.=&gt;.<span.class="
53740 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 tok-type">f32</span>,...........
53760 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 ..<span.class="tok-number">1</sp
53780 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 an>.=&gt;.<span.class="tok-type"
537a0 3e 69 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c >i8</span>,.............<span.cl
537c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 ass="tok-number">2</span>.=&gt;.
537e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 <span.class="tok-type">bool</spa
53800 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n>,.............<span.class="tok
53820 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 -kw">else</span>.=&gt;.<span.cla
53840 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 0a ss="tok-kw">unreachable</span>,.
53860 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 74 79 70 65 4e 61 ........};.........sum.+=.typeNa
53880 6d 65 4c 65 6e 67 74 68 28 54 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 meLength(T);.....}.....<span.cla
538a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 ss="tok-kw">try</span>.expect(su
538c0 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c m.==.<span.class="tok-number">9<
538e0 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>);.}..<span.class="tok-kw"
53900 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e >fn</span>.<span.class="tok-fn">
53920 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 typeNameLength</span>(<span.clas
53940 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 s="tok-kw">comptime</span>.T:.<s
53960 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e pan.class="tok-type">type</span>
53980 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f ).<span.class="tok-type">usize</
539a0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
539c0 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >return</span>.<span.class="tok-
539e0 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 29 2e 6c 65 6e builtin">@typeName</span>(T).len
53a00 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
53a20 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 ><figcaption.class="shell-cap">S
53a40 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
53a60 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 77 68 69 6c 65 2e 7a 69 bd>zig.test.test_inline_while.zi
53a80 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 77 68 69 6c 65 2e 74 65 g</kbd>.1/1.test_inline_while.te
53aa0 73 74 2e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 20 6c 6f 6f 70 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 st.inline.while.loop....OK.All.1
53ac0 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 .tests.passed..</samp></pre></fi
53ae0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f gure>.......<p>.......It.is.reco
53b00 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 mmended.to.use.<code><span.class
53b20 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c ="tok-kw">inline</span></code>.l
53b40 6f 6f 70 73 20 6f 6e 6c 79 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 72 65 61 73 6f oops.only.for.one.of.these.reaso
53b60 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ns:.......</p>.......<ul>.......
53b80 20 20 3c 6c 69 3e 59 6f 75 20 6e 65 65 64 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 65 78 65 63 75 ..<li>You.need.the.loop.to.execu
53ba0 74 65 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 te.at.<a.href="#comptime">compti
53bc0 6d 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 20 74 6f 20 77 6f 72 6b me</a>.for.the.semantics.to.work
53be0 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 .</li>.........<li>.........You.
53c00 68 61 76 65 20 61 20 62 65 6e 63 68 6d 61 72 6b 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20 66 have.a.benchmark.to.prove.that.f
53c20 6f 72 63 69 62 6c 79 20 75 6e 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6c 6f 6f 70 20 69 6e 20 74 68 orcibly.unrolling.the.loop.in.th
53c40 69 73 20 77 61 79 20 69 73 20 6d 65 61 73 75 72 61 62 6c 79 20 66 61 73 74 65 72 2e 0a 20 20 20 is.way.is.measurably.faster.....
53c60 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 .....</li>.......</ul>..........
53c80 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 ....<p>See.also:</p><ul>.<li><a.
53ca0 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 href="#if">if</a></li>.<li><a.hr
53cc0 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c ef="#Optionals">Optionals</a></l
53ce0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c i>.<li><a.href="#Errors">Errors<
53d00 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 /a></li>.<li><a.href="#comptime"
53d20 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 >comptime</a></li>.<li><a.href="
53d40 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 3c 2f 6c #unreachable">unreachable</a></l
53d60 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 66 i>.</ul>...............<h2.id="f
53d80 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 20 3c or"><a.href="#toc-for">for</a>.<
53da0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6f 72 22 3e c2 a7 3c 2f 61 3e a.class="hdr".href="#for">..</a>
53dc0 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e </h2>........<figure><figcaption
53de0 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="zig-cap"><cite.class="fi
53e00 6c 65 22 3e 74 65 73 74 5f 66 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 le">test_for.zig</cite></figcapt
53e20 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
53e40 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 kw">const</span>.expect.=.<span.
53e60 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 class="tok-builtin">@import</spa
53e80 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 n>(<span.class="tok-str">&quot;s
53ea0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b td&quot;</span>).testing.expect;
53ec0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
53ee0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 n>.<span.class="tok-str">&quot;f
53f00 6f 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 or.basics&quot;</span>.{.....<sp
53f20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 an.class="tok-kw">const</span>.i
53f40 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 tems.=.[_]<span.class="tok-type"
53f60 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >i32</span>.{.<span.class="tok-n
53f80 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">4</span>,.<span.class="to
53fa0 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">5</span>,.<span.class=
53fc0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">3</span>,.<span.cla
53fe0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">4</span>,.<span.
54000 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 class="tok-number">0</span>.};..
54020 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 ...<span.class="tok-kw">var</spa
54040 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 n>.sum:.<span.class="tok-type">i
54060 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 32</span>.=.<span.class="tok-num
54080 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">0</span>;......<span.class=
540a0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 6c 6f 6f 70 73 20 69 74 65 72 61 "tok-comment">//.For.loops.itera
540c0 74 65 20 6f 76 65 72 20 73 6c 69 63 65 73 20 61 6e 64 20 61 72 72 61 79 73 2e 3c 2f 73 70 61 6e te.over.slices.and.arrays.</span
540e0 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f >.....<span.class="tok-kw">for</
54100 73 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 span>.(items).|value|.{.........
54120 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 65 <span.class="tok-comment">//.Bre
54140 61 6b 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 2e 3c 2f ak.and.continue.are.supported.</
54160 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>.........<span.class="tok-k
54180 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 w">if</span>.(value.==.<span.cla
541a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 ss="tok-number">0</span>).{.....
541c0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ........<span.class="tok-kw">con
541e0 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 tinue</span>;.........}.........
54200 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c sum.+=.value;.....}.....<span.cl
54220 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 ass="tok-kw">try</span>.expect(s
54240 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 um.==.<span.class="tok-number">1
54260 36 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 6</span>);......<span.class="tok
54280 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 20 70 -comment">//.To.iterate.over.a.p
542a0 6f 72 74 69 6f 6e 20 6f 66 20 61 20 73 6c 69 63 65 2c 20 72 65 73 6c 69 63 65 2e 3c 2f 73 70 61 ortion.of.a.slice,.reslice.</spa
542c0 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c n>.....<span.class="tok-kw">for<
542e0 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e /span>.(items[<span.class="tok-n
54300 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">0</span>..<span.class="to
54320 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 k-number">1</span>]).|value|.{..
54340 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c .......sum.+=.value;.....}.....<
54360 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">try</span>.e
54380 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 xpect(sum.==.<span.class="tok-nu
543a0 6d 62 65 72 22 3e 32 30 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 mber">20</span>);......<span.cla
543c0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 61 63 63 65 73 73 20 74 68 ss="tok-comment">//.To.access.th
543e0 65 20 69 6e 64 65 78 20 6f 66 20 69 74 65 72 61 74 69 6f 6e 2c 20 73 70 65 63 69 66 79 20 61 20 e.index.of.iteration,.specify.a.
54400 73 65 63 6f 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 20 61 73 20 77 65 6c 6c 3c 2f 73 70 61 6e 3e 0a second.condition.as.well</span>.
54420 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
54440 20 61 73 20 61 20 73 65 63 6f 6e 64 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 2e 3c 2f 73 70 61 .as.a.second.capture.value.</spa
54460 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c n>.....<span.class="tok-kw">var<
54480 2f 73 70 61 6e 3e 20 73 75 6d 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 /span>.sum2:.<span.class="tok-ty
544a0 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">i32</span>.=.<span.class="to
544c0 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c k-number">0</span>;.....<span.cl
544e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 2c 20 ass="tok-kw">for</span>.(items,.
54500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e <span.class="tok-number">0</span
54520 3e 2e 2e 29 20 7c 5f 2c 20 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 >..).|_,.i|.{.........<span.clas
54540 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 s="tok-kw">try</span>.expect(<sp
54560 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f an.class="tok-builtin">@TypeOf</
54580 73 70 61 6e 3e 28 69 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 span>(i).==.<span.class="tok-typ
545a0 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b e">usize</span>);.........sum2.+
545c0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c =.<span.class="tok-builtin">@as<
545e0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 /span>(<span.class="tok-type">i3
54600 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 2</span>,.<span.class="tok-built
54620 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 69 29 29 3b 0a 20 20 20 20 7d 0a 20 in">@intCast</span>(i));.....}..
54640 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
54660 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 32 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.expect(sum2.==.<span.class="t
54680 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 ok-number">10</span>);......<spa
546a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 69 74 65 72 n.class="tok-comment">//.To.iter
546c0 61 74 65 20 6f 76 65 72 20 63 6f 6e 73 65 63 75 74 69 76 65 20 69 6e 74 65 67 65 72 73 2c 20 75 ate.over.consecutive.integers,.u
546e0 73 65 20 74 68 65 20 72 61 6e 67 65 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 se.the.range.syntax.</span>.....
54700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 6e 62 <span.class="tok-comment">//.Unb
54720 6f 75 6e 64 65 64 20 72 61 6e 67 65 20 69 73 20 61 6c 77 61 79 73 20 61 20 63 6f 6d 70 69 6c 65 ounded.range.is.always.a.compile
54740 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .error.</span>.....<span.class="
54760 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 33 20 3a 20 3c 73 70 61 6e 20 tok-kw">var</span>.sum3.:.<span.
54780 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 class="tok-type">usize</span>.=.
547a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e <span.class="tok-number">0</span
547c0 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c >;.....<span.class="tok-kw">for<
547e0 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>.(<span.class="tok-number"
54800 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >0</span>..<span.class="tok-numb
54820 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 20 7c 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 33 er">5</span>).|i|.{.........sum3
54840 20 2b 3d 20 69 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .+=.i;.....}.....<span.class="to
54860 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 33 20 3d 3d 20 k-kw">try</span>.expect(sum3.==.
54880 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 <span.class="tok-number">10</spa
548a0 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 n>);.}..<span.class="tok-kw">tes
548c0 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>.<span.class="tok-str">&
548e0 71 75 6f 74 3b 6d 75 6c 74 69 20 6f 62 6a 65 63 74 20 66 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 quot;multi.object.for&quot;</spa
54900 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.{.....<span.class="tok-kw">co
54920 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 nst</span>.items.=.[_]<span.clas
54940 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e s="tok-type">usize</span>{.<span
54960 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">1</span>,.<s
54980 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">2</span>,
549a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 .<span.class="tok-number">3</spa
549c0 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 n>.};.....<span.class="tok-kw">c
549e0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 32 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c onst</span>.items2.=.[_]<span.cl
54a00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 ass="tok-type">usize</span>{.<sp
54a20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">4</span>,.
54a40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e <span.class="tok-number">5</span
54a60 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 >,.<span.class="tok-number">6</s
54a80 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>.};.....<span.class="tok-kw"
54aa0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >var</span>.count:.<span.class="
54ac0 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 tok-type">usize</span>.=.<span.c
54ae0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 lass="tok-number">0</span>;.....
54b00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 .<span.class="tok-comment">//.It
54b20 65 72 61 74 65 20 6f 76 65 72 20 6d 75 6c 74 69 70 6c 65 20 6f 62 6a 65 63 74 73 2e 3c 2f 73 70 erate.over.multiple.objects.</sp
54b40 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 an>.....<span.class="tok-comment
54b60 22 3e 2f 2f 20 41 6c 6c 20 6c 65 6e 67 74 68 73 20 6d 75 73 74 20 62 65 20 65 71 75 61 6c 20 61 ">//.All.lengths.must.be.equal.a
54b80 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2c 20 6f 74 68 65 72 77 69 t.the.start.of.the.loop,.otherwi
54ba0 73 65 20 64 65 74 65 63 74 61 62 6c 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 se.detectable</span>.....<span.c
54bc0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6c 6c 65 67 61 6c 20 62 65 lass="tok-comment">//.illegal.be
54be0 68 61 76 69 6f 72 20 6f 63 63 75 72 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 havior.occurs.</span>.....<span.
54c00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 class="tok-kw">for</span>.(items
54c20 2c 20 69 74 65 6d 73 32 29 20 7c 69 2c 20 6a 7c 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 75 6e 74 ,.items2).|i,.j|.{.........count
54c40 20 2b 3d 20 69 20 2b 20 6a 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .+=.i.+.j;.....}......<span.clas
54c60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 6f 75 s="tok-kw">try</span>.expect(cou
54c80 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 nt.==.<span.class="tok-number">2
54ca0 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 1</span>);.}..<span.class="tok-k
54cc0 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">test</span>.<span.class="tok-
54ce0 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 72 65 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 3c 2f str">&quot;for.reference&quot;</
54d00 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
54d20 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 >var</span>.items.=.[_]<span.cla
54d40 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 ss="tok-type">i32</span>{.<span.
54d60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">3</span>,.<sp
54d80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">4</span>,.
54da0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e <span.class="tok-number">2</span
54dc0 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 >.};......<span.class="tok-comme
54de0 6e 74 22 3e 2f 2f 20 49 74 65 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 73 6c 69 63 65 20 62 79 nt">//.Iterate.over.the.slice.by
54e00 20 72 65 66 65 72 65 6e 63 65 20 62 79 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 .reference.by</span>.....<span.c
54e20 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 70 65 63 69 66 79 69 6e 67 lass="tok-comment">//.specifying
54e40 20 74 68 61 74 20 74 68 65 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 .that.the.capture.value.is.a.poi
54e60 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nter.</span>.....<span.class="to
54e80 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 26 61 6d 70 3b 69 74 65 6d 73 29 20 7c 2a k-kw">for</span>.(&amp;items).|*
54ea0 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c 73 70 61 value|.{.........value.*.+=.<spa
54ec0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 n.class="tok-number">1</span>;..
54ee0 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ...}......<span.class="tok-kw">t
54f00 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 ry</span>.expect(items[<span.cla
54f20 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 ss="tok-number">0</span>].==.<sp
54f40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">4</span>);
54f60 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
54f80 70 61 6e 3e 20 65 78 70 65 63 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>.expect(items[<span.class="t
54fa0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-number">1</span>].==.<span.cl
54fc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 ass="tok-number">5</span>);.....
54fe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">try</span>.
55000 65 78 70 65 63 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 expect(items[<span.class="tok-nu
55020 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 mber">2</span>].==.<span.class="
55040 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 tok-number">3</span>);.}..<span.
55060 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e class="tok-kw">test</span>.<span
55080 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 65 6c 73 65 26 .class="tok-str">&quot;for.else&
550a0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;</span>.{.....<span.class="
550c0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 61 6c 6c 6f 77 73 20 61 6e 20 65 6c tok-comment">//.For.allows.an.el
550e0 73 65 20 61 74 74 61 63 68 65 64 20 74 6f 20 69 74 2c 20 74 68 65 20 73 61 6d 65 20 61 73 20 61 se.attached.to.it,.the.same.as.a
55100 20 77 68 69 6c 65 20 6c 6f 6f 70 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c .while.loop.</span>.....<span.cl
55120 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 ass="tok-kw">const</span>.items.
55140 3d 20 5b 5f 5d 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 =.[_]?<span.class="tok-type">i32
55160 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>{.<span.class="tok-number
55180 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">3</span>,.<span.class="tok-num
551a0 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">4</span>,.<span.class="tok-
551c0 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 null">null</span>,.<span.class="
551e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 tok-number">5</span>.};......<sp
55200 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 6c 6f an.class="tok-comment">//.For.lo
55220 6f 70 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 73 20 65 78 70 72 65 73 73 69 ops.can.also.be.used.as.expressi
55240 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ons.</span>.....<span.class="tok
55260 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 69 6d 69 6c 61 72 20 74 6f 20 77 68 69 6c 65 20 6c 6f -comment">//.Similar.to.while.lo
55280 6f 70 73 2c 20 77 68 65 6e 20 79 6f 75 20 62 72 65 61 6b 20 66 72 6f 6d 20 61 20 66 6f 72 20 6c ops,.when.you.break.from.a.for.l
552a0 6f 6f 70 2c 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 69 73 20 6e 6f 74 20 65 76 61 6c oop,.the.else.branch.is.not.eval
552c0 75 61 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uated.</span>.....<span.class="t
552e0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">var</span>.sum:.<span.cla
55300 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">i32</span>.=.<span
55320 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">0</span>;...
55340 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ..<span.class="tok-kw">const</sp
55360 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 an>.result.=.<span.class="tok-kw
55380 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 ">for</span>.(items).|value|.{..
553a0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f .......<span.class="tok-kw">if</
553c0 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.(value.!=.<span.class="tok
553e0 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 -null">null</span>).{...........
55400 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 2e 3f 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ..sum.+=.value.?;.........}.....
55420 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 }.<span.class="tok-kw">else</spa
55440 6e 3e 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>.blk:.{.........<span.class="t
55460 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 ok-kw">try</span>.expect(sum.==.
55480 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 <span.class="tok-number">12</spa
554a0 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n>);.........<span.class="tok-kw
554c0 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 73 75 6d 3b 0a 20 20 20 20 7d 3b 0a ">break</span>.:blk.sum;.....};.
554e0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
55500 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 an>.expect(result.==.<span.class
55520 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 ="tok-number">12</span>);.}</cod
55540 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 e></pre></figure><figure><figcap
55560 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 tion.class="shell-cap">Shell</fi
55580 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
555a0 65 73 74 20 74 65 73 74 5f 66 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 34 20 74 65 73 74 5f est.test_for.zig</kbd>.1/4.test_
555c0 66 6f 72 2e 74 65 73 74 2e 66 6f 72 20 62 61 73 69 63 73 2e 2e 2e 20 4f 4b 0a 32 2f 34 20 74 65 for.test.for.basics....OK.2/4.te
555e0 73 74 5f 66 6f 72 2e 74 65 73 74 2e 6d 75 6c 74 69 20 6f 62 6a 65 63 74 20 66 6f 72 2e 2e 2e 20 st_for.test.multi.object.for....
55600 4f 4b 0a 33 2f 34 20 74 65 73 74 5f 66 6f 72 2e 74 65 73 74 2e 66 6f 72 20 72 65 66 65 72 65 6e OK.3/4.test_for.test.for.referen
55620 63 65 2e 2e 2e 20 4f 4b 0a 34 2f 34 20 74 65 73 74 5f 66 6f 72 2e 74 65 73 74 2e 66 6f 72 20 65 ce....OK.4/4.test_for.test.for.e
55640 6c 73 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 34 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f lse....OK.All.4.tests.passed..</
55660 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 samp></pre></figure>.......<h3.i
55680 64 3d 22 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 61 d="Labeled-for"><a.href="#toc-La
556a0 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c beled-for">Labeled.for</a>.<a.cl
556c0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e c2 a7 ass="hdr".href="#Labeled-for">..
556e0 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 3c 63 6f 64 65 </a></h3>........<p>When.a.<code
55700 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e ><span.class="tok-kw">for</span>
55720 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 6c 61 62 65 6c 65 64 2c 20 69 74 20 63 61 6e 20 </code>.loop.is.labeled,.it.can.
55740 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e be.referenced.from.a.<code><span
55760 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="tok-kw">break</span></co
55780 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e de>...............or.<code><span
557a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c .class="tok-kw">continue</span><
557c0 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 77 69 74 68 69 6e 20 61 20 6e 65 73 74 65 64 20 6c 6f 6f 70 /code>.from.within.a.nested.loop
557e0 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 :</p>.......<figure><figcaption.
55800 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c class="zig-cap"><cite.class="fil
55820 65 22 3e 74 65 73 74 5f 66 6f 72 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 e">test_for_nested_break.zig</ci
55840 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
55860 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 .class="tok-kw">const</span>.std
55880 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d .=.<span.class="tok-builtin">@im
558a0 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 port</span>(<span.class="tok-str
558c0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e ">&quot;std&quot;</span>);.<span
558e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 .class="tok-kw">const</span>.exp
55900 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e ect.=.std.testing.expect;..<span
55920 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 .class="tok-kw">test</span>.<spa
55940 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 62 n.class="tok-str">&quot;nested.b
55960 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c reak&quot;</span>.{.....<span.cl
55980 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c ass="tok-kw">var</span>.count:.<
559a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 span.class="tok-type">usize</spa
559c0 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c n>.=.<span.class="tok-number">0<
559e0 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>;.....outer:.<span.class="
55a00 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tok-kw">for</span>.(<span.class=
55a20 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 "tok-number">1</span>..<span.cla
55a40 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 20 7c 5f 7c 20 7b 0a ss="tok-number">6</span>).|_|.{.
55a60 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 ........<span.class="tok-kw">for
55a80 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>.(<span.class="tok-number
55aa0 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">1</span>..<span.class="tok-num
55ac0 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ber">6</span>).|_|.{............
55ae0 20 63 6f 75 6e 74 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 .count.+=.<span.class="tok-numbe
55b00 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 r">1</span>;.............<span.c
55b20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 lass="tok-kw">break</span>.:oute
55b40 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 r;.........}.....}.....<span.cla
55b60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 6f ss="tok-kw">try</span>.expect(co
55b80 75 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e unt.==.<span.class="tok-number">
55ba0 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 1</span>);.}..<span.class="tok-k
55bc0 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">test</span>.<span.class="tok-
55be0 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b str">&quot;nested.continue&quot;
55c00 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
55c20 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 w">var</span>.count:.<span.class
55c40 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ="tok-type">usize</span>.=.<span
55c60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">0</span>;...
55c80 20 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f ..outer:.<span.class="tok-kw">fo
55ca0 72 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 r</span>.(<span.class="tok-numbe
55cc0 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">1</span>..<span.class="tok-nu
55ce0 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 mber">9</span>).|_|.{.........<s
55d00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 3c pan.class="tok-kw">for</span>.(<
55d20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e span.class="tok-number">1</span>
55d40 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 ..<span.class="tok-number">6</sp
55d60 61 6e 3e 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 an>).|_|.{.............count.+=.
55d80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e <span.class="tok-number">1</span
55da0 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >;.............<span.class="tok-
55dc0 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 0a 20 20 20 20 kw">continue</span>.:outer;.....
55de0 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ....}.....}......<span.class="to
55e00 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 6f 75 6e 74 20 3d 3d k-kw">try</span>.expect(count.==
55e20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 .<span.class="tok-number">8</spa
55e40 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 n>);.}</code></pre></figure><fig
55e60 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 ure><figcaption.class="shell-cap
55e80 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
55ea0 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 6f 72 5f 6e 65 73 74 65 64 5f 62 .<kbd>zig.test.test_for_nested_b
55ec0 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 66 6f 72 5f 6e 65 73 74 reak.zig</kbd>.1/2.test_for_nest
55ee0 65 64 5f 62 72 65 61 6b 2e 74 65 73 74 2e 6e 65 73 74 65 64 20 62 72 65 61 6b 2e 2e 2e 20 4f 4b ed_break.test.nested.break....OK
55f00 0a 32 2f 32 20 74 65 73 74 5f 66 6f 72 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 74 65 73 74 2e .2/2.test_for_nested_break.test.
55f20 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 nested.continue....OK.All.2.test
55f40 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e s.passed..</samp></pre></figure>
55f60 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 6c 69 6e 65 2d 66 6f 72 ..............<h3.id="inline-for
55f80 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 "><a.href="#toc-inline-for">inli
55fa0 6e 65 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ne.for</a>.<a.class="hdr".href="
55fc0 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 #inline-for">..</a></h3>........
55fe0 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 6c 6f 6f 70 73 20 63 61 6e 20 62 65 20 69 6e 6c 69 6e <p>.......For.loops.can.be.inlin
56000 65 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 62 65 20 75 ed..This.causes.the.loop.to.be.u
56020 6e 72 6f 6c 6c 65 64 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 61 6c 6c 6f 77 73 20 74 68 65 20 nrolled,.which.......allows.the.
56040 63 6f 64 65 20 74 6f 20 64 6f 20 73 6f 6d 65 20 74 68 69 6e 67 73 20 77 68 69 63 68 20 6f 6e 6c code.to.do.some.things.which.onl
56060 79 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 0a 20 20 20 20 20 20 73 75 y.work.at.compile.time,.......su
56080 63 68 20 61 73 20 75 73 65 20 74 79 70 65 73 20 61 73 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 ch.as.use.types.as.first.class.v
560a0 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 54 68 65 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 20 61 alues........The.capture.value.a
560c0 6e 64 20 69 74 65 72 61 74 6f 72 20 76 61 6c 75 65 20 6f 66 20 69 6e 6c 69 6e 65 64 20 66 6f 72 nd.iterator.value.of.inlined.for
560e0 20 6c 6f 6f 70 73 20 61 72 65 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e .loops.are.......compile-time.kn
56100 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 own........</p>.......<figure><f
56120 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 igcaption.class="zig-cap"><cite.
56140 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 66 6f 72 2e 7a 69 67 class="file">test_inline_for.zig
56160 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c </cite></figcaption><pre><code><
56180 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
561a0 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 .expect.=.<span.class="tok-built
561c0 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@import</span>(<span.class="
561e0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 tok-str">&quot;std&quot;</span>)
56200 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .testing.expect;..<span.class="t
56220 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ok-kw">test</span>.<span.class="
56240 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 66 6f 72 20 6c 6f 6f 70 26 71 tok-str">&quot;inline.for.loop&q
56260 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
56280 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 73 20 3d 20 5b 5f 5d 3c 73 ok-kw">const</span>.nums.=.[_]<s
562a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b pan.class="tok-type">i32</span>{
562c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e <span.class="tok-number">2</span
562e0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 >,.<span.class="tok-number">4</s
56300 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 pan>,.<span.class="tok-number">6
56320 3c 2f 73 70 61 6e 3e 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>};.....<span.class="tok-k
56340 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">var</span>.sum:.<span.class="
56360 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 tok-type">usize</span>.=.<span.c
56380 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 lass="tok-number">0</span>;.....
563a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 <span.class="tok-kw">inline</spa
563c0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 n>.<span.class="tok-kw">for</spa
563e0 6e 3e 20 28 6e 75 6d 73 29 20 7c 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c n>.(nums).|i|.{.........<span.cl
56400 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c 73 ass="tok-kw">const</span>.T.=.<s
56420 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e pan.class="tok-kw">switch</span>
56440 20 28 69 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .(i).{.............<span.class="
56460 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e tok-number">2</span>.=&gt;.<span
56480 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 .class="tok-type">f32</span>,...
564a0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ..........<span.class="tok-numbe
564c0 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 r">4</span>.=&gt;.<span.class="t
564e0 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ok-type">i8</span>,.............
56500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e <span.class="tok-number">6</span
56520 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 >.=&gt;.<span.class="tok-type">b
56540 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ool</span>,.............<span.cl
56560 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c ass="tok-kw">else</span>.=&gt;.<
56580 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c span.class="tok-kw">unreachable<
565a0 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b /span>,.........};.........sum.+
565c0 3d 20 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 28 54 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c =.typeNameLength(T);.....}.....<
565e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">try</span>.e
56600 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 xpect(sum.==.<span.class="tok-nu
56620 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">9</span>);.}..<span.class=
56640 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "tok-kw">fn</span>.<span.class="
56660 74 6f 6b 2d 66 6e 22 3e 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 3c 73 tok-fn">typeNameLength</span>(<s
56680 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 pan.class="tok-kw">comptime</spa
566a0 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 n>.T:.<span.class="tok-type">typ
566c0 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 e</span>).<span.class="tok-type"
566e0 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >usize</span>.{.....<span.class=
56700 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">return</span>.<span.cla
56720 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e ss="tok-builtin">@typeName</span
56740 3e 28 54 29 2e 6c 65 6e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 >(T).len;.}</code></pre></figure
56760 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c ><figure><figcaption.class="shel
56780 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 l-cap">Shell</figcaption><pre><s
567a0 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f amp>$.<kbd>zig.test.test_inline_
567c0 66 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 66 6f for.zig</kbd>.1/1.test_inline_fo
567e0 72 2e 74 65 73 74 2e 69 6e 6c 69 6e 65 20 66 6f 72 20 6c 6f 6f 70 2e 2e 2e 20 4f 4b 0a 41 6c 6c r.test.inline.for.loop....OK.All
56800 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f .1.tests.passed..</samp></pre></
56820 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 figure>.......<p>.......It.is.re
56840 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 commended.to.use.<code><span.cla
56860 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ss="tok-kw">inline</span></code>
56880 20 6c 6f 6f 70 73 20 6f 6e 6c 79 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 72 65 61 .loops.only.for.one.of.these.rea
568a0 73 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 sons:.......</p>.......<ul>.....
568c0 20 20 20 20 3c 6c 69 3e 59 6f 75 20 6e 65 65 64 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 65 78 65 ....<li>You.need.the.loop.to.exe
568e0 63 75 74 65 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 cute.at.<a.href="#comptime">comp
56900 74 69 6d 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 20 74 6f 20 77 6f time</a>.for.the.semantics.to.wo
56920 72 6b 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 59 6f rk.</li>.........<li>.........Yo
56940 75 20 68 61 76 65 20 61 20 62 65 6e 63 68 6d 61 72 6b 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 u.have.a.benchmark.to.prove.that
56960 20 66 6f 72 63 69 62 6c 79 20 75 6e 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6c 6f 6f 70 20 69 6e 20 .forcibly.unrolling.the.loop.in.
56980 74 68 69 73 20 77 61 79 20 69 73 20 6d 65 61 73 75 72 61 62 6c 79 20 66 61 73 74 65 72 2e 0a 20 this.way.is.measurably.faster...
569a0 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a .......</li>.......</ul>........
569c0 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c ......<p>See.also:</p><ul>.<li><
569e0 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c a.href="#while">while</a></li>.<
56a00 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c li><a.href="#comptime">comptime<
56a20 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 /a></li>.<li><a.href="#Arrays">A
56a40 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 rrays</a></li>.<li><a.href="#Sli
56a60 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 ces">Slices</a></li>.</ul>......
56a80 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 69 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 .........<h2.id="if"><a.href="#t
56aa0 6f 63 2d 69 66 22 3e 69 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 oc-if">if</a>.<a.class="hdr".hre
56ac0 66 3d 22 23 69 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 f="#if">..</a></h2>........<figu
56ae0 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
56b00 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 66 2e 7a 69 67 3c 2f 63 cite.class="file">test_if.zig</c
56b20 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 ite></figcaption><pre><code><spa
56b40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 n.class="tok-comment">//.If.expr
56b60 65 73 73 69 6f 6e 73 20 68 61 76 65 20 74 68 72 65 65 20 75 73 65 73 2c 20 63 6f 72 72 65 73 70 essions.have.three.uses,.corresp
56b80 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 74 68 72 65 65 20 74 79 70 65 73 3a 3c 2f 73 70 61 6e onding.to.the.three.types:</span
56ba0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a >.<span.class="tok-comment">//.*
56bc0 20 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f .bool</span>.<span.class="tok-co
56be0 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 3f 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 mment">//.*.?T</span>.<span.clas
56c00 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 61 6e 79 65 72 72 6f 72 21 54 3c s="tok-comment">//.*.anyerror!T<
56c20 2f 73 70 61 6e 3e 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e /span>..<span.class="tok-kw">con
56c40 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 st</span>.expect.=.<span.class="
56c60 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@import</span>(<spa
56c80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 n.class="tok-str">&quot;std&quot
56ca0 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e ;</span>).testing.expect;..<span
56cc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 .class="tok-kw">test</span>.<spa
56ce0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 78 70 72 65 n.class="tok-str">&quot;if.expre
56d00 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ssion&quot;</span>.{.....<span.c
56d20 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 lass="tok-comment">//.If.express
56d40 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 74 65 72 6e 61 ions.are.used.instead.of.a.terna
56d60 72 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 ry.expression.</span>.....<span.
56d80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c class="tok-kw">const</span>.a:.<
56da0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">u32</span>
56dc0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 .=.<span.class="tok-number">5</s
56de0 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pan>;.....<span.class="tok-kw">c
56e00 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d onst</span>.b:.<span.class="tok-
56e20 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">u32</span>.=.<span.class="
56e40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 tok-number">4</span>;.....<span.
56e60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 class="tok-kw">const</span>.resu
56e80 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 lt.=.<span.class="tok-kw">if</sp
56ea0 61 6e 3e 20 28 61 20 21 3d 20 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 an>.(a.!=.b).<span.class="tok-nu
56ec0 6d 62 65 72 22 3e 34 37 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">47</span>.<span.class="tok
56ee0 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">else</span>.<span.class="to
56f00 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 38 39 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e k-number">3089</span>;.....<span
56f20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
56f40 74 28 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d t(result.==.<span.class="tok-num
56f60 62 65 72 22 3e 34 37 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">47</span>);.}..<span.class=
56f80 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">test</span>.<span.class
56fa0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 62 6f 6f 6c 65 61 6e 26 71 75 6f 74 ="tok-str">&quot;if.boolean&quot
56fc0 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
56fe0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 comment">//.If.expressions.test.
57000 62 6f 6f 6c 65 61 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c boolean.conditions.</span>.....<
57020 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
57040 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f .a:.<span.class="tok-type">u32</
57060 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 span>.=.<span.class="tok-number"
57080 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >5</span>;.....<span.class="tok-
570a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">const</span>.b:.<span.class=
570c0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c "tok-type">u32</span>.=.<span.cl
570e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c ass="tok-number">4</span>;.....<
57100 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 span.class="tok-kw">if</span>.(a
57120 20 21 3d 20 62 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .!=.b).{.........<span.class="to
57140 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c k-kw">try</span>.expect(<span.cl
57160 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 ass="tok-null">true</span>);....
57180 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 .}.<span.class="tok-kw">else</sp
571a0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 an>.<span.class="tok-kw">if</spa
571c0 6e 3e 20 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n>.(a.==.<span.class="tok-number
571e0 22 3e 39 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ">9</span>).{.........<span.clas
57200 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 s="tok-kw">unreachable</span>;..
57220 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f ...}.<span.class="tok-kw">else</
57240 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.{.........<span.class="tok
57260 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 7d -kw">unreachable</span>;.....}.}
57280 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
572a0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 n>.<span.class="tok-str">&quot;i
572c0 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 f.error.union&quot;</span>.{....
572e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 .<span.class="tok-comment">//.If
57300 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 66 6f 72 20 65 72 72 6f 72 73 2e 3c 2f 73 .expressions.test.for.errors.</s
57320 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e pan>.....<span.class="tok-commen
57340 74 22 3e 2f 2f 20 4e 6f 74 65 20 74 68 65 20 7c 65 72 72 7c 20 63 61 70 74 75 72 65 20 6f 6e 20 t">//.Note.the.|err|.capture.on.
57360 74 68 65 20 65 6c 73 65 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 the.else.</span>......<span.clas
57380 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e s="tok-kw">const</span>.a:.<span
573a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e .class="tok-type">anyerror</span
573c0 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 >!<span.class="tok-type">u32</sp
573e0 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 an>.=.<span.class="tok-number">0
57400 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>;.....<span.class="tok-kw
57420 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 ">if</span>.(a).|value|.{.......
57440 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
57460 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >.expect(value.==.<span.class="t
57480 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 ok-number">0</span>);.....}.<spa
574a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 n.class="tok-kw">else</span>.|er
574c0 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 65 72 72 3b 0a 20 20 20 20 20 20 20 20 3c 73 r|.{........._.=.err;.........<s
574e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f pan.class="tok-kw">unreachable</
57500 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>;.....}......<span.class="t
57520 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.b:.<span.cla
57540 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 ss="tok-type">anyerror</span>!<s
57560 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u32</span>.
57580 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 =.<span.class="tok-kw">error</sp
575a0 61 6e 3e 2e 42 61 64 56 61 6c 75 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.BadValue;.....<span.class="t
575c0 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 ok-kw">if</span>.(b).|value|.{..
575e0 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 ......._.=.value;.........<span.
57600 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e class="tok-kw">unreachable</span
57620 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c >;.....}.<span.class="tok-kw">el
57640 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 se</span>.|err|.{.........<span.
57660 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 class="tok-kw">try</span>.expect
57680 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 (err.==.<span.class="tok-kw">err
576a0 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 or</span>.BadValue);.....}......
576c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 <span.class="tok-comment">//.The
576e0 20 65 6c 73 65 20 61 6e 64 20 7c 65 72 72 7c 20 63 61 70 74 75 72 65 20 69 73 20 73 74 72 69 63 .else.and.|err|.capture.is.stric
57700 74 6c 79 20 72 65 71 75 69 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 tly.required.</span>.....<span.c
57720 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c lass="tok-kw">if</span>.(a).|val
57740 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ue|.{.........<span.class="tok-k
57760 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 w">try</span>.expect(value.==.<s
57780 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">0</span>)
577a0 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 ;.....}.<span.class="tok-kw">els
577c0 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e</span>.|_|.{}......<span.class
577e0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 63 68 65 63 6b 20 6f 6e 6c 79 20 ="tok-comment">//.To.check.only.
57800 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 2c 20 75 73 65 20 61 6e 20 65 6d 70 74 79 20 62 6c the.error.value,.use.an.empty.bl
57820 6f 63 6b 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e ock.expression.</span>.....<span
57840 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 5f .class="tok-kw">if</span>.(b).|_
57860 7c 20 7b 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f |.{}.<span.class="tok-kw">else</
57880 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span>.|err|.{.........<span.clas
578a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 65 72 72 s="tok-kw">try</span>.expect(err
578c0 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f .==.<span.class="tok-kw">error</
578e0 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 span>.BadValue);.....}......<spa
57900 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 n.class="tok-comment">//.Access.
57920 74 68 65 20 76 61 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 75 73 69 6e 67 20 61 20 70 the.value.by.reference.using.a.p
57940 6f 69 6e 74 65 72 20 63 61 70 74 75 72 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e ointer.capture.</span>.....<span
57960 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 .class="tok-kw">var</span>.c:.<s
57980 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 pan.class="tok-type">anyerror</s
579a0 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c pan>!<span.class="tok-type">u32<
579c0 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 /span>.=.<span.class="tok-number
579e0 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">3</span>;.....<span.class="tok
57a00 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 2a 76 61 6c 75 65 7c 20 7b 0a 20 20 -kw">if</span>.(c).|*value|.{...
57a20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......value.*.=.<span.class="tok
57a40 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 -number">9</span>;.....}.<span.c
57a60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 0a lass="tok-kw">else</span>.|_|.{.
57a80 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 ........<span.class="tok-kw">unr
57aa0 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 eachable</span>;.....}......<spa
57ac0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c n.class="tok-kw">if</span>.(c).|
57ae0 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f value|.{.........<span.class="to
57b00 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d k-kw">try</span>.expect(value.==
57b20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 .<span.class="tok-number">9</spa
57b40 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>);.....}.<span.class="tok-kw">
57b60 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 else</span>.|_|.{.........<span.
57b80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e class="tok-kw">unreachable</span
57ba0 3e 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e >;.....}.}</code></pre></figure>
57bc0 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
57be0 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 -cap">Shell</figcaption><pre><sa
57c00 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 66 2e 7a 69 67 3c 2f mp>$.<kbd>zig.test.test_if.zig</
57c20 6b 62 64 3e 0a 31 2f 33 20 74 65 73 74 5f 69 66 2e 74 65 73 74 2e 69 66 20 65 78 70 72 65 73 73 kbd>.1/3.test_if.test.if.express
57c40 69 6f 6e 2e 2e 2e 20 4f 4b 0a 32 2f 33 20 74 65 73 74 5f 69 66 2e 74 65 73 74 2e 69 66 20 62 6f ion....OK.2/3.test_if.test.if.bo
57c60 6f 6c 65 61 6e 2e 2e 2e 20 4f 4b 0a 33 2f 33 20 74 65 73 74 5f 69 66 2e 74 65 73 74 2e 69 66 20 olean....OK.3/3.test_if.test.if.
57c80 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 error.union....OK.All.3.tests.pa
57ca0 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 ssed..</samp></pre></figure>....
57cc0 20 20 20 3c 68 33 20 69 64 3d 22 69 66 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 ...<h3.id="if-with-Optionals"><a
57ce0 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 66 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 69 .href="#toc-if-with-Optionals">i
57d00 66 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 f.with.Optionals</a>.<a.class="h
57d20 64 72 22 20 68 72 65 66 3d 22 23 69 66 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 dr".href="#if-with-Optionals">..
57d40 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 </a></h3>.........<figure><figca
57d60 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 ption.class="zig-cap"><cite.clas
57d80 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 66 5f 6f 70 74 69 6f 6e 61 6c 73 2e 7a 69 67 3c 2f s="file">test_if_optionals.zig</
57da0 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 cite></figcaption><pre><code><sp
57dc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 an.class="tok-kw">const</span>.e
57de0 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e xpect.=.<span.class="tok-builtin
57e00 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">@import</span>(<span.class="to
57e20 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 k-str">&quot;std&quot;</span>).t
57e40 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b esting.expect;..<span.class="tok
57e60 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">test</span>.<span.class="to
57e80 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 3c 2f k-str">&quot;if.optional&quot;</
57ea0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d span>.{.....<span.class="tok-com
57ec0 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 66 6f 72 ment">//.If.expressions.test.for
57ee0 20 6e 75 6c 6c 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .null.</span>......<span.class="
57f00 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3f 3c 73 70 61 6e 20 63 tok-kw">const</span>.a:.?<span.c
57f20 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">u32</span>.=.<sp
57f40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">0</span>;.
57f60 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 ....<span.class="tok-kw">if</spa
57f80 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 n>.(a).|value|.{.........<span.c
57fa0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
57fc0 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 value.==.<span.class="tok-number
57fe0 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">0</span>);.....}.<span.class="
58000 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 tok-kw">else</span>.{.........<s
58020 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f pan.class="tok-kw">unreachable</
58040 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>;.....}......<span.class="t
58060 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3f 3c 73 70 61 6e 20 63 6c ok-kw">const</span>.b:.?<span.cl
58080 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 ass="tok-type">u32</span>.=.<spa
580a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a n.class="tok-null">null</span>;.
580c0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 ....<span.class="tok-kw">if</spa
580e0 6e 3e 20 28 62 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 n>.(b).|_|.{.........<span.class
58100 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 ="tok-kw">unreachable</span>;...
58120 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 ..}.<span.class="tok-kw">else</s
58140 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.{.........<span.class="tok-
58160 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 kw">try</span>.expect(<span.clas
58180 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d s="tok-null">true</span>);.....}
581a0 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ......<span.class="tok-comment">
581c0 2f 2f 20 54 68 65 20 65 6c 73 65 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2e 3c 2f 73 70 //.The.else.is.not.required.</sp
581e0 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c an>.....<span.class="tok-kw">if<
58200 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 /span>.(a).|value|.{.........<sp
58220 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
58240 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ect(value.==.<span.class="tok-nu
58260 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 mber">0</span>);.....}......<spa
58280 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 74 65 73 74 n.class="tok-comment">//.To.test
582a0 20 61 67 61 69 6e 73 74 20 6e 75 6c 6c 20 6f 6e 6c 79 2c 20 75 73 65 20 74 68 65 20 62 69 6e 61 .against.null.only,.use.the.bina
582c0 72 79 20 65 71 75 61 6c 69 74 79 20 6f 70 65 72 61 74 6f 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 ry.equality.operator.</span>....
582e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">if</span>.
58300 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c (b.==.<span.class="tok-null">nul
58320 6c 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d l</span>).{.........<span.class=
58340 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e "tok-kw">try</span>.expect(<span
58360 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a .class="tok-null">true</span>);.
58380 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ....}......<span.class="tok-comm
583a0 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 76 61 6c 75 65 20 62 79 20 72 65 66 65 ent">//.Access.the.value.by.refe
583c0 72 65 6e 63 65 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 63 61 70 74 75 72 65 2e 3c 2f rence.using.a.pointer.capture.</
583e0 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 span>.....<span.class="tok-kw">v
58400 61 72 3c 2f 73 70 61 6e 3e 20 63 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ar</span>.c:.?<span.class="tok-t
58420 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">u32</span>.=.<span.class="t
58440 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ok-number">3</span>;.....<span.c
58460 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 2a 76 61 lass="tok-kw">if</span>.(c).|*va
58480 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 lue|.{.........value.*.=.<span.c
584a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 lass="tok-number">2</span>;.....
584c0 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f }......<span.class="tok-kw">if</
584e0 73 70 61 6e 3e 20 28 63 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 span>.(c).|value|.{.........<spa
58500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
58520 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ct(value.==.<span.class="tok-num
58540 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 ber">2</span>);.....}.<span.clas
58560 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 s="tok-kw">else</span>.{........
58580 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c .<span.class="tok-kw">unreachabl
585a0 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e</span>;.....}.}..<span.class="
585c0 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d tok-kw">test</span>.<span.class=
585e0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 77 "tok-str">&quot;if.error.union.w
58600 69 74 68 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ith.optional&quot;</span>.{.....
58620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 <span.class="tok-comment">//.If.
58640 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 66 6f 72 20 65 72 72 6f 72 73 20 62 65 66 6f expressions.test.for.errors.befo
58660 72 65 20 75 6e 77 72 61 70 70 69 6e 67 20 6f 70 74 69 6f 6e 61 6c 73 2e 3c 2f 73 70 61 6e 3e 0a re.unwrapping.optionals.</span>.
58680 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
586a0 20 54 68 65 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 63 61 70 74 75 72 65 27 73 20 .The.|optional_value|.capture's.
586c0 74 79 70 65 20 69 73 20 3f 75 33 32 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 type.is.?u32.</span>......<span.
586e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c class="tok-kw">const</span>.a:.<
58700 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f span.class="tok-type">anyerror</
58720 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 span>!?<span.class="tok-type">u3
58740 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 2</span>.=.<span.class="tok-numb
58760 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 er">0</span>;.....<span.class="t
58780 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 ok-kw">if</span>.(a).|optional_v
587a0 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b alue|.{.........<span.class="tok
587c0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f -kw">try</span>.expect(optional_
587e0 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 value.?.==.<span.class="tok-numb
58800 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 er">0</span>);.....}.<span.class
58820 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 ="tok-kw">else</span>.|err|.{...
58840 20 20 20 20 20 20 5f 20 3d 20 65 72 72 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ......_.=.err;.........<span.cla
58860 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a ss="tok-kw">unreachable</span>;.
58880 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ....}......<span.class="tok-kw">
588a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b const</span>.b:.<span.class="tok
588c0 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c -type">anyerror</span>!?<span.cl
588e0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 ass="tok-type">u32</span>.=.<spa
58900 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a n.class="tok-null">null</span>;.
58920 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 ....<span.class="tok-kw">if</spa
58940 6e 3e 20 28 62 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 n>.(b).|optional_value|.{.......
58960 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
58980 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e >.expect(optional_value.==.<span
589a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 0a .class="tok-null">null</span>);.
589c0 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c ....}.<span.class="tok-kw">else<
589e0 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.|_|.{.........<span.class
58a00 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 ="tok-kw">unreachable</span>;...
58a20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ..}......<span.class="tok-kw">co
58a40 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 nst</span>.c:.<span.class="tok-t
58a60 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 ype">anyerror</span>!?<span.clas
58a80 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 s="tok-type">u32</span>.=.<span.
58aa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 class="tok-kw">error</span>.BadV
58ac0 61 6c 75 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 alue;.....<span.class="tok-kw">i
58ae0 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 0a f</span>.(c).|optional_value|.{.
58b00 20 20 20 20 20 20 20 20 5f 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 3b 0a 20 20 20 20 ........_.=.optional_value;.....
58b20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 ....<span.class="tok-kw">unreach
58b40 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 able</span>;.....}.<span.class="
58b60 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 tok-kw">else</span>.|err|.{.....
58b80 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
58ba0 61 6e 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.expect(err.==.<span.class="t
58bc0 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 0a 20 ok-kw">error</span>.BadValue);..
58be0 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ...}......<span.class="tok-comme
58c00 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 76 61 6c 75 65 20 62 79 20 72 65 66 65 72 nt">//.Access.the.value.by.refer
58c20 65 6e 63 65 20 62 79 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 63 61 70 74 75 72 65 20 ence.by.using.a.pointer.capture.
58c40 65 61 63 68 20 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 each.time.</span>.....<span.clas
58c60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 s="tok-kw">var</span>.d:.<span.c
58c80 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 lass="tok-type">anyerror</span>!
58ca0 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 ?<span.class="tok-type">u32</spa
58cc0 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c n>.=.<span.class="tok-number">3<
58ce0 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>;.....<span.class="tok-kw"
58d00 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 29 20 7c 2a 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c >if</span>.(d).|*optional_value|
58d20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .{.........<span.class="tok-kw">
58d40 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 2a 29 20 7c 2a 76 if</span>.(optional_value.*).|*v
58d60 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d 20 3c 73 alue|.{.............value.*.=.<s
58d80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 3b pan.class="tok-number">9</span>;
58da0 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .........}.....}.<span.class="to
58dc0 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 k-kw">else</span>.|_|.{.........
58de0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 <span.class="tok-kw">unreachable
58e00 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>;.....}......<span.class=
58e20 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 29 20 7c 6f 70 74 69 6f 6e 61 6c "tok-kw">if</span>.(d).|optional
58e40 5f 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 _value|.{.........<span.class="t
58e60 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 ok-kw">try</span>.expect(optiona
58e80 6c 5f 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 l_value.?.==.<span.class="tok-nu
58ea0 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 mber">9</span>);.....}.<span.cla
58ec0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 0a 20 20 ss="tok-kw">else</span>.|_|.{...
58ee0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 ......<span.class="tok-kw">unrea
58f00 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 chable</span>;.....}.}</code></p
58f20 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 re></figure><figure><figcaption.
58f40 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 class="shell-cap">Shell</figcapt
58f60 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
58f80 65 73 74 5f 69 66 5f 6f 70 74 69 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 est_if_optionals.zig</kbd>.1/2.t
58fa0 65 73 74 5f 69 66 5f 6f 70 74 69 6f 6e 61 6c 73 2e 74 65 73 74 2e 69 66 20 6f 70 74 69 6f 6e 61 est_if_optionals.test.if.optiona
58fc0 6c 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 69 66 5f 6f 70 74 69 6f 6e 61 6c 73 2e 74 65 l....OK.2/2.test_if_optionals.te
58fe0 73 74 2e 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 77 69 74 68 20 6f 70 74 69 6f 6e 61 6c 2e st.if.error.union.with.optional.
59000 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.2.tests.passed..</samp
59020 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 ></pre></figure>..............<p
59040 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 >See.also:</p><ul>.<li><a.href="
59060 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c #Optionals">Optionals</a></li>.<
59080 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c li><a.href="#Errors">Errors</a><
590a0 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d /li>.</ul>...............<h2.id=
590c0 22 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 65 66 65 72 22 3e 64 65 66 "defer"><a.href="#toc-defer">def
590e0 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 65 66 er</a>.<a.class="hdr".href="#def
59100 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 45 78 65 63 75 74 er">..</a></h2>........<p>Execut
59120 65 73 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 es.an.expression.unconditionally
59140 20 61 74 20 73 63 6f 70 65 20 65 78 69 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 .at.scope.exit.</p>.......<figur
59160 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
59180 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 64 65 66 65 72 2e 7a 69 67 3c ite.class="file">test_defer.zig<
591a0 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 /cite></figcaption><pre><code><s
591c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
591e0 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e std.=.<span.class="tok-builtin">
59200 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @import</span>(<span.class="tok-
59220 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 str">&quot;std&quot;</span>);.<s
59240 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
59260 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 expect.=.std.testing.expect;.<sp
59280 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 an.class="tok-kw">const</span>.p
592a0 72 69 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 rint.=.std.debug.print;..<span.c
592c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
592e0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e ass="tok-fn">deferExample</span>
59300 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 ().!<span.class="tok-type">usize
59320 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
59340 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.a:.<span.class="to
59360 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 k-type">usize</span>.=.<span.cla
59380 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 7b ss="tok-number">1</span>;......{
593a0 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 .........<span.class="tok-kw">de
593c0 66 65 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d fer</span>.a.=.<span.class="tok-
593e0 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 61 20 3d 20 3c 73 number">2</span>;.........a.=.<s
59400 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b pan.class="tok-number">1</span>;
59420 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .....}.....<span.class="tok-kw">
59440 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 try</span>.expect(a.==.<span.cla
59460 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 ss="tok-number">2</span>);......
59480 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f a.=.<span.class="tok-number">5</
594a0 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>;.....<span.class="tok-kw">
594c0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d return</span>.a;.}..<span.class=
594e0 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">test</span>.<span.class
59500 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 65 72 20 62 61 73 69 63 73 26 71 75 ="tok-str">&quot;defer.basics&qu
59520 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
59540 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 k-kw">try</span>.expect((<span.c
59560 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 65 66 65 72 45 78 lass="tok-kw">try</span>.deferEx
59580 61 6d 70 6c 65 28 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ample()).==.<span.class="tok-num
595a0 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f ber">5</span>);.}</code></pre></
595c0 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 figure><figure><figcaption.class
595e0 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ="shell-cap">Shell</figcaption><
59600 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 64 pre><samp>$.<kbd>zig.test.test_d
59620 65 66 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 64 65 66 65 72 2e 74 65 efer.zig</kbd>.1/1.test_defer.te
59640 73 74 2e 64 65 66 65 72 20 62 61 73 69 63 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 st.defer.basics....OK.All.1.test
59660 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e s.passed..</samp></pre></figure>
59680 0a 20 20 20 20 20 20 3c 70 3e 44 65 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 .......<p>Defer.expressions.are.
596a0 65 76 61 6c 75 61 74 65 64 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 2e 3c 2f 70 3e 0a evaluated.in.reverse.order.</p>.
596c0 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d ......<figure><figcaption.class=
596e0 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 66 "zig-cap"><cite.class="file">def
59700 65 72 5f 75 6e 77 69 6e 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e er_unwind.zig</cite></figcaption
59720 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
59740 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.std.=.<span.class=
59760 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@import</span>(<sp
59780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f an.class="tok-str">&quot;std&quo
597a0 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 t;</span>);.<span.class="tok-kw"
597c0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 >const</span>.expect.=.std.testi
597e0 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ng.expect;.<span.class="tok-kw">
59800 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 const</span>.print.=.std.debug.p
59820 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 rint;..<span.class="tok-kw">test
59840 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>.<span.class="tok-str">&q
59860 75 6f 74 3b 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e uot;defer.unwinding&quot;</span>
59880 20 7b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 .{.....print(<span.class="tok-st
598a0 72 22 3e 26 71 75 6f 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a r">&quot;\n&quot;</span>,..{});.
598c0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c .....<span.class="tok-kw">defer<
598e0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 /span>.{.........print(<span.cla
59900 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 20 26 71 75 6f 74 3b 3c 2f 73 70 61 ss="tok-str">&quot;1.&quot;</spa
59920 6e 3e 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>,..{});.....}.....<span.class=
59940 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 "tok-kw">defer</span>.{.........
59960 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f print(<span.class="tok-str">&quo
59980 74 3b 32 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 7d 0a 20 t;2.&quot;</span>,..{});.....}..
599a0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e ...<span.class="tok-kw">if</span
599c0 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c >.(<span.class="tok-null">false<
599e0 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>).{.........<span.class="t
59a00 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 65 66 65 72 73 20 61 72 65 20 6e 6f 74 20 72 75 ok-comment">//.defers.are.not.ru
59a20 6e 20 69 66 20 74 68 65 79 20 61 72 65 20 6e 65 76 65 72 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 n.if.they.are.never.executed.</s
59a40 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>.........<span.class="tok-kw
59a60 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 ">defer</span>.{.............pri
59a80 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 33 nt(<span.class="tok-str">&quot;3
59aa0 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a .&quot;</span>,..{});.........}.
59ac0 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 ....}.}</code></pre></figure><fi
59ae0 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
59b00 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
59b20 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 64 65 66 65 72 5f 75 6e 77 69 6e 64 2e 7a 69 67 $.<kbd>zig.test.defer_unwind.zig
59b40 3c 2f 6b 62 64 3e 0a 31 2f 31 20 64 65 66 65 72 5f 75 6e 77 69 6e 64 2e 74 65 73 74 2e 64 65 66 </kbd>.1/1.defer_unwind.test.def
59b60 65 72 20 75 6e 77 69 6e 64 69 6e 67 2e 2e 2e 0a 32 20 31 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 er.unwinding....2.1.OK.All.1.tes
59b80 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ts.passed..</samp></pre></figure
59ba0 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 73 69 64 65 20 61 20 64 65 66 65 72 20 65 78 70 72 65 73 >.......<p>Inside.a.defer.expres
59bc0 73 69 6f 6e 20 74 68 65 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6e 6f 74 sion.the.return.statement.is.not
59be0 20 61 6c 6c 6f 77 65 64 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 .allowed.</p>.......<figure><fig
59c00 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c caption.class="zig-cap"><cite.cl
59c20 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 76 61 6c 69 64 5f 64 65 66 65 72 2e 7a 69 ass="file">test_invalid_defer.zi
59c40 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e g</cite></figcaption><pre><code>
59c60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
59c80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 49 6e 76 61 6c 69 64 span.class="tok-fn">deferInvalid
59ca0 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 Example</span>().!<span.class="t
59cc0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ok-type">void</span>.{.....<span
59ce0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 .class="tok-kw">defer</span>.{..
59d00 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 .......<span.class="tok-kw">retu
59d20 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 rn</span>.<span.class="tok-kw">e
59d40 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 66 65 72 45 72 72 6f 72 3b 0a 20 20 20 20 7d 0a 0a 20 rror</span>.DeferError;.....}...
59d60 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f ...<span.class="tok-kw">return</
59d80 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 span>.<span.class="tok-kw">error
59da0 3c 2f 73 70 61 6e 3e 2e 44 65 66 65 72 45 72 72 6f 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 </span>.DeferError;.}</code></pr
59dc0 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 e></figure><figure><figcaption.c
59de0 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 lass="shell-cap">Shell</figcapti
59e00 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 on><pre><samp>$.<kbd>zig.test.te
59e20 73 74 5f 69 6e 76 61 6c 69 64 5f 64 65 66 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e st_invalid_defer.zig</kbd>.<span
59e40 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f .class="sgr-1m">docgen_tmp/test_
59e60 69 6e 76 61 6c 69 64 5f 64 65 66 65 72 2e 7a 69 67 3a 33 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 invalid_defer.zig:3:9:.</span><s
59e80 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 pan.class="sgr-31m">error:.</spa
59ea0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 6e 6e 6f 74 20 72 65 n><span.class="sgr-1m">cannot.re
59ec0 74 75 72 6e 20 66 72 6f 6d 20 64 65 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e 0a 3c 2f 73 70 61 turn.from.defer.expression.</spa
59ee0 6e 3e 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 44 65 66 65 72 45 72 72 6f n>........return.error.DeferErro
59f00 72 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 r;.........<span.class="sgr-32m"
59f20 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e >^~~~~~~~~~~~~~~~~~~~~~~.</span>
59f40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f <span.class="sgr-1m">docgen_tmp/
59f60 74 65 73 74 5f 69 6e 76 61 6c 69 64 5f 64 65 66 65 72 2e 7a 69 67 3a 32 3a 35 3a 20 3c 2f 73 70 test_invalid_defer.zig:2:5:.</sp
59f80 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c an><span.class="sgr-36m">note:.<
59fa0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 65 66 65 72 /span><span.class="sgr-1m">defer
59fc0 20 65 78 70 72 65 73 73 69 6f 6e 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 64 65 66 65 .expression.here.</span>....defe
59fe0 72 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e r.{.....<span.class="sgr-32m">^~
5a000 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ~~~.</span>.</samp></pre></figur
5a020 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c e>.......<p>See.also:</p><ul>.<l
5a040 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f i><a.href="#Errors">Errors</a></
5a060 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 li>.</ul>...............<h2.id="
5a080 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 72 65 61 unreachable"><a.href="#toc-unrea
5a0a0 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 chable">unreachable</a>.<a.class
5a0c0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e c2 a7 3c 2f 61 ="hdr".href="#unreachable">..</a
5a0e0 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 ></h2>........<p>.......In.<a.hr
5a100 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 ef="#Debug">Debug</a>.and.<a.hre
5a120 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e f="#ReleaseSafe">ReleaseSafe</a>
5a140 20 6d 6f 64 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .mode.......<code><span.class="t
5a160 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ok-kw">unreachable</span></code>
5a180 20 65 6d 69 74 73 20 61 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 3e 70 61 6e 69 63 3c 2f 63 6f .emits.a.call.to.<code>panic</co
5a1a0 64 65 3e 20 77 69 74 68 20 74 68 65 20 6d 65 73 73 61 67 65 20 3c 63 6f 64 65 3e 72 65 61 63 68 de>.with.the.message.<code>reach
5a1c0 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 ed.unreachable.code</code>......
5a1e0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 65 ..</p>.......<p>.......In.<a.hre
5a200 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e f="#ReleaseFast">ReleaseFast</a>
5a220 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c .and.<a.href="#ReleaseSmall">Rel
5a240 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 6d 6f 64 65 2c 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 easeSmall</a>.mode,.the.optimize
5a260 72 20 75 73 65 73 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 74 68 61 74 20 3c 63 6f 64 65 r.uses.the.assumption.that.<code
5a280 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c ><span.class="tok-kw">unreachabl
5a2a0 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 0a 20 20 20 20 20 20 77 69 6c 6c 20 e</span></code>.code.......will.
5a2c0 6e 65 76 65 72 20 62 65 20 68 69 74 20 74 6f 20 70 65 72 66 6f 72 6d 20 6f 70 74 69 6d 69 7a 61 never.be.hit.to.perform.optimiza
5a2e0 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 tions........</p>.......<h3.id="
5a300 42 61 73 69 63 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 61 73 69 63 73 22 3e 42 61 Basics"><a.href="#toc-Basics">Ba
5a320 73 69 63 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 sics</a>.<a.class="hdr".href="#B
5a340 61 73 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 asics">..</a></h3>........<figur
5a360 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
5a380 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 72 65 61 63 68 61 62 6c ite.class="file">test_unreachabl
5a3a0 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 e.zig</cite></figcaption><pre><c
5a3c0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ode><span.class="tok-comment">//
5a3e0 20 75 6e 72 65 61 63 68 61 62 6c 65 20 69 73 20 75 73 65 64 20 74 6f 20 61 73 73 65 72 74 20 74 .unreachable.is.used.to.assert.t
5a400 68 61 74 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c 6c 20 6e 65 76 65 72 20 72 65 61 63 hat.control.flow.will.never.reac
5a420 68 20 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d h.a</span>.<span.class="tok-comm
5a440 65 6e 74 22 3e 2f 2f 20 70 61 72 74 69 63 75 6c 61 72 20 6c 6f 63 61 74 69 6f 6e 3a 3c 2f 73 70 ent">//.particular.location:</sp
5a460 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 an>.<span.class="tok-kw">test</s
5a480 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>.<span.class="tok-str">&quot
5a4a0 3b 62 61 73 69 63 20 6d 61 74 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c ;basic.math&quot;</span>.{.....<
5a4c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
5a4e0 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c .x.=.<span.class="tok-number">1<
5a500 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>;.....<span.class="tok-kw"
5a520 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.y.=.<span.class="t
5a540 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ok-number">2</span>;.....<span.c
5a560 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 20 2b 20 79 20 21 lass="tok-kw">if</span>.(x.+.y.!
5a580 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 =.<span.class="tok-number">3</sp
5a5a0 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>).{.........<span.class="tok-
5a5c0 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 7d 3c kw">unreachable</span>;.....}.}<
5a5e0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 /code></pre></figure><figure><fi
5a600 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c gcaption.class="shell-cap">Shell
5a620 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
5a640 69 67 20 74 65 73 74 20 74 65 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 ig.test.test_unreachable.zig</kb
5a660 64 3e 0a 31 2f 31 20 74 65 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 74 65 73 74 2e 62 61 73 d>.1/1.test_unreachable.test.bas
5a680 69 63 20 6d 61 74 68 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 ic.math....OK.All.1.tests.passed
5a6a0 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c ..</samp></pre></figure>.......<
5a6c0 70 3e 49 6e 20 66 61 63 74 2c 20 74 68 69 73 20 69 73 20 68 6f 77 20 3c 63 6f 64 65 3e 73 74 64 p>In.fact,.this.is.how.<code>std
5a6e0 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3c 2f 63 6f 64 65 3e 20 69 73 20 69 6d 70 6c 65 6d 65 6e .debug.assert</code>.is.implemen
5a700 74 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ted:</p>.......<figure><figcapti
5a720 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 on.class="zig-cap"><cite.class="
5a740 66 69 6c 65 22 3e 74 65 73 74 5f 61 73 73 65 72 74 69 6f 6e 5f 66 61 69 6c 75 72 65 2e 7a 69 67 file">test_assertion_failure.zig
5a760 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c </cite></figcaption><pre><code><
5a780 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 span.class="tok-comment">//.This
5a7a0 20 69 73 20 68 6f 77 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 20 69 73 20 69 6d 70 6c .is.how.std.debug.assert.is.impl
5a7c0 65 6d 65 6e 74 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d emented</span>.<span.class="tok-
5a7e0 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
5a800 6e 22 3e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 n">assert</span>(ok:.<span.class
5a820 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 ="tok-type">bool</span>).<span.c
5a840 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 lass="tok-type">void</span>.{...
5a860 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">if</span>
5a880 20 28 21 6f 6b 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 .(!ok).<span.class="tok-kw">unre
5a8a0 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b achable</span>;.<span.class="tok
5a8c0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 3c 2f -comment">//.assertion.failure</
5a8e0 73 70 61 6e 3e 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e span>.}..<span.class="tok-commen
5a900 74 22 3e 2f 2f 20 54 68 69 73 20 74 65 73 74 20 77 69 6c 6c 20 66 61 69 6c 20 62 65 63 61 75 73 t">//.This.test.will.fail.becaus
5a920 65 20 77 65 20 68 69 74 20 75 6e 72 65 61 63 68 61 62 6c 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e.we.hit.unreachable.</span>.<sp
5a940 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 an.class="tok-kw">test</span>.<s
5a960 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 77 pan.class="tok-str">&quot;this.w
5a980 69 6c 6c 20 66 61 69 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 ill.fail&quot;</span>.{.....asse
5a9a0 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c rt(<span.class="tok-null">false<
5a9c0 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e /span>);.}</code></pre></figure>
5a9e0 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
5aa00 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 -cap">Shell</figcaption><pre><sa
5aa20 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 73 73 65 72 74 69 6f mp>$.<kbd>zig.test.test_assertio
5aa40 6e 5f 66 61 69 6c 75 72 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 61 73 73 n_failure.zig</kbd>.1/1.test_ass
5aa60 65 72 74 69 6f 6e 5f 66 61 69 6c 75 72 65 2e 74 65 73 74 2e 74 68 69 73 20 77 69 6c 6c 20 66 61 ertion_failure.test.this.will.fa
5aa80 69 6c 2e 2e 2e 20 74 68 72 65 61 64 20 39 38 38 31 30 38 20 70 61 6e 69 63 3a 20 72 65 61 63 68 il....thread.988108.panic:.reach
5aaa0 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 ed.unreachable.code./home/ci/act
5aac0 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
5aae0 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 61 73 73 65 72 74 69 6f 6e 5f 66 61 zig/docgen_tmp/test_assertion_fa
5ab00 69 6c 75 72 65 2e 7a 69 67 3a 33 3a 31 34 3a 20 30 78 31 30 33 38 65 36 64 20 69 6e 20 61 73 73 ilure.zig:3:14:.0x1038e6d.in.ass
5ab20 65 72 74 20 28 74 65 73 74 29 0a 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 ert.(test).....if.(!ok).unreacha
5ab40 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 ble;.//.assertion.failure.......
5ab60 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 .......^./home/ci/actions-runner
5ab80 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f /_work/zig-bootstrap/zig/docgen_
5aba0 74 6d 70 2f 74 65 73 74 5f 61 73 73 65 72 74 69 6f 6e 5f 66 61 69 6c 75 72 65 2e 7a 69 67 3a 38 tmp/test_assertion_failure.zig:8
5abc0 3a 31 31 3a 20 30 78 31 30 33 38 65 32 61 20 69 6e 20 74 65 73 74 2e 74 68 69 73 20 77 69 6c 6c :11:.0x1038e2a.in.test.this.will
5abe0 20 66 61 69 6c 20 28 74 65 73 74 29 0a 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 0a .fail.(test).....assert(false);.
5ac00 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e ..........^./home/ci/actions-run
5ac20 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 ner/_work/zig-bootstrap/out/host
5ac40 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 /lib/zig/compiler/test_runner.zi
5ac60 67 3a 31 35 38 3a 32 35 3a 20 30 78 31 30 34 33 61 33 32 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 g:158:25:.0x1043a32.in.mainTermi
5ac80 6e 61 6c 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 nal.(test).........if.(test_fn.f
5aca0 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 unc()).|_|.{....................
5acc0 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f .....^./home/ci/actions-runner/_
5ace0 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f work/zig-bootstrap/out/host/lib/
5ad00 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 35 3a zig/compiler/test_runner.zig:35:
5ad20 32 38 3a 20 30 78 31 30 33 39 63 38 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 28:.0x1039c8b.in.main.(test)....
5ad40 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 29 3b 0a 20 20 20 20 .....return.mainTerminal();.....
5ad60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 .......................^./home/c
5ad80 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 i/actions-runner/_work/zig-boots
5ada0 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e trap/out/host/lib/zig/std/start.
5adc0 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 39 33 31 39 20 69 6e 20 70 6f 73 69 78 43 61 zig:501:22:.0x1039319.in.posixCa
5ade0 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 llMainAndExit.(test)............
5ae00 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .root.main();...................
5ae20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f ...^./home/ci/actions-runner/_wo
5ae40 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 rk/zig-bootstrap/out/host/lib/zi
5ae60 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 38 65 38 31 g/std/start.zig:253:5:.0x1038e81
5ae80 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 .in._start.(test).....asm.volati
5aea0 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e le.(switch.(native_arch).{.....^
5aec0 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 65 72 72 6f 72 .???:?:?:.0x0.in.???.(???).error
5aee0 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 :.the.following.test.command.cra
5af00 73 68 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 shed:./home/ci/actions-runner/_w
5af20 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d ork/zig-bootstrap/out/zig-local-
5af40 63 61 63 68 65 2f 6f 2f 63 39 35 65 37 37 34 38 62 64 34 36 37 39 34 35 64 62 65 39 63 63 31 32 cache/o/c95e7748bd467945dbe9cc12
5af60 65 31 30 66 35 35 32 63 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 e10f552c/test.</samp></pre></fig
5af80 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 74 2d 43 6f 6d ure>..............<h3.id="At-Com
5afa0 70 69 6c 65 2d 54 69 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 2d 43 6f 6d 70 pile-Time"><a.href="#toc-At-Comp
5afc0 69 6c 65 2d 54 69 6d 65 22 3e 41 74 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 3c 2f 61 3e 20 3c 61 ile-Time">At.Compile-Time</a>.<a
5afe0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 .class="hdr".href="#At-Compile-T
5b000 69 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e ime">..</a></h3>........<figure>
5b020 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 <figcaption.class="zig-cap"><cit
5b040 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 e.class="file">test_comptime_unr
5b060 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e eachable.zig</cite></figcaption>
5b080 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
5b0a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 const</span>.assert.=.<span.clas
5b0c0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c s="tok-builtin">@import</span>(<
5b0e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 span.class="tok-str">&quot;std&q
5b100 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 uot;</span>).debug.assert;..<spa
5b120 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 n.class="tok-kw">test</span>.<sp
5b140 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 6f 66 an.class="tok-str">&quot;type.of
5b160 20 75 6e 72 65 61 63 68 61 62 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 .unreachable&quot;</span>.{.....
5b180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 <span.class="tok-kw">comptime</s
5b1a0 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.{.........<span.class="tok-
5b1c0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 74 79 70 65 20 6f 66 20 75 6e 72 65 61 63 68 61 comment">//.The.type.of.unreacha
5b1e0 62 6c 65 20 69 73 20 6e 6f 72 65 74 75 72 6e 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 20 20 20 ble.is.noreturn.</span>.........
5b200 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 6f .<span.class="tok-comment">//.Ho
5b220 77 65 76 65 72 20 74 68 69 73 20 61 73 73 65 72 74 69 6f 6e 20 77 69 6c 6c 20 73 74 69 6c 6c 20 wever.this.assertion.will.still.
5b240 66 61 69 6c 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 65 63 61 75 73 65 3c 2f 73 70 61 6e 3e 0a 20 fail.to.compile.because</span>..
5b260 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 .......<span.class="tok-comment"
5b280 3e 2f 2f 20 75 6e 72 65 61 63 68 61 62 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 >//.unreachable.expressions.are.
5b2a0 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 20 20 20 20 compile.errors.</span>..........
5b2c0 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 assert(<span.class="tok-builtin"
5b2e0 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@TypeOf</span>(<span.class="tok
5b300 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 -kw">unreachable</span>).==.<spa
5b320 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 n.class="tok-type">noreturn</spa
5b340 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 n>);.....}.}</code></pre></figur
5b360 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 e><figure><figcaption.class="she
5b380 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ll-cap">Shell</figcaption><pre><
5b3a0 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 samp>$.<kbd>zig.test.test_compti
5b3c0 6d 65 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 me_unreachable.zig</kbd>.<span.c
5b3e0 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f lass="sgr-1m">docgen_tmp/test_co
5b400 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3a 31 30 3a 31 36 3a 20 3c 2f mptime_unreachable.zig:10:16:.</
5b420 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 span><span.class="sgr-31m">error
5b440 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e :.</span><span.class="sgr-1m">un
5b460 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 61 73 reachable.code.</span>........as
5b480 73 65 72 74 28 40 54 79 70 65 4f 66 28 75 6e 72 65 61 63 68 61 62 6c 65 29 20 3d 3d 20 6e 6f 72 sert(@TypeOf(unreachable).==.nor
5b4a0 65 74 75 72 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 eturn);................<span.cla
5b4c0 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ss="sgr-32m">^~~~~~~~~~~~~~~~~~~
5b4e0 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f ~.</span><span.class="sgr-1m">do
5b500 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 68 61 62 cgen_tmp/test_comptime_unreachab
5b520 6c 65 2e 7a 69 67 3a 31 30 3a 32 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 le.zig:10:24:.</span><span.class
5b540 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c ="sgr-36m">note:.</span><span.cl
5b560 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 69 73 20 64 69 76 ass="sgr-1m">control.flow.is.div
5b580 65 72 74 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 61 73 73 65 72 74 erted.here.</span>........assert
5b5a0 28 40 54 79 70 65 4f 66 28 75 6e 72 65 61 63 68 61 62 6c 65 29 20 3d 3d 20 6e 6f 72 65 74 75 72 (@TypeOf(unreachable).==.noretur
5b5c0 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e n);........................<span
5b5e0 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 .class="sgr-32m">^~~~~~~~~~~.</s
5b600 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 pan>.</samp></pre></figure>.....
5b620 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ..<p>See.also:</p><ul>.<li><a.hr
5b640 65 66 3d 22 23 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 3c 2f 6c 69 3e ef="#Zig-Test">Zig.Test</a></li>
5b660 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 .<li><a.href="#Build-Mode">Build
5b680 20 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d .Mode</a></li>.<li><a.href="#com
5b6a0 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a ptime">comptime</a></li>.</ul>..
5b6c0 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 6e 6f 72 65 ....................<h2.id="nore
5b6e0 74 75 72 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f turn"><a.href="#toc-noreturn">no
5b700 72 65 74 75 72 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 return</a>.<a.class="hdr".href="
5b720 23 6e 6f 72 65 74 75 72 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 #noreturn">..</a></h2>........<p
5b740 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >.......<code><span.class="tok-t
5b760 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 ype">noreturn</span></code>.is.t
5b780 68 65 20 74 79 70 65 20 6f 66 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c he.type.of:.......</p>.......<ul
5b7a0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 >...........<li><code><span.clas
5b7c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f s="tok-kw">break</span></code></
5b7e0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c li>...........<li><code><span.cl
5b800 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ass="tok-kw">continue</span></co
5b820 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 de></li>...........<li><code><sp
5b840 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c an.class="tok-kw">return</span><
5b860 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e /code></li>...........<li><code>
5b880 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 <span.class="tok-kw">unreachable
5b8a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c </span></code></li>...........<l
5b8c0 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 i><code><span.class="tok-kw">whi
5b8e0 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c le</span>.(<span.class="tok-null
5b900 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 ">true</span>).{}</code></li>...
5b920 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 72 65 73 6f 6c 76 69 6e ....</ul>.......<p>When.resolvin
5b940 67 20 74 79 70 65 73 20 74 6f 67 65 74 68 65 72 2c 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e g.types.together,.such.as.<code>
5b960 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f <span.class="tok-kw">if</span></
5b980 63 6f 64 65 3e 20 63 6c 61 75 73 65 73 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 code>.clauses.or.<code><span.cla
5b9a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ss="tok-kw">switch</span></code>
5b9c0 20 70 72 6f 6e 67 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 .prongs,...............the.<code
5b9e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e ><span.class="tok-type">noreturn
5ba00 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 79 70 65 20 69 73 20 63 6f 6d 70 61 74 69 62 6c </span></code>.type.is.compatibl
5ba20 65 20 77 69 74 68 20 65 76 65 72 79 20 6f 74 68 65 72 20 74 79 70 65 2e 20 43 6f 6e 73 69 64 65 e.with.every.other.type..Conside
5ba40 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 r:.......</p>.......<figure><fig
5ba60 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c caption.class="zig-cap"><cite.cl
5ba80 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 6f 72 65 74 75 72 6e 2e 7a 69 67 3c 2f 63 69 ass="file">test_noreturn.zig</ci
5baa0 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
5bac0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 .class="tok-kw">fn</span>.<span.
5bae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 63 6f 6e 64 69 74 class="tok-fn">foo</span>(condit
5bb00 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c ion:.<span.class="tok-type">bool
5bb20 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 </span>,.b:.<span.class="tok-typ
5bb40 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u32</span>).<span.class="tok-
5bb60 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">void</span>.{.....<span.cl
5bb80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 ass="tok-kw">const</span>.a.=.<s
5bba0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6f pan.class="tok-kw">if</span>.(co
5bbc0 6e 64 69 74 69 6f 6e 29 20 62 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ndition).b.<span.class="tok-kw">
5bbe0 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 else</span>.<span.class="tok-kw"
5bc00 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 61 3b 0a 20 20 20 20 3c >return</span>;....._.=.a;.....<
5bc20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c span.class="tok-builtin">@panic<
5bc40 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>(<span.class="tok-str">&qu
5bc60 6f 74 3b 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 77 69 74 68 20 61 26 71 75 6f 74 3b 3c 2f 73 70 ot;do.something.with.a&quot;</sp
5bc80 61 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 an>);.}.<span.class="tok-kw">tes
5bca0 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>.<span.class="tok-str">&
5bcc0 71 75 6f 74 3b 6e 6f 72 65 74 75 72 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 quot;noreturn&quot;</span>.{....
5bce0 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 .foo(<span.class="tok-null">fals
5bd00 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 e</span>,.<span.class="tok-numbe
5bd20 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 r">1</span>);.}</code></pre></fi
5bd40 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 gure><figure><figcaption.class="
5bd60 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 shell-cap">Shell</figcaption><pr
5bd80 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 6f 72 e><samp>$.<kbd>zig.test.test_nor
5bda0 65 74 75 72 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6e 6f 72 65 74 75 72 eturn.zig</kbd>.1/1.test_noretur
5bdc0 6e 2e 74 65 73 74 2e 6e 6f 72 65 74 75 72 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 n.test.noreturn....OK.All.1.test
5bde0 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e s.passed..</samp></pre></figure>
5be00 0a 20 20 20 20 20 20 3c 70 3e 41 6e 6f 74 68 65 72 20 75 73 65 20 63 61 73 65 20 66 6f 72 20 3c .......<p>Another.use.case.for.<
5be20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 code><span.class="tok-type">nore
5be40 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 63 6f 64 65 3e turn</span></code>.is.the.<code>
5be60 65 78 69 74 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 exit</code>.function:</p>.......
5be80 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
5bea0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 6f 72 65 ap"><cite.class="file">test_nore
5bec0 74 75 72 6e 5f 66 72 6f 6d 5f 65 78 69 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 turn_from_exit.zig</cite></figca
5bee0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
5bf00 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.std.=.<span.c
5bf20 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e lass="tok-builtin">@import</span
5bf40 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
5bf60 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
5bf80 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 k-kw">const</span>.builtin.=.<sp
5bfa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f an.class="tok-builtin">@import</
5bfc0 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>(<span.class="tok-str">&quo
5bfe0 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 t;builtin&quot;</span>);.<span.c
5c000 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 lass="tok-kw">const</span>.nativ
5c020 65 5f 61 72 63 68 20 3d 20 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 3b 0a 3c 73 70 61 6e e_arch.=.builtin.cpu.arch;.<span
5c040 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 .class="tok-kw">const</span>.exp
5c060 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e ect.=.std.testing.expect;..<span
5c080 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 49 4e .class="tok-kw">const</span>.WIN
5c0a0 41 50 49 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 69 6e 67 43 6f 6e 76 65 6e 74 69 API:.std.builtin.CallingConventi
5c0c0 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 on.=.<span.class="tok-kw">if</sp
5c0e0 61 6e 3e 20 28 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 3d 20 2e 78 38 36 29 20 2e 53 74 64 63 61 an>.(native_arch.==..x86)..Stdca
5c100 6c 6c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 ll.<span.class="tok-kw">else</sp
5c120 61 6e 3e 20 2e 43 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 an>..C;.<span.class="tok-kw">ext
5c140 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ern</span>.<span.class="tok-str"
5c160 3e 26 71 75 6f 74 3b 6b 65 72 6e 65 6c 33 32 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 >&quot;kernel32&quot;</span>.<sp
5c180 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 an.class="tok-kw">fn</span>.<spa
5c1a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 45 78 69 74 50 72 6f 63 65 73 73 3c 2f 73 70 n.class="tok-fn">ExitProcess</sp
5c1c0 61 6e 3e 28 65 78 69 74 5f 63 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>(exit_code:.<span.class="tok-
5c1e0 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 type">c_uint</span>).<span.class
5c200 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 57 49 4e 41 50 49 ="tok-kw">callconv</span>(WINAPI
5c220 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 ).<span.class="tok-type">noretur
5c240 6e 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n</span>;..<span.class="tok-kw">
5c260 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 test</span>.<span.class="tok-str
5c280 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c ">&quot;foo&quot;</span>.{.....<
5c2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
5c2c0 20 76 61 6c 75 65 20 3d 20 62 61 72 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .value.=.bar().<span.class="tok-
5c2e0 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 45 78 69 74 50 72 6f 63 65 73 73 28 3c 73 70 kw">catch</span>.ExitProcess(<sp
5c300 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">1</span>);
5c320 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
5c340 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan>.expect(value.==.<span.class
5c360 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c ="tok-number">1234</span>);.}..<
5c380 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
5c3a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 pan.class="tok-fn">bar</span>().
5c3c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c <span.class="tok-type">anyerror<
5c3e0 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 /span>!<span.class="tok-type">u3
5c400 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 2</span>.{.....<span.class="tok-
5c420 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">return</span>.<span.class="t
5c440 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e ok-number">1234</span>;.}</code>
5c460 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 </pre></figure><figure><figcapti
5c480 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 on.class="shell-cap">Shell</figc
5c4a0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
5c4c0 74 20 74 65 73 74 5f 6e 6f 72 65 74 75 72 6e 5f 66 72 6f 6d 5f 65 78 69 74 2e 7a 69 67 20 2d 74 t.test_noreturn_from_exit.zig.-t
5c4e0 61 72 67 65 74 20 78 38 36 5f 36 34 2d 77 69 6e 64 6f 77 73 20 2d 2d 74 65 73 74 2d 6e 6f 2d 65 arget.x86_64-windows.--test-no-e
5c500 78 65 63 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e xec</kbd>.</samp></pre></figure>
5c520 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 73 ...............<h2.id="Functions
5c540 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 "><a.href="#toc-Functions">Funct
5c560 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 ions</a>.<a.class="hdr".href="#F
5c580 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 unctions">..</a></h2>........<fi
5c5a0 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
5c5c0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 75 6e 63 74 69 6f ><cite.class="file">test_functio
5c5e0 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ns.zig</cite></figcaption><pre><
5c600 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
5c620 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.std.=.<span.class="tok-bu
5c640 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
5c660 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;std&quot;</spa
5c680 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c n>);.<span.class="tok-kw">const<
5c6a0 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>.builtin.=.<span.class="to
5c6c0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-builtin">@import</span>(<span.
5c6e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 class="tok-str">&quot;builtin&qu
5c700 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ot;</span>);.<span.class="tok-kw
5c720 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 20 62 75 69 ">const</span>.native_arch.=.bui
5c740 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ltin.cpu.arch;.<span.class="tok-
5c760 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 kw">const</span>.expect.=.std.te
5c780 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d sting.expect;..<span.class="tok-
5c7a0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c 61 72 comment">//.Functions.are.declar
5c7c0 65 64 20 6c 69 6b 65 20 74 68 69 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ed.like.this</span>.<span.class=
5c7e0 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "tok-kw">fn</span>.<span.class="
5c800 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 tok-fn">add</span>(a:.<span.clas
5c820 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e s="tok-type">i8</span>,.b:.<span
5c840 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 .class="tok-type">i8</span>).<sp
5c860 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 0a an.class="tok-type">i8</span>.{.
5c880 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 ....<span.class="tok-kw">if</spa
5c8a0 6e 3e 20 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n>.(a.==.<span.class="tok-number
5c8c0 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ">0</span>).{.........<span.clas
5c8e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 3b 0a 20 20 20 20 s="tok-kw">return</span>.b;.....
5c900 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 }......<span.class="tok-kw">retu
5c920 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rn</span>.a.+.b;.}..<span.class=
5c940 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 78 70 6f 72 74 20 73 70 65 63 "tok-comment">//.The.export.spec
5c960 69 66 69 65 72 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 65 72 6e 61 6c 6c ifier.makes.a.function.externall
5c980 79 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 3c 2f 73 70 61 6e y.visible.in.the.generated</span
5c9a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f >.<span.class="tok-comment">//.o
5c9c0 62 6a 65 63 74 20 66 69 6c 65 2c 20 61 6e 64 20 6d 61 6b 65 73 20 69 74 20 75 73 65 20 74 68 65 bject.file,.and.makes.it.use.the
5c9e0 20 43 20 41 42 49 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .C.ABI.</span>.<span.class="tok-
5ca00 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">export</span>.<span.class="t
5ca20 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ok-kw">fn</span>.<span.class="to
5ca40 6b 2d 66 6e 22 3e 73 75 62 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-fn">sub</span>(a:.<span.class=
5ca60 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 "tok-type">i8</span>,.b:.<span.c
5ca80 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e lass="tok-type">i8</span>).<span
5caa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 .class="tok-type">i8</span>.{.<s
5cac0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">return</span>
5cae0 20 61 20 2d 20 62 3b 20 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d .a.-.b;.}..<span.class="tok-comm
5cb00 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 78 74 65 72 6e 20 73 70 65 63 69 66 69 65 72 20 69 73 20 ent">//.The.extern.specifier.is.
5cb20 75 73 65 64 20 74 6f 20 64 65 63 6c 61 72 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 used.to.declare.a.function.that.
5cb40 77 69 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c will.be.resolved</span>.<span.cl
5cb60 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 74 20 6c 69 6e 6b 20 74 69 6d ass="tok-comment">//.at.link.tim
5cb80 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 61 74 69 63 61 6c 6c 79 2c 20 6f 72 20 61 e,.when.linking.statically,.or.a
5cba0 74 20 72 75 6e 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c t.runtime,.when.linking</span>.<
5cbc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 79 6e 61 span.class="tok-comment">//.dyna
5cbe0 6d 69 63 61 6c 6c 79 2e 20 54 68 65 20 71 75 6f 74 65 64 20 69 64 65 6e 74 69 66 69 65 72 20 61 mically..The.quoted.identifier.a
5cc00 66 74 65 72 20 74 68 65 20 65 78 74 65 72 6e 20 6b 65 79 77 6f 72 64 20 73 70 65 63 69 66 69 65 fter.the.extern.keyword.specifie
5cc20 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e s</span>.<span.class="tok-commen
5cc40 74 22 3e 2f 2f 20 74 68 65 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 68 61 73 20 74 68 65 20 66 t">//.the.library.that.has.the.f
5cc60 75 6e 63 74 69 6f 6e 2e 20 28 65 2e 67 2e 20 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 20 2d 26 67 unction..(e.g..&quot;c&quot;.-&g
5cc80 74 3b 20 6c 69 62 63 2e 73 6f 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;.libc.so)</span>.<span.class="
5cca0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 63 61 6c 6c 63 6f 6e 76 20 73 70 65 tok-comment">//.The.callconv.spe
5ccc0 63 69 66 69 65 72 20 63 68 61 6e 67 65 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 cifier.changes.the.calling.conve
5cce0 6e 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 ntion.of.the.function.</span>.<s
5cd00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
5cd20 57 49 4e 41 50 49 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 69 6e 67 43 6f 6e 76 65 WINAPI:.std.builtin.CallingConve
5cd40 6e 74 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c ntion.=.<span.class="tok-kw">if<
5cd60 2f 73 70 61 6e 3e 20 28 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 3d 20 2e 78 38 36 29 20 2e 53 74 /span>.(native_arch.==..x86)..St
5cd80 64 63 61 6c 6c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c dcall.<span.class="tok-kw">else<
5cda0 2f 73 70 61 6e 3e 20 2e 43 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e /span>..C;.<span.class="tok-kw">
5cdc0 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 extern</span>.<span.class="tok-s
5cde0 74 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e 65 6c 33 32 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 tr">&quot;kernel32&quot;</span>.
5ce00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
5ce20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 45 78 69 74 50 72 6f 63 65 73 73 3c span.class="tok-fn">ExitProcess<
5ce40 2f 73 70 61 6e 3e 28 65 78 69 74 5f 63 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>(exit_code:.<span.class="t
5ce60 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">u32</span>).<span.class
5ce80 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 57 49 4e 41 50 49 ="tok-kw">callconv</span>(WINAPI
5cea0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 ).<span.class="tok-type">noretur
5cec0 6e 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 n</span>;.<span.class="tok-kw">e
5cee0 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 xtern</span>.<span.class="tok-st
5cf00 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c r">&quot;c&quot;</span>.<span.cl
5cf20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ass="tok-kw">fn</span>.<span.cla
5cf40 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 74 61 6e 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 ss="tok-fn">atan2</span>(a:.<spa
5cf60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 62 n.class="tok-type">f64</span>,.b
5cf80 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 :.<span.class="tok-type">f64</sp
5cfa0 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c an>).<span.class="tok-type">f64<
5cfc0 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e /span>;..<span.class="tok-commen
5cfe0 74 22 3e 2f 2f 20 54 68 65 20 40 73 65 74 43 6f 6c 64 20 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 t">//.The.@setCold.builtin.tells
5d000 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 .the.optimizer.that.a.function.i
5d020 73 20 72 61 72 65 6c 79 20 63 61 6c 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c s.rarely.called.</span>.<span.cl
5d040 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ass="tok-kw">fn</span>.<span.cla
5d060 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 62 6f 72 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e ss="tok-fn">abort</span>().<span
5d080 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e .class="tok-type">noreturn</span
5d0a0 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e >.{.....<span.class="tok-builtin
5d0c0 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">@setCold</span>(<span.class="t
5d0e0 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e ok-null">true</span>);.....<span
5d100 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 .class="tok-kw">while</span>.(<s
5d120 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e pan.class="tok-null">true</span>
5d140 29 20 7b 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 ).{}.}..<span.class="tok-comment
5d160 22 3e 2f 2f 20 54 68 65 20 6e 61 6b 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f ">//.The.naked.calling.conventio
5d180 6e 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 n.makes.a.function.not.have.any.
5d1a0 66 75 6e 63 74 69 6f 6e 20 70 72 6f 6c 6f 67 75 65 20 6f 72 20 65 70 69 6c 6f 67 75 65 2e 3c 2f function.prologue.or.epilogue.</
5d1c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e span>.<span.class="tok-comment">
5d1e0 2f 2f 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 77 68 65 6e 20 69 6e 74 65 67 //.This.can.be.useful.when.integ
5d200 72 61 74 69 6e 67 20 77 69 74 68 20 61 73 73 65 6d 62 6c 79 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 rating.with.assembly.</span>.<sp
5d220 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 an.class="tok-kw">fn</span>.<spa
5d240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 5f 73 74 61 72 74 3c 2f 73 70 61 6e 3e 28 29 n.class="tok-fn">_start</span>()
5d260 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f .<span.class="tok-kw">callconv</
5d280 73 70 61 6e 3e 28 2e 4e 61 6b 65 64 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 span>(.Naked).<span.class="tok-t
5d2a0 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 62 6f 72 74 ype">noreturn</span>.{.....abort
5d2c0 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 ();.}..<span.class="tok-comment"
5d2e0 3e 2f 2f 20 54 68 65 20 69 6e 6c 69 6e 65 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f >//.The.inline.calling.conventio
5d300 6e 20 66 6f 72 63 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 69 6e 6c 69 6e 65 n.forces.a.function.to.be.inline
5d320 64 20 61 74 20 61 6c 6c 20 63 61 6c 6c 20 73 69 74 65 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 d.at.all.call.sites.</span>.<spa
5d340 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 74 68 65 20 n.class="tok-comment">//.If.the.
5d360 66 75 6e 63 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 62 65 20 69 6e 6c 69 6e 65 64 2c 20 69 74 20 69 function.cannot.be.inlined,.it.i
5d380 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 0a 3c s.a.compile-time.error.</span>.<
5d3a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
5d3c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 68 69 66 74 4c 65 66 74 4f 6e 65 3c pan.class="tok-fn">shiftLeftOne<
5d3e0 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>(a:.<span.class="tok-type"
5d400 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >u32</span>).<span.class="tok-kw
5d420 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 49 6e 6c 69 6e 65 29 20 3c 73 70 61 6e ">callconv</span>(.Inline).<span
5d440 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 .class="tok-type">u32</span>.{..
5d460 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f ...<span.class="tok-kw">return</
5d480 73 70 61 6e 3e 20 61 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.a.&lt;&lt;.<span.class="to
5d4a0 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 k-number">1</span>;.}..<span.cla
5d4c0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 70 75 62 20 73 70 65 63 ss="tok-comment">//.The.pub.spec
5d4e0 69 66 69 65 72 20 61 6c 6c 6f 77 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 ifier.allows.the.function.to.be.
5d500 76 69 73 69 62 6c 65 20 77 68 65 6e 20 69 6d 70 6f 72 74 69 6e 67 2e 3c 2f 73 70 61 6e 3e 0a 3c visible.when.importing.</span>.<
5d520 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 6f 74 span.class="tok-comment">//.Anot
5d540 68 65 72 20 66 69 6c 65 20 63 61 6e 20 75 73 65 20 40 69 6d 70 6f 72 74 20 61 6e 64 20 63 61 6c her.file.can.use.@import.and.cal
5d560 6c 20 73 75 62 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b l.sub2</span>.<span.class="tok-k
5d580 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b w">pub</span>.<span.class="tok-k
5d5a0 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e w">fn</span>.<span.class="tok-fn
5d5c0 22 3e 73 75 62 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">sub2</span>(a:.<span.class="to
5d5e0 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 k-type">i8</span>,.b:.<span.clas
5d600 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c s="tok-type">i8</span>).<span.cl
5d620 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e ass="tok-type">i8</span>.{.<span
5d640 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 .class="tok-kw">return</span>.a.
5d660 2d 20 62 3b 20 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 -.b;.}..<span.class="tok-comment
5d680 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 70 72 65 66 69 ">//.Function.pointers.are.prefi
5d6a0 78 65 64 20 77 69 74 68 20 60 2a 63 6f 6e 73 74 20 60 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e xed.with.`*const.`.</span>.<span
5d6c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 61 6c .class="tok-kw">const</span>.Cal
5d6e0 6c 32 4f 70 20 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e l2Op.=.*<span.class="tok-kw">con
5d700 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 st</span>.<span.class="tok-kw">f
5d720 6e 3c 2f 73 70 61 6e 3e 20 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 n</span>.(a:.<span.class="tok-ty
5d740 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pe">i8</span>,.b:.<span.class="t
5d760 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-type">i8</span>).<span.class=
5d780 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 "tok-type">i8</span>;.<span.clas
5d7a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="tok-kw">fn</span>.<span.class
5d7c0 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 4f 70 3c 2f 73 70 61 6e 3e 28 66 6e 43 61 6c 6c 3a 20 43 61 ="tok-fn">doOp</span>(fnCall:.Ca
5d7e0 6c 6c 32 4f 70 2c 20 6f 70 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ll2Op,.op1:.<span.class="tok-typ
5d800 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 6f 70 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">i8</span>,.op2:.<span.class="
5d820 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">i8</span>).<span.class
5d840 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 ="tok-type">i8</span>.{.....<spa
5d860 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 n.class="tok-kw">return</span>.f
5d880 6e 43 61 6c 6c 28 6f 70 31 2c 20 6f 70 32 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d nCall(op1,.op2);.}..<span.class=
5d8a0 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">test</span>.<span.class
5d8c0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c ="tok-str">&quot;function&quot;<
5d8e0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
5d900 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 6f 4f 70 28 61 64 64 2c 20 3c 73 ">try</span>.expect(doOp(add,.<s
5d920 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">5</span>,
5d940 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 .<span.class="tok-number">6</spa
5d960 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>).==.<span.class="tok-number">
5d980 31 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 11</span>);.....<span.class="tok
5d9a0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 6f 4f 70 28 73 75 62 32 -kw">try</span>.expect(doOp(sub2
5d9c0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 ,.<span.class="tok-number">5</sp
5d9e0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c an>,.<span.class="tok-number">6<
5da00 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d /span>).==.-<span.class="tok-num
5da20 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f ber">1</span>);.}</code></pre></
5da40 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 figure><figure><figcaption.class
5da60 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ="shell-cap">Shell</figcaption><
5da80 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 pre><samp>$.<kbd>zig.test.test_f
5daa0 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 66 75 6e 63 unctions.zig</kbd>.1/1.test_func
5dac0 74 69 6f 6e 73 2e 74 65 73 74 2e 66 75 6e 63 74 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 tions.test.function....OK.All.1.
5dae0 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 tests.passed..</samp></pre></fig
5db00 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 69 73 20 61 20 64 69 66 66 65 72 65 ure>.......<p>There.is.a.differe
5db20 6e 63 65 20 62 65 74 77 65 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 3c 65 6d 3e 62 6f 64 79 3c nce.between.a.function.<em>body<
5db40 2f 65 6d 3e 20 61 6e 64 20 61 20 66 75 6e 63 74 69 6f 6e 20 3c 65 6d 3e 70 6f 69 6e 74 65 72 3c /em>.and.a.function.<em>pointer<
5db60 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 62 6f 64 69 65 73 20 61 72 65 20 /em>........Function.bodies.are.
5db80 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e <a.href="#comptime">comptime</a>
5dba0 2d 6f 6e 6c 79 20 74 79 70 65 73 20 77 68 69 6c 65 20 66 75 6e 63 74 69 6f 6e 20 3c 61 20 68 72 -only.types.while.function.<a.hr
5dbc0 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 6d 61 79 20 ef="#Pointers">Pointers</a>.may.
5dbe0 62 65 0a 20 20 20 20 20 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 3c 2f 70 3e 0a 20 20 20 20 be.......runtime-known.</p>.....
5dc00 20 20 3c 68 33 20 69 64 3d 22 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 ..<h3.id="Pass-by-value-Paramete
5dc20 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d rs"><a.href="#toc-Pass-by-value-
5dc40 50 61 72 61 6d 65 74 65 72 73 22 3e 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d 65 Parameters">Pass-by-value.Parame
5dc60 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 ters</a>.<a.class="hdr".href="#P
5dc80 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c ass-by-value-Parameters">..</a><
5dca0 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 69 6d 69 74 69 76 65 20 /h3>........<p>.......Primitive.
5dcc0 74 79 70 65 73 20 73 75 63 68 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 types.such.as.<a.href="#Integers
5dce0 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f ">Integers</a>.and.<a.href="#Flo
5dd00 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 70 61 73 73 65 64 20 61 73 20 70 61 72 61 6d 65 ats">Floats</a>.passed.as.parame
5dd20 74 65 72 73 0a 20 20 20 20 20 20 61 72 65 20 63 6f 70 69 65 64 2c 20 61 6e 64 20 74 68 65 6e 20 ters.......are.copied,.and.then.
5dd40 74 68 65 20 63 6f 70 79 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 66 75 6e the.copy.is.available.in.the.fun
5dd60 63 74 69 6f 6e 20 62 6f 64 79 2e 20 54 68 69 73 20 69 73 20 63 61 6c 6c 65 64 20 22 70 61 73 73 ction.body..This.is.called."pass
5dd80 69 6e 67 20 62 79 20 76 61 6c 75 65 22 2e 0a 20 20 20 20 20 20 43 6f 70 79 69 6e 67 20 61 20 70 ing.by.value"........Copying.a.p
5dda0 72 69 6d 69 74 69 76 65 20 74 79 70 65 20 69 73 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 66 72 65 rimitive.type.is.essentially.fre
5ddc0 65 20 61 6e 64 20 74 79 70 69 63 61 6c 6c 79 20 69 6e 76 6f 6c 76 65 73 20 6e 6f 74 68 69 6e 67 e.and.typically.involves.nothing
5dde0 20 6d 6f 72 65 20 74 68 61 6e 0a 20 20 20 20 20 20 73 65 74 74 69 6e 67 20 61 20 72 65 67 69 73 .more.than.......setting.a.regis
5de00 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ter........</p>.......<p>.......
5de20 53 74 72 75 63 74 73 2c 20 75 6e 69 6f 6e 73 2c 20 61 6e 64 20 61 72 72 61 79 73 20 63 61 6e 20 Structs,.unions,.and.arrays.can.
5de40 73 6f 6d 65 74 69 6d 65 73 20 62 65 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 70 61 sometimes.be.more.efficiently.pa
5de60 73 73 65 64 20 61 73 20 61 20 72 65 66 65 72 65 6e 63 65 2c 20 73 69 6e 63 65 20 61 20 63 6f 70 ssed.as.a.reference,.since.a.cop
5de80 79 0a 20 20 20 20 20 20 63 6f 75 6c 64 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 65 78 70 y.......could.be.arbitrarily.exp
5dea0 65 6e 73 69 76 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 69 7a 65 2e 20 57 68 ensive.depending.on.the.size..Wh
5dec0 65 6e 20 74 68 65 73 65 20 74 79 70 65 73 20 61 72 65 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 en.these.types.are.passed.......
5dee0 61 73 20 70 61 72 61 6d 65 74 65 72 73 2c 20 5a 69 67 20 6d 61 79 20 63 68 6f 6f 73 65 20 74 6f as.parameters,.Zig.may.choose.to
5df00 20 63 6f 70 79 20 61 6e 64 20 70 61 73 73 20 62 79 20 76 61 6c 75 65 2c 20 6f 72 20 70 61 73 73 .copy.and.pass.by.value,.or.pass
5df20 20 62 79 20 72 65 66 65 72 65 6e 63 65 2c 20 77 68 69 63 68 65 76 65 72 20 77 61 79 0a 20 20 20 .by.reference,.whichever.way....
5df40 20 20 20 5a 69 67 20 64 65 63 69 64 65 73 20 77 69 6c 6c 20 62 65 20 66 61 73 74 65 72 2e 20 54 ...Zig.decides.will.be.faster..T
5df60 68 69 73 20 69 73 20 6d 61 64 65 20 70 6f 73 73 69 62 6c 65 2c 20 69 6e 20 70 61 72 74 2c 20 62 his.is.made.possible,.in.part,.b
5df80 79 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 69 y.the.fact.that.parameters.are.i
5dfa0 6d 6d 75 74 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 mmutable........</p>.......<figu
5dfc0 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
5dfe0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 61 73 73 5f 62 79 5f 72 cite.class="file">test_pass_by_r
5e000 65 66 65 72 65 6e 63 65 5f 6f 72 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 eference_or_value.zig</cite></fi
5e020 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><code><span.class=
5e040 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 "tok-kw">const</span>.Point.=.<s
5e060 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e pan.class="tok-kw">struct</span>
5e080 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 .{.....x:.<span.class="tok-type"
5e0a0 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >i32</span>,.....y:.<span.class=
5e0c0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e "tok-type">i32</span>,.};..<span
5e0e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 .class="tok-kw">fn</span>.<span.
5e100 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 70 6f 69 6e 74 3a class="tok-fn">foo</span>(point:
5e120 20 50 6f 69 6e 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 .Point).<span.class="tok-type">i
5e140 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 32</span>.{.....<span.class="tok
5e160 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 2c 20 60 70 6f 69 6e 74 60 20 63 6f 75 6c 64 -comment">//.Here,.`point`.could
5e180 20 62 65 20 61 20 72 65 66 65 72 65 6e 63 65 2c 20 6f 72 20 61 20 63 6f 70 79 2e 20 54 68 65 20 .be.a.reference,.or.a.copy..The.
5e1a0 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 function.body</span>.....<span.c
5e1c0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 69 67 6e 6f 72 65 lass="tok-comment">//.can.ignore
5e1e0 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 61 6e 64 20 74 72 65 61 74 20 69 74 20 61 73 20 .the.difference.and.treat.it.as.
5e200 61 20 76 61 6c 75 65 2e 20 42 65 20 76 65 72 79 20 63 61 72 65 66 75 6c 3c 2f 73 70 61 6e 3e 0a a.value..Be.very.careful</span>.
5e220 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
5e240 20 74 61 6b 69 6e 67 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 70 61 72 61 6d .taking.the.address.of.the.param
5e260 65 74 65 72 20 2d 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 69 eter.-.it.should.be.treated.as.i
5e280 66 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f f</span>.....<span.class="tok-co
5e2a0 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 62 65 63 6f 6d mment">//.the.address.will.becom
5e2c0 65 20 69 6e 76 61 6c 69 64 20 77 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 e.invalid.when.the.function.retu
5e2e0 72 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b rns.</span>.....<span.class="tok
5e300 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 2e 78 20 2b 20 70 6f 69 -kw">return</span>.point.x.+.poi
5e320 6e 74 2e 79 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f nt.y;.}..<span.class="tok-kw">co
5e340 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.expect.=.<span.class=
5e360 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@import</span>(<sp
5e380 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f an.class="tok-str">&quot;std&quo
5e3a0 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 t;</span>).testing.expect;..<spa
5e3c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 n.class="tok-kw">test</span>.<sp
5e3e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 73 73 20 73 74 an.class="tok-str">&quot;pass.st
5e400 72 75 63 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a ruct.to.function&quot;</span>.{.
5e420 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
5e440 61 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 50 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e an>.expect(foo(Point{..x.=.<span
5e460 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 79 .class="tok-number">1</span>,..y
5e480 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 .=.<span.class="tok-number">2</s
5e4a0 70 61 6e 3e 20 7d 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 pan>.}).==.<span.class="tok-numb
5e4c0 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 er">3</span>);.}</code></pre></f
5e4e0 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
5e500 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
5e520 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 61 re><samp>$.<kbd>zig.test.test_pa
5e540 73 73 5f 62 79 5f 72 65 66 65 72 65 6e 63 65 5f 6f 72 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 6b 62 ss_by_reference_or_value.zig</kb
5e560 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 61 73 73 5f 62 79 5f 72 65 66 65 72 65 6e 63 65 5f 6f 72 d>.1/1.test_pass_by_reference_or
5e580 5f 76 61 6c 75 65 2e 74 65 73 74 2e 70 61 73 73 20 73 74 72 75 63 74 20 74 6f 20 66 75 6e 63 74 _value.test.pass.struct.to.funct
5e5a0 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f ion....OK.All.1.tests.passed..</
5e5c0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
5e5e0 20 20 20 20 20 46 6f 72 20 65 78 74 65 72 6e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 5a 69 67 20 66 .....For.extern.functions,.Zig.f
5e600 6f 6c 6c 6f 77 73 20 74 68 65 20 43 20 41 42 49 20 66 6f 72 20 70 61 73 73 69 6e 67 20 73 74 72 ollows.the.C.ABI.for.passing.str
5e620 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 20 62 79 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 ucts.and.unions.by.value........
5e640 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 75 6e 63 74 69 </p>..............<h3.id="Functi
5e660 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 3c 61 20 on-Parameter-Type-Inference"><a.
5e680 68 72 65 66 3d 22 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 href="#toc-Function-Parameter-Ty
5e6a0 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 pe-Inference">Function.Parameter
5e6c0 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 .Type.Inference</a>.<a.class="hd
5e6e0 72 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 r".href="#Function-Parameter-Typ
5e700 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 e-Inference">..</a></h3>........
5e720 3c 70 3e 0a 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 63 61 <p>.......Function.parameters.ca
5e740 6e 20 62 65 20 64 65 63 6c 61 72 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 n.be.declared.with.<code><span.c
5e760 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f lass="tok-kw">anytype</span></co
5e780 64 65 3e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 74 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 de>.in.place.of.the.type........
5e7a0 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 73 In.this.case.the.parameter.types
5e7c0 20 77 69 6c 6c 20 62 65 20 69 6e 66 65 72 72 65 64 20 77 68 65 6e 20 74 68 65 20 66 75 6e 63 74 .will.be.inferred.when.the.funct
5e7e0 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 55 73 65 20 3c 61 20 68 72 65 66 ion.is.called........Use.<a.href
5e800 3d 22 23 54 79 70 65 4f 66 22 3e 40 54 79 70 65 4f 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 ="#TypeOf">@TypeOf</a>.and.<a.hr
5e820 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 74 6f 20 ef="#typeInfo">@typeInfo</a>.to.
5e840 67 65 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 69 6e 66 65 72 72 get.information.about.the.inferr
5e860 65 64 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 ed.type........</p>.......<figur
5e880 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
5e8a0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 6e 5f 74 79 70 65 5f 69 6e ite.class="file">test_fn_type_in
5e8c0 66 65 72 65 6e 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ference.zig</cite></figcaption><
5e8e0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
5e900 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 onst</span>.expect.=.<span.class
5e920 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@import</span>(<s
5e940 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 pan.class="tok-str">&quot;std&qu
5e960 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 ot;</span>).testing.expect;..<sp
5e980 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 an.class="tok-kw">fn</span>.<spa
5e9a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 46 6f 72 74 79 54 77 6f 3c 2f 73 70 n.class="tok-fn">addFortyTwo</sp
5e9c0 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 an>(x:.<span.class="tok-kw">anyt
5e9e0 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ype</span>).<span.class="tok-bui
5ea00 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 29 20 7b 0a 20 20 20 20 3c 73 ltin">@TypeOf</span>(x).{.....<s
5ea20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">return</span>
5ea40 20 78 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 .x.+.<span.class="tok-number">42
5ea60 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 </span>;.}..<span.class="tok-kw"
5ea80 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >test</span>.<span.class="tok-st
5eaa0 72 22 3e 26 71 75 6f 74 3b 66 6e 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 26 71 75 6f 74 3b r">&quot;fn.type.inference&quot;
5eac0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
5eae0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 64 64 46 6f 72 74 79 54 77 6f w">try</span>.expect(addFortyTwo
5eb00 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 (<span.class="tok-number">1</spa
5eb20 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>).==.<span.class="tok-number">
5eb40 34 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 43</span>);.....<span.class="tok
5eb60 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 -kw">try</span>.expect(<span.cla
5eb80 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@TypeOf</span>(
5eba0 61 64 64 46 6f 72 74 79 54 77 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d addFortyTwo(<span.class="tok-num
5ebc0 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ber">1</span>)).==.<span.class="
5ebe0 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 29 3b 0a tok-type">comptime_int</span>);.
5ec00 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ....<span.class="tok-kw">const</
5ec20 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>.y:.<span.class="tok-type">
5ec40 69 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 i64</span>.=.<span.class="tok-nu
5ec60 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">2</span>;.....<span.class=
5ec80 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 64 64 46 6f "tok-kw">try</span>.expect(addFo
5eca0 72 74 79 54 77 6f 28 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 rtyTwo(y).==.<span.class="tok-nu
5ecc0 6d 62 65 72 22 3e 34 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 mber">44</span>);.....<span.clas
5ece0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 s="tok-kw">try</span>.expect(<sp
5ed00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f an.class="tok-builtin">@TypeOf</
5ed20 73 70 61 6e 3e 28 61 64 64 46 6f 72 74 79 54 77 6f 28 79 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 span>(addFortyTwo(y)).==.<span.c
5ed40 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f lass="tok-type">i64</span>);.}</
5ed60 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 code></pre></figure><figure><fig
5ed80 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c caption.class="shell-cap">Shell<
5eda0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
5edc0 67 20 74 65 73 74 20 74 65 73 74 5f 66 6e 5f 74 79 70 65 5f 69 6e 66 65 72 65 6e 63 65 2e 7a 69 g.test.test_fn_type_inference.zi
5ede0 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 66 6e 5f 74 79 70 65 5f 69 6e 66 65 72 65 6e g</kbd>.1/1.test_fn_type_inferen
5ee00 63 65 2e 74 65 73 74 2e 66 6e 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 2e 2e 2e 20 4f 4b 0a ce.test.fn.type.inference....OK.
5ee20 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 All.1.tests.passed..</samp></pre
5ee40 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ></figure>................<h3.id
5ee60 3d 22 69 6e 6c 69 6e 65 2d 66 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 6c 69 6e ="inline-fn"><a.href="#toc-inlin
5ee80 65 2d 66 6e 22 3e 69 6e 6c 69 6e 65 20 66 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 e-fn">inline.fn</a>.<a.class="hd
5eea0 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e r".href="#inline-fn">..</a></h3>
5eec0 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 64 64 69 6e 67 20 74 68 65 20 3c 63 6f ........<p>.......Adding.the.<co
5eee0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f de><span.class="tok-kw">inline</
5ef00 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 74 6f 20 61 20 66 75 6e 63 74 69 span></code>.keyword.to.a.functi
5ef20 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 6d 61 6b 65 73 20 74 68 61 74 0a 20 20 20 20 20 20 66 on.definition.makes.that.......f
5ef40 75 6e 63 74 69 6f 6e 20 62 65 63 6f 6d 65 20 3c 65 6d 3e 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 unction.become.<em>semantically.
5ef60 69 6e 6c 69 6e 65 64 3c 2f 65 6d 3e 20 61 74 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2e 20 54 68 inlined</em>.at.the.callsite..Th
5ef80 69 73 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 61 20 68 69 6e 74 20 74 6f 20 62 65 20 70 6f 73 is.is.......not.a.hint.to.be.pos
5efa0 73 69 62 6c 79 20 6f 62 73 65 72 76 65 64 20 62 79 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 70 sibly.observed.by.optimization.p
5efc0 61 73 73 65 73 2c 20 62 75 74 20 68 61 73 0a 20 20 20 20 20 20 69 6d 70 6c 69 63 61 74 69 6f 6e asses,.but.has.......implication
5efe0 73 20 6f 6e 20 74 68 65 20 74 79 70 65 73 20 61 6e 64 20 76 61 6c 75 65 73 20 69 6e 76 6f 6c 76 s.on.the.types.and.values.involv
5f000 65 64 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 3c ed.in.the.function.call........<
5f020 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 6c 69 6b 65 20 6e 6f 72 6d 61 /p>.......<p>.......Unlike.norma
5f040 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 2c 20 61 72 67 75 6d 65 6e 74 73 20 61 74 20 61 l.function.calls,.arguments.at.a
5f060 6e 20 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 69 74 65 20 77 68 69 63 68 n.inline.function.callsite.which
5f080 20 61 72 65 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 61 72 .are.......compile-time.known.ar
5f0a0 65 20 74 72 65 61 74 65 64 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 e.treated.as.<a.href="#Compile-T
5f0c0 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 43 6f 6d 70 69 6c 65 20 54 69 6d 65 20 50 61 72 ime-Parameters">Compile.Time.Par
5f0e0 61 6d 65 74 65 72 73 3c 2f 61 3e 2e 20 54 68 69 73 20 63 61 6e 20 70 6f 74 65 6e 74 69 61 6c 6c ameters</a>..This.can.potentiall
5f100 79 0a 20 20 20 20 20 20 70 72 6f 70 61 67 61 74 65 20 61 6c 6c 20 74 68 65 20 77 61 79 20 74 6f y.......propagate.all.the.way.to
5f120 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .the.return.value:.......</p>...
5f140 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a ....<figure><figcaption.class="z
5f160 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 6c 69 6e ig-cap"><cite.class="file">inlin
5f180 65 5f 63 61 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 e_call.zig</cite></figcaption><p
5f1a0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 re><code><span.class="tok-kw">te
5f1c0 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e st</span>.<span.class="tok-str">
5f1e0 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b &quot;inline.function.call&quot;
5f200 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
5f220 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 w">if</span>.(foo(<span.class="t
5f240 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 30 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ok-number">1200</span>,.<span.cl
5f260 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 20 21 3d 20 3c ass="tok-number">34</span>).!=.<
5f280 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 span.class="tok-number">1234</sp
5f2a0 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>).{.........<span.class="tok-
5f2c0 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 builtin">@compileError</span>(<s
5f2e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 64 26 71 75 pan.class="tok-str">&quot;bad&qu
5f300 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 ot;</span>);.....}.}..<span.clas
5f320 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">inline</span>.<span.c
5f340 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
5f360 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e ass="tok-fn">foo</span>(a:.<span
5f380 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a .class="tok-type">i32</span>,.b:
5f3a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 .<span.class="tok-type">i32</spa
5f3c0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f n>).<span.class="tok-type">i32</
5f3e0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
5f400 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f >return</span>.a.+.b;.}</code></
5f420 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e pre></figure><figure><figcaption
5f440 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 .class="shell-cap">Shell</figcap
5f460 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
5f480 69 6e 6c 69 6e 65 5f 63 61 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 69 6e 6c 69 6e 65 inline_call.zig</kbd>.1/1.inline
5f4a0 5f 63 61 6c 6c 2e 74 65 73 74 2e 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e _call.test.inline.function.call.
5f4c0 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.1.tests.passed..</samp
5f4e0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 3c 63 6f ></pre></figure>.......<p>If.<co
5f500 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f de><span.class="tok-kw">inline</
5f520 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 72 65 6d 6f 76 65 64 2c 20 74 68 65 20 74 65 73 span></code>.is.removed,.the.tes
5f540 74 20 66 61 69 6c 73 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 0a 20 t.fails.with.the.compile.error..
5f560 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 70 61 73 73 69 6e 67 2e 3c 2f 70 3e 0a 20 20 20 .....instead.of.passing.</p>....
5f580 20 20 20 3c 70 3e 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 62 65 74 74 65 72 20 74 6f 20 ...<p>It.is.generally.better.to.
5f5a0 6c 65 74 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 64 65 63 69 64 65 20 77 68 65 6e 20 74 6f 20 let.the.compiler.decide.when.to.
5f5c0 69 6e 6c 69 6e 65 20 61 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2c 20 65 78 63 65 70 74 20 inline.a.......function,.except.
5f5e0 66 6f 72 20 74 68 65 73 65 20 73 63 65 6e 61 72 69 6f 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c for.these.scenarios:</p>.......<
5f600 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 63 68 61 6e 67 65 20 68 6f 77 20 6d 61 ul>.........<li>To.change.how.ma
5f620 6e 79 20 73 74 61 63 6b 20 66 72 61 6d 65 73 20 61 72 65 20 69 6e 20 74 68 65 20 63 61 6c 6c 20 ny.stack.frames.are.in.the.call.
5f640 73 74 61 63 6b 2c 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 20 70 75 72 70 6f 73 65 73 2e 3c 2f stack,.for.debugging.purposes.</
5f660 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 66 6f 72 63 65 20 63 6f 6d 70 74 69 6d li>.........<li>To.force.comptim
5f680 65 2d 6e 65 73 73 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 72 6f 70 61 e-ness.of.the.arguments.to.propa
5f6a0 67 61 74 65 20 74 6f 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 gate.to.the.return.value.of.the.
5f6c0 66 75 6e 63 74 69 6f 6e 2c 20 61 73 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 65 78 61 6d 70 6c function,.as.in.the.above.exampl
5f6e0 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 61 6c 20 77 6f 72 6c 64 20 70 e.</li>.........<li>Real.world.p
5f700 65 72 66 6f 72 6d 61 6e 63 65 20 6d 65 61 73 75 72 65 6d 65 6e 74 73 20 64 65 6d 61 6e 64 20 69 erformance.measurements.demand.i
5f720 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 t.</li>.......</ul>.......<p>Not
5f740 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 e.that.<code><span.class="tok-kw
5f760 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 63 74 75 61 6c 6c 79 20 ">inline</span></code>.actually.
5f780 3c 65 6d 3e 72 65 73 74 72 69 63 74 73 3c 2f 65 6d 3e 0a 20 20 20 20 20 20 77 68 61 74 20 74 68 <em>restricts</em>.......what.th
5f7a0 65 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 64 6f 2e 20 54 68 69 e.compiler.is.allowed.to.do..Thi
5f7c0 73 20 63 61 6e 20 68 61 72 6d 20 62 69 6e 61 72 79 20 73 69 7a 65 2c 0a 20 20 20 20 20 20 63 6f s.can.harm.binary.size,.......co
5f7e0 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 2c 20 61 6e 64 20 65 76 65 6e 20 72 75 6e 74 69 6d mpilation.speed,.and.even.runtim
5f800 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 e.performance.</p>..............
5f820 20 3c 68 33 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 3c 61 .<h3.id="Function-Reflection"><a
5f840 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 .href="#toc-Function-Reflection"
5f860 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 6c 65 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 >Function.Reflection</a>.<a.clas
5f880 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 s="hdr".href="#Function-Reflecti
5f8a0 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c on">..</a></h3>........<figure><
5f8c0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 figcaption.class="zig-cap"><cite
5f8e0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e .class="file">test_fn_reflection
5f900 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
5f920 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
5f940 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.std.=.<span.class="tok-buil
5f960 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tin">@import</span>(<span.class=
5f980 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;std&quot;</span>
5f9a0 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 );.<span.class="tok-kw">const</s
5f9c0 70 61 6e 3e 20 6d 61 74 68 20 3d 20 73 74 64 2e 6d 61 74 68 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 pan>.math.=.std.math;.<span.clas
5f9e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 74 69 6e 67 20 s="tok-kw">const</span>.testing.
5fa00 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b =.std.testing;..<span.class="tok
5fa20 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">test</span>.<span.class="to
5fa40 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6e 20 72 65 66 6c 65 63 74 69 6f 6e 26 71 75 6f 74 3b k-str">&quot;fn.reflection&quot;
5fa60 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
5fa80 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 w">try</span>.testing.expect(<sp
5faa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f an.class="tok-builtin">@typeInfo
5fac0 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e </span>(<span.class="tok-builtin
5fae0 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 29 ">@TypeOf</span>(testing.expect)
5fb00 29 2e 46 6e 2e 70 61 72 61 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ).Fn.params[<span.class="tok-num
5fb20 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">0</span>].<span.class="tok-
5fb40 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 type">type</span>.?.==.<span.cla
5fb60 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 ss="tok-type">bool</span>);.....
5fb80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">try</span>.
5fba0 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d testing.expect(<span.class="tok-
5fbc0 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 builtin">@typeInfo</span>(<span.
5fbe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 class="tok-builtin">@TypeOf</spa
5fc00 6e 3e 28 74 65 73 74 69 6e 67 2e 74 6d 70 44 69 72 29 29 2e 46 6e 2e 72 65 74 75 72 6e 5f 74 79 n>(testing.tmpDir)).Fn.return_ty
5fc20 70 65 2e 3f 20 3d 3d 20 74 65 73 74 69 6e 67 2e 54 6d 70 44 69 72 29 3b 0a 0a 20 20 20 20 3c 73 pe.?.==.testing.TmpDir);......<s
5fc40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 pan.class="tok-kw">try</span>.te
5fc60 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 sting.expect(<span.class="tok-bu
5fc80 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c iltin">@typeInfo</span>(<span.cl
5fca0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e ass="tok-builtin">@TypeOf</span>
5fcc0 28 6d 61 74 68 2e 4c 6f 67 32 49 6e 74 29 29 2e 46 6e 2e 69 73 5f 67 65 6e 65 72 69 63 29 3b 0a (math.Log2Int)).Fn.is_generic);.
5fce0 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
5fd00 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
5fd20 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
5fd40 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 >zig.test.test_fn_reflection.zig
5fd60 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 74 65 </kbd>.1/1.test_fn_reflection.te
5fd80 73 74 2e 66 6e 20 72 65 66 6c 65 63 74 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 st.fn.reflection....OK.All.1.tes
5fda0 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ts.passed..</samp></pre></figure
5fdc0 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 45 72 >.....................<h2.id="Er
5fde0 72 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 73 22 3e 45 72 72 6f rors"><a.href="#toc-Errors">Erro
5fe00 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 rs</a>.<a.class="hdr".href="#Err
5fe20 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 ors">..</a></h2>........<h3.id="
5fe40 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 Error-Set-Type"><a.href="#toc-Er
5fe60 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e ror-Set-Type">Error.Set.Type</a>
5fe80 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 .<a.class="hdr".href="#Error-Set
5fea0 2d 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 -Type">..</a></h3>........<p>...
5fec0 20 20 20 20 41 6e 20 65 72 72 6f 72 20 73 65 74 20 69 73 20 6c 69 6b 65 20 61 6e 20 3c 61 20 68 ....An.error.set.is.like.an.<a.h
5fee0 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 48 6f 77 65 ref="#enum">enum</a>........Howe
5ff00 76 65 72 2c 20 65 61 63 68 20 65 72 72 6f 72 20 6e 61 6d 65 20 61 63 72 6f 73 73 20 74 68 65 20 ver,.each.error.name.across.the.
5ff20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 67 65 74 73 20 61 73 73 69 67 6e 65 64 entire.compilation.gets.assigned
5ff40 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 0a 20 20 20 20 20 20 67 72 65 61 74 .an.unsigned.integer.......great
5ff60 65 72 20 74 68 61 6e 20 30 2e 20 59 6f 75 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 74 6f 20 64 65 er.than.0..You.are.allowed.to.de
5ff80 63 6c 61 72 65 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 20 6e 61 6d 65 20 6d 6f 72 65 20 74 clare.the.same.error.name.more.t
5ffa0 68 61 6e 20 6f 6e 63 65 2c 20 61 6e 64 20 69 66 20 79 6f 75 20 64 6f 2c 20 69 74 0a 20 20 20 20 han.once,.and.if.you.do,.it.....
5ffc0 20 20 67 65 74 73 20 61 73 73 69 67 6e 65 64 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65 67 65 72 ..gets.assigned.the.same.integer
5ffe0 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .value........</p>.......<p>....
60000 20 20 20 54 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 64 65 66 61 75 6c 74 73 20 74 ...The.error.set.type.defaults.t
60020 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 o.a.<code><span.class="tok-type"
60040 3e 75 31 36 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 6f 75 67 68 20 69 66 20 74 68 >u16</span></code>,.though.if.th
60060 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 74 69 6e 63 74 0a 20 20 20 e.maximum.number.of.distinct....
60080 20 20 20 65 72 72 6f 72 20 76 61 6c 75 65 73 20 69 73 20 70 72 6f 76 69 64 65 64 20 76 69 61 20 ...error.values.is.provided.via.
600a0 74 68 65 20 3c 6b 62 64 3e 2d 2d 65 72 72 6f 72 2d 6c 69 6d 69 74 20 5b 6e 75 6d 5d 3c 2f 6b 62 the.<kbd>--error-limit.[num]</kb
600c0 64 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 61 72 61 6d 65 74 65 72 20 61 6e 20 69 6e 74 d>.command.line.parameter.an.int
600e0 65 67 65 72 20 74 79 70 65 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d eger.type.......with.the.minimum
60100 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 70 72 .number.of.bits.required.to.repr
60120 65 73 65 6e 74 20 61 6c 6c 20 6f 66 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 73 20 77 69 esent.all.of.the.error.values.wi
60140 6c 6c 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ll.be.used........</p>.......<p>
60160 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f .......You.can.<a.href="#Type-Co
60180 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d ercion">coerce</a>.an.error.from
601a0 20 61 20 73 75 62 73 65 74 20 74 6f 20 61 20 73 75 70 65 72 73 65 74 3a 0a 20 20 20 20 20 20 3c .a.subset.to.a.superset:.......<
601c0 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
601e0 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
60200 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 >test_coerce_error_subset_to_sup
60220 65 72 73 65 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 erset.zig</cite></figcaption><pr
60240 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
60260 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.std.=.<span.class="tok
60280 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@import</span>(<span.c
602a0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;std&quot;</
602c0 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f span>);..<span.class="tok-kw">co
602e0 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e nst</span>.FileOpenError.=.<span
60300 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 .class="tok-kw">error</span>.{..
60320 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c 0a 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 ...AccessDenied,.....OutOfMemory
60340 2c 0a 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c ,.....FileNotFound,.};..<span.cl
60360 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 ass="tok-kw">const</span>.Alloca
60380 74 69 6f 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 tionError.=.<span.class="tok-kw"
603a0 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c >error</span>.{.....OutOfMemory,
603c0 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f .};..<span.class="tok-kw">test</
603e0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>.<span.class="tok-str">&quo
60400 74 3b 63 6f 65 72 63 65 20 73 75 62 73 65 74 20 74 6f 20 73 75 70 65 72 73 65 74 26 71 75 6f 74 t;coerce.subset.to.superset&quot
60420 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
60440 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 66 6f 6f 28 41 6c 6c 6f 63 kw">const</span>.err.=.foo(Alloc
60460 61 74 69 6f 6e 45 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 29 3b 0a 20 20 20 20 3c 73 70 ationError.OutOfMemory);.....<sp
60480 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 an.class="tok-kw">try</span>.std
604a0 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 46 69 6c 65 4f 70 65 6e 45 .testing.expect(err.==.FileOpenE
604c0 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 rror.OutOfMemory);.}..<span.clas
604e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="tok-kw">fn</span>.<span.class
60500 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 41 6c 6c 6f 63 61 ="tok-fn">foo</span>(err:.Alloca
60520 74 69 6f 6e 45 72 72 6f 72 29 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 7b 0a 20 20 20 20 3c tionError).FileOpenError.{.....<
60540 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e span.class="tok-kw">return</span
60560 3e 20 65 72 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 >.err;.}</code></pre></figure><f
60580 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 igure><figcaption.class="shell-c
605a0 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 ap">Shell</figcaption><pre><samp
605c0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 >$.<kbd>zig.test.test_coerce_err
605e0 6f 72 5f 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 65 72 73 65 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a or_subset_to_superset.zig</kbd>.
60600 31 2f 31 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 62 73 65 74 5f 74 6f 5f 1/1.test_coerce_error_subset_to_
60620 73 75 70 65 72 73 65 74 2e 74 65 73 74 2e 63 6f 65 72 63 65 20 73 75 62 73 65 74 20 74 6f 20 73 superset.test.coerce.subset.to.s
60640 75 70 65 72 73 65 74 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 uperset....OK.All.1.tests.passed
60660 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c ..</samp></pre></figure>.......<
60680 70 3e 0a 20 20 20 20 20 20 42 75 74 20 79 6f 75 20 63 61 6e 6e 6f 74 20 3c 61 20 68 72 65 66 3d p>.......But.you.cannot.<a.href=
606a0 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 61 6e 20 65 "#Type-Coercion">coerce</a>.an.e
606c0 72 72 6f 72 20 66 72 6f 6d 20 61 20 73 75 70 65 72 73 65 74 20 74 6f 20 61 20 73 75 62 73 65 74 rror.from.a.superset.to.a.subset
606e0 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 :.......</p>.......<figure><figc
60700 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
60720 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 ss="file">test_coerce_error_supe
60740 72 73 65 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 rset_to_subset.zig</cite></figca
60760 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
60780 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 k-kw">const</span>.FileOpenError
607a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 .=.<span.class="tok-kw">error</s
607c0 70 61 6e 3e 20 7b 0a 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c 0a 20 20 20 20 4f 75 74 pan>.{.....AccessDenied,.....Out
607e0 4f 66 4d 65 6d 6f 72 79 2c 0a 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 0a 7d 3b 0a 0a OfMemory,.....FileNotFound,.};..
60800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
60820 3e 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.AllocationError.=.<span.class=
60840 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 4f 75 74 4f "tok-kw">error</span>.{.....OutO
60860 66 4d 65 6d 6f 72 79 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 fMemory,.};..<span.class="tok-kw
60880 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">test</span>.<span.class="tok-s
608a0 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 73 75 70 65 72 73 65 74 20 74 6f 20 73 75 62 tr">&quot;coerce.superset.to.sub
608c0 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 46 69 6c 65 4f set&quot;</span>.{.....foo(FileO
608e0 70 65 6e 45 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 29 20 3c 73 70 61 6e 20 63 6c 61 73 penError.OutOfMemory).<span.clas
60900 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 0a 7d 0a 0a 3c s="tok-kw">catch</span>.{};.}..<
60920 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
60940 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 65 72 pan.class="tok-fn">foo</span>(er
60960 72 3a 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 29 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f r:.FileOpenError).AllocationErro
60980 72 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 r.{.....<span.class="tok-kw">ret
609a0 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f urn</span>.err;.}</code></pre></
609c0 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 figure><figure><figcaption.class
609e0 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ="shell-cap">Shell</figcaption><
60a00 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 pre><samp>$.<kbd>zig.test.test_c
60a20 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a oerce_error_superset_to_subset.z
60a40 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f ig</kbd>.<span.class="sgr-1m">do
60a60 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 cgen_tmp/test_coerce_error_super
60a80 73 65 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 3a 31 36 3a 31 32 3a 20 3c 2f 73 70 61 6e 3e set_to_subset.zig:16:12:.</span>
60aa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 <span.class="sgr-31m">error:.</s
60ac0 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 65 63 74 65 pan><span.class="sgr-1m">expecte
60ae0 64 20 74 79 70 65 20 27 65 72 72 6f 72 7b 4f 75 74 4f 66 4d 65 6d 6f 72 79 7d 27 2c 20 66 6f 75 d.type.'error{OutOfMemory}',.fou
60b00 6e 64 20 27 65 72 72 6f 72 7b 41 63 63 65 73 73 44 65 6e 69 65 64 2c 4f 75 74 4f 66 4d 65 6d 6f nd.'error{AccessDenied,OutOfMemo
60b20 72 79 2c 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 7d 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 72 65 74 ry,FileNotFound}'.</span>....ret
60b40 75 72 6e 20 65 72 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d urn.err;............<span.class=
60b60 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 "sgr-32m">^~~.</span><span.class
60b80 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 65 72 63 65 ="sgr-1m">docgen_tmp/test_coerce
60ba0 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 3a 31 36 _error_superset_to_subset.zig:16
60bc0 3a 31 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d :12:.</span><span.class="sgr-36m
60be0 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d ">note:.</span><span.class="sgr-
60c00 31 6d 22 3e 27 65 72 72 6f 72 2e 41 63 63 65 73 73 44 65 6e 69 65 64 27 20 6e 6f 74 20 61 20 6d 1m">'error.AccessDenied'.not.a.m
60c20 65 6d 62 65 72 20 6f 66 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 0a 3c ember.of.destination.error.set.<
60c40 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 /span><span.class="sgr-1m">docge
60c60 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 65 72 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 74 n_tmp/test_coerce_error_superset
60c80 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 3a 31 36 3a 31 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 _to_subset.zig:16:12:.</span><sp
60ca0 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e an.class="sgr-36m">note:.</span>
60cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 27 65 72 72 6f 72 2e 46 69 6c 65 <span.class="sgr-1m">'error.File
60ce0 4e 6f 74 46 6f 75 6e 64 27 20 6e 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 64 65 73 74 69 6e NotFound'.not.a.member.of.destin
60d00 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 ation.error.set.</span><span.cla
60d20 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 65 72 ss="sgr-1m">docgen_tmp/test_coer
60d40 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 3a ce_error_superset_to_subset.zig:
60d60 31 35 3a 32 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 15:28:.</span><span.class="sgr-3
60d80 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 6m">note:.</span><span.class="sg
60da0 72 2d 31 6d 22 3e 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 20 74 79 70 65 20 64 65 63 6c 61 r-1m">function.return.type.decla
60dc0 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 66 6e 20 66 6f 6f 28 65 72 72 3a 20 46 69 6c 65 red.here.</span>fn.foo(err:.File
60de0 4f 70 65 6e 45 72 72 6f 72 29 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 20 7b 0a 20 20 20 OpenError).AllocationError.{....
60e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ........................<span.cl
60e20 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f ass="sgr-32m">^~~~~~~~~~~~~~~.</
60e40 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 span><span.class="sgr-2m">refere
60e60 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 74 65 73 74 2e 63 6f 65 72 63 65 20 73 75 70 65 72 73 65 nced.by:.....test.coerce.superse
60e80 74 20 74 6f 20 73 75 62 73 65 74 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 65 t.to.subset:.docgen_tmp/test_coe
60ea0 72 63 65 5f 65 72 72 6f 72 5f 73 75 70 65 72 73 65 74 5f 74 6f 5f 73 75 62 73 65 74 2e 7a 69 67 rce_error_superset_to_subset.zig
60ec0 3a 31 32 3a 35 0a 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 74 72 :12:5.....remaining.reference.tr
60ee0 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 aces.hidden;.use.'-freference-tr
60f00 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 ace'.to.see.all.reference.traces
60f20 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .</span>.</samp></pre></figure>.
60f40 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 73 68 6f 72 74 ......<p>.......There.is.a.short
60f60 63 75 74 20 66 6f 72 20 64 65 63 6c 61 72 69 6e 67 20 61 6e 20 65 72 72 6f 72 20 73 65 74 20 77 cut.for.declaring.an.error.set.w
60f80 69 74 68 20 6f 6e 6c 79 20 31 20 76 61 6c 75 65 2c 20 61 6e 64 20 74 68 65 6e 20 67 65 74 74 69 ith.only.1.value,.and.then.getti
60fa0 6e 67 20 74 68 61 74 20 76 61 6c 75 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ng.that.value:.......</p>.......
60fc0 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
60fe0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 69 6e 67 6c 65 5f 76 61 ap"><cite.class="file">single_va
61000 6c 75 65 5f 65 72 72 6f 72 5f 73 65 74 5f 73 68 6f 72 74 63 75 74 2e 7a 69 67 3c 2f 63 69 74 65 lue_error_set_shortcut.zig</cite
61020 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
61040 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d lass="tok-kw">const</span>.err.=
61060 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 .<span.class="tok-kw">error</spa
61080 6e 3e 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 n>.FileNotFound;</code></pre></f
610a0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 igure>.......<p>This.is.equivale
610c0 6e 74 20 74 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 nt.to:</p>.......<figure><figcap
610e0 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 tion.class="zig-cap"><cite.class
61100 3d 22 66 69 6c 65 22 3e 73 69 6e 67 6c 65 5f 76 61 6c 75 65 5f 65 72 72 6f 72 5f 73 65 74 2e 7a ="file">single_value_error_set.z
61120 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
61140 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
61160 6e 3e 20 65 72 72 20 3d 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 n>.err.=.(<span.class="tok-kw">e
61180 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 7d 29 2e 46 69 6c 65 rror</span>.{FileNotFound}).File
611a0 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a NotFound;</code></pre></figure>.
611c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 65 63 6f 6d 65 73 20 75 73 65 ......<p>.......This.becomes.use
611e0 66 75 6c 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 66 65 72 72 65 ful.when.using.<a.href="#Inferre
61200 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 72 65 64 20 45 72 72 6f 72 20 53 65 74 d-Error-Sets">Inferred.Error.Set
61220 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 s</a>........</p>.......<h4.id="
61240 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 The-Global-Error-Set"><a.href="#
61260 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c toc-The-Global-Error-Set">The.Gl
61280 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 obal.Error.Set</a>.<a.class="hdr
612a0 22 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e c2 ".href="#The-Global-Error-Set">.
612c0 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e .</a></h4>........<p><code><span
612e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e .class="tok-type">anyerror</span
61300 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 65 72 ></code>.refers.to.the.global.er
61320 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 65 72 72 6f 72 ror.set........This.is.the.error
61340 20 73 65 74 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 65 72 72 6f 72 73 20 69 6e .set.that.contains.all.errors.in
61360 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 75 6e 69 74 2e 0a 20 20 .the.entire.compilation.unit....
61380 20 20 20 20 49 74 20 69 73 20 61 20 73 75 70 65 72 73 65 74 20 6f 66 20 61 6c 6c 20 6f 74 68 65 ....It.is.a.superset.of.all.othe
613a0 72 20 65 72 72 6f 72 20 73 65 74 73 20 61 6e 64 20 61 20 73 75 62 73 65 74 20 6f 66 20 6e 6f 6e r.error.sets.and.a.subset.of.non
613c0 65 20 6f 66 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a e.of.them........</p>.......<p>.
613e0 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 ......You.can.<a.href="#Type-Coe
61400 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 61 6e 79 20 65 72 72 6f 72 20 73 65 74 20 rcion">coerce</a>.any.error.set.
61420 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 6f 6e 65 2c 20 61 6e 64 20 79 6f 75 20 63 61 6e 20 65 to.the.global.one,.and.you.can.e
61440 78 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 63 61 73 74 20 61 6e 20 65 72 72 6f 72 20 6f 66 xplicitly.......cast.an.error.of
61460 20 74 68 65 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 20 73 65 74 20 74 6f 20 61 20 6e 6f 6e 2d 67 .the.global.error.set.to.a.non-g
61480 6c 6f 62 61 6c 20 6f 6e 65 2e 20 54 68 69 73 20 69 6e 73 65 72 74 73 20 61 20 6c 61 6e 67 75 61 lobal.one..This.inserts.a.langua
614a0 67 65 2d 6c 65 76 65 6c 0a 20 20 20 20 20 20 61 73 73 65 72 74 20 74 6f 20 6d 61 6b 65 20 73 75 ge-level.......assert.to.make.su
614c0 72 65 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 20 69 73 20 69 6e 20 66 61 63 74 20 69 6e re.the.error.value.is.in.fact.in
614e0 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 .the.destination.error.set......
61500 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 67 6c 6f 62 61 ..</p>.......<p>.......The.globa
61520 6c 20 65 72 72 6f 72 20 73 65 74 20 73 68 6f 75 6c 64 20 67 65 6e 65 72 61 6c 6c 79 20 62 65 20 l.error.set.should.generally.be.
61540 61 76 6f 69 64 65 64 20 62 65 63 61 75 73 65 20 69 74 20 70 72 65 76 65 6e 74 73 20 74 68 65 0a avoided.because.it.prevents.the.
61560 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 72 20 66 72 6f 6d 20 6b 6e 6f 77 69 6e 67 20 77 68 61 74 ......compiler.from.knowing.what
61580 20 65 72 72 6f 72 73 20 61 72 65 20 70 6f 73 73 69 62 6c 65 20 61 74 20 63 6f 6d 70 69 6c 65 2d .errors.are.possible.at.compile-
615a0 74 69 6d 65 2e 20 4b 6e 6f 77 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 65 72 72 6f 72 20 73 65 time..Knowing.......the.error.se
615c0 74 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 69 73 20 62 65 74 74 65 72 20 66 6f 72 20 t.at.compile-time.is.better.for.
615e0 67 65 6e 65 72 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 generated.documentation.and.....
61600 20 20 68 65 6c 70 66 75 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2c 20 73 75 63 68 20 61 ..helpful.error.messages,.such.a
61620 73 20 66 6f 72 67 65 74 74 69 6e 67 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 76 61 s.forgetting.a.possible.error.va
61640 6c 75 65 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 lue.in.a.<a.href="#switch">switc
61660 68 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a h</a>........</p>...............
61680 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e ......<h3.id="Error-Union-Type">
616a0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e <a.href="#toc-Error-Union-Type">
616c0 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Error.Union.Type</a>.<a.class="h
616e0 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e c2 a7 3c dr".href="#Error-Union-Type">..<
61700 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 65 72 72 /a></h3>........<p>.......An.err
61720 6f 72 20 73 65 74 20 74 79 70 65 20 61 6e 64 20 6e 6f 72 6d 61 6c 20 74 79 70 65 20 63 61 6e 20 or.set.type.and.normal.type.can.
61740 62 65 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 21 3c 2f 63 6f be.combined.with.the.<code>!</co
61760 64 65 3e 0a 20 20 20 20 20 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 20 74 6f 20 66 6f 72 de>.......binary.operator.to.for
61780 6d 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 2e 20 59 6f 75 20 61 72 65 20 6c m.an.error.union.type..You.are.l
617a0 69 6b 65 6c 79 20 74 6f 20 75 73 65 20 61 6e 0a 20 20 20 20 20 20 65 72 72 6f 72 20 75 6e 69 6f ikely.to.use.an.......error.unio
617c0 6e 20 74 79 70 65 20 6d 6f 72 65 20 6f 66 74 65 6e 20 74 68 61 6e 20 61 6e 20 65 72 72 6f 72 20 n.type.more.often.than.an.error.
617e0 73 65 74 20 74 79 70 65 20 62 79 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 set.type.by.itself........</p>..
61800 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 69 73 20 61 20 66 75 6e 63 74 69 6f .....<p>.......Here.is.a.functio
61820 6e 20 74 6f 20 70 61 72 73 65 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 20 36 34 2d 62 69 n.to.parse.a.string.into.a.64-bi
61840 74 20 69 6e 74 65 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 t.integer:.......</p>.......<fig
61860 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
61880 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 <cite.class="file">error_union_p
618a0 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f arsing_u64.zig</cite></figcaptio
618c0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
618e0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.std.=.<span.class
61900 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@import</span>(<s
61920 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 pan.class="tok-str">&quot;std&qu
61940 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ot;</span>);.<span.class="tok-kw
61960 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 49 6e 74 20 3d 20 73 74 64 2e 6d 61 74 68 ">const</span>.maxInt.=.std.math
61980 2e 6d 61 78 49 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 .maxInt;..<span.class="tok-kw">p
619a0 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ub</span>.<span.class="tok-kw">f
619c0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 61 n</span>.<span.class="tok-fn">pa
619e0 72 73 65 55 36 34 3c 2f 73 70 61 6e 3e 28 62 75 66 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 rseU64</span>(buf:.[]<span.class
61a00 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">const</span>.<span.cla
61a20 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 61 64 69 78 3a 20 ss="tok-type">u8</span>,.radix:.
61a40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e <span.class="tok-type">u8</span>
61a60 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 ).!<span.class="tok-type">u64</s
61a80 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
61aa0 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 var</span>.x:.<span.class="tok-t
61ac0 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">u64</span>.=.<span.class="t
61ae0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 ok-number">0</span>;......<span.
61b00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 62 75 66 29 20 class="tok-kw">for</span>.(buf).
61b20 7c 63 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b |c|.{.........<span.class="tok-k
61b40 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 69 67 69 74 20 3d 20 63 68 61 72 54 6f 44 69 w">const</span>.digit.=.charToDi
61b60 67 69 74 28 63 29 3b 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f git(c);..........<span.class="to
61b80 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 69 67 69 74 20 26 67 74 3b 3d 20 72 61 64 k-kw">if</span>.(digit.&gt;=.rad
61ba0 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ix).{.............<span.class="t
61bc0 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">return</span>.<span.class
61be0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 43 68 ="tok-kw">error</span>.InvalidCh
61c00 61 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ar;.........}..........<span.cla
61c20 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2a 3d 20 72 61 64 69 78 3c 2f ss="tok-comment">//.x.*=.radix</
61c40 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>.........<span.class="tok-k
61c60 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">var</span>.ov.=.<span.class="
61c80 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 tok-builtin">@mulWithOverflow</s
61ca0 70 61 6e 3e 28 78 2c 20 72 61 64 69 78 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c pan>(x,.radix);.........<span.cl
61cc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 76 5b 3c 73 70 61 6e ass="tok-kw">if</span>.(ov[<span
61ce0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 21 3d .class="tok-number">1</span>].!=
61d00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 .<span.class="tok-number">0</spa
61d20 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c n>).<span.class="tok-kw">return<
61d40 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f /span>.<span.class="tok-kw">erro
61d60 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 46 6c 6f 77 3b 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 r</span>.OverFlow;..........<spa
61d80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 64 69 n.class="tok-comment">//.x.+=.di
61da0 67 69 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 6f 76 20 3d 20 3c 73 70 61 6e 20 63 6c git</span>.........ov.=.<span.cl
61dc0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c ass="tok-builtin">@addWithOverfl
61de0 6f 77 3c 2f 73 70 61 6e 3e 28 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ow</span>(ov[<span.class="tok-nu
61e00 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 2c 20 64 69 67 69 74 29 3b 0a 20 20 20 20 20 20 20 mber">0</span>],.digit);........
61e20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">if</span>.
61e40 28 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f (ov[<span.class="tok-number">1</
61e60 73 70 61 6e 3e 5d 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 span>].!=.<span.class="tok-numbe
61e80 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 r">0</span>).<span.class="tok-kw
61ea0 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">return</span>.<span.class="tok
61ec0 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 46 6c 6f 77 3b 0a 20 20 20 20 -kw">error</span>.OverFlow;.....
61ee0 20 20 20 20 78 20 3d 20 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ....x.=.ov[<span.class="tok-numb
61f00 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 er">0</span>];.....}......<span.
61f20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 3b 0a class="tok-kw">return</span>.x;.
61f40 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e }..<span.class="tok-kw">fn</span
61f60 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 68 61 72 54 6f 44 69 67 >.<span.class="tok-fn">charToDig
61f80 69 74 3c 2f 73 70 61 6e 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 it</span>(c:.<span.class="tok-ty
61fa0 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe">u8</span>).<span.class="tok-
61fc0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 type">u8</span>.{.....<span.clas
61fe0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">return</span>.<span.c
62000 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 lass="tok-kw">switch</span>.(c).
62020 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e {.........<span.class="tok-str">
62040 27 30 27 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d '0'</span>.....<span.class="tok-
62060 73 74 72 22 3e 27 39 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 str">'9'</span>.=&gt;.c.-.<span.
62080 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 30 27 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 class="tok-str">'0'</span>,.....
620a0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 41 27 3c 2f 73 ....<span.class="tok-str">'A'</s
620c0 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 pan>.....<span.class="tok-str">'
620e0 5a 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d Z'</span>.=&gt;.c.-.<span.class=
62100 22 74 6f 6b 2d 73 74 72 22 3e 27 41 27 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 "tok-str">'A'</span>.+.<span.cla
62120 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 ss="tok-number">10</span>,......
62140 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 61 27 3c 2f 73 70 ...<span.class="tok-str">'a'</sp
62160 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7a an>.....<span.class="tok-str">'z
62180 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 '</span>.=&gt;.c.-.<span.class="
621a0 74 6f 6b 2d 73 74 72 22 3e 27 61 27 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 tok-str">'a'</span>.+.<span.clas
621c0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 s="tok-number">10</span>,.......
621e0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 ..<span.class="tok-kw">else</spa
62200 6e 3e 20 3d 26 67 74 3b 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n>.=&gt;.maxInt(<span.class="tok
62220 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 -type">u8</span>),.....};.}..<sp
62240 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 an.class="tok-kw">test</span>.<s
62260 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 72 73 65 20 pan.class="tok-str">&quot;parse.
62280 75 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 u64&quot;</span>.{.....<span.cla
622a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 ss="tok-kw">const</span>.result.
622c0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e =.<span.class="tok-kw">try</span
622e0 3e 20 70 61 72 73 65 55 36 34 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 >.parseU64(<span.class="tok-str"
62300 3e 26 71 75 6f 74 3b 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 >&quot;1234&quot;</span>,.<span.
62320 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 class="tok-number">10</span>);..
62340 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
62360 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 72 65 73 75 6c 74 20 3d 3d 20 n>.std.testing.expect(result.==.
62380 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 <span.class="tok-number">1234</s
623a0 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 pan>);.}</code></pre></figure><f
623c0 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 igure><figcaption.class="shell-c
623e0 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 ap">Shell</figcaption><pre><samp
62400 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 >$.<kbd>zig.test.error_union_par
62420 73 69 6e 67 5f 75 36 34 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 65 72 72 6f 72 5f 75 6e 69 sing_u64.zig</kbd>.1/1.error_uni
62440 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 74 65 73 74 2e 70 61 72 73 65 20 75 36 34 2e 2e 2e on_parsing_u64.test.parse.u64...
62460 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.1.tests.passed..</samp><
62480 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e /pre></figure>.......<p>.......N
624a0 6f 74 69 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 21 otice.the.return.type.is.<code>!
624c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e <span.class="tok-type">u64</span
624e0 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 66 75 ></code>..This.means.that.the.fu
62500 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 65 69 74 68 65 72 20 72 65 74 75 72 6e 73 20 61 6e 20 75 nction.......either.returns.an.u
62520 6e 73 69 67 6e 65 64 20 36 34 20 62 69 74 20 69 6e 74 65 67 65 72 2c 20 6f 72 20 61 6e 20 65 72 nsigned.64.bit.integer,.or.an.er
62540 72 6f 72 2e 20 57 65 20 6c 65 66 74 20 6f 66 66 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 0a 20 ror..We.left.off.the.error.set..
62560 20 20 20 20 20 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 21 3c .....to.the.left.of.the.<code>!<
62580 2f 63 6f 64 65 3e 2c 20 73 6f 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 69 73 20 69 6e 66 65 /code>,.so.the.error.set.is.infe
625a0 72 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 rred........</p>.......<p>......
625c0 20 57 69 74 68 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2c .Within.the.function.definition,
625e0 20 79 6f 75 20 63 61 6e 20 73 65 65 20 73 6f 6d 65 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 .you.can.see.some.return.stateme
62600 6e 74 73 20 74 68 61 74 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 61 6e 20 65 72 72 6f 72 2c 20 nts.that.return.......an.error,.
62620 61 6e 64 20 61 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 and.at.the.bottom.a.return.state
62640 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ment.that.returns.a.<code><span.
62660 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 class="tok-type">u64</span></cod
62680 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 42 6f 74 68 20 74 79 70 65 73 20 3c 61 20 68 72 65 66 e>............Both.types.<a.href
626a0 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 74 6f 20 ="#Type-Coercion">coerce</a>.to.
626c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 <code><span.class="tok-type">any
626e0 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 error</span>!<span.class="tok-ty
62700 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 pe">u64</span></code>........</p
62720 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 61 74 20 69 74 20 6c 6f 6f 6b 73 20 >.......<p>.......What.it.looks.
62740 6c 69 6b 65 20 74 6f 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 76 61 72 69 65 73 like.to.use.this.function.varies
62760 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 61 74 20 79 6f 75 27 72 65 0a 20 20 20 20 20 20 .depending.on.what.you're.......
62780 74 72 79 69 6e 67 20 74 6f 20 64 6f 2e 20 4f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 trying.to.do..One.of.the.followi
627a0 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ng:.......</p>.......<ul>.......
627c0 20 20 3c 6c 69 3e 59 6f 75 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 ..<li>You.want.to.provide.a.defa
627e0 75 6c 74 20 76 61 6c 75 65 20 69 66 20 69 74 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 72 72 6f ult.value.if.it.returned.an.erro
62800 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 69 74 20 72 65 74 75 72 6e r.</li>.........<li>If.it.return
62820 65 64 20 61 6e 20 65 72 72 6f 72 20 74 68 65 6e 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 74 ed.an.error.then.you.want.to.ret
62840 75 72 6e 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 urn.the.same.error.</li>........
62860 20 3c 6c 69 3e 59 6f 75 20 6b 6e 6f 77 20 77 69 74 68 20 63 6f 6d 70 6c 65 74 65 20 63 65 72 74 .<li>You.know.with.complete.cert
62880 61 69 6e 74 79 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f ainty.it.will.not.return.an.erro
628a0 72 2c 20 73 6f 20 77 61 6e 74 20 74 6f 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 75 6e r,.so.want.to.unconditionally.un
628c0 77 72 61 70 20 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 77 61 wrap.it.</li>.........<li>You.wa
628e0 6e 74 20 74 6f 20 74 61 6b 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 20 66 6f nt.to.take.a.different.action.fo
62900 72 20 65 61 63 68 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 r.each.possible.error.</li>.....
62920 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 63 61 74 63 68 22 3e 3c 61 20 ..</ul>.......<h4.id="catch"><a.
62940 68 72 65 66 3d 22 23 74 6f 63 2d 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 20 3c 61 20 63 href="#toc-catch">catch</a>.<a.c
62960 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 61 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c lass="hdr".href="#catch">..</a><
62980 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 72 /h4>........<p>If.you.want.to.pr
629a0 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2c 20 79 6f 75 20 63 61 6e 20 75 ovide.a.default.value,.you.can.u
629c0 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 se.the.<code><span.class="tok-kw
629e0 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 6e 61 72 79 20 6f 70 65 ">catch</span></code>.binary.ope
62a00 72 61 74 6f 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 rator:</p>.......<figure><figcap
62a20 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 tion.class="zig-cap"><cite.class
62a40 3d 22 66 69 6c 65 22 3e 63 61 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 ="file">catch.zig</cite></figcap
62a60 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
62a80 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d 20 3c 73 70 -kw">const</span>.parseU64.=.<sp
62aa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f an.class="tok-builtin">@import</
62ac0 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>(<span.class="tok-str">&quo
62ae0 74 3b 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 26 71 75 t;error_union_parsing_u64.zig&qu
62b00 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 ot;</span>).parseU64;..<span.cla
62b20 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ss="tok-kw">fn</span>.<span.clas
62b40 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 s="tok-fn">doAThing</span>(str:.
62b60 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 []<span.class="tok-type">u8</spa
62b80 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c n>).<span.class="tok-type">void<
62ba0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
62bc0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 70 61 72 73 65 55 36 34 ">const</span>.number.=.parseU64
62be0 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 (str,.<span.class="tok-number">1
62c00 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 0</span>).<span.class="tok-kw">c
62c20 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d atch</span>.<span.class="tok-num
62c40 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 ber">13</span>;....._.=.number;.
62c60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e <span.class="tok-comment">//....
62c80 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a </span>.}</code></pre></figure>.
62ca0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 6f 64 65 2c 20 3c 63 ......<p>.......In.this.code,.<c
62cc0 6f 64 65 3e 6e 75 6d 62 65 72 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 62 65 20 65 71 75 61 6c 20 ode>number</code>.will.be.equal.
62ce0 74 6f 20 74 68 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 70 61 72 73 65 64 20 73 74 72 69 6e to.the.successfully.parsed.strin
62d00 67 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 g,.or...........a.default.value.
62d20 6f 66 20 31 33 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 20 68 61 6e of.13..The.type.of.the.right.han
62d40 64 20 73 69 64 65 20 6f 66 20 74 68 65 20 62 69 6e 61 72 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e d.side.of.the.binary.<code><span
62d60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="tok-kw">catch</span></co
62d80 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 6d 75 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 de>.operator.must...............
62da0 6d 61 74 63 68 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 match.the.unwrapped.error.union.
62dc0 74 79 70 65 2c 20 6f 72 20 62 65 20 6f 66 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 type,.or.be.of.type.<code><span.
62de0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e class="tok-type">noreturn</span>
62e00 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 3c 70 3e 0a 20 20 20 </code>........</p>......<p>....
62e20 20 20 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 ...If.you.want.to.provide.a.defa
62e40 75 6c 74 20 76 61 6c 75 65 20 77 69 74 68 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ult.value.with.......<code><span
62e60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="tok-kw">catch</span></co
62e80 64 65 3e 20 61 66 74 65 72 20 70 65 72 66 6f 72 6d 69 6e 67 20 73 6f 6d 65 20 6c 6f 67 69 63 2c de>.after.performing.some.logic,
62ea0 20 79 6f 75 0a 20 20 20 20 20 20 63 61 6e 20 63 6f 6d 62 69 6e 65 20 3c 63 6f 64 65 3e 3c 73 70 .you.......can.combine.<code><sp
62ec0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-kw">catch</span></
62ee0 63 6f 64 65 3e 20 77 69 74 68 20 6e 61 6d 65 64 20 3c 61 20 68 72 65 66 3d 22 23 42 6c 6f 63 6b code>.with.named.<a.href="#Block
62f00 73 22 3e 42 6c 6f 63 6b 73 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 s">Blocks</a>:.......</p>.......
62f20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
62f40 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 61 6e 64 6c 65 5f 65 72 ap"><cite.class="file">handle_er
62f60 72 6f 72 5f 77 69 74 68 5f 63 61 74 63 68 5f 62 6c 6f 63 6b 2e 7a 69 67 2e 7a 69 67 3c 2f 63 69 ror_with_catch_block.zig.zig</ci
62f80 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
62fa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 .class="tok-kw">const</span>.par
62fc0 73 65 55 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e seU64.=.<span.class="tok-builtin
62fe0 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">@import</span>(<span.class="to
63000 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 k-str">&quot;error_union_parsing
63020 5f 75 36 34 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b _u64.zig&quot;</span>).parseU64;
63040 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
63060 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f .<span.class="tok-fn">doAThing</
63080 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 span>(str:.[]<span.class="tok-ty
630a0 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe">u8</span>).<span.class="tok-
630c0 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">void</span>.{.....<span.cl
630e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 ass="tok-kw">const</span>.number
63100 20 3d 20 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .=.parseU64(str,.<span.class="to
63120 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">10</span>).<span.class
63140 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 0a 20 20 ="tok-kw">catch</span>.blk:.{...
63160 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ......<span.class="tok-comment">
63180 2f 2f 20 64 6f 20 74 68 69 6e 67 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 //.do.things</span>.........<spa
631a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 n.class="tok-kw">break</span>.:b
631c0 6c 6b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f lk.<span.class="tok-number">13</
631e0 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 3b 0a 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 3c 73 span>;.....};....._.=.number;.<s
63200 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 75 6d 62 65 pan.class="tok-comment">//.numbe
63220 72 20 69 73 20 6e 6f 77 20 69 6e 69 74 69 61 6c 69 7a 65 64 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 r.is.now.initialized</span>.}</c
63240 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 ode></pre></figure>.............
63260 20 3c 68 34 20 69 64 3d 22 74 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 79 22 .<h4.id="try"><a.href="#toc-try"
63280 3e 74 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 >try</a>.<a.class="hdr".href="#t
632a0 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4c 65 74 27 73 20 ry">..</a></h4>........<p>Let's.
632c0 73 61 79 20 79 6f 75 20 77 61 6e 74 65 64 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 65 72 72 say.you.wanted.to.return.the.err
632e0 6f 72 20 69 66 20 79 6f 75 20 67 6f 74 20 6f 6e 65 2c 20 6f 74 68 65 72 77 69 73 65 20 63 6f 6e or.if.you.got.one,.otherwise.con
63300 74 69 6e 75 65 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6c 6f tinue.with.the.......function.lo
63320 67 69 63 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 gic:</p>.......<figure><figcapti
63340 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 on.class="zig-cap"><cite.class="
63360 66 69 6c 65 22 3e 63 61 74 63 68 5f 65 72 72 5f 72 65 74 75 72 6e 2e 7a 69 67 3c 2f 63 69 74 65 file">catch_err_return.zig</cite
63380 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
633a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 lass="tok-kw">const</span>.parse
633c0 55 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e U64.=.<span.class="tok-builtin">
633e0 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @import</span>(<span.class="tok-
63400 73 74 72 22 3e 26 71 75 6f 74 3b 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 str">&quot;error_union_parsing_u
63420 36 34 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 0a 0a 64.zig&quot;</span>).parseU64;..
63440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
63460 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 span.class="tok-fn">doAThing</sp
63480 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 an>(str:.[]<span.class="tok-type
634a0 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ">u8</span>).!<span.class="tok-t
634c0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype">void</span>.{.....<span.cla
634e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 ss="tok-kw">const</span>.number.
63500 3d 20 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b =.parseU64(str,.<span.class="tok
63520 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -number">10</span>).<span.class=
63540 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 "tok-kw">catch</span>.|err|.<spa
63560 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 n.class="tok-kw">return</span>.e
63580 72 72 3b 0a 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d rr;....._.=.number;.<span.class=
635a0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 "tok-comment">//....</span>.}</c
635c0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ode></pre></figure>.......<p>...
635e0 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 73 68 6f 72 74 63 75 74 20 66 6f 72 20 74 68 69 73 ....There.is.a.shortcut.for.this
63600 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ..The.<code><span.class="tok-kw"
63620 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 >try</span></code>.expression:..
63640 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 .....</p>.......<figure><figcapt
63660 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
63680 22 66 69 6c 65 22 3e 74 72 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f "file">try.zig</cite></figcaptio
636a0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
636c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d 20 3c 73 70 61 6e 20 ">const</span>.parseU64.=.<span.
636e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 class="tok-builtin">@import</spa
63700 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 n>(<span.class="tok-str">&quot;e
63720 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 26 71 75 6f 74 3b rror_union_parsing_u64.zig&quot;
63740 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>).parseU64;..<span.class=
63760 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "tok-kw">fn</span>.<span.class="
63780 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c tok-fn">doAThing</span>(str:.[]<
637a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 span.class="tok-type">u8</span>)
637c0 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 .!<span.class="tok-type">void</s
637e0 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
63800 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 const</span>.number.=.<span.clas
63820 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 28 73 s="tok-kw">try</span>.parseU64(s
63840 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c tr,.<span.class="tok-number">10<
63860 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 3c 73 70 61 6e 20 63 /span>);....._.=.number;.<span.c
63880 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e lass="tok-comment">//....</span>
638a0 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c .}</code></pre></figure>.......<
638c0 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d p>.......<code><span.class="tok-
638e0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 76 61 6c 75 61 74 65 73 20 kw">try</span></code>.evaluates.
63900 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 49 66 20 69 74 an.error.union.expression..If.it
63920 20 69 73 20 61 6e 20 65 72 72 6f 72 2c 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 66 .is.an.error,.it.returns.......f
63940 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 rom.the.current.function.with.th
63960 65 20 73 61 6d 65 20 65 72 72 6f 72 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 65 78 70 e.same.error..Otherwise,.the.exp
63980 72 65 73 73 69 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 74 68 65 20 75 6e 77 ression.results.in.......the.unw
639a0 72 61 70 70 65 64 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a rapped.value........</p>........
639c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 4d 61 79 62 65 20 79 6f 75 20 6b 6e 6f 77 ......<p>.........Maybe.you.know
639e0 20 77 69 74 68 20 63 6f 6d 70 6c 65 74 65 20 63 65 72 74 61 69 6e 74 79 20 74 68 61 74 20 61 6e .with.complete.certainty.that.an
63a00 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 61 6e 20 65 72 72 .expression.will.never.be.an.err
63a20 6f 72 2e 0a 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 79 6f 75 20 63 61 6e or..........In.this.case.you.can
63a40 20 64 6f 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 .do.this:.......</p>.......<code
63a60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
63a80 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 70 61 72 73 65 55 36 34 28 3c 73 70 61 6e 20 63 6c 61 73 73 n>.number.=.parseU64(<span.class
63aa0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 ="tok-str">&quot;1234&quot;</spa
63ac0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c n>,.<span.class="tok-number">10<
63ae0 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 /span>).<span.class="tok-kw">cat
63b00 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 ch</span>.<span.class="tok-kw">u
63b20 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 nreachable</span>;</code>.......
63b40 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 77 65 20 6b 6e 6f 77 20 66 6f 72 20 73 75 72 65 20 <p>.......Here.we.know.for.sure.
63b60 74 68 61 74 20 22 31 32 33 34 22 20 77 69 6c 6c 20 70 61 72 73 65 20 73 75 63 63 65 73 73 66 75 that."1234".will.parse.successfu
63b80 6c 6c 79 2e 20 53 6f 20 77 65 20 70 75 74 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c lly..So.we.put.the.......<code><
63ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c span.class="tok-kw">unreachable<
63bc0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20 72 69 67 68 74 /span></code>.value.on.the.right
63be0 20 68 61 6e 64 20 73 69 64 65 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .hand.side..<code><span.class="t
63c00 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ok-kw">unreachable</span></code>
63c20 20 67 65 6e 65 72 61 74 65 73 0a 20 20 20 20 20 20 61 20 70 61 6e 69 63 20 69 6e 20 3c 61 20 68 .generates.......a.panic.in.<a.h
63c40 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 ref="#Debug">Debug</a>.and.<a.hr
63c60 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 ef="#ReleaseSafe">ReleaseSafe</a
63c80 3e 20 6d 6f 64 65 73 20 61 6e 64 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 >.modes.and.undefined.behavior.i
63ca0 6e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 n.......<a.href="#ReleaseFast">R
63cc0 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c eleaseFast</a>.and.<a.href="#Rel
63ce0 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 6d 6f 64 65 easeSmall">ReleaseSmall</a>.mode
63d00 73 2e 20 53 6f 2c 20 77 68 69 6c 65 20 77 65 27 72 65 20 64 65 62 75 67 67 69 6e 67 20 74 68 65 s..So,.while.we're.debugging.the
63d20 0a 20 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 69 66 20 74 68 65 72 65 20 3c 65 6d .......application,.if.there.<em
63d40 3e 77 61 73 3c 2f 65 6d 3e 20 61 20 73 75 72 70 72 69 73 65 20 65 72 72 6f 72 20 68 65 72 65 2c >was</em>.a.surprise.error.here,
63d60 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 77 6f 75 6c 64 20 63 72 61 73 68 0a 20 20 20 .the.application.would.crash....
63d80 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ...appropriately........</p>....
63da0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 74 61 6b ...<p>.......You.may.want.to.tak
63dc0 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 20 66 6f 72 20 65 76 65 72 79 20 73 e.a.different.action.for.every.s
63de0 69 74 75 61 74 69 6f 6e 2e 20 46 6f 72 20 74 68 61 74 2c 20 77 65 20 63 6f 6d 62 69 6e 65 0a 20 ituation..For.that,.we.combine..
63e00 20 20 20 20 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 61 6e .....the.<a.href="#if">if</a>.an
63e20 64 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 d.<a.href="#switch">switch</a>.e
63e40 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 xpression:.......</p>.......<fig
63e60 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
63e80 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 61 6e 64 6c 65 5f 61 6c 6c 5f 65 72 <cite.class="file">handle_all_er
63ea0 72 6f 72 5f 73 63 65 6e 61 72 69 6f 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 ror_scenarios.zig</cite></figcap
63ec0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
63ee0 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d -kw">fn</span>.<span.class="tok-
63f00 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e fn">doAThing</span>(str:.[]<span
63f20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 .class="tok-type">u8</span>).<sp
63f40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 an.class="tok-type">void</span>.
63f60 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 {.....<span.class="tok-kw">if</s
63f80 70 61 6e 3e 20 28 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.(parseU64(str,.<span.class=
63fa0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 29 20 7c 6e 75 6d 62 65 72 "tok-number">10</span>)).|number
63fc0 7c 20 7b 0a 20 20 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 4e 75 6d 62 65 |.{.........doSomethingWithNumbe
63fe0 72 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r(number);.....}.<span.class="to
64000 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c k-kw">else</span>.|err|.<span.cl
64020 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 ass="tok-kw">switch</span>.(err)
64040 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .{.........<span.class="tok-kw">
64060 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 20 3d 26 67 74 3b 20 7b 0a 20 20 error</span>.Overflow.=&gt;.{...
64080 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ..........<span.class="tok-comme
640a0 6e 74 22 3e 2f 2f 20 68 61 6e 64 6c 65 20 6f 76 65 72 66 6c 6f 77 2e 2e 2e 3c 2f 73 70 61 6e 3e nt">//.handle.overflow...</span>
640c0 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .........},.........<span.class=
640e0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 65 20 70 72 6f 6d 69 73 65 20 74 68 61 74 "tok-comment">//.we.promise.that
64100 20 49 6e 76 61 6c 69 64 43 68 61 72 20 77 6f 6e 27 74 20 68 61 70 70 65 6e 20 28 6f 72 20 63 72 .InvalidChar.won't.happen.(or.cr
64120 61 73 68 20 69 6e 20 64 65 62 75 67 20 6d 6f 64 65 20 69 66 20 69 74 20 64 6f 65 73 29 3c 2f 73 ash.in.debug.mode.if.it.does)</s
64140 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>.........<span.class="tok-kw
64160 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 43 68 61 72 20 3d 26 67 74 3b ">error</span>.InvalidChar.=&gt;
64180 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c .<span.class="tok-kw">unreachabl
641a0 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f e</span>,.....}.}</code></pre></
641c0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 69 6e 61 6c 6c 79 2c figure>.......<p>.......Finally,
641e0 20 79 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 68 61 6e 64 6c 65 20 6f 6e 6c 79 20 73 6f 6d .you.may.want.to.handle.only.som
64200 65 20 65 72 72 6f 72 73 2e 20 46 6f 72 20 74 68 61 74 2c 20 79 6f 75 20 63 61 6e 20 63 61 70 74 e.errors..For.that,.you.can.capt
64220 75 72 65 20 74 68 65 20 75 6e 68 61 6e 64 6c 65 64 0a 20 20 20 20 20 20 65 72 72 6f 72 73 20 69 ure.the.unhandled.......errors.i
64240 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n.the.<code><span.class="tok-kw"
64260 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 73 65 2c 20 77 68 69 63 68 20 >else</span></code>.case,.which.
64280 6e 6f 77 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 61 72 72 6f 77 65 72 20 65 72 72 6f 72 20 73 65 now.contains.a.narrower.error.se
642a0 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 t:.......</p>.......<figure><fig
642c0 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c caption.class="zig-cap"><cite.cl
642e0 61 73 73 3d 22 66 69 6c 65 22 3e 68 61 6e 64 6c 65 5f 73 6f 6d 65 5f 65 72 72 6f 72 5f 73 63 65 ass="file">handle_some_error_sce
64300 6e 61 72 69 6f 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 narios.zig</cite></figcaption><p
64320 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e re><code><span.class="tok-kw">fn
64340 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 </span>.<span.class="tok-fn">doA
64360 6e 6f 74 68 65 72 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 notherThing</span>(str:.[]<span.
64380 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 class="tok-type">u8</span>).<spa
643a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 49 6e n.class="tok-kw">error</span>{In
643c0 76 61 6c 69 64 43 68 61 72 7d 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 validChar}!<span.class="tok-type
643e0 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">void</span>.{.....<span.class=
64400 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 73 65 55 36 34 28 73 74 72 "tok-kw">if</span>.(parseU64(str
64420 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 ,.<span.class="tok-number">10</s
64440 70 61 6e 3e 29 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 64 6f 53 6f 6d 65 pan>)).|number|.{.........doSome
64460 74 68 69 6e 67 57 69 74 68 4e 75 6d 62 65 72 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 7d 20 3c thingWithNumber(number);.....}.<
64480 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 span.class="tok-kw">else</span>.
644a0 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 |err|.<span.class="tok-kw">switc
644c0 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 h</span>.(err).{.........<span.c
644e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 lass="tok-kw">error</span>.Overf
64500 6c 6f 77 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c low.=&gt;.{.............<span.cl
64520 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 61 6e 64 6c 65 20 6f 76 65 72 ass="tok-comment">//.handle.over
64540 66 6c 6f 77 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 flow...</span>.........},.......
64560 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 ..<span.class="tok-kw">else</spa
64580 6e 3e 20 3d 26 67 74 3b 20 7c 6c 65 66 74 6f 76 65 72 5f 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c n>.=&gt;.|leftover_err|.<span.cl
645a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6c 65 66 74 6f ass="tok-kw">return</span>.lefto
645c0 76 65 72 5f 65 72 72 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ver_err,.....}.}</code></pre></f
645e0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 6d 75 73 74 20 igure>.......<p>.......You.must.
64600 75 73 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 63 61 70 74 75 72 65 20 73 79 6e 74 61 78 2e use.the.variable.capture.syntax.
64620 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 68 65 0a 20 20 20 20 20 20 76 61 72 .If.you.don't.need.the.......var
64640 69 61 62 6c 65 2c 20 79 6f 75 20 63 61 6e 20 63 61 70 74 75 72 65 20 77 69 74 68 20 3c 63 6f 64 iable,.you.can.capture.with.<cod
64660 65 3e 5f 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 76 6f 69 64 20 74 68 65 0a 20 20 20 20 20 20 3c e>_</code>.and.avoid.the.......<
64680 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 code><span.class="tok-kw">switch
646a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 </span></code>........</p>......
646c0 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d .<figure><figcaption.class="zig-
646e0 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 61 6e 64 6c 65 5f 6e cap"><cite.class="file">handle_n
64700 6f 5f 65 72 72 6f 72 5f 73 63 65 6e 61 72 69 6f 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 o_error_scenarios.zig</cite></fi
64720 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><code><span.class=
64740 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "tok-kw">fn</span>.<span.class="
64760 74 6f 6b 2d 66 6e 22 3e 64 6f 41 44 69 66 66 65 72 65 6e 74 54 68 69 6e 67 3c 2f 73 70 61 6e 3e tok-fn">doADifferentThing</span>
64780 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 (str:.[]<span.class="tok-type">u
647a0 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 8</span>).<span.class="tok-type"
647c0 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >void</span>.{.....<span.class="
647e0 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 73 65 55 36 34 28 73 74 72 2c tok-kw">if</span>.(parseU64(str,
64800 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 .<span.class="tok-number">10</sp
64820 61 6e 3e 29 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 an>)).|number|.{.........doSomet
64840 68 69 6e 67 57 69 74 68 4e 75 6d 62 65 72 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 7d 20 3c 73 hingWithNumber(number);.....}.<s
64860 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c pan.class="tok-kw">else</span>.|
64880 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f _|.{.........<span.class="tok-co
648a0 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 61 73 20 79 6f 75 27 64 20 6c 69 6b 65 3c 2f 73 70 61 6e mment">//.do.as.you'd.like</span
648c0 3e 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a >.....}.}</code></pre></figure>.
648e0 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 65 72 72 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d ......<h4.id="errdefer"><a.href=
64900 22 23 74 6f 63 2d 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 20 3c 61 20 "#toc-errdefer">errdefer</a>.<a.
64920 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 3e c2 a7 3c class="hdr".href="#errdefer">..<
64940 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 74 /a></h4>........<p>.......The.ot
64960 68 65 72 20 63 6f 6d 70 6f 6e 65 6e 74 20 74 6f 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 her.component.to.error.handling.
64980 69 73 20 64 65 66 65 72 20 73 74 61 74 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 49 6e 20 61 64 is.defer.statements........In.ad
649a0 64 69 74 69 6f 6e 20 74 6f 20 61 6e 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 3c 61 20 68 72 dition.to.an.unconditional.<a.hr
649c0 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 2c 20 5a 69 67 20 68 61 73 20 3c ef="#defer">defer</a>,.Zig.has.<
649e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 code><span.class="tok-kw">errdef
64a00 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 65 76 er</span></code>,.......which.ev
64a20 61 6c 75 61 74 65 73 20 74 68 65 20 64 65 66 65 72 72 65 64 20 65 78 70 72 65 73 73 69 6f 6e 20 aluates.the.deferred.expression.
64a40 6f 6e 20 62 6c 6f 63 6b 20 65 78 69 74 20 70 61 74 68 20 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 on.block.exit.path.if.and.only.i
64a60 66 0a 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 65 64 20 77 69 f.......the.function.returned.wi
64a80 74 68 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 th.an.error.from.the.block......
64aa0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a ..</p>.......<p>.......Example:.
64ac0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 ......</p>.......<figure><figcap
64ae0 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 tion.class="zig-cap"><cite.class
64b00 3d 22 66 69 6c 65 22 3e 65 72 72 64 65 66 65 72 5f 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 63 69 ="file">errdefer_example.zig</ci
64b20 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
64b40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 .class="tok-kw">fn</span>.<span.
64b60 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 72 65 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 class="tok-fn">createFoo</span>(
64b80 70 61 72 61 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 param:.<span.class="tok-type">i3
64ba0 32 3c 2f 73 70 61 6e 3e 29 20 21 46 6f 6f 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 2</span>).!Foo.{.....<span.class
64bc0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 3c 73 70 ="tok-kw">const</span>.foo.=.<sp
64be0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 72 79 an.class="tok-kw">try</span>.try
64c00 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ToAllocateFoo();.....<span.class
64c20 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 77 20 77 65 20 68 61 76 65 20 61 6c ="tok-comment">//.now.we.have.al
64c40 6c 6f 63 61 74 65 64 20 66 6f 6f 2e 20 77 65 20 6e 65 65 64 20 74 6f 20 66 72 65 65 20 69 74 20 located.foo..we.need.to.free.it.
64c60 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 if.the.function.fails.</span>...
64c80 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 ..<span.class="tok-comment">//.b
64ca0 75 74 20 77 65 20 77 61 6e 74 20 74 6f 20 72 65 74 75 72 6e 20 69 74 20 69 66 20 74 68 65 20 66 ut.we.want.to.return.it.if.the.f
64cc0 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 unction.succeeds.</span>.....<sp
64ce0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e an.class="tok-kw">errdefer</span
64d00 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 28 66 6f 6f 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e >.deallocateFoo(foo);......<span
64d20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 6d 70 .class="tok-kw">const</span>.tmp
64d40 5f 62 75 66 20 3d 20 61 6c 6c 6f 63 61 74 65 54 6d 70 42 75 66 66 65 72 28 29 20 3c 73 70 61 6e _buf.=.allocateTmpBuffer().<span
64d60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 .class="tok-kw">orelse</span>.<s
64d80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">return</span>
64da0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 .<span.class="tok-kw">error</spa
64dc0 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>.OutOfMemory;.....<span.class=
64de0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6d 70 5f 62 75 66 20 69 73 20 74 72 75 6c "tok-comment">//.tmp_buf.is.trul
64e00 79 20 61 20 74 65 6d 70 6f 72 61 72 79 20 72 65 73 6f 75 72 63 65 2c 20 61 6e 64 20 77 65 20 66 y.a.temporary.resource,.and.we.f
64e20 6f 72 20 73 75 72 65 20 77 61 6e 74 20 74 6f 20 63 6c 65 61 6e 20 69 74 20 75 70 3c 2f 73 70 61 or.sure.want.to.clean.it.up</spa
64e40 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 n>.....<span.class="tok-comment"
64e60 3e 2f 2f 20 62 65 66 6f 72 65 20 74 68 69 73 20 62 6c 6f 63 6b 20 6c 65 61 76 65 73 20 73 63 6f >//.before.this.block.leaves.sco
64e80 70 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b pe</span>.....<span.class="tok-k
64ea0 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 54 6d 70 42 75 66 w">defer</span>.deallocateTmpBuf
64ec0 66 65 72 28 74 6d 70 5f 62 75 66 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 fer(tmp_buf);......<span.class="
64ee0 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 61 6d 20 26 67 74 3b 20 3c 73 tok-kw">if</span>.(param.&gt;.<s
64f00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 33 37 3c 2f 73 70 61 pan.class="tok-number">1337</spa
64f20 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c n>).<span.class="tok-kw">return<
64f40 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f /span>.<span.class="tok-kw">erro
64f60 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 3b 0a 0a 20 20 20 20 3c 73 70 61 r</span>.InvalidParam;......<spa
64f80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 65 72 65 20 74 68 n.class="tok-comment">//.here.th
64fa0 65 20 65 72 72 64 65 66 65 72 20 77 69 6c 6c 20 6e 6f 74 20 72 75 6e 20 73 69 6e 63 65 20 77 65 e.errdefer.will.not.run.since.we
64fc0 27 72 65 20 72 65 74 75 72 6e 69 6e 67 20 73 75 63 63 65 73 73 20 66 72 6f 6d 20 74 68 65 20 66 're.returning.success.from.the.f
64fe0 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d unction.</span>.....<span.class=
65000 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 74 68 65 20 64 65 66 65 72 20 77 "tok-comment">//.but.the.defer.w
65020 69 6c 6c 20 72 75 6e 21 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ill.run!</span>.....<span.class=
65040 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3b 0a 7d 3c 2f 63 "tok-kw">return</span>.foo;.}</c
65060 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ode></pre></figure>.......<p>...
65080 20 20 20 20 54 68 65 20 6e 65 61 74 20 74 68 69 6e 67 20 61 62 6f 75 74 20 74 68 69 73 20 69 73 ....The.neat.thing.about.this.is
650a0 20 74 68 61 74 20 79 6f 75 20 67 65 74 20 72 6f 62 75 73 74 20 65 72 72 6f 72 20 68 61 6e 64 6c .that.you.get.robust.error.handl
650c0 69 6e 67 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 74 68 65 20 76 65 72 62 6f 73 69 74 79 20 ing.without.......the.verbosity.
650e0 61 6e 64 20 63 6f 67 6e 69 74 69 76 65 20 6f 76 65 72 68 65 61 64 20 6f 66 20 74 72 79 69 6e 67 and.cognitive.overhead.of.trying
65100 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 65 76 65 72 79 20 65 78 69 74 20 70 61 74 68 0a 20 20 .to.make.sure.every.exit.path...
65120 20 20 20 20 69 73 20 63 6f 76 65 72 65 64 2e 20 54 68 65 20 64 65 61 6c 6c 6f 63 61 74 69 6f 6e ....is.covered..The.deallocation
65140 20 63 6f 64 65 20 69 73 20 61 6c 77 61 79 73 20 64 69 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 69 .code.is.always.directly.followi
65160 6e 67 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f ng.the.allocation.code........</
65180 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 6d 6f 6e 2d 65 p>..............<h4.id="Common-e
651a0 72 72 64 65 66 65 72 2d 53 6c 69 70 2d 55 70 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d rrdefer-Slip-Ups"><a.href="#toc-
651c0 43 6f 6d 6d 6f 6e 2d 65 72 72 64 65 66 65 72 2d 53 6c 69 70 2d 55 70 73 22 3e 43 6f 6d 6d 6f 6e Common-errdefer-Slip-Ups">Common
651e0 20 65 72 72 64 65 66 65 72 20 53 6c 69 70 2d 55 70 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d .errdefer.Slip-Ups</a>.<a.class=
65200 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 6d 6f 6e 2d 65 72 72 64 65 66 65 72 2d 53 6c 69 "hdr".href="#Common-errdefer-Sli
65220 70 2d 55 70 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 p-Ups">..</a></h4>........<p>...
65240 20 20 20 20 49 74 20 73 68 6f 75 6c 64 20 62 65 20 6e 6f 74 65 64 20 74 68 61 74 20 3c 63 6f 64 ....It.should.be.noted.that.<cod
65260 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c e><span.class="tok-kw">errdefer<
65280 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 6e 6c 79 20 6c 61 /span></code>.statements.only.la
652a0 73 74 20 75 6e 74 69 6c 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b 0a 20 20 st.until.the.end.of.the.block...
652c0 20 20 20 20 74 68 65 79 20 61 72 65 20 77 72 69 74 74 65 6e 20 69 6e 2c 20 61 6e 64 20 74 68 65 ....they.are.written.in,.and.the
652e0 72 65 66 6f 72 65 20 61 72 65 20 6e 6f 74 20 72 75 6e 20 69 66 20 61 6e 20 65 72 72 6f 72 20 69 refore.are.not.run.if.an.error.i
65300 73 20 72 65 74 75 72 6e 65 64 20 6f 75 74 73 69 64 65 20 6f 66 20 74 68 61 74 20 62 6c 6f 63 6b s.returned.outside.of.that.block
65320 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 :.......</p>.......<figure><figc
65340 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
65360 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 73 6c 69 70 5f 75 70 73 ss="file">test_errdefer_slip_ups
65380 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
653a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
653c0 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.std.=.<span.class="tok-buil
653e0 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tin">@import</span>(<span.class=
65400 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;std&quot;</span>
65420 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 );.<span.class="tok-kw">const</s
65440 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 pan>.Allocator.=.std.mem.Allocat
65460 6f 72 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c or;..<span.class="tok-kw">const<
65480 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.Foo.=.<span.class="tok-kw
654a0 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 64 61 74 61 3a 20 3c 73 70 61 ">struct</span>.{.....data:.<spa
654c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d n.class="tok-type">u32</span>,.}
654e0 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e ;..<span.class="tok-kw">fn</span
65500 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 72 79 54 6f 41 6c 6c 6f >.<span.class="tok-fn">tryToAllo
65520 63 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 cateFoo</span>(allocator:.Alloca
65540 74 6f 72 29 20 21 2a 46 6f 6f 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f tor).!*Foo.{.....<span.class="to
65560 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 k-kw">return</span>.allocator.cr
65580 65 61 74 65 28 46 6f 6f 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b eate(Foo);.}..<span.class="tok-k
655a0 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e w">fn</span>.<span.class="tok-fn
655c0 22 3e 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 ">deallocateFoo</span>(allocator
655e0 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 66 6f 6f 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c :.Allocator,.foo:.*Foo).<span.cl
65600 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 ass="tok-type">void</span>.{....
65620 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 65 73 74 72 6f 79 28 66 6f 6f 29 3b 0a 7d 0a 0a 3c 73 70 61 .allocator.destroy(foo);.}..<spa
65640 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e n.class="tok-kw">fn</span>.<span
65660 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 46 6f 6f 44 61 74 61 3c 2f 73 70 61 6e .class="tok-fn">getFooData</span
65680 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c >().!<span.class="tok-type">u32<
656a0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
656c0 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">return</span>.<span.class="tok
656e0 2d 6e 75 6d 62 65 72 22 3e 36 36 36 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c -number">666</span>;.}..<span.cl
65700 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ass="tok-kw">fn</span>.<span.cla
65720 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 72 65 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 61 6c 6c ss="tok-fn">createFoo</span>(all
65740 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 70 61 72 61 6d 3a 20 3c 73 70 61 6e 20 ocator:.Allocator,.param:.<span.
65760 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 2a 46 class="tok-type">i32</span>).!*F
65780 6f 6f 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f oo.{.....<span.class="tok-kw">co
657a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 67 65 74 46 6f 6f 3a 20 7b 0a 20 20 20 20 20 nst</span>.foo.=.getFoo:.{......
657c0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 ...<span.class="tok-kw">var</spa
657e0 6e 3e 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 n>.foo.=.<span.class="tok-kw">tr
65800 79 3c 2f 73 70 61 6e 3e 20 74 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 28 61 6c 6c 6f 63 61 y</span>.tryToAllocateFoo(alloca
65820 74 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b tor);.........<span.class="tok-k
65840 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f w">errdefer</span>.deallocateFoo
65860 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 66 6f 6f 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 (allocator,.foo);.<span.class="t
65880 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 6c 79 20 6c 61 73 74 73 20 75 6e 74 69 6c 20 ok-comment">//.Only.lasts.until.
658a0 74 68 65 20 65 6e 64 20 6f 66 20 67 65 74 46 6f 6f 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 20 20 the.end.of.getFoo</span>........
658c0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 ..<span.class="tok-comment">//.C
658e0 61 6c 6c 73 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 20 6f 6e 20 65 72 72 6f 72 3c 2f 73 70 61 alls.deallocateFoo.on.error</spa
65900 6e 3e 0a 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 n>.........foo.data.=.<span.clas
65920 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 67 65 74 46 6f 6f 44 61 74 61 s="tok-kw">try</span>.getFooData
65940 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ();..........<span.class="tok-kw
65960 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 67 65 74 46 6f 6f 20 66 6f 6f 3b 0a 20 20 20 20 ">break</span>.:getFoo.foo;.....
65980 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 };......<span.class="tok-comment
659a0 22 3e 2f 2f 20 4f 75 74 73 69 64 65 20 6f 66 20 74 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 65 ">//.Outside.of.the.scope.of.the
659c0 20 65 72 72 64 65 66 65 72 2c 20 73 6f 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 .errdefer,.so</span>.....<span.c
659e0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 65 61 6c 6c 6f 63 61 74 65 lass="tok-comment">//.deallocate
65a00 46 6f 6f 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 63 61 6c 6c 65 64 20 68 65 72 65 3c 2f 73 70 61 Foo.will.not.be.called.here</spa
65a20 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f n>.....<span.class="tok-kw">if</
65a40 73 70 61 6e 3e 20 28 70 61 72 61 6d 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.(param.&gt;.<span.class="t
65a60 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 33 37 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c ok-number">1337</span>).<span.cl
65a80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e ass="tok-kw">return</span>.<span
65aa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 .class="tok-kw">error</span>.Inv
65ac0 61 6c 69 64 50 61 72 61 6d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b alidParam;......<span.class="tok
65ae0 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3b 0a 7d 0a 0a 3c 73 70 61 6e -kw">return</span>.foo;.}..<span
65b00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 .class="tok-kw">test</span>.<spa
65b20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 72 65 61 74 65 46 6f n.class="tok-str">&quot;createFo
65b40 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 o&quot;</span>.{.....<span.class
65b60 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 ="tok-kw">try</span>.std.testing
65b80 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .expectError(<span.class="tok-kw
65ba0 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 2c 20 63 72 65 ">error</span>.InvalidParam,.cre
65bc0 61 74 65 46 6f 6f 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 ateFoo(std.testing.allocator,.<s
65be0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 34 36 38 3c 2f 73 70 61 pan.class="tok-number">2468</spa
65c00 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 n>));.}</code></pre></figure><fi
65c20 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
65c40 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
65c60 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 73 6c $.<kbd>zig.test.test_errdefer_sl
65c80 69 70 5f 75 70 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 65 72 72 64 65 66 ip_ups.zig</kbd>.1/1.test_errdef
65ca0 65 72 5f 73 6c 69 70 5f 75 70 73 2e 74 65 73 74 2e 63 72 65 61 74 65 46 6f 6f 2e 2e 2e 20 4f 4b er_slip_ups.test.createFoo....OK
65cc0 0a 5b 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 30 78 37 .[gpa].(err):.memory.address.0x7
65ce0 66 31 66 30 61 34 32 38 30 30 30 20 6c 65 61 6b 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 f1f0a428000.leaked:./home/ci/act
65d00 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
65d20 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 73 6c 69 zig/docgen_tmp/test_errdefer_sli
65d40 70 5f 75 70 73 2e 7a 69 67 3a 39 3a 32 38 3a 20 30 78 31 30 33 39 34 31 66 20 69 6e 20 74 72 79 p_ups.zig:9:28:.0x103941f.in.try
65d60 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 20 28 74 65 73 74 29 0a 20 20 20 20 72 65 74 75 72 6e 20 ToAllocateFoo.(test).....return.
65d80 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 46 6f 6f 29 3b 0a 20 20 20 20 20 20 20 20 20 allocator.create(Foo);..........
65da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 ..................^./home/ci/act
65dc0 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
65de0 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 73 6c 69 zig/docgen_tmp/test_errdefer_sli
65e00 70 5f 75 70 73 2e 7a 69 67 3a 32 32 3a 33 39 3a 20 30 78 31 30 33 39 36 33 35 20 69 6e 20 63 72 p_ups.zig:22:39:.0x1039635.in.cr
65e20 65 61 74 65 46 6f 6f 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 76 61 72 20 66 6f 6f 20 3d eateFoo.(test).........var.foo.=
65e40 20 74 72 79 20 74 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 28 61 6c 6c 6f 63 61 74 6f 72 29 .try.tryToAllocateFoo(allocator)
65e60 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;...............................
65e80 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 ........^./home/ci/actions-runne
65ea0 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e r/_work/zig-bootstrap/zig/docgen
65ec0 5f 74 6d 70 2f 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 73 6c 69 70 5f 75 70 73 2e 7a 69 67 3a _tmp/test_errdefer_slip_ups.zig:
65ee0 33 39 3a 36 32 3a 20 30 78 31 30 33 39 38 37 64 20 69 6e 20 74 65 73 74 2e 63 72 65 61 74 65 46 39:62:.0x103987d.in.test.createF
65f00 6f 6f 20 28 74 65 73 74 29 0a 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 oo.(test).....try.std.testing.ex
65f20 70 65 63 74 45 72 72 6f 72 28 65 72 72 6f 72 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 2c 20 63 72 pectError(error.InvalidParam,.cr
65f40 65 61 74 65 46 6f 6f 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 32 eateFoo(std.testing.allocator,.2
65f60 34 36 38 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 468));..........................
65f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
65fa0 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 ....^./home/ci/actions-runner/_w
65fc0 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a ork/zig-bootstrap/out/host/lib/z
65fe0 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 35 38 3a ig/compiler/test_runner.zig:158:
66000 32 35 3a 20 30 78 31 30 34 39 32 62 32 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 28 74 25:.0x10492b2.in.mainTerminal.(t
66020 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 est).........if.(test_fn.func())
66040 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e .|_|.{.........................^
66060 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a ./home/ci/actions-runner/_work/z
66080 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f ig-bootstrap/out/host/lib/zig/co
660a0 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 35 3a 32 38 3a 20 30 78 mpiler/test_runner.zig:35:28:.0x
660c0 31 30 33 66 34 62 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 72 103f4bb.in.main.(test).........r
660e0 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 eturn.mainTerminal();...........
66100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 .................^./home/ci/acti
66120 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f ons-runner/_work/zig-bootstrap/o
66140 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 ut/host/lib/zig/std/start.zig:50
66160 31 3a 32 32 3a 20 30 78 31 30 33 62 61 38 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 1:22:.0x103ba89.in.posixCallMain
66180 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e AndExit.(test).............root.
661a0 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f main();......................^./
661c0 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 home/ci/actions-runner/_work/zig
661e0 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f -bootstrap/out/host/lib/zig/std/
66200 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 62 35 66 31 20 69 6e 20 5f 73 start.zig:253:5:.0x103b5f1.in._s
66220 74 61 72 74 20 28 74 65 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 tart.(test).....asm.volatile.(sw
66240 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 0a 41 6c 6c 20 itch.(native_arch).{.....^..All.
66260 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 31 20 65 72 72 6f 72 73 20 77 65 72 65 20 6c 6f 1.tests.passed..1.errors.were.lo
66280 67 67 65 64 2e 0a 31 20 74 65 73 74 73 20 6c 65 61 6b 65 64 20 6d 65 6d 6f 72 79 2e 0a 65 72 72 gged..1.tests.leaked.memory..err
662a0 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 66 or:.the.following.test.command.f
662c0 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a 0a 2f 68 6f 6d 65 2f 63 69 ailed.with.exit.code.1:./home/ci
662e0 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 /actions-runner/_work/zig-bootst
66300 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 65 32 39 31 62 36 rap/out/zig-local-cache/o/e291b6
66320 32 63 65 33 31 33 33 32 33 31 62 62 38 30 30 34 37 65 33 30 63 33 66 31 39 65 2f 74 65 73 74 0a 2ce3133231bb80047e30c3f19e/test.
66340 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </samp></pre></figure>.......<p>
66360 0a 20 20 20 20 20 20 54 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 64 65 61 6c .......To.ensure.that.<code>deal
66380 6c 6f 63 61 74 65 46 6f 6f 3c 2f 63 6f 64 65 3e 20 69 73 20 70 72 6f 70 65 72 6c 79 20 63 61 6c locateFoo</code>.is.properly.cal
663a0 6c 65 64 0a 20 20 20 20 20 20 77 68 65 6e 20 72 65 74 75 72 6e 69 6e 67 20 61 6e 20 65 72 72 6f led.......when.returning.an.erro
663c0 72 2c 20 79 6f 75 20 6d 75 73 74 20 61 64 64 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 r,.you.must.add.an.<code><span.c
663e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 lass="tok-kw">errdefer</span></c
66400 6f 64 65 3e 20 6f 75 74 73 69 64 65 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b 3a 0a 20 20 20 20 20 ode>.outside.of.the.block:......
66420 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 .</p>.......<figure><figcaption.
66440 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c class="zig-cap"><cite.class="fil
66460 65 22 3e 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 63 69 74 65 e">test_errdefer_block.zig</cite
66480 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
664a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d lass="tok-kw">const</span>.std.=
664c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f .<span.class="tok-builtin">@impo
664e0 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e rt</span>(<span.class="tok-str">
66500 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 &quot;std&quot;</span>);.<span.c
66520 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 lass="tok-kw">const</span>.Alloc
66540 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 0a 0a 3c 73 70 61 6e ator.=.std.mem.Allocator;..<span
66560 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f .class="tok-kw">const</span>.Foo
66580 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f .=.<span.class="tok-kw">struct</
665a0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 64 61 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.{.....data:.<span.class="t
665c0 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 ok-type">u32</span>,.};..<span.c
665e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
66600 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 3c 2f 73 ass="tok-fn">tryToAllocateFoo</s
66620 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 29 20 21 2a 46 6f 6f pan>(allocator:.Allocator).!*Foo
66640 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 .{.....<span.class="tok-kw">retu
66660 72 6e 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 46 6f 6f 29 3b rn</span>.allocator.create(Foo);
66680 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 .}..<span.class="tok-kw">fn</spa
666a0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 61 6c 6c 6f 63 61 n>.<span.class="tok-fn">dealloca
666c0 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f teFoo</span>(allocator:.Allocato
666e0 72 2c 20 66 6f 6f 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 r,.foo:.*Foo).<span.class="tok-t
66700 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 6c 6c 6f 63 61 74 6f 72 ype">void</span>.{.....allocator
66720 2e 64 65 73 74 72 6f 79 28 66 6f 6f 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .destroy(foo);.}..<span.class="t
66740 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ok-kw">fn</span>.<span.class="to
66760 6b 2d 66 6e 22 3e 67 65 74 46 6f 6f 44 61 74 61 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e k-fn">getFooData</span>().!<span
66780 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 .class="tok-type">u32</span>.{..
667a0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f ...<span.class="tok-kw">return</
667c0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 span>.<span.class="tok-number">6
667e0 36 36 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 66</span>;.}..<span.class="tok-k
66800 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e w">fn</span>.<span.class="tok-fn
66820 22 3e 63 72 65 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c ">createFoo</span>(allocator:.Al
66840 6c 6f 63 61 74 6f 72 2c 20 70 61 72 61 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b locator,.param:.<span.class="tok
66860 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 2a 46 6f 6f 20 7b 0a 20 20 20 20 3c -type">i32</span>).!*Foo.{.....<
66880 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
668a0 20 66 6f 6f 20 3d 20 67 65 74 46 6f 6f 3a 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 .foo.=.getFoo:.{.........<span.c
668c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 3c lass="tok-kw">var</span>.foo.=.<
668e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 span.class="tok-kw">try</span>.t
66900 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 28 61 6c 6c 6f 63 61 74 6f 72 29 3b 0a 20 20 20 20 ryToAllocateFoo(allocator);.....
66920 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 ....<span.class="tok-kw">errdefe
66940 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 28 61 6c 6c 6f 63 61 74 6f 72 r</span>.deallocateFoo(allocator
66960 2c 20 66 6f 6f 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 20 3d 20 3c 73 70 61 ,.foo);..........foo.data.=.<spa
66980 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 67 65 74 46 n.class="tok-kw">try</span>.getF
669a0 6f 6f 44 61 74 61 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ooData();..........<span.class="
669c0 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 67 65 74 46 6f 6f 20 66 6f 6f tok-kw">break</span>.:getFoo.foo
669e0 3b 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f ;.....};.....<span.class="tok-co
66a00 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 6c 61 73 74 73 20 66 6f 72 20 74 68 65 20 72 65 73 mment">//.This.lasts.for.the.res
66a20 74 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 t.of.the.function</span>.....<sp
66a40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e an.class="tok-kw">errdefer</span
66a60 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 66 6f 6f 29 3b >.deallocateFoo(allocator,.foo);
66a80 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ......<span.class="tok-comment">
66aa0 2f 2f 20 45 72 72 6f 72 20 69 73 20 6e 6f 77 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 64 //.Error.is.now.properly.handled
66ac0 20 62 79 20 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c .by.errdefer</span>.....<span.cl
66ae0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 61 6d 20 26 67 ass="tok-kw">if</span>.(param.&g
66b00 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 33 37 t;.<span.class="tok-number">1337
66b20 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 </span>).<span.class="tok-kw">re
66b40 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 turn</span>.<span.class="tok-kw"
66b60 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 3b 0a 0a 20 20 20 >error</span>.InvalidParam;.....
66b80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 .<span.class="tok-kw">return</sp
66ba0 61 6e 3e 20 66 6f 6f 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 an>.foo;.}..<span.class="tok-kw"
66bc0 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >test</span>.<span.class="tok-st
66be0 72 22 3e 26 71 75 6f 74 3b 63 72 65 61 74 65 46 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 r">&quot;createFoo&quot;</span>.
66c00 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f {.....<span.class="tok-kw">try</
66c20 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 span>.std.testing.expectError(<s
66c40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e pan.class="tok-kw">error</span>.
66c60 49 6e 76 61 6c 69 64 50 61 72 61 6d 2c 20 63 72 65 61 74 65 46 6f 6f 28 73 74 64 2e 74 65 73 74 InvalidParam,.createFoo(std.test
66c80 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ing.allocator,.<span.class="tok-
66ca0 6e 75 6d 62 65 72 22 3e 32 34 36 38 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c number">2468</span>));.}</code><
66cc0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f /pre></figure><figure><figcaptio
66ce0 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 n.class="shell-cap">Shell</figca
66d00 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 ption><pre><samp>$.<kbd>zig.test
66d20 20 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 .test_errdefer_block.zig</kbd>.1
66d40 2f 31 20 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 62 6c 6f 63 6b 2e 74 65 73 74 2e 63 72 65 61 /1.test_errdefer_block.test.crea
66d60 74 65 46 6f 6f 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a teFoo....OK.All.1.tests.passed..
66d80 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </samp></pre></figure>.......<p>
66da0 0a 20 20 20 20 20 20 54 68 65 20 66 61 63 74 20 74 68 61 74 20 65 72 72 64 65 66 65 72 73 20 6f .......The.fact.that.errdefers.o
66dc0 6e 6c 79 20 6c 61 73 74 20 66 6f 72 20 74 68 65 20 62 6c 6f 63 6b 20 74 68 65 79 20 61 72 65 20 nly.last.for.the.block.they.are.
66de0 64 65 63 6c 61 72 65 64 20 69 6e 20 69 73 0a 20 20 20 20 20 20 65 73 70 65 63 69 61 6c 6c 79 20 declared.in.is.......especially.
66e00 69 6d 70 6f 72 74 61 6e 74 20 77 68 65 6e 20 75 73 69 6e 67 20 6c 6f 6f 70 73 3a 0a 20 20 20 20 important.when.using.loops:.....
66e20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e ..</p>.......<figure><figcaption
66e40 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="zig-cap"><cite.class="fi
66e60 6c 65 22 3e 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f 70 5f 6c 65 61 6b 2e 7a 69 67 3c le">test_errdefer_loop_leak.zig<
66e80 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 /cite></figcaption><pre><code><s
66ea0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
66ec0 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e std.=.<span.class="tok-builtin">
66ee0 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @import</span>(<span.class="tok-
66f00 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 str">&quot;std&quot;</span>);.<s
66f20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
66f40 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 0a 0a Allocator.=.std.mem.Allocator;..
66f60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
66f80 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 >.Foo.=.<span.class="tok-kw">str
66fa0 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 64 61 74 61 3a 20 2a 3c 73 70 61 6e 20 63 6c uct</span>.{.....data:.*<span.cl
66fc0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 0a 7d 3b 0a 0a 3c 73 ass="tok-type">u32</span>.};..<s
66fe0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 pan.class="tok-kw">fn</span>.<sp
67000 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 44 61 74 61 3c 2f 73 70 61 6e 3e an.class="tok-fn">getData</span>
67020 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f ().!<span.class="tok-type">u32</
67040 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
67060 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >return</span>.<span.class="tok-
67080 6e 75 6d 62 65 72 22 3e 36 36 36 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 number">666</span>;.}..<span.cla
670a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ss="tok-kw">fn</span>.<span.clas
670c0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 6e 46 6f 6f 73 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 s="tok-fn">genFoos</span>(alloca
670e0 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 6e 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 tor:.Allocator,.num:.<span.class
67100 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 46 6f 6f ="tok-type">usize</span>).![]Foo
67120 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
67140 74 3c 2f 73 70 61 6e 3e 20 66 6f 6f 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t</span>.foos.=.<span.class="tok
67160 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 28 -kw">try</span>.allocator.alloc(
67180 46 6f 6f 2c 20 6e 75 6d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d Foo,.num);.....<span.class="tok-
671a0 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 kw">errdefer</span>.allocator.fr
671c0 65 65 28 66 6f 6f 73 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ee(foos);......<span.class="tok-
671e0 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 kw">for</span>.(foos,.<span.clas
67200 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 2a 66 6f 6f s="tok-number">0</span>..).|*foo
67220 2c 20 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 ,.i|.{.........foo.data.=.<span.
67240 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 class="tok-kw">try</span>.alloca
67260 74 6f 72 2e 63 72 65 61 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 tor.create(<span.class="tok-type
67280 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ">u32</span>);.........<span.cla
672a0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 65 72 72 64 65 66 65 ss="tok-comment">//.This.errdefe
672c0 72 20 64 6f 65 73 20 6e 6f 74 20 6c 61 73 74 20 62 65 74 77 65 65 6e 20 69 74 65 72 61 74 69 6f r.does.not.last.between.iteratio
672e0 6e 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ns</span>.........<span.class="t
67300 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 ok-kw">errdefer</span>.allocator
67320 2e 64 65 73 74 72 6f 79 28 66 6f 6f 2e 64 61 74 61 29 3b 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 .destroy(foo.data);..........<sp
67340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 64 61 an.class="tok-comment">//.The.da
67360 74 61 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 33 20 66 6f 6f 73 20 77 69 6c 6c 20 62 65 20 ta.for.the.first.3.foos.will.be.
67380 6c 65 61 6b 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 leaked</span>.........<span.clas
673a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 28 69 20 26 67 74 3b 3d 20 3c 73 70 s="tok-kw">if</span>(i.&gt;=.<sp
673c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-number">3</span>).
673e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 <span.class="tok-kw">return</spa
67400 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 n>.<span.class="tok-kw">error</s
67420 70 61 6e 3e 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 pan>.TooManyFoos;..........foo.d
67440 61 74 61 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ata.*.=.<span.class="tok-kw">try
67460 3c 2f 73 70 61 6e 3e 20 67 65 74 44 61 74 61 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 </span>.getData();.....}......<s
67480 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">return</span>
674a0 20 66 6f 6f 73 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 .foos;.}..<span.class="tok-kw">t
674c0 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 est</span>.<span.class="tok-str"
674e0 3e 26 71 75 6f 74 3b 67 65 6e 46 6f 6f 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 >&quot;genFoos&quot;</span>.{...
67500 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
67520 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 >.std.testing.expectError(<span.
67540 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 54 6f 6f 4d class="tok-kw">error</span>.TooM
67560 61 6e 79 46 6f 6f 73 2c 20 67 65 6e 46 6f 6f 73 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c anyFoos,.genFoos(std.testing.all
67580 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ocator,.<span.class="tok-number"
675a0 3e 35 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 >5</span>));.}</code></pre></fig
675c0 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 ure><figure><figcaption.class="s
675e0 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 hell-cap">Shell</figcaption><pre
67600 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 72 72 64 ><samp>$.<kbd>zig.test.test_errd
67620 65 66 65 72 5f 6c 6f 6f 70 5f 6c 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 efer_loop_leak.zig</kbd>.1/1.tes
67640 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f 70 5f 6c 65 61 6b 2e 74 65 73 74 2e 67 65 6e 46 6f 6f t_errdefer_loop_leak.test.genFoo
67660 73 2e 2e 2e 20 4f 4b 0a 5b 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 s....OK.[gpa].(err):.memory.addr
67680 65 73 73 20 30 78 37 66 61 66 36 35 35 39 32 30 30 30 20 6c 65 61 6b 65 64 3a 0a 2f 68 6f 6d 65 ess.0x7faf65592000.leaked:./home
676a0 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f /ci/actions-runner/_work/zig-boo
676c0 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 65 72 72 64 65 tstrap/zig/docgen_tmp/test_errde
676e0 66 65 72 5f 6c 6f 6f 70 5f 6c 65 61 6b 2e 7a 69 67 3a 31 37 3a 34 30 3a 20 30 78 31 30 33 39 37 fer_loop_leak.zig:17:40:.0x10397
67700 66 36 20 69 6e 20 67 65 6e 46 6f 6f 73 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 66 6f 6f f6.in.genFoos.(test).........foo
67720 2e 64 61 74 61 20 3d 20 74 72 79 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 75 33 32 .data.=.try.allocator.create(u32
67740 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 );..............................
67760 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e ..........^./home/ci/actions-run
67780 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 ner/_work/zig-bootstrap/zig/docg
677a0 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f 70 5f 6c 65 61 6b 2e 7a en_tmp/test_errdefer_loop_leak.z
677c0 69 67 3a 33 31 3a 35 39 3a 20 30 78 31 30 33 61 31 32 64 20 69 6e 20 74 65 73 74 2e 67 65 6e 46 ig:31:59:.0x103a12d.in.test.genF
677e0 6f 6f 73 20 28 74 65 73 74 29 0a 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 oos.(test).....try.std.testing.e
67800 78 70 65 63 74 45 72 72 6f 72 28 65 72 72 6f 72 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 2c 20 67 65 xpectError(error.TooManyFoos,.ge
67820 6e 46 6f 6f 73 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 35 29 29 nFoos(std.testing.allocator,.5))
67840 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;...............................
67860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 ............................^./h
67880 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d ome/ci/actions-runner/_work/zig-
678a0 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 bootstrap/out/host/lib/zig/compi
678c0 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 35 38 3a 32 35 3a 20 30 78 31 30 ler/test_runner.zig:158:25:.0x10
678e0 34 61 30 32 32 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 28 74 65 73 74 29 0a 20 20 20 4a022.in.mainTerminal.(test)....
67900 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 .....if.(test_fn.func()).|_|.{..
67920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 .......................^./home/c
67940 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 i/actions-runner/_work/zig-boots
67960 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 trap/out/host/lib/zig/compiler/t
67980 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 35 3a 32 38 3a 20 30 78 31 30 33 66 66 35 62 20 est_runner.zig:35:28:.0x103ff5b.
679a0 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 in.main.(test).........return.ma
679c0 69 6e 54 65 72 6d 69 6e 61 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 inTerminal();...................
679e0 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e .........^./home/ci/actions-runn
67a00 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f er/_work/zig-bootstrap/out/host/
67a20 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 lib/zig/std/start.zig:501:22:.0x
67a40 31 30 33 63 33 33 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 103c339.in.posixCallMainAndExit.
67a60 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a (test).............root.main();.
67a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f .....................^./home/ci/
67aa0 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 actions-runner/_work/zig-bootstr
67ac0 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 ap/out/host/lib/zig/std/start.zi
67ae0 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 62 65 61 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 g:253:5:.0x103bea1.in._start.(te
67b00 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 st).....asm.volatile.(switch.(na
67b20 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 0a 5b 67 70 61 5d 20 28 65 72 72 29 3a tive_arch).{.....^..[gpa].(err):
67b40 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 30 78 37 66 61 66 36 35 35 39 32 30 30 34 20 6c .memory.address.0x7faf65592004.l
67b60 65 61 6b 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f eaked:./home/ci/actions-runner/_
67b80 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d work/zig-bootstrap/zig/docgen_tm
67ba0 70 2f 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f 70 5f 6c 65 61 6b 2e 7a 69 67 3a 31 37 p/test_errdefer_loop_leak.zig:17
67bc0 3a 34 30 3a 20 30 78 31 30 33 39 37 66 36 20 69 6e 20 67 65 6e 46 6f 6f 73 20 28 74 65 73 74 29 :40:.0x10397f6.in.genFoos.(test)
67be0 0a 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 20 3d 20 74 72 79 20 61 6c 6c 6f 63 61 74 6f .........foo.data.=.try.allocato
67c00 72 2e 63 72 65 61 74 65 28 75 33 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.create(u32);..................
67c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 ......................^./home/ci
67c40 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 /actions-runner/_work/zig-bootst
67c60 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 65 72 72 64 65 66 65 72 rap/zig/docgen_tmp/test_errdefer
67c80 5f 6c 6f 6f 70 5f 6c 65 61 6b 2e 7a 69 67 3a 33 31 3a 35 39 3a 20 30 78 31 30 33 61 31 32 64 20 _loop_leak.zig:31:59:.0x103a12d.
67ca0 69 6e 20 74 65 73 74 2e 67 65 6e 46 6f 6f 73 20 28 74 65 73 74 29 0a 20 20 20 20 74 72 79 20 73 in.test.genFoos.(test).....try.s
67cc0 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 65 72 72 6f 72 2e 54 6f 6f td.testing.expectError(error.Too
67ce0 4d 61 6e 79 46 6f 6f 73 2c 20 67 65 6e 46 6f 6f 73 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c ManyFoos,.genFoos(std.testing.al
67d00 6c 6f 63 61 74 6f 72 2c 20 35 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 locator,.5));...................
67d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
67d40 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 ........^./home/ci/actions-runne
67d60 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c r/_work/zig-bootstrap/out/host/l
67d80 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a ib/zig/compiler/test_runner.zig:
67da0 31 35 38 3a 32 35 3a 20 30 78 31 30 34 61 30 32 32 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 158:25:.0x104a022.in.mainTermina
67dc0 6c 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e l.(test).........if.(test_fn.fun
67de0 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c()).|_|.{......................
67e00 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f ...^./home/ci/actions-runner/_wo
67e20 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 rk/zig-bootstrap/out/host/lib/zi
67e40 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 35 3a 32 38 g/compiler/test_runner.zig:35:28
67e60 3a 20 30 78 31 30 33 66 66 35 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 20 :.0x103ff5b.in.main.(test)......
67e80 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 29 3b 0a 20 20 20 20 20 20 ...return.mainTerminal();.......
67ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f .....................^./home/ci/
67ec0 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 actions-runner/_work/zig-bootstr
67ee0 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 ap/out/host/lib/zig/std/start.zi
67f00 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 63 33 33 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c g:501:22:.0x103c339.in.posixCall
67f20 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 MainAndExit.(test).............r
67f40 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oot.main();.....................
67f60 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b .^./home/ci/actions-runner/_work
67f80 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f /zig-bootstrap/out/host/lib/zig/
67fa0 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 62 65 61 31 20 69 std/start.zig:253:5:.0x103bea1.i
67fc0 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 n._start.(test).....asm.volatile
67fe0 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 0a .(switch.(native_arch).{.....^..
68000 5b 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 30 78 37 66 [gpa].(err):.memory.address.0x7f
68020 61 66 36 35 35 39 32 30 30 38 20 6c 65 61 6b 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 af65592008.leaked:./home/ci/acti
68040 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a ons-runner/_work/zig-bootstrap/z
68060 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f 70 ig/docgen_tmp/test_errdefer_loop
68080 5f 6c 65 61 6b 2e 7a 69 67 3a 31 37 3a 34 30 3a 20 30 78 31 30 33 39 37 66 36 20 69 6e 20 67 65 _leak.zig:17:40:.0x10397f6.in.ge
680a0 6e 46 6f 6f 73 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 20 3d 20 nFoos.(test).........foo.data.=.
680c0 74 72 79 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 75 33 32 29 3b 0a 20 20 20 20 20 try.allocator.create(u32);......
680e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
68100 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 ..^./home/ci/actions-runner/_wor
68120 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 k/zig-bootstrap/zig/docgen_tmp/t
68140 65 73 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f 70 5f 6c 65 61 6b 2e 7a 69 67 3a 33 31 3a 35 39 est_errdefer_loop_leak.zig:31:59
68160 3a 20 30 78 31 30 33 61 31 32 64 20 69 6e 20 74 65 73 74 2e 67 65 6e 46 6f 6f 73 20 28 74 65 73 :.0x103a12d.in.test.genFoos.(tes
68180 74 29 0a 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 t).....try.std.testing.expectErr
681a0 6f 72 28 65 72 72 6f 72 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 2c 20 67 65 6e 46 6f 6f 73 28 73 74 or(error.TooManyFoos,.genFoos(st
681c0 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 35 29 29 3b 0a 20 20 20 20 20 20 d.testing.allocator,.5));.......
681e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
68200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 ....................^./home/ci/a
68220 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ctions-runner/_work/zig-bootstra
68240 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 p/out/host/lib/zig/compiler/test
68260 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 35 38 3a 32 35 3a 20 30 78 31 30 34 61 30 32 32 20 69 6e _runner.zig:158:25:.0x104a022.in
68280 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 .mainTerminal.(test).........if.
682a0 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 (test_fn.func()).|_|.{..........
682c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e ...............^./home/ci/action
682e0 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 s-runner/_work/zig-bootstrap/out
68300 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e /host/lib/zig/compiler/test_runn
68320 65 72 2e 7a 69 67 3a 33 35 3a 32 38 3a 20 30 78 31 30 33 66 66 35 62 20 69 6e 20 6d 61 69 6e 20 er.zig:35:28:.0x103ff5b.in.main.
68340 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e (test).........return.mainTermin
68360 61 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 al();...........................
68380 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b .^./home/ci/actions-runner/_work
683a0 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f /zig-bootstrap/out/host/lib/zig/
683c0 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 63 33 33 39 20 std/start.zig:501:22:.0x103c339.
683e0 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 0a 20 in.posixCallMainAndExit.(test)..
68400 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 ...........root.main();.........
68420 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d .............^./home/ci/actions-
68440 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 runner/_work/zig-bootstrap/out/h
68460 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a ost/lib/zig/std/start.zig:253:5:
68480 20 30 78 31 30 33 62 65 61 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 0a 20 20 20 20 .0x103bea1.in._start.(test).....
684a0 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 asm.volatile.(switch.(native_arc
684c0 68 29 20 7b 0a 20 20 20 20 5e 0a 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a h).{.....^..All.1.tests.passed..
684e0 33 20 65 72 72 6f 72 73 20 77 65 72 65 20 6c 6f 67 67 65 64 2e 0a 31 20 74 65 73 74 73 20 6c 65 3.errors.were.logged..1.tests.le
68500 61 6b 65 64 20 6d 65 6d 6f 72 79 2e 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e aked.memory..error:.the.followin
68520 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 g.test.command.failed.with.exit.
68540 63 6f 64 65 20 31 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f code.1:./home/ci/actions-runner/
68560 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 _work/zig-bootstrap/out/zig-loca
68580 6c 2d 63 61 63 68 65 2f 6f 2f 32 30 65 31 30 33 38 31 38 64 33 30 37 62 34 38 38 36 38 35 32 34 l-cache/o/20e103818d307b48868524
685a0 62 62 63 38 33 39 35 39 32 34 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 bbc8395924/test.</samp></pre></f
685c0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 70 65 63 69 61 6c 20 63 igure>.......<p>.......Special.c
685e0 61 72 65 20 6d 75 73 74 20 62 65 20 74 61 6b 65 6e 20 77 69 74 68 20 63 6f 64 65 20 74 68 61 74 are.must.be.taken.with.code.that
68600 20 61 6c 6c 6f 63 61 74 65 73 20 69 6e 20 61 20 6c 6f 6f 70 0a 20 20 20 20 20 20 74 6f 20 6d 61 .allocates.in.a.loop.......to.ma
68620 6b 65 20 73 75 72 65 20 74 68 61 74 20 6e 6f 20 6d 65 6d 6f 72 79 20 69 73 20 6c 65 61 6b 65 64 ke.sure.that.no.memory.is.leaked
68640 20 77 68 65 6e 20 72 65 74 75 72 6e 69 6e 67 20 61 6e 20 65 72 72 6f 72 3a 0a 20 20 20 20 20 20 .when.returning.an.error:.......
68660 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
68680 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
686a0 22 3e 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ">test_errdefer_loop.zig</cite><
686c0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><code><span.cla
686e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c ss="tok-kw">const</span>.std.=.<
68700 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 span.class="tok-builtin">@import
68720 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
68740 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 uot;std&quot;</span>);.<span.cla
68760 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 ss="tok-kw">const</span>.Allocat
68780 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 0a 0a 3c 73 70 61 6e 20 63 or.=.std.mem.Allocator;..<span.c
687a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d lass="tok-kw">const</span>.Foo.=
687c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 .<span.class="tok-kw">struct</sp
687e0 61 6e 3e 20 7b 0a 20 20 20 20 64 61 74 61 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an>.{.....data:.*<span.class="to
68800 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 k-type">u32</span>.};..<span.cla
68820 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ss="tok-kw">fn</span>.<span.clas
68840 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 44 61 74 61 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 s="tok-fn">getData</span>().!<sp
68860 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b an.class="tok-type">u32</span>.{
68880 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e .....<span.class="tok-kw">return
688a0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 </span>.<span.class="tok-number"
688c0 3e 36 36 36 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >666</span>;.}..<span.class="tok
688e0 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d -kw">fn</span>.<span.class="tok-
68900 66 6e 22 3e 67 65 6e 46 6f 6f 73 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c fn">genFoos</span>(allocator:.Al
68920 6c 6f 63 61 74 6f 72 2c 20 6e 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 locator,.num:.<span.class="tok-t
68940 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 46 6f 6f 20 7b 0a 20 20 20 20 ype">usize</span>).![]Foo.{.....
68960 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
68980 3e 20 66 6f 6f 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 >.foos.=.<span.class="tok-kw">tr
689a0 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 28 46 6f 6f 2c 20 6e 75 y</span>.allocator.alloc(Foo,.nu
689c0 6d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 m);.....<span.class="tok-kw">err
689e0 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 66 6f 6f 73 defer</span>.allocator.free(foos
68a00 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 );......<span.class="tok-comment
68a20 22 3e 2f 2f 20 55 73 65 64 20 74 6f 20 74 72 61 63 6b 20 68 6f 77 20 6d 61 6e 79 20 66 6f 6f 73 ">//.Used.to.track.how.many.foos
68a40 20 68 61 76 65 20 62 65 65 6e 20 69 6e 69 74 69 61 6c 69 7a 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 .have.been.initialized</span>...
68a60 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 28 ..<span.class="tok-comment">//.(
68a80 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 69 72 20 64 61 74 61 20 62 65 69 6e 67 20 61 6c 6c 6f 63 including.their.data.being.alloc
68aa0 61 74 65 64 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ated)</span>.....<span.class="to
68ac0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 5f 61 6c 6c 6f 63 61 74 65 64 3a 20 k-kw">var</span>.num_allocated:.
68ae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 <span.class="tok-type">usize</sp
68b00 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 an>.=.<span.class="tok-number">0
68b20 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>;.....<span.class="tok-kw
68b40 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">errdefer</span>.<span.class="t
68b60 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 73 5b 3c 73 70 61 6e 20 63 6c ok-kw">for</span>.(foos[<span.cl
68b80 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 6e 75 6d 5f 61 ass="tok-number">0</span>..num_a
68ba0 6c 6c 6f 63 61 74 65 64 5d 29 20 7c 66 6f 6f 7c 20 7b 0a 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 llocated]).|foo|.{.........alloc
68bc0 61 74 6f 72 2e 64 65 73 74 72 6f 79 28 66 6f 6f 2e 64 61 74 61 29 3b 0a 20 20 20 20 7d 3b 0a 20 ator.destroy(foo.data);.....};..
68be0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 ...<span.class="tok-kw">for</spa
68c00 6e 3e 20 28 66 6f 6f 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 n>.(foos,.<span.class="tok-numbe
68c20 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 2a 66 6f 6f 2c 20 69 7c 20 7b 0a 20 20 20 20 20 r">0</span>..).|*foo,.i|.{......
68c40 20 20 20 66 6f 6f 2e 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ...foo.data.=.<span.class="tok-k
68c60 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 3c w">try</span>.allocator.create(<
68c80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">u32</span>
68ca0 29 3b 0a 20 20 20 20 20 20 20 20 6e 75 6d 5f 61 6c 6c 6f 63 61 74 65 64 20 2b 3d 20 3c 73 70 61 );.........num_allocated.+=.<spa
68cc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a n.class="tok-number">1</span>;..
68ce0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c ........<span.class="tok-kw">if<
68d00 2f 73 70 61 6e 3e 20 28 69 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.(i.&gt;=.<span.class="tok
68d20 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">3</span>).<span.class="
68d40 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">return</span>.<span.clas
68d60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 54 6f 6f 4d 61 6e 79 46 s="tok-kw">error</span>.TooManyF
68d80 6f 6f 73 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 2e 2a 20 3d 20 3c 73 70 61 6e oos;..........foo.data.*.=.<span
68da0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 67 65 74 44 61 .class="tok-kw">try</span>.getDa
68dc0 74 61 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ta();.....}......<span.class="to
68de0 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 6f 6f 73 3b 0a 7d 0a 0a 3c 73 70 k-kw">return</span>.foos;.}..<sp
68e00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 an.class="tok-kw">test</span>.<s
68e20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 65 6e 46 6f 6f pan.class="tok-str">&quot;genFoo
68e40 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 s&quot;</span>.{.....<span.class
68e60 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 ="tok-kw">try</span>.std.testing
68e80 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .expectError(<span.class="tok-kw
68ea0 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 2c 20 67 65 6e 46 ">error</span>.TooManyFoos,.genF
68ec0 6f 6f 73 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e oos(std.testing.allocator,.<span
68ee0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 29 3b 0a .class="tok-number">5</span>));.
68f00 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
68f20 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
68f40 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
68f60 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f 70 2e 7a 69 67 >zig.test.test_errdefer_loop.zig
68f80 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f 70 2e 74 65 </kbd>.1/1.test_errdefer_loop.te
68fa0 73 74 2e 67 65 6e 46 6f 6f 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 st.genFoos....OK.All.1.tests.pas
68fc0 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 sed..</samp></pre></figure>.....
68fe0 20 20 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 63 6f 75 70 6c 65 20 6f 66 20 6f .........<p>.......A.couple.of.o
69000 74 68 65 72 20 74 69 64 62 69 74 73 20 61 62 6f 75 74 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e ther.tidbits.about.error.handlin
69020 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 g:.......</p>.......<ul>........
69040 20 3c 6c 69 3e 54 68 65 73 65 20 70 72 69 6d 69 74 69 76 65 73 20 67 69 76 65 20 65 6e 6f 75 67 .<li>These.primitives.give.enoug
69060 68 20 65 78 70 72 65 73 73 69 76 65 6e 65 73 73 20 74 68 61 74 20 69 74 27 73 20 63 6f 6d 70 6c h.expressiveness.that.it's.compl
69080 65 74 65 6c 79 20 70 72 61 63 74 69 63 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 68 etely.practical.............to.h
690a0 61 76 65 20 66 61 69 6c 69 6e 67 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 61 6e 20 65 72 72 6f ave.failing.to.check.for.an.erro
690c0 72 20 62 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 20 49 66 20 79 6f 75 20 72 65 61 r.be.a.compile.error..If.you.rea
690e0 6c 6c 79 20 77 61 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 69 67 6e 6f 72 65 20 74 lly.want.............to.ignore.t
69100 68 65 20 65 72 72 6f 72 2c 20 79 6f 75 20 63 61 6e 20 61 64 64 20 3c 63 6f 64 65 3e 3c 73 70 61 he.error,.you.can.add.<code><spa
69120 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 n.class="tok-kw">catch</span>.<s
69140 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f pan.class="tok-kw">unreachable</
69160 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 span></code>.and.............get
69180 20 74 68 65 20 61 64 64 65 64 20 62 65 6e 65 66 69 74 20 6f 66 20 63 72 61 73 68 69 6e 67 20 69 .the.added.benefit.of.crashing.i
691a0 6e 20 44 65 62 75 67 20 61 6e 64 20 52 65 6c 65 61 73 65 53 61 66 65 20 6d 6f 64 65 73 20 69 66 n.Debug.and.ReleaseSafe.modes.if
691c0 20 79 6f 75 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 77 61 73 20 77 72 6f 6e 67 2e 0a 20 20 20 20 .your.assumption.was.wrong......
691e0 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ....</li>.........<li>..........
69200 20 53 69 6e 63 65 20 5a 69 67 20 75 6e 64 65 72 73 74 61 6e 64 73 20 65 72 72 6f 72 20 74 79 70 .Since.Zig.understands.error.typ
69220 65 73 2c 20 69 74 20 63 61 6e 20 70 72 65 2d 77 65 69 67 68 74 20 62 72 61 6e 63 68 65 73 20 69 es,.it.can.pre-weight.branches.i
69240 6e 20 66 61 76 6f 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 73 20 6e 6f 74 20 n.favor.of...........errors.not.
69260 6f 63 63 75 72 72 69 6e 67 2e 20 4a 75 73 74 20 61 20 73 6d 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 occurring..Just.a.small.optimiza
69280 74 69 6f 6e 20 62 65 6e 65 66 69 74 20 74 68 61 74 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 tion.benefit.that.is.not.availab
692a0 6c 65 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 2e le...........in.other.languages.
692c0 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 .........</li>.......</ul>......
692e0 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 .<p>See.also:</p><ul>.<li><a.hre
69300 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 f="#defer">defer</a></li>.<li><a
69320 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 .href="#if">if</a></li>.<li><a.h
69340 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f ref="#switch">switch</a></li>.</
69360 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 69 73 ul>.........<p>An.error.union.is
69380 20 63 72 65 61 74 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 21 3c 2f 63 6f 64 65 3e .created.with.the.<code>!</code>
693a0 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 .binary.operator........You.can.
693c0 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 use.compile-time.reflection.to.a
693e0 63 63 65 73 73 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 ccess.the.child.type.of.an.error
69400 20 75 6e 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 .union:</p>.......<figure><figca
69420 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 ption.class="zig-cap"><cite.clas
69440 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 s="file">test_error_union.zig</c
69460 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 ite></figcaption><pre><code><spa
69480 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 n.class="tok-kw">const</span>.ex
694a0 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 pect.=.<span.class="tok-builtin"
694c0 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@import</span>(<span.class="tok
694e0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 -str">&quot;std&quot;</span>).te
69500 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d sting.expect;..<span.class="tok-
69520 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b kw">test</span>.<span.class="tok
69540 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 -str">&quot;error.union&quot;</s
69560 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
69580 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b var</span>.foo:.<span.class="tok
695a0 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 -type">anyerror</span>!<span.cla
695c0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">i32</span>.=.<span
695e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 .class="tok-null">undefined</spa
69600 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e n>;......<span.class="tok-commen
69620 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 6f 6d 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 t">//.Coerce.from.child.type.of.
69640 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 66 6f 6f 20 3d an.error.union:</span>.....foo.=
69660 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f .<span.class="tok-number">1234</
69680 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d span>;......<span.class="tok-com
696a0 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 6f 6d 20 61 6e 20 65 72 72 6f 72 20 73 65 ment">//.Coerce.from.an.error.se
696c0 74 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t:</span>.....foo.=.<span.class=
696e0 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6f 6d 65 45 72 72 6f 72 3b "tok-kw">error</span>.SomeError;
69700 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e ......<span.class="tok-comment">
69720 2f 2f 20 55 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 //.Use.compile-time.reflection.t
69740 6f 20 61 63 63 65 73 73 20 74 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 20 61 6e 20 o.access.the.payload.type.of.an.
69760 65 72 72 6f 72 20 75 6e 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c error.union:</span>.....<span.cl
69780 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ass="tok-kw">try</span>.<span.cl
697a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 ass="tok-kw">comptime</span>.exp
697c0 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 ect(<span.class="tok-builtin">@t
697e0 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ypeInfo</span>(<span.class="tok-
69800 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 45 72 builtin">@TypeOf</span>(foo)).Er
69820 72 6f 72 55 6e 69 6f 6e 2e 70 61 79 6c 6f 61 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d rorUnion.payload.==.<span.class=
69840 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 "tok-type">i32</span>);......<sp
69860 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 6f an.class="tok-comment">//.Use.co
69880 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 mpile-time.reflection.to.access.
698a0 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 the.error.set.type.of.an.error.u
698c0 6e 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nion:</span>.....<span.class="to
698e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f k-kw">try</span>.<span.class="to
69900 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 k-kw">comptime</span>.expect(<sp
69920 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f an.class="tok-builtin">@typeInfo
69940 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e </span>(<span.class="tok-builtin
69960 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 45 72 72 6f 72 55 6e 69 6f ">@TypeOf</span>(foo)).ErrorUnio
69980 6e 2e 65 72 72 6f 72 5f 73 65 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.error_set.==.<span.class="tok-
699a0 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e type">anyerror</span>);.}</code>
699c0 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 </pre></figure><figure><figcapti
699e0 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 on.class="shell-cap">Shell</figc
69a00 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
69a20 74 20 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 t.test_error_union.zig</kbd>.1/1
69a40 20 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 74 65 73 74 2e 65 72 72 6f 72 20 75 6e 69 .test_error_union.test.error.uni
69a60 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 on....OK.All.1.tests.passed..</s
69a80 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 amp></pre></figure>.......<h4.id
69aa0 3d 22 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 ="Merging-Error-Sets"><a.href="#
69ac0 74 6f 63 2d 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 toc-Merging-Error-Sets">Merging.
69ae0 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 Error.Sets</a>.<a.class="hdr".hr
69b00 65 66 3d 22 23 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e c2 a7 3c 2f 61 3e 3c ef="#Merging-Error-Sets">..</a><
69b20 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 74 68 65 20 3c 63 /h4>........<p>.......Use.the.<c
69b40 6f 64 65 3e 7c 7c 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 74 6f 20 6d 65 72 67 65 20 ode>||</code>.operator.to.merge.
69b60 74 77 6f 20 65 72 72 6f 72 20 73 65 74 73 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 20 72 65 73 two.error.sets.together..The.res
69b80 75 6c 74 69 6e 67 0a 20 20 20 20 20 20 65 72 72 6f 72 20 73 65 74 20 63 6f 6e 74 61 69 6e 73 20 ulting.......error.set.contains.
69ba0 74 68 65 20 65 72 72 6f 72 73 20 6f 66 20 62 6f 74 68 20 65 72 72 6f 72 20 73 65 74 73 2e 20 44 the.errors.of.both.error.sets..D
69bc0 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 6c 65 66 74 2d 68 61 6e 64 0a 20 oc.comments.from.the.left-hand..
69be0 20 20 20 20 20 73 69 64 65 20 6f 76 65 72 72 69 64 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 .....side.override.doc.comments.
69c00 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 2d 68 61 6e 64 20 73 69 64 65 2e 20 49 6e 20 74 68 69 from.the.right-hand.side..In.thi
69c20 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 64 6f 63 0a 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 s.example,.the.doc.......comment
69c40 73 20 66 6f 72 20 3c 63 6f 64 65 3e 43 2e 50 61 74 68 4e 6f 74 46 6f 75 6e 64 3c 2f 63 6f 64 65 s.for.<code>C.PathNotFound</code
69c60 3e 20 69 73 20 3c 63 6f 64 65 3e 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 63 6f 64 65 3e 2e >.is.<code>A.doc.comment</code>.
69c80 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 .......</p>.......<p>.......This
69ca0 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 66 75 6e 63 74 69 .is.especially.useful.for.functi
69cc0 6f 6e 73 20 77 68 69 63 68 20 72 65 74 75 72 6e 20 64 69 66 66 65 72 65 6e 74 20 65 72 72 6f 72 ons.which.return.different.error
69ce0 20 73 65 74 73 20 64 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e 20 3c 61 20 68 72 65 66 .sets.depending.......on.<a.href
69d00 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 72 61 6e 63 68 ="#comptime">comptime</a>.branch
69d20 65 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 5a 69 67 20 73 74 61 6e 64 61 72 es..For.example,.the.Zig.standar
69d40 64 20 6c 69 62 72 61 72 79 20 75 73 65 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 4c 69 6e 75 78 d.library.uses.......<code>Linux
69d60 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 7c 7c 20 57 69 6e 64 6f 77 73 46 69 6c 65 4f 70 65 6e FileOpenError.||.WindowsFileOpen
69d80 45 72 72 6f 72 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 6f Error</code>.for.the.error.set.o
69da0 66 20 6f 70 65 6e 69 6e 67 0a 20 20 20 20 20 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 f.opening.......files........</p
69dc0 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
69de0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 s="zig-cap"><cite.class="file">t
69e00 65 73 74 5f 6d 65 72 67 69 6e 67 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 63 69 74 65 est_merging_error_sets.zig</cite
69e20 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
69e40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 20 3d 20 3c lass="tok-kw">const</span>.A.=.<
69e60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e span.class="tok-kw">error</span>
69e80 7b 0a 20 20 20 20 4e 6f 74 44 69 72 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 {.....NotDir,......<span.class="
69ea0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f tok-comment">///.A.doc.comment</
69ec0 73 70 61 6e 3e 0a 20 20 20 20 50 61 74 68 4e 6f 74 46 6f 75 6e 64 2c 0a 7d 3b 0a 3c 73 70 61 6e span>.....PathNotFound,.};.<span
69ee0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 20 3d .class="tok-kw">const</span>.B.=
69f00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 .<span.class="tok-kw">error</spa
69f20 6e 3e 7b 0a 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 n>{.....OutOfMemory,......<span.
69f40 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 42 20 64 6f 63 20 63 6f class="tok-comment">///.B.doc.co
69f60 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 50 61 74 68 4e 6f 74 46 6f 75 6e 64 2c 0a 7d mment</span>.....PathNotFound,.}
69f80 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ;..<span.class="tok-kw">const</s
69fa0 70 61 6e 3e 20 43 20 3d 20 41 20 7c 7c 20 42 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>.C.=.A.||.B;..<span.class="t
69fc0 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ok-kw">fn</span>.<span.class="to
69fe0 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 43 21 3c 73 70 61 6e 20 63 6c 61 73 73 k-fn">foo</span>().C!<span.class
6a000 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ="tok-type">void</span>.{.....<s
6a020 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">return</span>
6a040 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 .<span.class="tok-kw">error</spa
6a060 6e 3e 2e 4e 6f 74 44 69 72 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b n>.NotDir;.}..<span.class="tok-k
6a080 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">test</span>.<span.class="tok-
6a0a0 73 74 72 22 3e 26 71 75 6f 74 3b 6d 65 72 67 65 20 65 72 72 6f 72 20 73 65 74 73 26 71 75 6f 74 str">&quot;merge.error.sets&quot
6a0c0 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
6a0e0 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 kw">if</span>.(foo()).{.........
6a100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 <span.class="tok-builtin">@panic
6a120 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
6a140 75 6f 74 3b 75 6e 65 78 70 65 63 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 uot;unexpected&quot;</span>);...
6a160 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 ..}.<span.class="tok-kw">else</s
6a180 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.|err|.<span.class="tok-kw">
6a1a0 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 switch</span>.(err).{.........<s
6a1c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e pan.class="tok-kw">error</span>.
6a1e0 4f 75 74 4f 66 4d 65 6d 6f 72 79 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 OutOfMemory.=&gt;.<span.class="t
6a200 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 ok-builtin">@panic</span>(<span.
6a220 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 65 78 70 65 63 74 65 64 class="tok-str">&quot;unexpected
6a240 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c &quot;</span>),.........<span.cl
6a260 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 50 61 74 68 4e 6f ass="tok-kw">error</span>.PathNo
6a280 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 tFound.=&gt;.<span.class="tok-bu
6a2a0 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 iltin">@panic</span>(<span.class
6a2c0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 65 78 70 65 63 74 65 64 26 71 75 6f 74 ="tok-str">&quot;unexpected&quot
6a2e0 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;</span>),.........<span.class="
6a300 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4e 6f 74 44 69 72 20 3d 26 67 74 tok-kw">error</span>.NotDir.=&gt
6a320 3b 20 7b 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ;.{},.....}.}</code></pre></figu
6a340 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
6a360 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
6a380 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6d 65 72 67 69 <samp>$.<kbd>zig.test.test_mergi
6a3a0 6e 67 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 ng_error_sets.zig</kbd>.1/1.test
6a3c0 5f 6d 65 72 67 69 6e 67 5f 65 72 72 6f 72 5f 73 65 74 73 2e 74 65 73 74 2e 6d 65 72 67 65 20 65 _merging_error_sets.test.merge.e
6a3e0 72 72 6f 72 20 73 65 74 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 rror.sets....OK.All.1.tests.pass
6a400 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 ed..</samp></pre></figure>......
6a420 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 ........<h4.id="Inferred-Error-S
6a440 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 66 65 72 72 65 64 2d 45 72 72 6f ets"><a.href="#toc-Inferred-Erro
6a460 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 72 65 64 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 20 r-Sets">Inferred.Error.Sets</a>.
6a480 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 66 65 72 72 65 64 2d 45 <a.class="hdr".href="#Inferred-E
6a4a0 72 72 6f 72 2d 53 65 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 rror-Sets">..</a></h4>........<p
6a4c0 3e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 6d 61 6e 79 20 66 75 6e 63 74 69 6f 6e 73 20 69 >.......Because.many.functions.i
6a4e0 6e 20 5a 69 67 20 72 65 74 75 72 6e 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 2c 20 5a n.Zig.return.a.possible.error,.Z
6a500 69 67 20 73 75 70 70 6f 72 74 73 20 69 6e 66 65 72 72 69 6e 67 20 74 68 65 20 65 72 72 6f 72 20 ig.supports.inferring.the.error.
6a520 73 65 74 2e 0a 20 20 20 20 20 20 54 6f 20 69 6e 66 65 72 20 74 68 65 20 65 72 72 6f 72 20 73 65 set........To.infer.the.error.se
6a540 74 20 66 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 70 72 65 70 65 6e 64 20 74 68 65 20 3c 63 t.for.a.function,.prepend.the.<c
6a560 6f 64 65 3e 21 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 74 6f 20 74 68 65 20 66 75 6e ode>!</code>.operator.to.the.fun
6a580 63 74 69 6f 6e e2 80 99 73 20 72 65 74 75 72 6e 20 74 79 70 65 2c 20 6c 69 6b 65 20 3c 63 6f 64 ction...s.return.type,.like.<cod
6a5a0 65 3e 21 54 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 e>!T</code>:.......</p>.......<f
6a5c0 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 igure><figcaption.class="zig-cap
6a5e0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 66 65 72 72 "><cite.class="file">test_inferr
6a600 65 64 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 ed_error_sets.zig</cite></figcap
6a620 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
6a640 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 61 6e 20 69 6e 66 65 72 72 65 64 20 65 72 -comment">//.With.an.inferred.er
6a660 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ror.set</span>.<span.class="tok-
6a680 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d kw">pub</span>.<span.class="tok-
6a6a0 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
6a6c0 6e 22 3e 61 64 64 5f 69 6e 66 65 72 72 65 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 n">add_inferred</span>(<span.cla
6a6e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c ss="tok-kw">comptime</span>.T:.<
6a700 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e span.class="tok-type">type</span
6a720 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 21 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c >,.a:.T,.b:.T).!T.{.....<span.cl
6a740 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 76 20 3d 20 3c ass="tok-kw">const</span>.ov.=.<
6a760 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 span.class="tok-builtin">@addWit
6a780 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 0a 20 20 20 20 3c 73 70 61 hOverflow</span>(a,.b);.....<spa
6a7a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 76 5b 3c n.class="tok-kw">if</span>.(ov[<
6a7c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e span.class="tok-number">1</span>
6a7e0 5d 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c ].!=.<span.class="tok-number">0<
6a800 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 /span>).<span.class="tok-kw">ret
6a820 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e urn</span>.<span.class="tok-kw">
6a840 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 3b 0a 20 20 20 20 3c 73 70 61 6e error</span>.Overflow;.....<span
6a860 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 76 .class="tok-kw">return</span>.ov
6a880 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 [<span.class="tok-number">0</spa
6a8a0 6e 3e 5d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 n>];.}..<span.class="tok-comment
6a8c0 22 3e 2f 2f 20 57 69 74 68 20 61 6e 20 65 78 70 6c 69 63 69 74 20 65 72 72 6f 72 20 73 65 74 3c ">//.With.an.explicit.error.set<
6a8e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c /span>.<span.class="tok-kw">pub<
6a900 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f /span>.<span.class="tok-kw">fn</
6a920 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 5f 65 span>.<span.class="tok-fn">add_e
6a940 78 70 6c 69 63 69 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d xplicit</span>(<span.class="tok-
6a960 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 kw">comptime</span>.T:.<span.cla
6a980 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c ss="tok-type">type</span>,.a:.T,
6a9a0 20 62 3a 20 54 29 20 45 72 72 6f 72 21 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .b:.T).Error!T.{.....<span.class
6a9c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 76 20 3d 20 3c 73 70 61 ="tok-kw">const</span>.ov.=.<spa
6a9e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 n.class="tok-builtin">@addWithOv
6aa00 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 erflow</span>(a,.b);.....<span.c
6aa20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 76 5b 3c 73 70 61 lass="tok-kw">if</span>.(ov[<spa
6aa40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 21 n.class="tok-number">1</span>].!
6aa60 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 =.<span.class="tok-number">0</sp
6aa80 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e an>).<span.class="tok-kw">return
6aaa0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 </span>.<span.class="tok-kw">err
6aac0 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c or</span>.Overflow;.....<span.cl
6aae0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 76 5b 3c 73 ass="tok-kw">return</span>.ov[<s
6ab00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">0</span>]
6ab20 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ;.}..<span.class="tok-kw">const<
6ab40 2f 73 70 61 6e 3e 20 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.Error.=.<span.class="tok-
6ab60 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 4f 76 65 72 66 6c 6f 77 2c kw">error</span>.{.....Overflow,
6ab80 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .};..<span.class="tok-kw">const<
6aba0 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.std.=.<span.class="tok-bu
6abc0 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
6abe0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;std&quot;</spa
6ac00 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c n>);..<span.class="tok-kw">test<
6ac20 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>.<span.class="tok-str">&qu
6ac40 6f 74 3b 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 ot;inferred.error.set&quot;</spa
6ac60 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 n>.{.....<span.class="tok-kw">if
6ac80 3c 2f 73 70 61 6e 3e 20 28 61 64 64 5f 69 6e 66 65 72 72 65 64 28 3c 73 70 61 6e 20 63 6c 61 73 </span>.(add_inferred(<span.clas
6aca0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-type">u8</span>,.<span.cl
6acc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 ass="tok-number">255</span>,.<sp
6ace0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 an.class="tok-number">1</span>))
6ad00 20 7c 5f 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 .|_|.<span.class="tok-kw">unreac
6ad20 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 hable</span>.<span.class="tok-kw
6ad40 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">else</span>.|err|.<span.class=
6ad60 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 "tok-kw">switch</span>.(err).{..
6ad80 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f .......<span.class="tok-kw">erro
6ada0 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 20 3d 26 67 74 3b 20 7b 7d 2c 20 3c 73 70 61 r</span>.Overflow.=&gt;.{},.<spa
6adc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 6b 3c 2f 73 70 61 n.class="tok-comment">//.ok</spa
6ade0 6e 3e 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e n>.....}.}</code></pre></figure>
6ae00 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
6ae20 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 -cap">Shell</figcaption><pre><sa
6ae40 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 66 65 72 72 65 64 mp>$.<kbd>zig.test.test_inferred
6ae60 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 _error_sets.zig</kbd>.1/1.test_i
6ae80 6e 66 65 72 72 65 64 5f 65 72 72 6f 72 5f 73 65 74 73 2e 74 65 73 74 2e 69 6e 66 65 72 72 65 64 nferred_error_sets.test.inferred
6aea0 20 65 72 72 6f 72 20 73 65 74 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 .error.set....OK.All.1.tests.pas
6aec0 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 sed..</samp></pre></figure>.....
6aee0 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 ..<p>.......When.a.function.has.
6af00 61 6e 20 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 2c 20 74 68 61 74 20 66 75 6e 63 an.inferred.error.set,.that.func
6af20 74 69 6f 6e 20 62 65 63 6f 6d 65 73 20 67 65 6e 65 72 69 63 20 61 6e 64 20 74 68 75 73 20 69 74 tion.becomes.generic.and.thus.it
6af40 20 62 65 63 6f 6d 65 73 0a 20 20 20 20 20 20 74 72 69 63 6b 69 65 72 20 74 6f 20 64 6f 20 63 65 .becomes.......trickier.to.do.ce
6af60 72 74 61 69 6e 20 74 68 69 6e 67 73 20 77 69 74 68 20 69 74 2c 20 73 75 63 68 20 61 73 20 6f 62 rtain.things.with.it,.such.as.ob
6af80 74 61 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 2c 20 6f 72 20 68 61 76 65 tain.a.function.pointer,.or.have
6afa0 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 73 65 74 20 74 68 61 74 20 69 73 20 63 6f 6e 73 .an.error.......set.that.is.cons
6afc0 69 73 74 65 6e 74 20 61 63 72 6f 73 73 20 64 69 66 66 65 72 65 6e 74 20 62 75 69 6c 64 20 74 61 istent.across.different.build.ta
6afe0 72 67 65 74 73 2e 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 69 6e 66 65 72 72 65 64 20 65 72 rgets..Additionally,.inferred.er
6b000 72 6f 72 20 73 65 74 73 0a 20 20 20 20 20 20 61 72 65 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 ror.sets.......are.incompatible.
6b020 77 69 74 68 20 72 65 63 75 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 with.recursion........</p>......
6b040 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 73 65 20 73 69 74 75 61 74 69 6f 6e 73 2c 20 .<p>.......In.these.situations,.
6b060 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 61 6e 20 65 78 70 6c it.is.recommended.to.use.an.expl
6b080 69 63 69 74 20 65 72 72 6f 72 20 73 65 74 2e 20 59 6f 75 20 63 61 6e 20 67 65 6e 65 72 61 6c 6c icit.error.set..You.can.generall
6b0a0 79 20 73 74 61 72 74 0a 20 20 20 20 20 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 65 72 72 6f y.start.......with.an.empty.erro
6b0c0 72 20 73 65 74 20 61 6e 64 20 6c 65 74 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 20 67 75 69 r.set.and.let.compile.errors.gui
6b0e0 64 65 20 79 6f 75 20 74 6f 77 61 72 64 20 63 6f 6d 70 6c 65 74 69 6e 67 20 74 68 65 20 73 65 74 de.you.toward.completing.the.set
6b100 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 ........</p>.......<p>.......The
6b120 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 6f 76 65 72 63 6f 6d 65 20 69 se.limitations.may.be.overcome.i
6b140 6e 20 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 n.a.future.version.of.Zig.......
6b160 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 .</p>.....................<h3.id
6b180 3d 22 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 ="Error-Return-Traces"><a.href="
6b1a0 23 74 6f 63 2d 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 20 #toc-Error-Return-Traces">Error.
6b1c0 52 65 74 75 72 6e 20 54 72 61 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 Return.Traces</a>.<a.class="hdr"
6b1e0 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e c2 a7 3c .href="#Error-Return-Traces">..<
6b200 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 72 72 6f 72 20 /a></h3>........<p>.......Error.
6b220 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 73 68 6f 77 20 61 6c 6c 20 74 68 65 20 70 6f 69 6e 74 Return.Traces.show.all.the.point
6b240 73 20 69 6e 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 61 6e 20 65 72 72 6f 72 20 77 61 73 20 s.in.the.code.that.an.error.was.
6b260 72 65 74 75 72 6e 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e returned.to.the.calling.function
6b280 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 70 72 61 63 74 69 63 61 6c 20 74 6f 20 75 73 65 ..This.makes.it.practical.to.use
6b2a0 20 3c 61 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 65 76 65 72 79 77 68 65 .<a.href="#try">try</a>.everywhe
6b2c0 72 65 20 61 6e 64 20 74 68 65 6e 20 73 74 69 6c 6c 20 62 65 20 61 62 6c 65 20 74 6f 20 6b 6e 6f re.and.then.still.be.able.to.kno
6b2e0 77 20 77 68 61 74 20 68 61 70 70 65 6e 65 64 20 69 66 20 61 6e 20 65 72 72 6f 72 20 65 6e 64 73 w.what.happened.if.an.error.ends
6b300 20 75 70 20 62 75 62 62 6c 69 6e 67 20 61 6c 6c 20 74 68 65 20 77 61 79 20 6f 75 74 20 6f 66 20 .up.bubbling.all.the.way.out.of.
6b320 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 your.application........</p>....
6b340 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 ...<figure><figcaption.class="zi
6b360 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 6f 72 5f g-cap"><cite.class="file">error_
6b380 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 return_trace.zig</cite></figcapt
6b3a0 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
6b3c0 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d kw">pub</span>.<span.class="tok-
6b3e0 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
6b400 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">main</span>().!<span.class="t
6b420 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ok-type">void</span>.{.....<span
6b440 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 66 6f 6f 28 3c .class="tok-kw">try</span>.foo(<
6b460 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e span.class="tok-number">12</span
6b480 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f >);.}..<span.class="tok-kw">fn</
6b4a0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f span>.<span.class="tok-fn">foo</
6b4c0 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>(x:.<span.class="tok-type">
6b4e0 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 i32</span>).!<span.class="tok-ty
6b500 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 pe">void</span>.{.....<span.clas
6b520 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 20 26 67 74 3b 3d 20 3c 73 s="tok-kw">if</span>.(x.&gt;=.<s
6b540 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">5</span>)
6b560 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .{.........<span.class="tok-kw">
6b580 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 72 28 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c try</span>.bar();.....}.<span.cl
6b5a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 ass="tok-kw">else</span>.{......
6b5c0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
6b5e0 6e 3e 20 62 61 6e 67 32 28 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n>.bang2();.....}.}..<span.class
6b600 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="tok-kw">fn</span>.<span.class=
6b620 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 "tok-fn">bar</span>().!<span.cla
6b640 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ss="tok-type">void</span>.{.....
6b660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 <span.class="tok-kw">if</span>.(
6b680 62 61 7a 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f baz()).{.........<span.class="to
6b6a0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 71 75 75 78 28 29 3b 0a 20 20 20 20 7d 20 3c k-kw">try</span>.quux();.....}.<
6b6c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 span.class="tok-kw">else</span>.
6b6e0 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 |err|.<span.class="tok-kw">switc
6b700 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 h</span>.(err).{.........<span.c
6b720 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 69 6c 65 4e lass="tok-kw">error</span>.FileN
6b740 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b otFound.=&gt;.<span.class="tok-k
6b760 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 28 29 2c 0a 20 20 20 20 7d 0a 7d 0a 0a w">try</span>.hello(),.....}.}..
6b780 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
6b7a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 7a 3c 2f 73 70 61 6e 3e 28 29 span.class="tok-fn">baz</span>()
6b7c0 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 .!<span.class="tok-type">void</s
6b7e0 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
6b800 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 31 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 try</span>.bang1();.}..<span.cla
6b820 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ss="tok-kw">fn</span>.<span.clas
6b840 73 3d 22 74 6f 6b 2d 66 6e 22 3e 71 75 75 78 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 s="tok-fn">quux</span>().!<span.
6b860 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 class="tok-type">void</span>.{..
6b880 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
6b8a0 6e 3e 20 62 61 6e 67 32 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.bang2();.}..<span.class="tok-
6b8c0 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
6b8e0 6e 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">hello</span>().!<span.class="
6b900 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 tok-type">void</span>.{.....<spa
6b920 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 n.class="tok-kw">try</span>.bang
6b940 32 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2();.}..<span.class="tok-kw">fn<
6b960 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 /span>.<span.class="tok-fn">bang
6b980 31 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 1</span>().!<span.class="tok-typ
6b9a0 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e">void</span>.{.....<span.class
6b9c0 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ="tok-kw">return</span>.<span.cl
6b9e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 69 6c 65 4e 6f ass="tok-kw">error</span>.FileNo
6ba00 74 46 6f 75 6e 64 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e tFound;.}..<span.class="tok-kw">
6ba20 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 fn</span>.<span.class="tok-fn">b
6ba40 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ang2</span>().!<span.class="tok-
6ba60 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">void</span>.{.....<span.cl
6ba80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e ass="tok-kw">return</span>.<span
6baa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 50 65 72 .class="tok-kw">error</span>.Per
6bac0 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 missionDenied;.}</code></pre></f
6bae0 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
6bb00 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
6bb20 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 72 re><samp>$.<kbd>zig.build-exe.er
6bb40 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 ror_return_trace.zig</kbd>.$.<kb
6bb60 64 3e 2e 2f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 3c 2f 6b 62 64 3e 0a 65 72 72 d>./error_return_trace</kbd>.err
6bb80 6f 72 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 or:.PermissionDenied./home/ci/ac
6bba0 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 tions-runner/_work/zig-bootstrap
6bbc0 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 /zig/docgen_tmp/error_return_tra
6bbe0 63 65 2e 7a 69 67 3a 33 34 3a 35 3a 20 30 78 31 30 33 33 39 36 38 20 69 6e 20 62 61 6e 67 31 20 ce.zig:34:5:.0x1033968.in.bang1.
6bc00 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 29 0a 20 20 20 20 72 65 74 75 72 6e 20 (error_return_trace).....return.
6bc20 65 72 72 6f 72 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f error.FileNotFound;.....^./home/
6bc40 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ci/actions-runner/_work/zig-boot
6bc60 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 65 72 72 6f 72 5f 72 65 74 75 72 strap/zig/docgen_tmp/error_retur
6bc80 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 32 32 3a 35 3a 20 30 78 31 30 33 33 61 37 33 20 69 6e 20 62 n_trace.zig:22:5:.0x1033a73.in.b
6bca0 61 7a 20 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 29 0a 20 20 20 20 74 72 79 20 az.(error_return_trace).....try.
6bcc0 62 61 6e 67 31 28 29 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d bang1();.....^./home/ci/actions-
6bce0 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 runner/_work/zig-bootstrap/zig/d
6bd00 6f 63 67 65 6e 5f 74 6d 70 2f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 ocgen_tmp/error_return_trace.zig
6bd20 3a 33 38 3a 35 3a 20 30 78 31 30 33 33 61 39 38 20 69 6e 20 62 61 6e 67 32 20 28 65 72 72 6f 72 :38:5:.0x1033a98.in.bang2.(error
6bd40 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 29 0a 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e _return_trace).....return.error.
6bd60 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 PermissionDenied;.....^./home/ci
6bd80 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 /actions-runner/_work/zig-bootst
6bda0 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f rap/zig/docgen_tmp/error_return_
6bdc0 74 72 61 63 65 2e 7a 69 67 3a 33 30 3a 35 3a 20 30 78 31 30 33 33 62 30 33 20 69 6e 20 68 65 6c trace.zig:30:5:.0x1033b03.in.hel
6bde0 6c 6f 20 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 29 0a 20 20 20 20 74 72 79 20 lo.(error_return_trace).....try.
6be00 62 61 6e 67 32 28 29 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d bang2();.....^./home/ci/actions-
6be20 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 runner/_work/zig-bootstrap/zig/d
6be40 6f 63 67 65 6e 5f 74 6d 70 2f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 ocgen_tmp/error_return_trace.zig
6be60 3a 31 37 3a 33 31 3a 20 30 78 31 30 33 33 62 62 61 20 69 6e 20 62 61 72 20 28 65 72 72 6f 72 5f :17:31:.0x1033bba.in.bar.(error_
6be80 72 65 74 75 72 6e 5f 74 72 61 63 65 29 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 2e 46 69 6c 65 return_trace).........error.File
6bea0 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 74 72 79 20 68 65 6c 6c 6f 28 29 2c 0a 20 20 20 20 NotFound.=&gt;.try.hello(),.....
6bec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d ..........................^./hom
6bee0 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f e/ci/actions-runner/_work/zig-bo
6bf00 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 65 72 72 6f 72 5f 72 65 74 otstrap/zig/docgen_tmp/error_ret
6bf20 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 37 3a 39 3a 20 30 78 31 30 33 33 63 61 30 20 69 6e 20 urn_trace.zig:7:9:.0x1033ca0.in.
6bf40 66 6f 6f 20 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 29 0a 20 20 20 20 20 20 20 foo.(error_return_trace)........
6bf60 20 74 72 79 20 62 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 .try.bar();.........^./home/ci/a
6bf80 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ctions-runner/_work/zig-bootstra
6bfa0 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 p/zig/docgen_tmp/error_return_tr
6bfc0 61 63 65 2e 7a 69 67 3a 32 3a 35 3a 20 30 78 31 30 33 33 63 66 38 20 69 6e 20 6d 61 69 6e 20 28 ace.zig:2:5:.0x1033cf8.in.main.(
6bfe0 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 29 0a 20 20 20 20 74 72 79 20 66 6f 6f 28 error_return_trace).....try.foo(
6c000 31 32 29 3b 0a 20 20 20 20 5e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 12);.....^.</samp></pre></figure
6c020 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 6f 6f 6b 20 63 6c 6f 73 65 6c 79 20 61 >.......<p>.......Look.closely.a
6c040 74 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2e 20 54 68 69 73 20 69 73 20 6e 6f 20 73 74 61 63 6b t.this.example..This.is.no.stack
6c060 20 74 72 61 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .trace........</p>.......<p>....
6c080 20 20 20 59 6f 75 20 63 61 6e 20 73 65 65 20 74 68 61 74 20 74 68 65 20 66 69 6e 61 6c 20 65 72 ...You.can.see.that.the.final.er
6c0a0 72 6f 72 20 62 75 62 62 6c 65 64 20 75 70 20 77 61 73 20 3c 63 6f 64 65 3e 50 65 72 6d 69 73 73 ror.bubbled.up.was.<code>Permiss
6c0c0 69 6f 6e 44 65 6e 69 65 64 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 62 75 74 20 ionDenied</code>,...........but.
6c0e0 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 65 72 72 6f 72 20 74 68 61 74 20 73 74 61 72 74 65 64 20 the.original.error.that.started.
6c100 74 68 69 73 20 77 68 6f 6c 65 20 74 68 69 6e 67 20 77 61 73 20 3c 63 6f 64 65 3e 46 69 6c 65 4e this.whole.thing.was.<code>FileN
6c120 6f 74 46 6f 75 6e 64 3c 2f 63 6f 64 65 3e 2e 20 49 6e 20 74 68 65 20 3c 63 6f 64 65 3e 62 61 72 otFound</code>..In.the.<code>bar
6c140 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 63 6f 64 65 20 68 61 6e 64 6c </code>.function,.the.code.handl
6c160 65 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 65 72 72 6f 72 20 63 6f 64 65 2c 0a 20 20 20 20 es.the.original.error.code,.....
6c180 20 20 61 6e 64 20 74 68 65 6e 20 72 65 74 75 72 6e 73 20 61 6e 6f 74 68 65 72 20 6f 6e 65 2c 20 ..and.then.returns.another.one,.
6c1a0 66 72 6f 6d 20 74 68 65 20 73 77 69 74 63 68 20 73 74 61 74 65 6d 65 6e 74 2e 20 45 72 72 6f 72 from.the.switch.statement..Error
6c1c0 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 6d 61 6b 65 20 74 68 69 73 20 63 6c 65 61 72 2c 20 .Return.Traces.make.this.clear,.
6c1e0 77 68 65 72 65 61 73 20 61 20 73 74 61 63 6b 20 74 72 61 63 65 20 77 6f 75 6c 64 20 6c 6f 6f 6b whereas.a.stack.trace.would.look
6c200 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 .like.this:.......</p>.......<fi
6c220 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
6c240 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 61 63 6b 5f 74 72 61 63 65 2e ><cite.class="file">stack_trace.
6c260 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 zig</cite></figcaption><pre><cod
6c280 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e e><span.class="tok-kw">pub</span
6c2a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">fn</span>
6c2c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e .<span.class="tok-fn">main</span
6c2e0 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c >().<span.class="tok-type">void<
6c300 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>.{.....foo(<span.class="to
6c320 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 k-number">12</span>);.}..<span.c
6c340 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
6c360 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e ass="tok-fn">foo</span>(x:.<span
6c380 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 .class="tok-type">i32</span>).<s
6c3a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e pan.class="tok-type">void</span>
6c3c0 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f .{.....<span.class="tok-kw">if</
6c3e0 73 70 61 6e 3e 20 28 78 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.(x.&gt;=.<span.class="tok-
6c400 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 62 61 72 28 number">5</span>).{.........bar(
6c420 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c );.....}.<span.class="tok-kw">el
6c440 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 62 61 6e 67 32 28 29 3b 0a 20 20 20 se</span>.{.........bang2();....
6c460 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 .}.}..<span.class="tok-kw">fn</s
6c480 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 pan>.<span.class="tok-fn">bar</s
6c4a0 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f pan>().<span.class="tok-type">vo
6c4c0 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b id</span>.{.....<span.class="tok
6c4e0 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 61 7a 28 29 29 20 7b 0a 20 20 20 20 20 20 20 -kw">if</span>.(baz()).{........
6c500 20 71 75 75 78 28 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .quux();.....}.<span.class="tok-
6c520 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 68 65 6c 6c 6f 28 kw">else</span>.{.........hello(
6c540 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 );.....}.}..<span.class="tok-kw"
6c560 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e >fn</span>.<span.class="tok-fn">
6c580 62 61 7a 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 baz</span>().<span.class="tok-ty
6c5a0 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 pe">bool</span>.{.....<span.clas
6c5c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 31 28 29 s="tok-kw">return</span>.bang1()
6c5e0 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 ;.}..<span.class="tok-kw">fn</sp
6c600 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 71 75 75 78 3c 2f 73 an>.<span.class="tok-fn">quux</s
6c620 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f pan>().<span.class="tok-type">vo
6c640 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 62 61 6e 67 32 28 29 3b 0a 7d 0a 0a 3c 73 70 61 id</span>.{.....bang2();.}..<spa
6c660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e n.class="tok-kw">fn</span>.<span
6c680 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c .class="tok-fn">hello</span>().<
6c6a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e span.class="tok-type">void</span
6c6c0 3e 20 7b 0a 20 20 20 20 62 61 6e 67 32 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.{.....bang2();.}..<span.class=
6c6e0 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "tok-kw">fn</span>.<span.class="
6c700 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 tok-fn">bang1</span>().<span.cla
6c720 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ss="tok-type">bool</span>.{.....
6c740 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 <span.class="tok-kw">return</spa
6c760 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c n>.<span.class="tok-null">false<
6c780 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e /span>;.}..<span.class="tok-kw">
6c7a0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 fn</span>.<span.class="tok-fn">b
6c7c0 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ang2</span>().<span.class="tok-t
6c7e0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype">void</span>.{.....<span.cla
6c800 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c ss="tok-builtin">@panic</span>(<
6c820 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 50 65 72 6d 69 span.class="tok-str">&quot;Permi
6c840 73 73 69 6f 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f ssionDenied&quot;</span>);.}</co
6c860 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
6c880 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
6c8a0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
6c8c0 62 75 69 6c 64 2d 65 78 65 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a build-exe.stack_trace.zig</kbd>.
6c8e0 24 20 3c 6b 62 64 3e 2e 2f 73 74 61 63 6b 5f 74 72 61 63 65 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 $.<kbd>./stack_trace</kbd>.threa
6c900 64 20 39 38 38 37 37 39 20 70 61 6e 69 63 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 d.988779.panic:.PermissionDenied
6c920 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a ./home/ci/actions-runner/_work/z
6c940 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 73 74 61 63 ig-bootstrap/zig/docgen_tmp/stac
6c960 6b 5f 74 72 61 63 65 2e 7a 69 67 3a 33 38 3a 35 3a 20 30 78 31 30 33 37 65 33 30 20 69 6e 20 62 k_trace.zig:38:5:.0x1037e30.in.b
6c980 61 6e 67 32 20 28 73 74 61 63 6b 5f 74 72 61 63 65 29 0a 20 20 20 20 40 70 61 6e 69 63 28 26 71 ang2.(stack_trace).....@panic(&q
6c9a0 75 6f 74 3b 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 29 3b 0a 20 20 20 uot;PermissionDenied&quot;);....
6c9c0 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b .^./home/ci/actions-runner/_work
6c9e0 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 73 74 /zig-bootstrap/zig/docgen_tmp/st
6ca00 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 3a 33 30 3a 31 30 3a 20 30 78 31 30 36 38 34 64 38 20 69 ack_trace.zig:30:10:.0x10684d8.i
6ca20 6e 20 68 65 6c 6c 6f 20 28 73 74 61 63 6b 5f 74 72 61 63 65 29 0a 20 20 20 20 62 61 6e 67 32 28 n.hello.(stack_trace).....bang2(
6ca40 29 3b 0a 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 );..........^./home/ci/actions-r
6ca60 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f unner/_work/zig-bootstrap/zig/do
6ca80 63 67 65 6e 5f 74 6d 70 2f 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 3a 31 37 3a 31 34 3a 20 cgen_tmp/stack_trace.zig:17:14:.
6caa0 30 78 31 30 33 37 65 30 63 20 69 6e 20 62 61 72 20 28 73 74 61 63 6b 5f 74 72 61 63 65 29 0a 20 0x1037e0c.in.bar.(stack_trace)..
6cac0 20 20 20 20 20 20 20 68 65 6c 6c 6f 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f .......hello();..............^./
6cae0 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 home/ci/actions-runner/_work/zig
6cb00 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 73 74 61 63 6b 5f -bootstrap/zig/docgen_tmp/stack_
6cb20 74 72 61 63 65 2e 7a 69 67 3a 37 3a 31 32 3a 20 30 78 31 30 33 35 64 32 63 20 69 6e 20 66 6f 6f trace.zig:7:12:.0x1035d2c.in.foo
6cb40 20 28 73 74 61 63 6b 5f 74 72 61 63 65 29 0a 20 20 20 20 20 20 20 20 62 61 72 28 29 3b 0a 20 20 .(stack_trace).........bar();...
6cb60 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e .........^./home/ci/actions-runn
6cb80 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 er/_work/zig-bootstrap/zig/docge
6cba0 6e 5f 74 6d 70 2f 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 3a 32 3a 38 3a 20 30 78 31 30 33 n_tmp/stack_trace.zig:2:8:.0x103
6cbc0 33 63 63 64 20 69 6e 20 6d 61 69 6e 20 28 73 74 61 63 6b 5f 74 72 61 63 65 29 0a 20 20 20 20 66 3ccd.in.main.(stack_trace).....f
6cbe0 6f 6f 28 31 32 29 3b 0a 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e oo(12);........^./home/ci/action
6cc00 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 s-runner/_work/zig-bootstrap/out
6cc20 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a /host/lib/zig/std/start.zig:501:
6cc40 32 32 3a 20 30 78 31 30 33 33 35 37 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 22:.0x1033579.in.posixCallMainAn
6cc60 64 45 78 69 74 20 28 73 74 61 63 6b 5f 74 72 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 dExit.(stack_trace).............
6cc80 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 root.main();....................
6cca0 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 ..^./home/ci/actions-runner/_wor
6ccc0 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 k/zig-bootstrap/out/host/lib/zig
6cce0 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 33 30 65 31 20 /std/start.zig:253:5:.0x10330e1.
6cd00 69 6e 20 5f 73 74 61 72 74 20 28 73 74 61 63 6b 5f 74 72 61 63 65 29 0a 20 20 20 20 61 73 6d 20 in._start.(stack_trace).....asm.
6cd20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b volatile.(switch.(native_arch).{
6cd40 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 .....^.???:?:?:.0x0.in.???.(???)
6cd60 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a .(process.terminated.by.signal).
6cd80 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </samp></pre></figure>.......<p>
6cda0 0a 20 20 20 20 20 20 48 65 72 65 2c 20 74 68 65 20 73 74 61 63 6b 20 74 72 61 63 65 20 64 6f 65 .......Here,.the.stack.trace.doe
6cdc0 73 20 6e 6f 74 20 65 78 70 6c 61 69 6e 20 68 6f 77 20 74 68 65 20 63 6f 6e 74 72 6f 6c 0a 20 20 s.not.explain.how.the.control...
6cde0 20 20 20 20 66 6c 6f 77 20 69 6e 20 3c 63 6f 64 65 3e 62 61 72 3c 2f 63 6f 64 65 3e 20 67 6f 74 ....flow.in.<code>bar</code>.got
6ce00 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 68 65 6c 6c 6f 28 29 3c 2f 63 6f 64 65 3e 20 63 61 6c .to.the.<code>hello()</code>.cal
6ce20 6c 2e 0a 20 20 20 20 20 20 4f 6e 65 20 77 6f 75 6c 64 20 68 61 76 65 20 74 6f 20 6f 70 65 6e 20 l........One.would.have.to.open.
6ce40 61 20 64 65 62 75 67 67 65 72 20 6f 72 20 66 75 72 74 68 65 72 20 69 6e 73 74 72 75 6d 65 6e 74 a.debugger.or.further.instrument
6ce60 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 20 6f 72 64 65 72 20 .the.application.......in.order.
6ce80 74 6f 20 66 69 6e 64 20 6f 75 74 2e 20 54 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 to.find.out..The.error.return.tr
6cea0 61 63 65 2c 20 6f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 0a 20 20 20 20 20 20 73 68 ace,.on.the.other.hand,.......sh
6cec0 6f 77 73 20 65 78 61 63 74 6c 79 20 68 6f 77 20 74 68 65 20 65 72 72 6f 72 20 62 75 62 62 6c 65 ows.exactly.how.the.error.bubble
6cee0 64 20 75 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 d.up........</p>.......<p>......
6cf00 20 54 68 69 73 20 64 65 62 75 67 67 69 6e 67 20 66 65 61 74 75 72 65 20 6d 61 6b 65 73 20 69 74 .This.debugging.feature.makes.it
6cf20 20 65 61 73 69 65 72 20 74 6f 20 69 74 65 72 61 74 65 20 71 75 69 63 6b 6c 79 20 6f 6e 20 63 6f .easier.to.iterate.quickly.on.co
6cf40 64 65 20 74 68 61 74 0a 20 20 20 20 20 20 72 6f 62 75 73 74 6c 79 20 68 61 6e 64 6c 65 73 20 61 de.that.......robustly.handles.a
6cf60 6c 6c 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 ll.error.conditions..This.means.
6cf80 74 68 61 74 20 5a 69 67 20 64 65 76 65 6c 6f 70 65 72 73 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e that.Zig.developers.......will.n
6cfa0 61 74 75 72 61 6c 6c 79 20 66 69 6e 64 20 74 68 65 6d 73 65 6c 76 65 73 20 77 72 69 74 69 6e 67 aturally.find.themselves.writing
6cfc0 20 63 6f 72 72 65 63 74 2c 20 72 6f 62 75 73 74 20 63 6f 64 65 20 69 6e 20 6f 72 64 65 72 0a 20 .correct,.robust.code.in.order..
6cfe0 20 20 20 20 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 69 72 20 64 65 76 65 6c 6f 70 6d 65 .....to.increase.their.developme
6d000 6e 74 20 70 61 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 nt.pace........</p>.......<p>...
6d020 20 20 20 20 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 61 72 65 20 65 6e 61 62 ....Error.Return.Traces.are.enab
6d040 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 led.by.default.in.<a.href="#Debu
6d060 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 g">Debug</a>.and.<a.href="#Relea
6d080 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 62 75 69 6c 64 73 20 61 seSafe">ReleaseSafe</a>.builds.a
6d0a0 6e 64 20 64 69 73 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 nd.disabled.by.default.in.<a.hre
6d0c0 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e f="#ReleaseFast">ReleaseFast</a>
6d0e0 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c .and.<a.href="#ReleaseSmall">Rel
6d100 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 62 75 69 6c 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e easeSmall</a>.builds........</p>
6d120 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 .......<p>.......There.are.a.few
6d140 20 77 61 79 73 20 74 6f 20 61 63 74 69 76 61 74 65 20 74 68 69 73 20 65 72 72 6f 72 20 72 65 74 .ways.to.activate.this.error.ret
6d160 75 72 6e 20 74 72 61 63 69 6e 67 20 66 65 61 74 75 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a urn.tracing.feature:.......</p>.
6d180 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 74 75 72 6e 20 61 6e ......<ul>.........<li>Return.an
6d1a0 20 65 72 72 6f 72 20 66 72 6f 6d 20 6d 61 69 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c .error.from.main</li>.........<l
6d1c0 69 3e 41 6e 20 65 72 72 6f 72 20 6d 61 6b 65 73 20 69 74 73 20 77 61 79 20 74 6f 20 3c 63 6f 64 i>An.error.makes.its.way.to.<cod
6d1e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 e><span.class="tok-kw">catch</sp
6d200 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 an>.<span.class="tok-kw">unreach
6d220 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 79 6f 75 20 68 61 76 65 20 able</span></code>.and.you.have.
6d240 6e 6f 74 20 6f 76 65 72 72 69 64 64 65 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 70 61 6e 69 63 not.overridden.the.default.panic
6d260 20 68 61 6e 64 6c 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 3c 61 .handler</li>.........<li>Use.<a
6d280 20 68 72 65 66 3d 22 23 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e 65 72 72 6f 72 52 .href="#errorReturnTrace">errorR
6d2a0 65 74 75 72 6e 54 72 61 63 65 3c 2f 61 3e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 75 72 eturnTrace</a>.to.access.the.cur
6d2c0 72 65 6e 74 20 72 65 74 75 72 6e 20 74 72 61 63 65 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 3c rent.return.trace..You.can.use.<
6d2e0 63 6f 64 65 3e 73 74 64 2e 64 65 62 75 67 2e 64 75 6d 70 53 74 61 63 6b 54 72 61 63 65 3c 2f 63 code>std.debug.dumpStackTrace</c
6d300 6f 64 65 3e 20 74 6f 20 70 72 69 6e 74 20 69 74 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 ode>.to.print.it..This.function.
6d320 72 65 74 75 72 6e 73 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 3c 61 20 68 72 65 66 3d 22 returns.comptime-known.<a.href="
6d340 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 77 68 65 6e 20 62 75 69 6c 64 69 6e 67 20 77 69 #null">null</a>.when.building.wi
6d360 74 68 6f 75 74 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 20 73 75 70 70 6f thout.error.return.tracing.suppo
6d380 72 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 rt.</li>.......</ul>.......<h4.i
6d3a0 64 3d 22 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 3c 61 20 68 72 d="Implementation-Details"><a.hr
6d3c0 65 66 3d 22 23 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 ef="#toc-Implementation-Details"
6d3e0 3e 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 44 65 74 61 69 6c 73 3c 2f 61 3e 20 3c 61 20 63 >Implementation.Details</a>.<a.c
6d400 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e lass="hdr".href="#Implementation
6d420 2d 44 65 74 61 69 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e -Details">..</a></h4>........<p>
6d440 0a 20 20 20 20 20 20 54 6f 20 61 6e 61 6c 79 7a 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 63 6f .......To.analyze.performance.co
6d460 73 74 2c 20 74 68 65 72 65 20 61 72 65 20 74 77 6f 20 63 61 73 65 73 3a 0a 20 20 20 20 20 20 3c st,.there.are.two.cases:.......<
6d480 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 77 68 65 6e 20 /p>.......<ul>.........<li>when.
6d4a0 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 no.errors.are.returned</li>.....
6d4c0 20 20 20 20 3c 6c 69 3e 77 68 65 6e 20 72 65 74 75 72 6e 69 6e 67 20 65 72 72 6f 72 73 3c 2f 6c ....<li>when.returning.errors</l
6d4e0 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 i>.......</ul>.......<p>.......F
6d500 6f 72 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 or.the.case.when.no.errors.are.r
6d520 65 74 75 72 6e 65 64 2c 20 74 68 65 20 63 6f 73 74 20 69 73 20 61 20 73 69 6e 67 6c 65 20 6d 65 eturned,.the.cost.is.a.single.me
6d540 6d 6f 72 79 20 77 72 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 6f 6e 6c 79 20 69 6e 20 74 68 mory.write.operation,.only.in.th
6d560 65 20 66 69 72 73 74 20 6e 6f 6e 2d 66 61 69 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e e.first.non-failable.function.in
6d580 20 74 68 65 20 63 61 6c 6c 20 67 72 61 70 68 20 74 68 61 74 20 63 61 6c 6c 73 20 61 20 66 61 69 .the.call.graph.that.calls.a.fai
6d5a0 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 2c 20 69 2e 65 2e 20 77 68 65 6e 20 61 20 66 75 6e 63 lable.function,.i.e..when.a.func
6d5c0 74 69 6f 6e 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 tion.returning.<code><span.class
6d5e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 ="tok-type">void</span></code>.c
6d600 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 3e alls.a.function.returning.<code>
6d620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e <span.class="tok-kw">error</span
6d640 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 6f 20 69 6e 69 74 69 ></code>........This.is.to.initi
6d660 61 6c 69 7a 65 20 74 68 69 73 20 73 74 72 75 63 74 20 69 6e 20 74 68 65 20 73 74 61 63 6b 20 6d alize.this.struct.in.the.stack.m
6d680 65 6d 6f 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e emory:.......</p>.......<figure>
6d6a0 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 <figcaption.class="zig-cap"><cit
6d6c0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 61 63 6b 5f 74 72 61 63 65 5f 73 74 72 75 63 e.class="file">stack_trace_struc
6d6e0 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 t.zig</cite></figcaption><pre><c
6d700 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 ode><span.class="tok-kw">pub</sp
6d720 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f an>.<span.class="tok-kw">const</
6d740 73 70 61 6e 3e 20 53 74 61 63 6b 54 72 61 63 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.StackTrace.=.<span.class="
6d760 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 69 6e 64 65 tok-kw">struct</span>.{.....inde
6d780 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c x:.<span.class="tok-type">usize<
6d7a0 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 5f 61 64 64 72 65 73 73 65 /span>,.....instruction_addresse
6d7c0 73 3a 20 5b 4e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 s:.[N]<span.class="tok-type">usi
6d7e0 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ze</span>,.};</code></pre></figu
6d800 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 2c 20 4e 20 69 73 20 74 re>.......<p>.......Here,.N.is.t
6d820 68 65 20 6d 61 78 69 6d 75 6d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 64 65 70 74 68 20 61 he.maximum.function.call.depth.a
6d840 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 63 61 6c 6c 20 67 72 61 70 68 20 61 6e 61 6c 79 s.determined.by.call.graph.analy
6d860 73 69 73 2e 20 52 65 63 75 72 73 69 6f 6e 20 69 73 20 69 67 6e 6f 72 65 64 20 61 6e 64 20 63 6f sis..Recursion.is.ignored.and.co
6d880 75 6e 74 73 20 66 6f 72 20 32 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e unts.for.2........</p>.......<p>
6d8a0 0a 20 20 20 20 20 20 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 3c 63 6f 64 65 3e 53 74 61 63 6b 54 .......A.pointer.to.<code>StackT
6d8c0 72 61 63 65 3c 2f 63 6f 64 65 3e 20 69 73 20 70 61 73 73 65 64 20 61 73 20 61 20 73 65 63 72 65 race</code>.is.passed.as.a.secre
6d8e0 74 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 65 76 65 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 t.parameter.to.every.function.th
6d900 61 74 20 63 61 6e 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2c 20 62 75 74 20 69 74 27 73 at.can.return.an.error,.but.it's
6d920 20 61 6c 77 61 79 73 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 6d 65 74 65 72 2c 20 73 6f 20 .always.the.first.parameter,.so.
6d940 69 74 20 63 61 6e 20 6c 69 6b 65 6c 79 20 73 69 74 20 69 6e 20 61 20 72 65 67 69 73 74 65 72 20 it.can.likely.sit.in.a.register.
6d960 61 6e 64 20 73 74 61 79 20 74 68 65 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 and.stay.there........</p>......
6d980 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 61 74 27 73 20 69 74 20 66 6f 72 20 74 68 65 20 70 61 74 .<p>.......That's.it.for.the.pat
6d9a0 68 20 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 6f 63 63 75 72 2e 20 49 74 27 73 20 70 72 61 h.when.no.errors.occur..It's.pra
6d9c0 63 74 69 63 61 6c 6c 79 20 66 72 65 65 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 70 65 72 66 6f 72 ctically.free.in.terms.of.perfor
6d9e0 6d 61 6e 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 mance........</p>.......<p>.....
6da00 20 20 57 68 65 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 74 68 65 20 63 6f 64 65 20 66 6f 72 20 61 ..When.generating.the.code.for.a
6da20 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2c .function.that.returns.an.error,
6da40 20 6a 75 73 74 20 62 65 66 6f 72 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .just.before.the.<code><span.cla
6da60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ss="tok-kw">return</span></code>
6da80 20 73 74 61 74 65 6d 65 6e 74 20 28 6f 6e 6c 79 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c .statement.(only.for.the.<code><
6daa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e span.class="tok-kw">return</span
6dac0 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 6d 65 6e 74 73 20 74 68 61 74 20 72 65 74 75 72 6e 20 ></code>.statements.that.return.
6dae0 65 72 72 6f 72 73 29 2c 20 5a 69 67 20 67 65 6e 65 72 61 74 65 73 20 61 20 63 61 6c 6c 20 74 6f errors),.Zig.generates.a.call.to
6db00 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .this.function:.......</p>......
6db20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d .<figure><figcaption.class="zig-
6db40 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 7a 69 67 5f 72 65 74 75 cap"><cite.class="file">zig_retu
6db60 72 6e 5f 65 72 72 6f 72 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 rn_error_fn.zig</cite></figcapti
6db80 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 on><pre><code><span.class="tok-c
6dba0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 61 72 6b 65 64 20 61 73 20 26 71 75 6f 74 3b 6e 6f 2d 69 6e omment">//.marked.as.&quot;no-in
6dbc0 6c 69 6e 65 26 71 75 6f 74 3b 20 69 6e 20 4c 4c 56 4d 20 49 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 line&quot;.in.LLVM.IR</span>.<sp
6dbe0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 an.class="tok-kw">fn</span>.<spa
6dc00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 5f 5f 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 n.class="tok-fn">__zig_return_er
6dc20 72 6f 72 3c 2f 73 70 61 6e 3e 28 73 74 61 63 6b 5f 74 72 61 63 65 3a 20 2a 53 74 61 63 6b 54 72 ror</span>(stack_trace:.*StackTr
6dc40 61 63 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 ace).<span.class="tok-type">void
6dc60 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 73 74 72 75 </span>.{.....stack_trace.instru
6dc80 63 74 69 6f 6e 5f 61 64 64 72 65 73 73 65 73 5b 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 65 ction_addresses[stack_trace.inde
6dca0 78 5d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 x].=.<span.class="tok-builtin">@
6dcc0 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 3b 0a 20 20 20 20 73 74 61 63 returnAddress</span>();.....stac
6dce0 6b 5f 74 72 61 63 65 2e 69 6e 64 65 78 20 3d 20 28 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 k_trace.index.=.(stack_trace.ind
6dd00 65 78 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c ex.+.<span.class="tok-number">1<
6dd20 2f 73 70 61 6e 3e 29 20 25 20 4e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 /span>).%.N;.}</code></pre></fig
6dd40 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 73 74 20 69 73 ure>.......<p>.......The.cost.is
6dd60 20 32 20 6d 61 74 68 20 6f 70 65 72 61 74 69 6f 6e 73 20 70 6c 75 73 20 73 6f 6d 65 20 6d 65 6d .2.math.operations.plus.some.mem
6dd80 6f 72 79 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 2e 20 54 68 65 20 6d 65 6d 6f 72 79 ory.reads.and.writes..The.memory
6dda0 20 61 63 63 65 73 73 65 64 20 69 73 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 61 6e 64 20 73 68 6f .accessed.is.constrained.and.sho
6ddc0 75 6c 64 20 72 65 6d 61 69 6e 20 63 61 63 68 65 64 20 66 6f 72 20 74 68 65 20 64 75 72 61 74 69 uld.remain.cached.for.the.durati
6dde0 6f 6e 20 6f 66 20 74 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 62 75 62 62 6c 69 6e 67 2e on.of.the.error.return.bubbling.
6de00 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 20 66 .......</p>.......<p>.......As.f
6de20 6f 72 20 63 6f 64 65 20 73 69 7a 65 20 63 6f 73 74 2c 20 31 20 66 75 6e 63 74 69 6f 6e 20 63 61 or.code.size.cost,.1.function.ca
6de40 6c 6c 20 62 65 66 6f 72 65 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 ll.before.a.return.statement.is.
6de60 6e 6f 20 62 69 67 20 64 65 61 6c 2e 20 45 76 65 6e 20 73 6f 2c 0a 20 20 20 20 20 20 49 20 68 61 no.big.deal..Even.so,.......I.ha
6de80 76 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a ve.<a.href="https://github.com/z
6dea0 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 36 39 30 22 3e 61 20 70 6c 61 6e 3c 2f 61 iglang/zig/issues/690">a.plan</a
6dec0 3e 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f 64 >.to.make.the.call.to.......<cod
6dee0 65 3e 5f 5f 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 3c 2f 63 6f 64 65 3e 20 61 20 74 61 e>__zig_return_error</code>.a.ta
6df00 69 6c 20 63 61 6c 6c 2c 20 77 68 69 63 68 20 62 72 69 6e 67 73 20 74 68 65 20 63 6f 64 65 20 73 il.call,.which.brings.the.code.s
6df20 69 7a 65 20 63 6f 73 74 20 64 6f 77 6e 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 7a 65 72 6f 2e 20 ize.cost.down.to.actually.zero..
6df40 57 68 61 74 20 69 73 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 20 63 6f What.is.a.return.statement.in.co
6df60 64 65 20 77 69 74 68 6f 75 74 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 20 de.without.error.return.tracing.
6df80 63 61 6e 20 62 65 63 6f 6d 65 20 61 20 6a 75 6d 70 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 69 6e can.become.a.jump.instruction.in
6dfa0 20 63 6f 64 65 20 77 69 74 68 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 2e .code.with.error.return.tracing.
6dfc0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 .......</p>.....................
6dfe0 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 65 .......<h2.id="Optionals"><a.hre
6e000 66 3d 22 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e f="#toc-Optionals">Optionals</a>
6e020 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 .<a.class="hdr".href="#Optionals
6e040 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f ">..</a></h2>........<p>.......O
6e060 6e 65 20 61 72 65 61 20 74 68 61 74 20 5a 69 67 20 70 72 6f 76 69 64 65 73 20 73 61 66 65 74 79 ne.area.that.Zig.provides.safety
6e080 20 77 69 74 68 6f 75 74 20 63 6f 6d 70 72 6f 6d 69 73 69 6e 67 20 65 66 66 69 63 69 65 6e 63 79 .without.compromising.efficiency
6e0a0 20 6f 72 0a 20 20 20 20 20 20 72 65 61 64 61 62 69 6c 69 74 79 20 69 73 20 77 69 74 68 20 74 68 .or.......readability.is.with.th
6e0c0 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 e.optional.type........</p>.....
6e0e0 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 71 75 65 73 74 69 6f 6e 20 6d 61 72 6b 20 73 79 ..<p>.......The.question.mark.sy
6e100 6d 62 6f 6c 69 7a 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 20 59 6f 75 20 mbolizes.the.optional.type..You.
6e120 63 61 6e 20 63 6f 6e 76 65 72 74 20 61 20 74 79 70 65 20 74 6f 20 61 6e 20 6f 70 74 69 6f 6e 61 can.convert.a.type.to.an.optiona
6e140 6c 0a 20 20 20 20 20 20 74 79 70 65 20 62 79 20 70 75 74 74 69 6e 67 20 61 20 71 75 65 73 74 69 l.......type.by.putting.a.questi
6e160 6f 6e 20 6d 61 72 6b 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 69 74 2c 20 6c 69 6b 65 20 74 68 69 on.mark.in.front.of.it,.like.thi
6e180 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 s:.......</p>.......<figure><fig
6e1a0 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c caption.class="zig-cap"><cite.cl
6e1c0 61 73 73 3d 22 66 69 6c 65 22 3e 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 65 67 65 72 2e 7a 69 67 3c ass="file">optional_integer.zig<
6e1e0 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 /cite></figcaption><pre><code><s
6e200 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 72 6d 61 pan.class="tok-comment">//.norma
6e220 6c 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f l.integer</span>.<span.class="to
6e240 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 6f 72 6d 61 6c 5f 69 6e 74 3a 20 3c k-kw">const</span>.normal_int:.<
6e260 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">i32</span>
6e280 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 .=.<span.class="tok-number">1234
6e2a0 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 </span>;..<span.class="tok-comme
6e2c0 6e 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e 61 6c 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 0a 3c nt">//.optional.integer</span>.<
6e2e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
6e300 20 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .optional_int:.?<span.class="tok
6e320 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">i32</span>.=.<span.class=
6e340 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e "tok-number">5678</span>;</code>
6e360 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 </pre></figure>.......<p>.......
6e380 4e 6f 77 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 3c 63 6f 64 65 3e 6f 70 74 69 6f 6e 61 6c 5f Now.the.variable.<code>optional_
6e3a0 69 6e 74 3c 2f 63 6f 64 65 3e 20 63 6f 75 6c 64 20 62 65 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 int</code>.could.be.an.<code><sp
6e3c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-type">i32</span></
6e3e0 63 6f 64 65 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b code>,.or.<code><span.class="tok
6e400 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 -null">null</span></code>.......
6e420 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 73 74 65 61 64 20 6f 66 .</p>.......<p>.......Instead.of
6e440 20 69 6e 74 65 67 65 72 73 2c 20 6c 65 74 27 73 20 74 61 6c 6b 20 61 62 6f 75 74 20 70 6f 69 6e .integers,.let's.talk.about.poin
6e460 74 65 72 73 2e 20 4e 75 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 20 61 72 65 20 74 68 65 20 73 6f ters..Null.references.are.the.so
6e480 75 72 63 65 20 6f 66 20 6d 61 6e 79 20 72 75 6e 74 69 6d 65 0a 20 20 20 20 20 20 65 78 63 65 70 urce.of.many.runtime.......excep
6e4a0 74 69 6f 6e 73 2c 20 61 6e 64 20 65 76 65 6e 20 73 74 61 6e 64 20 61 63 63 75 73 65 64 20 6f 66 tions,.and.even.stand.accused.of
6e4c0 20 62 65 69 6e 67 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 .being.......<a.href="https://ww
6e4e0 77 2e 6c 75 63 69 64 63 68 61 72 74 2e 63 6f 6d 2f 74 65 63 68 62 6c 6f 67 2f 32 30 31 35 2f 30 w.lucidchart.com/techblog/2015/0
6e500 38 2f 33 31 2f 74 68 65 2d 77 6f 72 73 74 2d 6d 69 73 74 61 6b 65 2d 6f 66 2d 63 6f 6d 70 75 74 8/31/the-worst-mistake-of-comput
6e520 65 72 2d 73 63 69 65 6e 63 65 2f 22 3e 74 68 65 20 77 6f 72 73 74 20 6d 69 73 74 61 6b 65 20 6f er-science/">the.worst.mistake.o
6e540 66 20 63 6f 6d 70 75 74 65 72 20 73 63 69 65 6e 63 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f f.computer.science</a>........</
6e560 70 3e 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 p>.......<p>Zig.does.not.have.th
6e580 65 6d 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 73 74 65 61 64 2c em.</p>.......<p>.......Instead,
6e5a0 20 79 6f 75 20 63 61 6e 20 75 73 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 .you.can.use.an.optional.pointer
6e5c0 2e 20 54 68 69 73 20 73 65 63 72 65 74 6c 79 20 63 6f 6d 70 69 6c 65 73 20 64 6f 77 6e 20 74 6f ..This.secretly.compiles.down.to
6e5e0 20 61 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 73 69 6e 63 65 20 77 .a.normal.pointer,.......since.w
6e600 65 20 6b 6e 6f 77 20 77 65 20 63 61 6e 20 75 73 65 20 30 20 61 73 20 74 68 65 20 6e 75 6c 6c 20 e.know.we.can.use.0.as.the.null.
6e620 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 20 42 75 74 value.for.the.optional.type..But
6e640 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 63 61 6e 20 63 68 65 63 6b 20 79 6f .the.compiler.......can.check.yo
6e660 75 72 20 77 6f 72 6b 20 61 6e 64 20 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 64 6f 6e 27 74 20 ur.work.and.make.sure.you.don't.
6e680 61 73 73 69 67 6e 20 6e 75 6c 6c 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 63 61 assign.null.to.something.that.ca
6e6a0 6e 27 74 20 62 65 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 n't.be.null........</p>.......<p
6e6c0 3e 0a 20 20 20 20 20 20 54 79 70 69 63 61 6c 6c 79 20 74 68 65 20 64 6f 77 6e 73 69 64 65 20 6f >.......Typically.the.downside.o
6e6e0 66 20 6e 6f 74 20 68 61 76 69 6e 67 20 6e 75 6c 6c 20 69 73 20 74 68 61 74 20 69 74 20 6d 61 6b f.not.having.null.is.that.it.mak
6e700 65 73 20 74 68 65 20 63 6f 64 65 20 6d 6f 72 65 20 76 65 72 62 6f 73 65 20 74 6f 0a 20 20 20 20 es.the.code.more.verbose.to.....
6e720 20 20 77 72 69 74 65 2e 20 42 75 74 2c 20 6c 65 74 27 73 20 63 6f 6d 70 61 72 65 20 73 6f 6d 65 ..write..But,.let's.compare.some
6e740 20 65 71 75 69 76 61 6c 65 6e 74 20 43 20 63 6f 64 65 20 61 6e 64 20 5a 69 67 20 63 6f 64 65 2e .equivalent.C.code.and.Zig.code.
6e760 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 61 73 6b .......</p>.......<p>.......Task
6e780 3a 20 63 61 6c 6c 20 6d 61 6c 6c 6f 63 2c 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 :.call.malloc,.if.the.result.is.
6e7a0 6e 75 6c 6c 2c 20 72 65 74 75 72 6e 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 null,.return.null........</p>...
6e7c0 20 20 20 20 3c 70 3e 43 20 63 6f 64 65 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e ....<p>C.code</p>.......<figure>
6e7e0 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 <figcaption.class="c-cap"><cite.
6e800 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 6c 6c 5f 6d 61 6c 6c 6f 63 5f 69 6e 5f 63 2e 63 3c class="file">call_malloc_in_c.c<
6e820 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 2f 2f /cite></figcaption><pre><code>//
6e840 20 6d 61 6c 6c 6f 63 20 70 72 6f 74 6f 74 79 70 65 20 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 72 .malloc.prototype.included.for.r
6e860 65 66 65 72 65 6e 63 65 0a 76 6f 69 64 20 2a 6d 61 6c 6c 6f 63 28 73 69 7a 65 5f 74 20 73 69 7a eference.void.*malloc(size_t.siz
6e880 65 29 3b 0a 0a 73 74 72 75 63 74 20 46 6f 6f 20 2a 64 6f 5f 61 5f 74 68 69 6e 67 28 76 6f 69 64 e);..struct.Foo.*do_a_thing(void
6e8a0 29 20 7b 0a 20 20 20 20 63 68 61 72 20 2a 70 74 72 20 3d 20 6d 61 6c 6c 6f 63 28 31 32 33 34 29 ).{.....char.*ptr.=.malloc(1234)
6e8c0 3b 0a 20 20 20 20 69 66 20 28 21 70 74 72 29 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 0a 20 20 20 ;.....if.(!ptr).return.NULL;....
6e8e0 20 2f 2f 20 2e 2e 2e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .//.....}</code></pre></figure>.
6e900 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 63 6f 64 65 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ......<p>Zig.code</p>.......<fig
6e920 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
6e940 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 6c 6c 5f 6d 61 6c 6c 6f 63 5f 66 <cite.class="file">call_malloc_f
6e960 72 6f 6d 5f 7a 69 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c rom_zig.zig</cite></figcaption><
6e980 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 pre><code><span.class="tok-comme
6e9a0 6e 74 22 3e 2f 2f 20 6d 61 6c 6c 6f 63 20 70 72 6f 74 6f 74 79 70 65 20 69 6e 63 6c 75 64 65 64 nt">//.malloc.prototype.included
6e9c0 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .for.reference</span>.<span.clas
6e9e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">extern</span>.<span.c
6ea00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
6ea20 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 6c 6c 6f 63 3c 2f 73 70 61 6e 3e 28 73 69 7a 65 3a ass="tok-fn">malloc</span>(size:
6ea40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 .<span.class="tok-type">usize</s
6ea60 70 61 6e 3e 29 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 pan>).?[*]<span.class="tok-type"
6ea80 3e 75 38 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >u8</span>;..<span.class="tok-kw
6eaa0 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 ">fn</span>.<span.class="tok-fn"
6eac0 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 29 20 3f 2a 46 6f 6f 20 7b 0a 20 20 20 20 3c >doAThing</span>().?*Foo.{.....<
6eae0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
6eb00 20 70 74 72 20 3d 20 6d 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .ptr.=.malloc(<span.class="tok-n
6eb20 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d umber">1234</span>).<span.class=
6eb40 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">orelse</span>.<span.cla
6eb60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ss="tok-kw">return</span>.<span.
6eb80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 class="tok-null">null</span>;...
6eba0 20 20 5f 20 3d 20 70 74 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d .._.=.ptr;.<span.class="tok-comm
6ebc0 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ent">//....</span>.}</code></pre
6ebe0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 48 65 72 ></figure>.......<p>.........Her
6ec00 65 2c 20 5a 69 67 20 69 73 20 61 74 20 6c 65 61 73 74 20 61 73 20 63 6f 6e 76 65 6e 69 65 6e 74 e,.Zig.is.at.least.as.convenient
6ec20 2c 20 69 66 20 6e 6f 74 20 6d 6f 72 65 2c 20 74 68 61 6e 20 43 2e 20 41 6e 64 2c 20 74 68 65 20 ,.if.not.more,.than.C..And,.the.
6ec40 74 79 70 65 20 6f 66 20 22 70 74 72 22 0a 20 20 20 20 20 20 20 20 69 73 20 3c 63 6f 64 65 3e 5b type.of."ptr".........is.<code>[
6ec60 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 *]<span.class="tok-type">u8</spa
6ec80 6e 3e 3c 2f 63 6f 64 65 3e 20 3c 65 6d 3e 6e 6f 74 3c 2f 65 6d 3e 20 3c 63 6f 64 65 3e 3f 5b 2a n></code>.<em>not</em>.<code>?[*
6eca0 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e ]<span.class="tok-type">u8</span
6ecc0 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ></code>..The.<code><span.class=
6ece0 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 "tok-kw">orelse</span></code>.ke
6ed00 79 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 77 72 61 70 yword.....................unwrap
6ed20 70 65 64 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 20 61 6e 64 20 74 68 65 72 65 66 ped.the.optional.type.and.theref
6ed40 6f 72 65 20 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 20 69 73 20 67 75 61 72 61 6e 74 65 ore.<code>ptr</code>.is.guarante
6ed60 65 64 20 74 6f 20 62 65 20 6e 6f 6e 2d 6e 75 6c 6c 20 65 76 65 72 79 77 68 65 72 65 0a 20 20 20 ed.to.be.non-null.everywhere....
6ed80 20 20 20 20 20 69 74 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e .....it.is.used.in.the.function.
6eda0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 .......</p>.......<p>.........Th
6edc0 65 20 6f 74 68 65 72 20 66 6f 72 6d 20 6f 66 20 63 68 65 63 6b 69 6e 67 20 61 67 61 69 6e 73 74 e.other.form.of.checking.against
6ede0 20 4e 55 4c 4c 20 79 6f 75 20 6d 69 67 68 74 20 73 65 65 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 .NULL.you.might.see.looks.like.t
6ee00 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 his:.......</p>.......<figure><f
6ee20 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c igcaption.class="c-cap"><cite.cl
6ee40 61 73 73 3d 22 66 69 6c 65 22 3e 63 68 65 63 6b 69 6e 67 5f 6e 75 6c 6c 5f 69 6e 5f 63 2e 63 3c ass="file">checking_null_in_c.c<
6ee60 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 76 6f /cite></figcaption><pre><code>vo
6ee80 69 64 20 64 6f 5f 61 5f 74 68 69 6e 67 28 73 74 72 75 63 74 20 46 6f 6f 20 2a 66 6f 6f 29 20 7b id.do_a_thing(struct.Foo.*foo).{
6eea0 0a 20 20 20 20 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 0a 0a 20 20 20 20 69 66 20 28 66 .....//.do.some.stuff......if.(f
6eec0 6f 6f 29 20 7b 0a 20 20 20 20 20 20 20 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 5f 77 69 74 68 5f oo).{.........do_something_with_
6eee0 66 6f 6f 28 66 6f 6f 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 64 6f 20 73 6f 6d 65 20 foo(foo);.....}......//.do.some.
6ef00 73 74 75 66 66 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 stuff.}</code></pre></figure>...
6ef20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 20 79 6f 75 20 63 61 6e 20 61 ....<p>.........In.Zig.you.can.a
6ef40 63 63 6f 6d 70 6c 69 73 68 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 3a 0a 20 20 20 20 20 20 ccomplish.the.same.thing:.......
6ef60 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
6ef80 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
6efa0 22 3e 63 68 65 63 6b 69 6e 67 5f 6e 75 6c 6c 5f 69 6e 5f 7a 69 67 2e 7a 69 67 3c 2f 63 69 74 65 ">checking_null_in_zig.zig</cite
6efc0 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
6efe0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d lass="tok-kw">const</span>.Foo.=
6f000 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 .<span.class="tok-kw">struct</sp
6f020 61 6e 3e 7b 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f an>{};.<span.class="tok-kw">fn</
6f040 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 53 6f 6d span>.<span.class="tok-fn">doSom
6f060 65 74 68 69 6e 67 57 69 74 68 46 6f 6f 3c 2f 73 70 61 6e 3e 28 66 6f 6f 3a 20 2a 46 6f 6f 29 20 ethingWithFoo</span>(foo:.*Foo).
6f080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 <span.class="tok-type">void</spa
6f0a0 6e 3e 20 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>.{._.=.foo;.}..<span.class="to
6f0c0 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b k-kw">fn</span>.<span.class="tok
6f0e0 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 66 6f -fn">doAThing</span>(optional_fo
6f100 6f 3a 20 3f 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 o:.?*Foo).<span.class="tok-type"
6f120 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >void</span>.{.....<span.class="
6f140 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 tok-comment">//.do.some.stuff</s
6f160 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 pan>......<span.class="tok-kw">i
6f180 66 3c 2f 73 70 61 6e 3e 20 28 6f 70 74 69 6f 6e 61 6c 5f 66 6f 6f 29 20 7c 66 6f 6f 7c 20 7b 0a f</span>.(optional_foo).|foo|.{.
6f1a0 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 46 6f 6f 28 66 6f 6f 29 3b 0a 20 ......doSomethingWithFoo(foo);..
6f1c0 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ...}......<span.class="tok-comme
6f1e0 6e 74 22 3e 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 nt">//.do.some.stuff</span>.}</c
6f200 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ode></pre></figure>.......<p>...
6f220 20 20 20 20 4f 6e 63 65 20 61 67 61 69 6e 2c 20 74 68 65 20 6e 6f 74 61 62 6c 65 20 74 68 69 6e ....Once.again,.the.notable.thin
6f240 67 20 68 65 72 65 20 69 73 20 74 68 61 74 20 69 6e 73 69 64 65 20 74 68 65 20 69 66 20 62 6c 6f g.here.is.that.inside.the.if.blo
6f260 63 6b 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 66 6f 6f 3c 2f 63 6f 64 65 3e 20 69 73 20 6e 6f ck,.......<code>foo</code>.is.no
6f280 20 6c 6f 6e 67 65 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 2c 20 69 74 20 .longer.an.optional.pointer,.it.
6f2a0 69 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 is.a.pointer,.which.......cannot
6f2c0 20 62 65 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 .be.null........</p>.......<p>..
6f2e0 20 20 20 20 20 4f 6e 65 20 62 65 6e 65 66 69 74 20 74 6f 20 74 68 69 73 20 69 73 20 74 68 61 74 .....One.benefit.to.this.is.that
6f300 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 74 61 6b 65 20 70 6f 69 6e 74 65 72 73 20 61 .functions.which.take.pointers.a
6f320 73 20 61 72 67 75 6d 65 6e 74 73 20 63 61 6e 0a 20 20 20 20 20 20 62 65 20 61 6e 6e 6f 74 61 74 s.arguments.can.......be.annotat
6f340 65 64 20 77 69 74 68 20 74 68 65 20 22 6e 6f 6e 6e 75 6c 6c 22 20 61 74 74 72 69 62 75 74 65 20 ed.with.the."nonnull".attribute.
6f360 2d 20 3c 63 6f 64 65 3e 5f 5f 61 74 74 72 69 62 75 74 65 5f 5f 28 28 6e 6f 6e 6e 75 6c 6c 29 29 -.<code>__attribute__((nonnull))
6f380 3c 2f 63 6f 64 65 3e 20 69 6e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a </code>.in.......<a.href="https:
6f3a0 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2d 34 2e 30 //gcc.gnu.org/onlinedocs/gcc-4.0
6f3c0 2e 30 2f 67 63 63 2f 46 75 6e 63 74 69 6f 6e 2d 41 74 74 72 69 62 75 74 65 73 2e 68 74 6d 6c 22 .0/gcc/Function-Attributes.html"
6f3e0 3e 47 43 43 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 63 61 >GCC</a>........The.optimizer.ca
6f400 6e 20 73 6f 6d 65 74 69 6d 65 73 20 6d 61 6b 65 20 62 65 74 74 65 72 20 64 65 63 69 73 69 6f 6e n.sometimes.make.better.decision
6f420 73 20 6b 6e 6f 77 69 6e 67 20 74 68 61 74 20 70 6f 69 6e 74 65 72 20 61 72 67 75 6d 65 6e 74 73 s.knowing.that.pointer.arguments
6f440 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 .......cannot.be.null........</p
6f460 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 3c >.......<h3.id="Optional-Type"><
6f480 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 a.href="#toc-Optional-Type">Opti
6f4a0 6f 6e 61 6c 20 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 onal.Type</a>.<a.class="hdr".hre
6f4c0 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a f="#Optional-Type">..</a></h3>..
6f4e0 20 20 20 20 20 20 3c 70 3e 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 69 73 20 63 72 65 61 74 65 64 20 ......<p>An.optional.is.created.
6f500 62 79 20 70 75 74 74 69 6e 67 20 3c 63 6f 64 65 3e 3f 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f by.putting.<code>?</code>.in.fro
6f520 6e 74 20 6f 66 20 61 20 74 79 70 65 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 63 6f 6d 70 69 6c nt.of.a.type..You.can.use.compil
6f540 65 2d 74 69 6d 65 0a 20 20 20 20 20 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 e-time.......reflection.to.acces
6f560 73 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 3a s.the.child.type.of.an.optional:
6f580 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
6f5a0 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
6f5c0 22 3e 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 74 79 70 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ">test_optional_type.zig</cite><
6f5e0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><code><span.cla
6f600 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 ss="tok-kw">const</span>.expect.
6f620 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 =.<span.class="tok-builtin">@imp
6f640 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ort</span>(<span.class="tok-str"
6f660 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 >&quot;std&quot;</span>).testing
6f680 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 .expect;..<span.class="tok-kw">t
6f6a0 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 est</span>.<span.class="tok-str"
6f6c0 3e 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e >&quot;optional.type&quot;</span
6f6e0 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 >.{.....<span.class="tok-comment
6f700 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 6e 64 20 63 6f 65 ">//.Declare.an.optional.and.coe
6f720 72 63 65 20 66 72 6f 6d 20 6e 75 6c 6c 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 rce.from.null:</span>.....<span.
6f740 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3f class="tok-kw">var</span>.foo:.?
6f760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e <span.class="tok-type">i32</span
6f780 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c >.=.<span.class="tok-null">null<
6f7a0 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f /span>;......<span.class="tok-co
6f7c0 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 6f 6d 20 63 68 69 6c 64 20 74 79 70 65 mment">//.Coerce.from.child.type
6f7e0 20 6f 66 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 66 6f 6f 20 3d .of.an.optional</span>.....foo.=
6f800 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f .<span.class="tok-number">1234</
6f820 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d span>;......<span.class="tok-com
6f840 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 ment">//.Use.compile-time.reflec
6f860 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 tion.to.access.the.child.type.of
6f880 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 .the.optional:</span>.....<span.
6f8a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 class="tok-kw">try</span>.<span.
6f8c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 class="tok-kw">comptime</span>.e
6f8e0 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e xpect(<span.class="tok-builtin">
6f900 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f @typeInfo</span>(<span.class="to
6f920 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e k-builtin">@TypeOf</span>(foo)).
6f940 4f 70 74 69 6f 6e 61 6c 2e 63 68 69 6c 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 Optional.child.==.<span.class="t
6f960 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f ok-type">i32</span>);.}</code></
6f980 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e pre></figure><figure><figcaption
6f9a0 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 .class="shell-cap">Shell</figcap
6f9c0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
6f9e0 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 74 79 70 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 test_optional_type.zig</kbd>.1/1
6fa00 20 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 74 79 70 65 2e 74 65 73 74 2e 6f 70 74 69 6f 6e 61 .test_optional_type.test.optiona
6fa20 6c 20 74 79 70 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e l.type....OK.All.1.tests.passed.
6fa40 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 .</samp></pre></figure>.........
6fa60 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 .....<h3.id="null"><a.href="#toc
6fa80 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 -null">null</a>.<a.class="hdr".h
6faa0 72 65 66 3d 22 23 6e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ref="#null">..</a></h3>........<
6fac0 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 p>.......Just.like.<a.href="#und
6fae0 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 efined">undefined</a>,.<code><sp
6fb00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c an.class="tok-null">null</span><
6fb20 2f 63 6f 64 65 3e 20 68 61 73 20 69 74 73 20 6f 77 6e 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 /code>.has.its.own.type,.and.the
6fb40 20 6f 6e 6c 79 20 77 61 79 20 74 6f 20 75 73 65 20 69 74 20 69 73 20 74 6f 0a 20 20 20 20 20 20 .only.way.to.use.it.is.to.......
6fb60 63 61 73 74 20 69 74 20 74 6f 20 61 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 3a 0a 20 20 20 cast.it.to.a.different.type:....
6fb80 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f ...</p>.......<figure><figcaptio
6fba0 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 n.class="zig-cap"><cite.class="f
6fbc0 69 6c 65 22 3e 6e 75 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">null.zig</cite></figcaption
6fbe0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
6fc00 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 3a 20 3f 3c >const</span>.optional_value:.?<
6fc20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">i32</span>
6fc40 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f .=.<span.class="tok-null">null</
6fc60 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 span>;</code></pre></figure>....
6fc80 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 ..........<h3.id="Optional-Point
6fca0 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e ers"><a.href="#toc-Optional-Poin
6fcc0 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 ters">Optional.Pointers</a>.<a.c
6fce0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 lass="hdr".href="#Optional-Point
6fd00 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 6f 70 ers">..</a></h3>........<p>An.op
6fd20 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 tional.pointer.is.guaranteed.to.
6fd40 62 65 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 61 20 70 6f 69 6e 74 65 72 2e 20 54 be.the.same.size.as.a.pointer..T
6fd60 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e he.<code><span.class="tok-null">
6fd80 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 null</span></code>.of.......the.
6fda0 6f 70 74 69 6f 6e 61 6c 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 61 64 64 optional.is.guaranteed.to.be.add
6fdc0 72 65 73 73 20 30 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 ress.0.</p>.......<figure><figca
6fde0 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 ption.class="zig-cap"><cite.clas
6fe00 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 7a s="file">test_optional_pointer.z
6fe20 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
6fe40 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
6fe60 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 n>.expect.=.<span.class="tok-bui
6fe80 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@import</span>(<span.class
6fea0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ="tok-str">&quot;std&quot;</span
6fec0 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >).testing.expect;..<span.class=
6fee0 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">test</span>.<span.class
6ff00 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 ="tok-str">&quot;optional.pointe
6ff20 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 rs&quot;</span>.{.....<span.clas
6ff40 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 50 6f 69 6e 74 65 72 73 20 63 61 6e 6e s="tok-comment">//.Pointers.cann
6ff60 6f 74 20 62 65 20 6e 75 6c 6c 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 61 20 6e 75 6c 6c 20 70 ot.be.null..If.you.want.a.null.p
6ff80 6f 69 6e 74 65 72 2c 20 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 0a ointer,.use.the.optional</span>.
6ffa0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
6ffc0 20 70 72 65 66 69 78 20 60 3f 60 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 .prefix.`?`.to.make.the.pointer.
6ffe0 74 79 70 65 20 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 type.optional.</span>.....<span.
70000 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 3f class="tok-kw">var</span>.ptr:.?
70020 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 *<span.class="tok-type">i32</spa
70040 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c n>.=.<span.class="tok-null">null
70060 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>;......<span.class="tok-k
70080 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.x:.<span.class="to
700a0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">i32</span>.=.<span.class
700c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 70 74 72 20 ="tok-number">1</span>;.....ptr.
700e0 3d 20 26 61 6d 70 3b 78 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d =.&amp;x;......<span.class="tok-
70100 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 2e 3f 2e 2a 20 3d 3d kw">try</span>.expect(ptr.?.*.==
70120 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 .<span.class="tok-number">1</spa
70140 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 n>);......<span.class="tok-comme
70160 6e 74 22 3e 2f 2f 20 4f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 74 68 65 nt">//.Optional.pointers.are.the
70180 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 73 2c 20 62 .same.size.as.normal.pointers,.b
701a0 65 63 61 75 73 65 20 70 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 ecause.pointer</span>.....<span.
701c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 20 30 20 69 class="tok-comment">//.value.0.i
701e0 73 20 75 73 65 64 20 61 73 20 74 68 65 20 6e 75 6c 6c 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e s.used.as.the.null.value.</span>
70200 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
70220 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 pan>.expect(<span.class="tok-bui
70240 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3f 2a 3c 73 70 61 6e 20 63 6c 61 ltin">@sizeOf</span>(?*<span.cla
70260 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 ss="tok-type">i32</span>).==.<sp
70280 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f an.class="tok-builtin">@sizeOf</
702a0 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 span>(*<span.class="tok-type">i3
702c0 32 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 2</span>));.}</code></pre></figu
702e0 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
70300 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
70320 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6f 70 74 69 6f <samp>$.<kbd>zig.test.test_optio
70340 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 6f nal_pointer.zig</kbd>.1/1.test_o
70360 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 74 65 73 74 2e 6f 70 74 69 6f 6e 61 6c 20 70 6f ptional_pointer.test.optional.po
70380 69 6e 74 65 72 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e inters....OK.All.1.tests.passed.
703a0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a .</samp></pre></figure>.........
703c0 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c ......<p>See.also:</p><ul>.<li><
703e0 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 a.href="#while-with-Optionals">w
70400 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 hile.with.Optionals</a></li>.<li
70420 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 69 66 ><a.href="#if-with-Optionals">if
70440 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a .with.Optionals</a></li>.</ul>..
70460 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 61 73 74 69 6e 67 22 3e 3c 61 .............<h2.id="Casting"><a
70480 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 74 69 6e 67 22 3e 43 61 73 74 69 6e 67 3c 2f 61 3e .href="#toc-Casting">Casting</a>
704a0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 74 69 6e 67 22 3e .<a.class="hdr".href="#Casting">
704c0 c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c ..</a></h2>........<p>.......A.<
704e0 73 74 72 6f 6e 67 3e 74 79 70 65 20 63 61 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 63 6f 6e 76 65 72 strong>type.cast</strong>.conver
70500 74 73 20 61 20 76 61 6c 75 65 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 ts.a.value.of.one.type.to.anothe
70520 72 2e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d r........Zig.has.<a.href="#Type-
70540 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 Coercion">Type.Coercion</a>.for.
70560 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 conversions.that.are.known.to.be
70580 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 61 66 65 20 61 6e 64 20 75 6e 61 6d 62 69 67 75 6f 75 73 .completely.safe.and.unambiguous
705a0 2c 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 45 78 70 6c 69 63 69 74 2d 43 ,.......and.<a.href="#Explicit-C
705c0 61 73 74 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e asts">Explicit.Casts</a>.for.con
705e0 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 6f 6e 65 20 77 6f 75 6c 64 20 6e 6f 74 20 77 61 6e 74 versions.that.one.would.not.want
70600 20 74 6f 20 68 61 70 70 65 6e 20 6f 6e 20 61 63 63 69 64 65 6e 74 2e 0a 20 20 20 20 20 20 54 68 .to.happen.on.accident........Th
70620 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 74 68 69 72 64 20 6b 69 6e 64 20 6f 66 20 74 79 70 65 ere.is.also.a.third.kind.of.type
70640 20 63 6f 6e 76 65 72 73 69 6f 6e 20 63 61 6c 6c 65 64 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 .conversion.called.<a.href="#Pee
70660 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 r-Type-Resolution">Peer.Type.Res
70680 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 0a 20 20 20 20 20 20 74 68 65 20 63 61 73 65 20 77 olution</a>.for.......the.case.w
706a0 68 65 6e 20 61 20 72 65 73 75 6c 74 20 74 79 70 65 20 6d 75 73 74 20 62 65 20 64 65 63 69 64 65 hen.a.result.type.must.be.decide
706c0 64 20 67 69 76 65 6e 20 6d 75 6c 74 69 70 6c 65 20 6f 70 65 72 61 6e 64 20 74 79 70 65 73 2e 0a d.given.multiple.operand.types..
706e0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 2d 43 6f ......</p>.......<h3.id="Type-Co
70700 65 72 63 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 ercion"><a.href="#toc-Type-Coerc
70720 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ion">Type.Coercion</a>.<a.class=
70740 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e c2 a7 3c 2f "hdr".href="#Type-Coercion">..</
70760 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 65 20 63 6f a></h3>........<p>.......Type.co
70780 65 72 63 69 6f 6e 20 6f 63 63 75 72 73 20 77 68 65 6e 20 6f 6e 65 20 74 79 70 65 20 69 73 20 65 ercion.occurs.when.one.type.is.e
707a0 78 70 65 63 74 65 64 2c 20 62 75 74 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 20 69 73 20 70 xpected,.but.different.type.is.p
707c0 72 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 rovided:.......</p>.......<figur
707e0 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
70800 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 ite.class="file">test_type_coerc
70820 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ion.zig</cite></figcaption><pre>
70840 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c <code><span.class="tok-kw">test<
70860 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>.<span.class="tok-str">&qu
70880 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c ot;type.coercion.-.variable.decl
708a0 61 72 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e aration&quot;</span>.{.....<span
708c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 .class="tok-kw">const</span>.a:.
708e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e <span.class="tok-type">u8</span>
70900 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 .=.<span.class="tok-number">1</s
70920 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pan>;.....<span.class="tok-kw">c
70940 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d onst</span>.b:.<span.class="tok-
70960 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 0a 20 20 20 20 5f 20 3d 20 62 3b type">u16</span>.=.a;....._.=.b;
70980 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 .}..<span.class="tok-kw">test</s
709a0 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>.<span.class="tok-str">&quot
709c0 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 ;type.coercion.-.function.call&q
709e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
70a00 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.a:.<span.cla
70a20 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 ss="tok-type">u8</span>.=.<span.
70a40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 class="tok-number">1</span>;....
70a60 20 66 6f 6f 28 61 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .foo(a);.}..<span.class="tok-kw"
70a80 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e >fn</span>.<span.class="tok-fn">
70aa0 66 6f 6f 3c 2f 73 70 61 6e 3e 28 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 foo</span>(b:.<span.class="tok-t
70ac0 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">u16</span>).<span.class="to
70ae0 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 62 3b k-type">void</span>.{....._.=.b;
70b00 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 .}..<span.class="tok-kw">test</s
70b20 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>.<span.class="tok-str">&quot
70b40 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 40 61 73 20 62 75 69 6c 74 69 6e 26 71 75 6f ;type.coercion.-.@as.builtin&quo
70b60 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
70b80 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">const</span>.a:.<span.class
70ba0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c ="tok-type">u8</span>.=.<span.cl
70bc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c ass="tok-number">1</span>;.....<
70be0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
70c00 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 .b.=.<span.class="tok-builtin">@
70c20 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 as</span>(<span.class="tok-type"
70c40 3e 75 31 36 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 0a 20 20 20 20 5f 20 3d 20 62 3b 0a 7d 3c 2f 63 >u16</span>,.a);....._.=.b;.}</c
70c60 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 ode></pre></figure><figure><figc
70c80 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f aption.class="shell-cap">Shell</
70ca0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
70cc0 20 74 65 73 74 20 74 65 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 .test.test_type_coercion.zig</kb
70ce0 64 3e 0a 31 2f 33 20 74 65 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 74 65 73 74 2e 74 d>.1/3.test_type_coercion.test.t
70d00 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 ype.coercion.-.variable.declarat
70d20 69 6f 6e 2e 2e 2e 20 4f 4b 0a 32 2f 33 20 74 65 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 69 6f 6e ion....OK.2/3.test_type_coercion
70d40 2e 74 65 73 74 2e 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 66 75 6e 63 74 69 6f 6e 20 63 .test.type.coercion.-.function.c
70d60 61 6c 6c 2e 2e 2e 20 4f 4b 0a 33 2f 33 20 74 65 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 69 6f 6e all....OK.3/3.test_type_coercion
70d80 2e 74 65 73 74 2e 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 40 61 73 20 62 75 69 6c 74 69 .test.type.coercion.-.@as.builti
70da0 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 n....OK.All.3.tests.passed..</sa
70dc0 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 mp></pre></figure>.......<p>....
70de0 20 20 20 54 79 70 65 20 63 6f 65 72 63 69 6f 6e 73 20 61 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 ...Type.coercions.are.only.allow
70e00 65 64 20 77 68 65 6e 20 69 74 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 75 6e 61 6d 62 69 67 ed.when.it.is.completely.unambig
70e20 75 6f 75 73 20 68 6f 77 20 74 6f 20 67 65 74 20 66 72 6f 6d 20 6f 6e 65 20 74 79 70 65 20 74 6f uous.how.to.get.from.one.type.to
70e40 20 61 6e 6f 74 68 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 74 72 61 6e 73 66 6f 72 .another,.......and.the.transfor
70e60 6d 61 74 69 6f 6e 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 73 61 66 65 2e mation.is.guaranteed.to.be.safe.
70e80 20 54 68 65 72 65 20 69 73 20 6f 6e 65 20 65 78 63 65 70 74 69 6f 6e 2c 20 77 68 69 63 68 20 69 .There.is.one.exception,.which.i
70ea0 73 20 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 s.<a.href="#C-Pointers">C.Pointe
70ec0 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d rs</a>........</p>.......<h4.id=
70ee0 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 "Type-Coercion-Stricter-Qualific
70f00 61 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 ation"><a.href="#toc-Type-Coerci
70f20 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 54 79 70 65 20 on-Stricter-Qualification">Type.
70f40 43 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 51 75 61 6c 69 66 69 63 61 74 69 6f 6e Coercion:.Stricter.Qualification
70f60 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d </a>.<a.class="hdr".href="#Type-
70f80 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 Coercion-Stricter-Qualification"
70fa0 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 56 61 >..</a></h4>........<p>.......Va
70fc0 6c 75 65 73 20 77 68 69 63 68 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 72 65 70 72 65 73 65 lues.which.have.the.same.represe
70fe0 6e 74 61 74 69 6f 6e 20 61 74 20 72 75 6e 74 69 6d 65 20 63 61 6e 20 62 65 20 63 61 73 74 20 74 ntation.at.runtime.can.be.cast.t
71000 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 73 74 72 69 63 74 6e 65 73 73 0a 20 20 20 20 20 20 o.increase.the.strictness.......
71020 6f 66 20 74 68 65 20 71 75 61 6c 69 66 69 65 72 73 2c 20 6e 6f 20 6d 61 74 74 65 72 20 68 6f 77 of.the.qualifiers,.no.matter.how
71040 20 6e 65 73 74 65 64 20 74 68 65 20 71 75 61 6c 69 66 69 65 72 73 20 61 72 65 3a 0a 20 20 20 20 .nested.the.qualifiers.are:.....
71060 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ..</p>.......<ul>...........<li>
71080 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
710a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 63 6f 6e 73 74 20 74 6f 20 63 6f </span></code>.-.non-const.to.co
710c0 6e 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c nst.is.allowed</li>...........<l
710e0 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c i><code><span.class="tok-kw">vol
71100 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 76 6f 6c 61 74 69 atile</span></code>.-.non-volati
71120 6c 65 20 74 6f 20 76 6f 6c 61 74 69 6c 65 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 le.to.volatile.is.allowed</li>..
71140 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .........<li><code><span.class="
71160 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 tok-kw">align</span></code>.-.bi
71180 67 67 65 72 20 74 6f 20 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 69 73 20 61 6c 6c gger.to.smaller.alignment.is.all
711a0 6f 77 65 64 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 owed.</li>...........<li><a.href
711c0 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 65 72 72 6f 72 20 73 65 74 73 3c 2f 61 ="#Error-Set-Type">error.sets</a
711e0 3e 20 74 6f 20 73 75 70 65 72 73 65 74 73 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 >.to.supersets.is.allowed</li>..
71200 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 .....</ul>.......<p>.......These
71220 20 63 61 73 74 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 72 75 6e 74 69 6d 65 20 73 69 6e .casts.are.no-ops.at.runtime.sin
71240 63 65 20 74 68 65 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 ce.the.value.representation.does
71260 20 6e 6f 74 20 63 68 61 6e 67 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 .not.change........</p>.......<f
71280 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 igure><figcaption.class="zig-cap
712a0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 6f 5f 6f 70 5f "><cite.class="file">test_no_op_
712c0 63 61 73 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 casts.zig</cite></figcaption><pr
712e0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 e><code><span.class="tok-kw">tes
71300 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>.<span.class="tok-str">&
71320 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 63 6f 6e 73 74 20 71 75 61 6c 69 quot;type.coercion.-.const.quali
71340 66 69 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 fication&quot;</span>.{.....<spa
71360 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c n.class="tok-kw">var</span>.a:.<
71380 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">i32</span>
713a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 .=.<span.class="tok-number">1</s
713c0 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pan>;.....<span.class="tok-kw">c
713e0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b onst</span>.b:.*<span.class="tok
71400 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 3b 0a 20 20 20 20 -type">i32</span>.=.&amp;a;.....
71420 66 6f 6f 28 62 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e foo(b);.}..<span.class="tok-kw">
71440 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 fn</span>.<span.class="tok-fn">f
71460 6f 6f 3c 2f 73 70 61 6e 3e 28 5f 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b oo</span>(_:.*<span.class="tok-k
71480 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b w">const</span>.<span.class="tok
714a0 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">i32</span>).<span.class="
714c0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 3c tok-type">void</span>.{}</code><
714e0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f /pre></figure><figure><figcaptio
71500 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 n.class="shell-cap">Shell</figca
71520 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 ption><pre><samp>$.<kbd>zig.test
71540 20 74 65 73 74 5f 6e 6f 5f 6f 70 5f 63 61 73 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 .test_no_op_casts.zig</kbd>.1/1.
71560 74 65 73 74 5f 6e 6f 5f 6f 70 5f 63 61 73 74 73 2e 74 65 73 74 2e 74 79 70 65 20 63 6f 65 72 63 test_no_op_casts.test.type.coerc
71580 69 6f 6e 20 2d 20 63 6f 6e 73 74 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 2e 2e 2e 20 4f 4b 0a ion.-.const.qualification....OK.
715a0 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 All.1.tests.passed..</samp></pre
715c0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 ></figure>.......<p>.......In.ad
715e0 64 69 74 69 6f 6e 2c 20 70 6f 69 6e 74 65 72 73 20 63 6f 65 72 63 65 20 74 6f 20 63 6f 6e 73 74 dition,.pointers.coerce.to.const
71600 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .optional.pointers:.......</p>..
71620 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 .....<figure><figcaption.class="
71640 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 zig-cap"><cite.class="file">test
71660 5f 70 6f 69 6e 74 65 72 5f 63 6f 65 72 63 65 5f 63 6f 6e 73 74 5f 6f 70 74 69 6f 6e 61 6c 2e 7a _pointer_coerce_const_optional.z
71680 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
716a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
716c0 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n>.std.=.<span.class="tok-builti
716e0 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">@import</span>(<span.class="t
71700 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b ok-str">&quot;std&quot;</span>);
71720 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
71740 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a n>.expect.=.std.testing.expect;.
71760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
71780 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >.mem.=.std.mem;..<span.class="t
717a0 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ok-kw">test</span>.<span.class="
717c0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 61 73 74 20 2a 5b 31 5d 5b 2a 5d 63 6f 6e 73 74 tok-str">&quot;cast.*[1][*]const
717e0 20 75 38 20 74 6f 20 5b 2a 5d 63 6f 6e 73 74 20 3f 5b 2a 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f .u8.to.[*]const.?[*]const.u8&quo
71800 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
71820 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 69 6e 64 6f 77 5f 6e 61 6d 65 20 3d 20 -kw">const</span>.window_name.=.
71840 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 [<span.class="tok-number">1</spa
71860 6e 3e 5d 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 n>][*]<span.class="tok-kw">const
71880 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 </span>.<span.class="tok-type">u
718a0 38 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 8</span>{<span.class="tok-str">&
718c0 71 75 6f 74 3b 77 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 3b 0a quot;window.name&quot;</span>};.
718e0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ....<span.class="tok-kw">const</
71900 73 70 61 6e 3e 20 78 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.x:.[*]<span.class="tok-kw"
71920 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.?[*]<span.class="t
71940 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">const</span>.<span.class=
71960 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 77 69 6e 64 "tok-type">u8</span>.=.&amp;wind
71980 6f 77 5f 6e 61 6d 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ow_name;.....<span.class="tok-kw
719a0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 ">try</span>.expect(mem.eql(<spa
719c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 74 n.class="tok-type">u8</span>,.st
719e0 64 2e 6d 65 6d 2e 73 6c 69 63 65 54 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 d.mem.sliceTo(<span.class="tok-b
71a00 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 uiltin">@as</span>([*:<span.clas
71a20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c s="tok-number">0</span>]<span.cl
71a40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ass="tok-kw">const</span>.<span.
71a60 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 class="tok-type">u8</span>,.<spa
71a80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f n.class="tok-builtin">@ptrCast</
71aa0 73 70 61 6e 3e 28 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 span>(x[<span.class="tok-number"
71ac0 3e 30 3c 2f 73 70 61 6e 3e 5d 2e 3f 29 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >0</span>].?)),.<span.class="tok
71ae0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -number">0</span>),.<span.class=
71b00 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 "tok-str">&quot;window.name&quot
71b20 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ;</span>));.}</code></pre></figu
71b40 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
71b60 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
71b80 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 6f 69 6e 74 <samp>$.<kbd>zig.test.test_point
71ba0 65 72 5f 63 6f 65 72 63 65 5f 63 6f 6e 73 74 5f 6f 70 74 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 6b 62 er_coerce_const_optional.zig</kb
71bc0 64 3e 0a 31 2f 31 20 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 6f 65 72 63 65 5f 63 6f 6e 73 74 d>.1/1.test_pointer_coerce_const
71be0 5f 6f 70 74 69 6f 6e 61 6c 2e 74 65 73 74 2e 63 61 73 74 20 2a 5b 31 5d 5b 2a 5d 63 6f 6e 73 74 _optional.test.cast.*[1][*]const
71c00 20 75 38 20 74 6f 20 5b 2a 5d 63 6f 6e 73 74 20 3f 5b 2a 5d 63 6f 6e 73 74 20 75 38 2e 2e 2e 20 .u8.to.[*]const.?[*]const.u8....
71c20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.1.tests.passed..</samp></
71c40 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 pre></figure>..............<h4.i
71c60 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f d="Type-Coercion-Integer-and-Flo
71c80 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d at-Widening"><a.href="#toc-Type-
71ca0 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e Coercion-Integer-and-Float-Widen
71cc0 69 6e 67 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 61 6e 64 20 ing">Type.Coercion:.Integer.and.
71ce0 46 6c 6f 61 74 20 57 69 64 65 6e 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 Float.Widening</a>.<a.class="hdr
71d00 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 ".href="#Type-Coercion-Integer-a
71d20 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a nd-Float-Widening">..</a></h4>..
71d40 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 ......<p>.......<a.href="#Intege
71d60 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 69 6e 74 65 67 rs">Integers</a>.coerce.to.integ
71d80 65 72 20 74 79 70 65 73 20 77 68 69 63 68 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 65 76 65 er.types.which.can.represent.eve
71da0 72 79 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2c 20 61 6e 64 20 6c 69 ry.value.of.the.old.type,.and.li
71dc0 6b 65 77 69 73 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 kewise.......<a.href="#Floats">F
71de0 6c 6f 61 74 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 66 6c 6f 61 74 20 74 79 70 65 73 20 loats</a>.coerce.to.float.types.
71e00 77 68 69 63 68 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 65 76 65 72 79 20 76 61 6c 75 65 20 which.can.represent.every.value.
71e20 6f 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 of.the.old.type........</p>.....
71e40 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 ..<figure><figcaption.class="zig
71e60 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e -cap"><cite.class="file">test_in
71e80 74 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 teger_widening.zig</cite></figca
71ea0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
71ec0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.std.=.<span.c
71ee0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e lass="tok-builtin">@import</span
71f00 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
71f20 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
71f40 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 k-kw">const</span>.builtin.=.<sp
71f60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f an.class="tok-builtin">@import</
71f80 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>(<span.class="tok-str">&quo
71fa0 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 t;builtin&quot;</span>);.<span.c
71fc0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 lass="tok-kw">const</span>.expec
71fe0 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 6c t.=.std.testing.expect;.<span.cl
72000 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 ass="tok-kw">const</span>.mem.=.
72020 73 74 64 2e 6d 65 6d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 std.mem;..<span.class="tok-kw">t
72040 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 est</span>.<span.class="tok-str"
72060 3e 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 >&quot;integer.widening&quot;</s
72080 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
720a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b const</span>.a:.<span.class="tok
720c0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">u8</span>.=.<span.class="
720e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 tok-number">250</span>;.....<spa
72100 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a n.class="tok-kw">const</span>.b:
72120 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 .<span.class="tok-type">u16</spa
72140 6e 3e 20 3d 20 61 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n>.=.a;.....<span.class="tok-kw"
72160 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >const</span>.c:.<span.class="to
72180 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 62 3b 0a 20 20 20 20 3c 73 70 61 k-type">u32</span>.=.b;.....<spa
721a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 3a n.class="tok-kw">const</span>.d:
721c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 .<span.class="tok-type">u64</spa
721e0 6e 3e 20 3d 20 63 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n>.=.c;.....<span.class="tok-kw"
72200 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >const</span>.e:.<span.class="to
72220 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 64 3b 0a 20 20 20 20 3c 73 70 61 k-type">u64</span>.=.d;.....<spa
72240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 3a n.class="tok-kw">const</span>.f:
72260 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 32 38 3c 2f 73 70 .<span.class="tok-type">u128</sp
72280 61 6e 3e 20 3d 20 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 an>.=.e;.....<span.class="tok-kw
722a0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 20 3d 3d 20 61 29 3b 0a 7d 0a 0a ">try</span>.expect(f.==.a);.}..
722c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e <span.class="tok-kw">test</span>
722e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6d 70 .<span.class="tok-str">&quot;imp
72300 6c 69 63 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 74 6f 20 73 69 67 6e 65 64 licit.unsigned.integer.to.signed
72320 20 69 6e 74 65 67 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 .integer&quot;</span>.{.....<spa
72340 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a n.class="tok-kw">const</span>.a:
72360 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e .<span.class="tok-type">u8</span
72380 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 >.=.<span.class="tok-number">250
723a0 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>;.....<span.class="tok-kw
723c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">const</span>.b:.<span.class="t
723e0 6f 6b 2d 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 0a 20 20 20 20 3c 73 70 ok-type">i16</span>.=.a;.....<sp
72400 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
72420 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ect(b.==.<span.class="tok-number
72440 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">250</span>);.}..<span.class="t
72460 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ok-kw">test</span>.<span.class="
72480 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6c 6f 61 74 20 77 69 64 65 6e 69 6e 67 26 71 75 tok-str">&quot;float.widening&qu
724a0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
724c0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">const</span>.a:.<span.clas
724e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 s="tok-type">f16</span>.=.<span.
72500 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b class="tok-number">12.34</span>;
72520 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
72540 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.b:.<span.class="tok-type"
72560 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 >f32</span>.=.a;.....<span.class
72580 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 ="tok-kw">const</span>.c:.<span.
725a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 62 3b class="tok-type">f64</span>.=.b;
725c0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
725e0 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.d:.<span.class="tok-type"
72600 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 >f128</span>.=.c;.....<span.clas
72620 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 20 3d s="tok-kw">try</span>.expect(d.=
72640 3d 20 61 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 =.a);.}</code></pre></figure><fi
72660 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
72680 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
726a0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 74 65 67 65 72 5f 77 69 64 $.<kbd>zig.test.test_integer_wid
726c0 65 6e 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 33 20 74 65 73 74 5f 69 6e 74 65 67 65 72 ening.zig</kbd>.1/3.test_integer
726e0 5f 77 69 64 65 6e 69 6e 67 2e 74 65 73 74 2e 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 2e _widening.test.integer.widening.
72700 2e 2e 20 4f 4b 0a 32 2f 33 20 74 65 73 74 5f 69 6e 74 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e ...OK.2/3.test_integer_widening.
72720 74 65 73 74 2e 69 6d 70 6c 69 63 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 74 test.implicit.unsigned.integer.t
72740 6f 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2e 2e 2e 20 4f 4b 0a 33 2f 33 20 74 65 73 74 5f o.signed.integer....OK.3/3.test_
72760 69 6e 74 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e 74 65 73 74 2e 66 6c 6f 61 74 20 77 69 64 65 integer_widening.test.float.wide
72780 6e 69 6e 67 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c ning....OK.All.3.tests.passed..<
727a0 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 /samp></pre></figure>...........
727c0 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 ...<h4.id="Type-Coercion-Float-t
727e0 6f 2d 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 o-Int"><a.href="#toc-Type-Coerci
72800 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 on-Float-to-Int">Type.Coercion:.
72820 46 6c 6f 61 74 20 74 6f 20 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 Float.to.Int</a>.<a.class="hdr".
72840 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e href="#Type-Coercion-Float-to-In
72860 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 t">..</a></h4>........<p>.......
72880 41 20 63 6f 6d 70 69 6c 65 72 20 65 72 72 6f 72 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 20 A.compiler.error.is.appropriate.
728a0 62 65 63 61 75 73 65 20 74 68 69 73 20 61 6d 62 69 67 75 6f 75 73 20 65 78 70 72 65 73 73 69 6f because.this.ambiguous.expressio
728c0 6e 20 6c 65 61 76 65 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 74 77 6f 20 n.leaves.the.compiler.......two.
728e0 63 68 6f 69 63 65 73 20 61 62 6f 75 74 20 74 68 65 20 63 6f 65 72 63 69 6f 6e 2e 0a 20 20 20 20 choices.about.the.coercion......
72900 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 ..</p>.......<ul>.........<li>Ca
72920 73 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 st.<code><span.class="tok-number
72940 22 3e 35 34 2e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 ">54.0</span></code>.to.<code><s
72960 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e pan.class="tok-type">comptime_in
72980 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 3c 63 6f t</span></code>.resulting.in.<co
729a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 de><span.class="tok-builtin">@as
729c0 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 </span>(<span.class="tok-type">c
729e0 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d omptime_int</span>,.<span.class=
72a00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 2c 20 "tok-number">10</span>)</code>,.
72a20 77 68 69 63 68 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 which.is.casted.to.<code><span.c
72a40 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 lass="tok-builtin">@as</span>(<s
72a60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-type">f32</span>,
72a80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 .<span.class="tok-number">10</sp
72aa0 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 73 an>)</code></li>.........<li>Cas
72ac0 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 t.<code><span.class="tok-number"
72ae0 3e 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 >5</span></code>.to.<code><span.
72b00 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c class="tok-type">comptime_float<
72b20 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 3c 63 6f 64 65 /span></code>.resulting.in.<code
72b40 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f ><span.class="tok-builtin">@as</
72b60 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d span>(<span.class="tok-type">com
72b80 70 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ptime_float</span>,.<span.class=
72ba0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 2e 38 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e "tok-number">10.8</span>)</code>
72bc0 2c 20 77 68 69 63 68 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ,.which.is.casted.to.<code><span
72be0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 .class="tok-builtin">@as</span>(
72c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e <span.class="tok-type">f32</span
72c20 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 2e 38 >,.<span.class="tok-number">10.8
72c40 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e </span>)</code></li>.......</ul>
72c60 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 .......<figure><figcaption.class
72c80 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 ="zig-cap"><cite.class="file">te
72ca0 73 74 5f 61 6d 62 69 67 75 6f 75 73 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e st_ambiguous_coercion.zig</cite>
72cc0 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><code><span.cl
72ce0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 70 69 6c 65 20 74 69 6d ass="tok-comment">//.Compile.tim
72d00 65 20 63 6f 65 72 63 69 6f 6e 20 6f 66 20 66 6c 6f 61 74 20 74 6f 20 69 6e 74 3c 2f 73 70 61 6e e.coercion.of.float.to.int</span
72d20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 >.<span.class="tok-kw">test</spa
72d40 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 n>.<span.class="tok-str">&quot;i
72d60 6d 70 6c 69 63 69 74 20 63 61 73 74 20 74 6f 20 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 26 71 75 6f mplicit.cast.to.comptime_int&quo
72d80 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
72da0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">const</span>.f:.<span.class
72dc0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">f32</span>.=.<span.c
72de0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 34 2e 30 3c 2f 73 70 61 6e 3e 20 2f 20 lass="tok-number">54.0</span>./.
72e00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e <span.class="tok-number">5</span
72e20 3e 3b 0a 20 20 20 20 5f 20 3d 20 66 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 >;....._.=.f;.}</code></pre></fi
72e40 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 gure><figure><figcaption.class="
72e60 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 shell-cap">Shell</figcaption><pr
72e80 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 6d 62 e><samp>$.<kbd>zig.test.test_amb
72ea0 69 67 75 6f 75 73 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 iguous_coercion.zig</kbd>.<span.
72ec0 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 61 class="sgr-1m">docgen_tmp/test_a
72ee0 6d 62 69 67 75 6f 75 73 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3a 33 3a 32 35 3a 20 3c 2f 73 70 mbiguous_coercion.zig:3:25:.</sp
72f00 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 an><span.class="sgr-31m">error:.
72f20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 61 6d 62 69 </span><span.class="sgr-1m">ambi
72f40 67 75 6f 75 73 20 63 6f 65 72 63 69 6f 6e 20 6f 66 20 64 69 76 69 73 69 6f 6e 20 6f 70 65 72 61 guous.coercion.of.division.opera
72f60 6e 64 73 20 27 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 27 20 61 6e 64 20 27 63 6f 6d 70 74 69 nds.'comptime_float'.and.'compti
72f80 6d 65 5f 69 6e 74 27 3b 20 6e 6f 6e 2d 7a 65 72 6f 20 72 65 6d 61 69 6e 64 65 72 20 27 34 27 0a me_int';.non-zero.remainder.'4'.
72fa0 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 66 3a 20 66 33 32 20 3d 20 35 34 2e 30 20 2f </span>....const.f:.f32.=.54.0./
72fc0 20 35 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .5;....................<span.cla
72fe0 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f ss="sgr-32m">~~~~~^~~.</span>.</
73000 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 samp></pre></figure>............
73020 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 ..<h4.id="Type-Coercion-Slices-A
73040 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f rrays-and-Pointers"><a.href="#to
73060 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 73 2d 61 6e c-Type-Coercion-Slices-Arrays-an
73080 64 2d 50 6f 69 6e 74 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 6c 69 63 65 d-Pointers">Type.Coercion:.Slice
730a0 73 2c 20 41 72 72 61 79 73 20 61 6e 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c s,.Arrays.and.Pointers</a>.<a.cl
730c0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 ass="hdr".href="#Type-Coercion-S
730e0 6c 69 63 65 73 2d 41 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 lices-Arrays-and-Pointers">..</a
73100 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f ></h4>........<figure><figcaptio
73120 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 n.class="zig-cap"><cite.class="f
73140 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 ile">test_coerce_slices_arrays_a
73160 6e 64 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 nd_pointers.zig</cite></figcapti
73180 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
731a0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 w">const</span>.std.=.<span.clas
731c0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c s="tok-builtin">@import</span>(<
731e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 span.class="tok-str">&quot;std&q
73200 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b uot;</span>);.<span.class="tok-k
73220 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 w">const</span>.expect.=.std.tes
73240 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ting.expect;..<span.class="tok-c
73260 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 61 73 73 69 67 6e 20 63 6f 6e 73 74 61 omment">//.You.can.assign.consta
73280 6e 74 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 72 72 61 79 73 20 74 6f 20 61 20 73 6c 69 63 65 nt.pointers.to.arrays.to.a.slice
732a0 20 77 69 74 68 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f .with</span>.<span.class="tok-co
732c0 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6e 73 74 20 6d 6f 64 69 66 69 65 72 20 6f 6e 20 74 68 65 20 mment">//.const.modifier.on.the.
732e0 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 20 55 73 65 66 75 6c 20 69 6e 20 70 61 72 74 69 63 75 6c element.type..Useful.in.particul
73300 61 72 20 66 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ar.for</span>.<span.class="tok-c
73320 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 73 70 61 omment">//.String.literals.</spa
73340 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 n>.<span.class="tok-kw">test</sp
73360 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>.<span.class="tok-str">&quot;
73380 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f *const.[N]T.to.[]const.T&quot;</
733a0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
733c0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.x1:.[]<span.class=
733e0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-kw">const</span>.<span.clas
73400 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 s="tok-type">u8</span>.=.<span.c
73420 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b lass="tok-str">&quot;hello&quot;
73440 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>;.....<span.class="tok-kw
73460 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.x2:.[]<span.class
73480 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">const</span>.<span.cla
734a0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b ss="tok-type">u8</span>.=.&amp;[
734c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e <span.class="tok-number">5</span
734e0 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 >]<span.class="tok-type">u8</spa
73500 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 n>{.<span.class="tok-str">'h'</s
73520 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c pan>,.<span.class="tok-str">'e'<
73540 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c /span>,.<span.class="tok-str">'l
73560 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e '</span>,.<span.class="tok-str">
73580 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 'l'</span>,.<span.class="tok-num
735a0 62 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ber">111</span>.};.....<span.cla
735c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 ss="tok-kw">try</span>.expect(st
735e0 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 d.mem.eql(<span.class="tok-type"
73600 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 31 2c 20 78 32 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e >u8</span>,.x1,.x2));......<span
73620 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 .class="tok-kw">const</span>.y:.
73640 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 []<span.class="tok-kw">const</sp
73660 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f an>.<span.class="tok-type">f32</
73680 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e span>.=.&amp;[<span.class="tok-n
736a0 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b umber">2</span>]<span.class="tok
736c0 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">f32</span>{.<span.class="
736e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c tok-number">1.2</span>,.<span.cl
73700 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 ass="tok-number">3.4</span>.};..
73720 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
73740 6e 3e 20 65 78 70 65 63 74 28 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d n>.expect(y[<span.class="tok-num
73760 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">0</span>].==.<span.class="t
73780 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e ok-number">1.2</span>);.}..<span
737a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 65 .class="tok-comment">//.Likewise
737c0 2c 20 69 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 ,.it.works.when.the.destination.
737e0 74 79 70 65 20 69 73 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 3c type.is.an.error.union.</span>.<
73800 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 span.class="tok-kw">test</span>.
73820 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 63 6f 6e <span.class="tok-str">&quot;*con
73840 73 74 20 5b 4e 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 st.[N]T.to.E![]const.T&quot;</sp
73860 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
73880 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b onst</span>.x1:.<span.class="tok
738a0 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 -type">anyerror</span>![]<span.c
738c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e lass="tok-kw">const</span>.<span
738e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 .class="tok-type">u8</span>.=.<s
73900 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 pan.class="tok-str">&quot;hello&
73920 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 quot;</span>;.....<span.class="t
73940 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 3c 73 70 61 6e 20 63 6c ok-kw">const</span>.x2:.<span.cl
73960 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 5b ass="tok-type">anyerror</span>![
73980 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ]<span.class="tok-kw">const</spa
739a0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 n>.<span.class="tok-type">u8</sp
739c0 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d an>.=.&amp;[<span.class="tok-num
739e0 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ber">5</span>]<span.class="tok-t
73a00 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ype">u8</span>{.<span.class="tok
73a20 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -str">'h'</span>,.<span.class="t
73a40 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-str">'e'</span>,.<span.class=
73a60 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-str">'l'</span>,.<span.clas
73a80 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-str">'l'</span>,.<span.cl
73aa0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 ass="tok-number">111</span>.};..
73ac0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
73ae0 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 n>.expect(std.mem.eql(<span.clas
73b00 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-type">u8</span>,.<span.cl
73b20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 31 2c 20 3c 73 70 61 ass="tok-kw">try</span>.x1,.<spa
73b40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 32 29 29 n.class="tok-kw">try</span>.x2))
73b60 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ;......<span.class="tok-kw">cons
73b80 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>.y:.<span.class="tok-typ
73ba0 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 e">anyerror</span>![]<span.class
73bc0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">const</span>.<span.cla
73be0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b ss="tok-type">f32</span>.=.&amp;
73c00 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 [<span.class="tok-number">2</spa
73c20 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 n>]<span.class="tok-type">f32</s
73c40 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 pan>{.<span.class="tok-number">1
73c60 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 .2</span>,.<span.class="tok-numb
73c80 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 er">3.4</span>.};.....<span.clas
73ca0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 s="tok-kw">try</span>.expect((<s
73cc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 79 29 pan.class="tok-kw">try</span>.y)
73ce0 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 [<span.class="tok-number">0</spa
73d00 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e n>].==.<span.class="tok-number">
73d20 31 2e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 1.2</span>);.}..<span.class="tok
73d40 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 65 2c 20 69 74 20 77 6f 72 6b 73 20 -comment">//.Likewise,.it.works.
73d60 77 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 61 6e 20 when.the.destination.type.is.an.
73d80 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f optional.</span>.<span.class="to
73da0 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k-kw">test</span>.<span.class="t
73dc0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 3f 5b 5d ok-str">&quot;*const.[N]T.to.?[]
73de0 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e const.T&quot;</span>.{.....<span
73e00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 31 3a .class="tok-kw">const</span>.x1:
73e20 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f .?[]<span.class="tok-kw">const</
73e40 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c span>.<span.class="tok-type">u8<
73e60 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 /span>.=.<span.class="tok-str">&
73e80 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 quot;hello&quot;</span>;.....<sp
73ea0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 an.class="tok-kw">const</span>.x
73ec0 32 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 2:.?[]<span.class="tok-kw">const
73ee0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 </span>.<span.class="tok-type">u
73f00 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 8</span>.=.&amp;[<span.class="to
73f20 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-number">5</span>]<span.class="
73f40 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u8</span>{.<span.class
73f60 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ="tok-str">'h'</span>,.<span.cla
73f80 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ss="tok-str">'e'</span>,.<span.c
73fa0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e lass="tok-str">'l'</span>,.<span
73fc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-str">'l'</span>,.<sp
73fe0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e an.class="tok-number">111</span>
74000 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 .};.....<span.class="tok-kw">try
74020 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e </span>.expect(std.mem.eql(<span
74040 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 31 2e .class="tok-type">u8</span>,.x1.
74060 3f 2c 20 78 32 2e 3f 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ?,.x2.?));......<span.class="tok
74080 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c -kw">const</span>.y:.?[]<span.cl
740a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ass="tok-kw">const</span>.<span.
740c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 class="tok-type">f32</span>.=.&a
740e0 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f mp;[<span.class="tok-number">2</
74100 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 span>]<span.class="tok-type">f32
74120 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>{.<span.class="tok-number
74140 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">1.2</span>,.<span.class="tok-n
74160 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 umber">3.4</span>.};.....<span.c
74180 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
741a0 79 2e 3f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f y.?[<span.class="tok-number">0</
741c0 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 span>].==.<span.class="tok-numbe
741e0 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r">1.2</span>);.}..<span.class="
74200 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 63 61 73 74 2c 20 74 68 tok-comment">//.In.this.cast,.th
74220 65 20 61 72 72 61 79 20 6c 65 6e 67 74 68 20 62 65 63 6f 6d 65 73 20 74 68 65 20 73 6c 69 63 65 e.array.length.becomes.the.slice
74240 20 6c 65 6e 67 74 68 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .length.</span>.<span.class="tok
74260 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">test</span>.<span.class="to
74280 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 5d 54 26 71 75 6f 74 3b 3c k-str">&quot;*[N]T.to.[]T&quot;<
742a0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
742c0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">var</span>.buf:.[<span.class="
742e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 tok-number">5</span>]<span.class
74300 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c ="tok-type">u8</span>.=.<span.cl
74320 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c ass="tok-str">&quot;hello&quot;<
74340 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b /span>.*;.....<span.class="tok-k
74360 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 w">const</span>.x:.[]<span.class
74380 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 ="tok-type">u8</span>.=.&amp;buf
743a0 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
743c0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 span>.expect(std.mem.eql(<span.c
743e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 2c 20 3c 73 lass="tok-type">u8</span>,.x,.<s
74400 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 pan.class="tok-str">&quot;hello&
74420 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 quot;</span>));......<span.class
74440 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 66 32 20 3d 20 5b 3c ="tok-kw">const</span>.buf2.=.[<
74460 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e span.class="tok-number">2</span>
74480 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 ]<span.class="tok-type">f32</spa
744a0 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 n>{.<span.class="tok-number">1.2
744c0 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>,.<span.class="tok-number
744e0 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">3.4</span>.};.....<span.class=
74500 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 5b 5d 3c 73 70 61 "tok-kw">const</span>.x2:.[]<spa
74520 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 n.class="tok-kw">const</span>.<s
74540 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">f32</span>.
74560 3d 20 26 61 6d 70 3b 62 75 66 32 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f =.&amp;buf2;.....<span.class="to
74580 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e k-kw">try</span>.expect(std.mem.
745a0 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f eql(<span.class="tok-type">f32</
745c0 73 70 61 6e 3e 2c 20 78 32 2c 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>,.x2,.&amp;[<span.class="to
745e0 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-number">2</span>]<span.class="
74600 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">f32</span>{.<span.clas
74620 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e s="tok-number">1.2</span>,.<span
74640 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d .class="tok-number">3.4</span>.}
74660 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 ));.}..<span.class="tok-comment"
74680 3e 2f 2f 20 53 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 72 72 61 >//.Single-item.pointers.to.arra
746a0 79 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 6d 61 6e 79 2d 69 74 65 6d 20 70 ys.can.be.coerced.to.many-item.p
746c0 6f 69 6e 74 65 72 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ointers.</span>.<span.class="tok
746e0 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">test</span>.<span.class="to
74700 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 2a 5d 54 26 71 75 6f 74 3b k-str">&quot;*[N]T.to.[*]T&quot;
74720 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
74740 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">var</span>.buf:.[<span.class=
74760 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 "tok-number">5</span>]<span.clas
74780 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 s="tok-type">u8</span>.=.<span.c
747a0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b lass="tok-str">&quot;hello&quot;
747c0 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.*;.....<span.class="tok-
747e0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 kw">const</span>.x:.[*]<span.cla
74800 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 ss="tok-type">u8</span>.=.&amp;b
74820 75 66 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 uf;.....<span.class="tok-kw">try
74840 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>.expect(x[<span.class="to
74860 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 k-number">4</span>].==.<span.cla
74880 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 ss="tok-str">'o'</span>);.....<s
748a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 5b 35 5d 20 pan.class="tok-comment">//.x[5].
748c0 77 6f 75 6c 64 20 62 65 20 61 6e 20 75 6e 63 61 75 67 68 74 20 6f 75 74 20 6f 66 20 62 6f 75 6e would.be.an.uncaught.out.of.boun
748e0 64 73 20 70 6f 69 6e 74 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 21 3c 2f 73 70 61 6e 3e 0a 7d ds.pointer.dereference!</span>.}
74900 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c ..<span.class="tok-comment">//.L
74920 69 6b 65 77 69 73 65 2c 20 69 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 64 65 73 74 69 ikewise,.it.works.when.the.desti
74940 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 nation.type.is.an.optional.</spa
74960 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 n>.<span.class="tok-kw">test</sp
74980 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>.<span.class="tok-str">&quot;
749a0 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 *[N]T.to.?[*]T&quot;</span>.{...
749c0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e ..<span.class="tok-kw">var</span
749e0 3e 20 62 75 66 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 >.buf:.[<span.class="tok-number"
74a00 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >5</span>]<span.class="tok-type"
74a20 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >u8</span>.=.<span.class="tok-st
74a40 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 r">&quot;hello&quot;</span>.*;..
74a60 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ...<span.class="tok-kw">const</s
74a80 70 61 6e 3e 20 78 3a 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 pan>.x:.?[*]<span.class="tok-typ
74aa0 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 0a 20 20 20 20 3c 73 70 e">u8</span>.=.&amp;buf;.....<sp
74ac0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
74ae0 65 63 74 28 78 2e 3f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ect(x.?[<span.class="tok-number"
74b00 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 >4</span>].==.<span.class="tok-s
74b20 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d tr">'o'</span>);.}..<span.class=
74b40 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 "tok-comment">//.Single-item.poi
74b60 6e 74 65 72 73 20 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f 20 6c 65 6e 2d 31 20 73 69 6e 67 6c nters.can.be.cast.to.len-1.singl
74b80 65 2d 69 74 65 6d 20 61 72 72 61 79 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e-item.arrays.</span>.<span.clas
74ba0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 s="tok-kw">test</span>.<span.cla
74bc0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 54 20 74 6f 20 2a 5b 31 5d 54 26 71 ss="tok-str">&quot;*T.to.*[1]T&q
74be0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
74c00 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.x:.<span.class
74c20 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">i32</span>.=.<span.c
74c40 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 lass="tok-number">1234</span>;..
74c60 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ...<span.class="tok-kw">const</s
74c80 70 61 6e 3e 20 79 3a 20 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 pan>.y:.*[<span.class="tok-numbe
74ca0 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r">1</span>]<span.class="tok-typ
74cc0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 78 3b 0a 20 20 20 20 3c 73 70 61 e">i32</span>.=.&amp;x;.....<spa
74ce0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 3a n.class="tok-kw">const</span>.z:
74d00 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f .[*]<span.class="tok-type">i32</
74d20 73 70 61 6e 3e 20 3d 20 79 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.=.y;.....<span.class="tok-
74d40 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 7a 5b 3c 73 70 61 6e 20 63 6c kw">try</span>.expect(z[<span.cl
74d60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 ass="tok-number">0</span>].==.<s
74d80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 pan.class="tok-number">1234</spa
74da0 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 n>);.}</code></pre></figure><fig
74dc0 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 ure><figcaption.class="shell-cap
74de0 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
74e00 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 .<kbd>zig.test.test_coerce_slice
74e20 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a s_arrays_and_pointers.zig</kbd>.
74e40 31 2f 37 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 1/7.test_coerce_slices_arrays_an
74e60 64 5f 70 6f 69 6e 74 65 72 73 2e 74 65 73 74 2e 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 5b d_pointers.test.*const.[N]T.to.[
74e80 5d 63 6f 6e 73 74 20 54 2e 2e 2e 20 4f 4b 0a 32 2f 37 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 ]const.T....OK.2/7.test_coerce_s
74ea0 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 72 73 2e 74 65 73 74 2e 2a lices_arrays_and_pointers.test.*
74ec0 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 20 54 2e 2e 2e 20 4f 4b 0a const.[N]T.to.E![]const.T....OK.
74ee0 33 2f 37 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 3/7.test_coerce_slices_arrays_an
74f00 64 5f 70 6f 69 6e 74 65 72 73 2e 74 65 73 74 2e 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 3f d_pointers.test.*const.[N]T.to.?
74f20 5b 5d 63 6f 6e 73 74 20 54 2e 2e 2e 20 4f 4b 0a 34 2f 37 20 74 65 73 74 5f 63 6f 65 72 63 65 5f []const.T....OK.4/7.test_coerce_
74f40 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 72 73 2e 74 65 73 74 2e slices_arrays_and_pointers.test.
74f60 2a 5b 4e 5d 54 20 74 6f 20 5b 5d 54 2e 2e 2e 20 4f 4b 0a 35 2f 37 20 74 65 73 74 5f 63 6f 65 72 *[N]T.to.[]T....OK.5/7.test_coer
74f80 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 72 73 2e 74 65 ce_slices_arrays_and_pointers.te
74fa0 73 74 2e 2a 5b 4e 5d 54 20 74 6f 20 5b 2a 5d 54 2e 2e 2e 20 4f 4b 0a 36 2f 37 20 74 65 73 74 5f st.*[N]T.to.[*]T....OK.6/7.test_
74fc0 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f 69 6e 74 65 72 coerce_slices_arrays_and_pointer
74fe0 73 2e 74 65 73 74 2e 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a 5d 54 2e 2e 2e 20 4f 4b 0a 37 2f 37 20 s.test.*[N]T.to.?[*]T....OK.7/7.
75000 74 65 73 74 5f 63 6f 65 72 63 65 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 6f test_coerce_slices_arrays_and_po
75020 69 6e 74 65 72 73 2e 74 65 73 74 2e 2a 54 20 74 6f 20 2a 5b 31 5d 54 2e 2e 2e 20 4f 4b 0a 41 6c inters.test.*T.to.*[1]T....OK.Al
75040 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c l.7.tests.passed..</samp></pre><
75060 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c /figure>.......<p>See.also:</p><
75080 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 ul>.<li><a.href="#C-Pointers">C.
750a0 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a Pointers</a></li>.</ul>.........
750c0 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 ......<h4.id="Type-Coercion-Opti
750e0 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 onals"><a.href="#toc-Type-Coerci
75100 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 4f 70 74 on-Optionals">Type.Coercion:.Opt
75120 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ionals</a>.<a.class="hdr".href="
75140 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e #Type-Coercion-Optionals">..</a>
75160 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 70 61 79 6c 6f </h4>........<p>.......The.paylo
75180 61 64 20 74 79 70 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e ad.type.of.<a.href="#Optionals">
751a0 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 3c 61 20 68 72 65 Optionals</a>,.as.well.as.<a.hre
751c0 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2c 20 63 6f 65 72 63 65 20 74 6f 20 74 68 f="#null">null</a>,.coerce.to.th
751e0 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 e.optional.type........</p>.....
75200 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 ..<figure><figcaption.class="zig
75220 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f -cap"><cite.class="file">test_co
75240 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 erce_optionals.zig</cite></figca
75260 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
75280 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.std.=.<span.c
752a0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e lass="tok-builtin">@import</span
752c0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
752e0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f d&quot;</span>);.<span.class="to
75300 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e k-kw">const</span>.expect.=.std.
75320 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f testing.expect;..<span.class="to
75340 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k-kw">test</span>.<span.class="t
75360 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c ok-str">&quot;coerce.to.optional
75380 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 s&quot;</span>.{.....<span.class
753a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3f 3c 73 70 61 6e ="tok-kw">const</span>.x:.?<span
753c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c .class="tok-type">i32</span>.=.<
753e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 span.class="tok-number">1234</sp
75400 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f an>;.....<span.class="tok-kw">co
75420 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nst</span>.y:.?<span.class="tok-
75440 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">i32</span>.=.<span.class="
75460 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 tok-null">null</span>;......<spa
75480 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
754a0 63 74 28 78 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ct(x.?.==.<span.class="tok-numbe
754c0 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 r">1234</span>);.....<span.class
754e0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d ="tok-kw">try</span>.expect(y.==
75500 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 .<span.class="tok-null">null</sp
75520 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 an>);.}</code></pre></figure><fi
75540 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
75560 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
75580 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 $.<kbd>zig.test.test_coerce_opti
755a0 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 65 72 63 65 5f onals.zig</kbd>.1/1.test_coerce_
755c0 6f 70 74 69 6f 6e 61 6c 73 2e 74 65 73 74 2e 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 optionals.test.coerce.to.optiona
755e0 6c 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 ls....OK.All.1.tests.passed..</s
75600 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4f 70 74 amp></pre></figure>.......<p>Opt
75620 69 6f 6e 61 6c 73 20 77 6f 72 6b 20 6e 65 73 74 65 64 20 69 6e 73 69 64 65 20 74 68 65 20 3c 61 ionals.work.nested.inside.the.<a
75640 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 .href="#Error-Union-Type">Error.
75660 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 2c 20 74 6f 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c Union.Type</a>,.too:</p>.......<
75680 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 figure><figcaption.class="zig-ca
756a0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 p"><cite.class="file">test_coerc
756c0 65 5f 6f 70 74 69 6f 6e 61 6c 5f 77 72 61 70 70 65 64 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a e_optional_wrapped_error_union.z
756e0 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
75700 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
75720 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n>.std.=.<span.class="tok-builti
75740 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">@import</span>(<span.class="t
75760 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b ok-str">&quot;std&quot;</span>);
75780 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
757a0 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a n>.expect.=.std.testing.expect;.
757c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
757e0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f >.<span.class="tok-str">&quot;co
75800 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 20 77 72 61 70 70 65 64 20 69 6e 20 65 72 72 erce.to.optionals.wrapped.in.err
75820 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 or.union&quot;</span>.{.....<spa
75840 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a n.class="tok-kw">const</span>.x:
75860 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 .<span.class="tok-type">anyerror
75880 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>!?<span.class="tok-type">
758a0 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 i32</span>.=.<span.class="tok-nu
758c0 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 mber">1234</span>;.....<span.cla
758e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 ss="tok-kw">const</span>.y:.<spa
75900 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 n.class="tok-type">anyerror</spa
75920 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f n>!?<span.class="tok-type">i32</
75940 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e span>.=.<span.class="tok-null">n
75960 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ull</span>;......<span.class="to
75980 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 k-kw">try</span>.expect((<span.c
759a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 29 2e 3f 20 3d 3d lass="tok-kw">try</span>.x).?.==
759c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f .<span.class="tok-number">1234</
759e0 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>);.....<span.class="tok-kw"
75a00 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d >try</span>.expect((<span.class=
75a20 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 79 29 20 3d 3d 20 3c 73 70 61 6e 20 "tok-kw">try</span>.y).==.<span.
75a40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 0a 7d class="tok-null">null</span>);.}
75a60 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 </code></pre></figure><figure><f
75a80 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c igcaption.class="shell-cap">Shel
75aa0 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
75ac0 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 5f 77 72 zig.test.test_coerce_optional_wr
75ae0 61 70 70 65 64 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 apped_error_union.zig</kbd>.1/1.
75b00 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 5f 77 72 61 70 70 65 64 5f 65 72 72 test_coerce_optional_wrapped_err
75b20 6f 72 5f 75 6e 69 6f 6e 2e 74 65 73 74 2e 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c or_union.test.coerce.to.optional
75b40 73 20 77 72 61 70 70 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 s.wrapped.in.error.union....OK.A
75b60 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ll.1.tests.passed..</samp></pre>
75b80 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 </figure>..............<h4.id="T
75ba0 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 3c 61 20 68 72 ype-Coercion-Error-Unions"><a.hr
75bc0 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 ef="#toc-Type-Coercion-Error-Uni
75be0 6f 6e 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 ons">Type.Coercion:.Error.Unions
75c00 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d </a>.<a.class="hdr".href="#Type-
75c20 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 Coercion-Error-Unions">..</a></h
75c40 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 4>........<p>The.payload.type.of
75c60 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e .an.<a.href="#Error-Union-Type">
75c80 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 61 73 20 77 65 6c 6c 20 61 73 20 Error.Union.Type</a>.as.well.as.
75ca0 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 the.<a.href="#Error-Set-Type">Er
75cc0 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 63 6f 65 72 63 65 20 74 6f ror.Set.Type</a>.......coerce.to
75ce0 20 74 68 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 .the.error.union.type:.......</p
75d00 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
75d20 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 s="zig-cap"><cite.class="file">t
75d40 65 73 74 5f 63 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 est_coerce_to_error_union.zig</c
75d60 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 ite></figcaption><pre><code><spa
75d80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 n.class="tok-kw">const</span>.st
75da0 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 d.=.<span.class="tok-builtin">@i
75dc0 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 mport</span>(<span.class="tok-st
75de0 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 r">&quot;std&quot;</span>);.<spa
75e00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 n.class="tok-kw">const</span>.ex
75e20 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 pect.=.std.testing.expect;..<spa
75e40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 n.class="tok-kw">test</span>.<sp
75e60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f an.class="tok-str">&quot;coercio
75e80 6e 20 74 6f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b n.to.error.unions&quot;</span>.{
75ea0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
75ec0 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.x:.<span.class="tok-type"
75ee0 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >anyerror</span>!<span.class="to
75f00 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">i32</span>.=.<span.class
75f20 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c ="tok-number">1234</span>;.....<
75f40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
75f60 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 .y:.<span.class="tok-type">anyer
75f80 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ror</span>!<span.class="tok-type
75fa0 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">i32</span>.=.<span.class="tok-
75fc0 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 3b 0a 0a 20 20 20 20 3c kw">error</span>.Failure;......<
75fe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">try</span>.e
76000 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c xpect((<span.class="tok-kw">try<
76020 2f 73 70 61 6e 3e 20 78 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 /span>.x).==.<span.class="tok-nu
76040 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c mber">1234</span>);.....<span.cl
76060 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 ass="tok-kw">try</span>.std.test
76080 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ing.expectError(<span.class="tok
760a0 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 2c 20 79 29 3b 0a 7d -kw">error</span>.Failure,.y);.}
760c0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 </code></pre></figure><figure><f
760e0 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c igcaption.class="shell-cap">Shel
76100 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
76120 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e zig.test.test_coerce_to_error_un
76140 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 6f ion.zig</kbd>.1/1.test_coerce_to
76160 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 74 65 73 74 2e 63 6f 65 72 63 69 6f 6e 20 74 6f 20 65 72 _error_union.test.coercion.to.er
76180 72 6f 72 20 75 6e 69 6f 6e 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 ror.unions....OK.All.1.tests.pas
761a0 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 sed..</samp></pre></figure>.....
761c0 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 .........<h4.id="Type-Coercion-C
761e0 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 3c 61 20 68 72 ompile-Time-Known-Numbers"><a.hr
76200 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 ef="#toc-Type-Coercion-Compile-T
76220 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e ime-Known-Numbers">Type.Coercion
76240 3a 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c 2f 61 3e :.Compile-Time.Known.Numbers</a>
76260 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 .<a.class="hdr".href="#Type-Coer
76280 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 cion-Compile-Time-Known-Numbers"
762a0 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 6e 75 >..</a></h4>........<p>When.a.nu
762c0 6d 62 65 72 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 mber.is.<a.href="#comptime">comp
762e0 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e 74 61 62 time</a>-known.to.be.representab
76300 6c 65 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 0a 20 20 20 20 le.in.the.destination.type,.....
76320 20 20 69 74 20 6d 61 79 20 62 65 20 63 6f 65 72 63 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ..it.may.be.coerced:.......</p>.
76340 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d ......<figure><figcaption.class=
76360 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 "zig-cap"><cite.class="file">tes
76380 74 5f 63 6f 65 72 63 65 5f 6c 61 72 67 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f 63 69 74 t_coerce_large_to_small.zig</cit
763a0 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e></figcaption><pre><code><span.
763c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 class="tok-kw">const</span>.std.
763e0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 =.<span.class="tok-builtin">@imp
76400 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ort</span>(<span.class="tok-str"
76420 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 >&quot;std&quot;</span>);.<span.
76440 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 class="tok-kw">const</span>.expe
76460 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 ct.=.std.testing.expect;..<span.
76480 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e class="tok-kw">test</span>.<span
764a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6e 67 20 .class="tok-str">&quot;coercing.
764c0 6c 61 72 67 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 74 6f 20 73 6d 61 6c 6c 65 72 20 6f 6e large.integer.type.to.smaller.on
764e0 65 20 77 68 65 6e 20 76 61 6c 75 65 20 69 73 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 74 e.when.value.is.comptime-known.t
76500 6f 20 66 69 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 o.fit&quot;</span>.{.....<span.c
76520 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 lass="tok-kw">const</span>.x:.<s
76540 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u64</span>.
76560 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f =.<span.class="tok-number">255</
76580 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>;.....<span.class="tok-kw">
765a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b const</span>.y:.<span.class="tok
765c0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 -type">u8</span>.=.x;.....<span.
765e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 class="tok-kw">try</span>.expect
76600 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 (y.==.<span.class="tok-number">2
76620 35 35 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 55</span>);.}</code></pre></figu
76640 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
76660 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
76680 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 <samp>$.<kbd>zig.test.test_coerc
766a0 65 5f 6c 61 72 67 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 e_large_to_small.zig</kbd>.1/1.t
766c0 65 73 74 5f 63 6f 65 72 63 65 5f 6c 61 72 67 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 74 65 73 74 2e 63 est_coerce_large_to_small.test.c
766e0 6f 65 72 63 69 6e 67 20 6c 61 72 67 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 74 6f 20 73 6d oercing.large.integer.type.to.sm
76700 61 6c 6c 65 72 20 6f 6e 65 20 77 68 65 6e 20 76 61 6c 75 65 20 69 73 20 63 6f 6d 70 74 69 6d 65 aller.one.when.value.is.comptime
76720 2d 6b 6e 6f 77 6e 20 74 6f 20 66 69 74 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 -known.to.fit....OK.All.1.tests.
76740 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 passed..</samp></pre></figure>..
76760 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f ............<h4.id="Type-Coercio
76780 6e 2d 55 6e 69 6f 6e 73 2d 61 6e 64 2d 45 6e 75 6d 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f n-Unions-and-Enums"><a.href="#to
767a0 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 55 6e 69 6f 6e 73 2d 61 6e 64 2d 45 6e 75 6d 73 c-Type-Coercion-Unions-and-Enums
767c0 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 55 6e 69 6f 6e 73 20 61 6e 64 20 45 6e 75 6d ">Type.Coercion:.Unions.and.Enum
767e0 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 s</a>.<a.class="hdr".href="#Type
76800 2d 43 6f 65 72 63 69 6f 6e 2d 55 6e 69 6f 6e 73 2d 61 6e 64 2d 45 6e 75 6d 73 22 3e c2 a7 3c 2f -Coercion-Unions-and-Enums">..</
76820 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 73 20 a></h4>........<p>Tagged.unions.
76840 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 65 6e 75 6d 73 2c 20 61 6e 64 20 65 6e 75 can.be.coerced.to.enums,.and.enu
76860 6d 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 74 61 67 67 65 64 20 75 6e 69 6f ms.can.be.coerced.to.tagged.unio
76880 6e 73 0a 20 20 20 20 20 20 77 68 65 6e 20 74 68 65 79 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 ns.......when.they.are.<a.href="
768a0 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 74 6f #comptime">comptime</a>-known.to
768c0 20 62 65 20 61 20 66 69 65 6c 64 20 6f 66 20 74 68 65 20 75 6e 69 6f 6e 20 74 68 61 74 20 68 61 .be.a.field.of.the.union.that.ha
768e0 73 20 6f 6e 6c 79 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 2c 20 73 75 63 68 20 s.only.one.possible.value,.such.
76900 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 as.......<a.href="#void">void</a
76920 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 >:.......</p>.......<figure><fig
76940 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c caption.class="zig-cap"><cite.cl
76960 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e ass="file">test_coerce_unions_en
76980 75 6d 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ums.zig</cite></figcaption><pre>
769a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
769c0 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 </span>.std.=.<span.class="tok-b
769e0 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@import</span>(<span.cla
76a00 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 ss="tok-str">&quot;std&quot;</sp
76a20 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 an>);.<span.class="tok-kw">const
76a40 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 </span>.expect.=.std.testing.exp
76a60 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ect;..<span.class="tok-kw">const
76a80 3c 2f 73 70 61 6e 3e 20 45 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 </span>.E.=.<span.class="tok-kw"
76aa0 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6f 6e 65 2c 0a 20 20 20 20 74 77 6f 2c >enum</span>.{.....one,.....two,
76ac0 0a 20 20 20 20 74 68 72 65 65 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .....three,.};..<span.class="tok
76ae0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 55 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">const</span>.U.=.<span.clas
76b00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 45 29 20 7b 0a 20 20 20 s="tok-kw">union</span>(E).{....
76b20 20 6f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 .one:.<span.class="tok-type">i32
76b40 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 74 77 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>,.....two:.<span.class="t
76b60 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 74 68 72 65 65 2c 0a ok-type">f32</span>,.....three,.
76b80 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f };..<span.class="tok-kw">const</
76ba0 73 70 61 6e 3e 20 55 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>.U2.=.<span.class="tok-kw">
76bc0 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 union</span>(<span.class="tok-kw
76be0 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c ">enum</span>).{.....a:.<span.cl
76c00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 ass="tok-type">void</span>,.....
76c20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 b:.<span.class="tok-type">f32</s
76c40 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>,......<span.class="tok-kw">
76c60 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 fn</span>.<span.class="tok-fn">t
76c80 61 67 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 55 32 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ag</span>(self:.U2).<span.class=
76ca0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 "tok-type">usize</span>.{.......
76cc0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 ..<span.class="tok-kw">switch</s
76ce0 70 61 6e 3e 20 28 73 65 6c 66 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 61 20 3d 26 67 pan>.(self).{..............a.=&g
76d00 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f t;.<span.class="tok-kw">return</
76d20 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 span>.<span.class="tok-number">1
76d40 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 62 20 3d 26 67 74 3b 20 3c 73 </span>,..............b.=&gt;.<s
76d60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">return</span>
76d80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 .<span.class="tok-number">2</spa
76da0 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c n>,.........}.....}.};..<span.cl
76dc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ass="tok-kw">test</span>.<span.c
76de0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 62 65 lass="tok-str">&quot;coercion.be
76e00 74 77 65 65 6e 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 26 71 75 6f 74 3b 3c 2f 73 70 tween.unions.and.enums&quot;</sp
76e20 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
76e40 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 20 3d 20 55 7b 20 2e 74 77 6f 20 3d 20 3c 73 70 61 6e 20 onst</span>.u.=.U{..two.=.<span.
76e60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 class="tok-number">12.34</span>.
76e80 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 };.....<span.class="tok-kw">cons
76ea0 74 3c 2f 73 70 61 6e 3e 20 65 3a 20 45 20 3d 20 75 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t</span>.e:.E.=.u;.<span.class="
76ec0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 65 72 63 65 20 75 6e 69 6f 6e 20 74 6f 20 tok-comment">//.coerce.union.to.
76ee0 65 6e 75 6d 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b enum</span>.....<span.class="tok
76f00 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 65 20 3d 3d 20 45 2e 74 77 -kw">try</span>.expect(e.==.E.tw
76f20 6f 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f o);......<span.class="tok-kw">co
76f40 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 65 65 20 3d 20 45 2e 74 68 72 65 65 3b 0a 20 20 20 20 nst</span>.three.=.E.three;.....
76f60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
76f80 3e 20 75 5f 32 3a 20 55 20 3d 20 74 68 72 65 65 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >.u_2:.U.=.three;.<span.class="t
76fa0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 65 72 63 65 20 65 6e 75 6d 20 74 6f 20 75 6e ok-comment">//.coerce.enum.to.un
76fc0 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion</span>.....<span.class="tok-
76fe0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 75 5f 32 20 3d 3d 20 45 2e 74 kw">try</span>.expect(u_2.==.E.t
77000 68 72 65 65 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 hree);......<span.class="tok-kw"
77020 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 5f 33 3a 20 55 20 3d 20 2e 74 68 72 65 65 3b 20 3c >const</span>.u_3:.U.=..three;.<
77040 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 65 72 span.class="tok-comment">//.coer
77060 63 65 20 65 6e 75 6d 20 6c 69 74 65 72 61 6c 20 74 6f 20 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 0a ce.enum.literal.to.union</span>.
77080 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
770a0 61 6e 3e 20 65 78 70 65 63 74 28 75 5f 33 20 3d 3d 20 45 2e 74 68 72 65 65 29 3b 0a 0a 20 20 20 an>.expect(u_3.==.E.three);.....
770c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
770e0 6e 3e 20 75 5f 34 3a 20 55 32 20 3d 20 2e 61 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>.u_4:.U2.=..a;.<span.class="to
77100 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 65 72 63 65 20 65 6e 75 6d 20 6c 69 74 65 72 61 k-comment">//.coerce.enum.litera
77120 6c 20 74 6f 20 75 6e 69 6f 6e 20 77 69 74 68 20 69 6e 66 65 72 72 65 64 20 65 6e 75 6d 20 74 61 l.to.union.with.inferred.enum.ta
77140 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 g.type.</span>.....<span.class="
77160 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 75 5f 34 2e 74 61 tok-kw">try</span>.expect(u_4.ta
77180 67 28 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e g().==.<span.class="tok-number">
771a0 31 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 1</span>);......<span.class="tok
771c0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 -comment">//.The.following.examp
771e0 6c 65 20 69 73 20 69 6e 76 61 6c 69 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 le.is.invalid.</span>.....<span.
77200 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 72 72 6f 72 3a 20 63 6f class="tok-comment">//.error:.co
77220 65 72 63 69 6f 6e 20 66 72 6f 6d 20 65 6e 75 6d 20 27 40 54 79 70 65 4f 66 28 2e 65 6e 75 6d 5f ercion.from.enum.'@TypeOf(.enum_
77240 6c 69 74 65 72 61 6c 29 27 20 74 6f 20 75 6e 69 6f 6e 20 27 74 65 73 74 5f 63 6f 65 72 63 65 5f literal)'.to.union.'test_coerce_
77260 75 6e 69 6f 6e 73 5f 65 6e 75 6d 2e 55 32 27 20 6d 75 73 74 20 69 6e 69 74 69 61 6c 69 7a 65 20 unions_enum.U2'.must.initialize.
77280 27 66 33 32 27 20 66 69 65 6c 64 20 27 62 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 'f32'.field.'b'</span>.....<span
772a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 76 61 72 20 75 5f 35 3a 20 .class="tok-comment">//var.u_5:.
772c0 55 32 20 3d 20 2e 62 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d U2.=..b;</span>.....<span.class=
772e0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 74 72 79 20 65 78 70 65 63 74 28 75 5f 35 2e 74 "tok-comment">//try.expect(u_5.t
77300 61 67 28 29 20 3d 3d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ag().==.2);</span>.}</code></pre
77320 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c ></figure><figure><figcaption.cl
77340 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f ass="shell-cap">Shell</figcaptio
77360 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 n><pre><samp>$.<kbd>zig.test.tes
77380 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a t_coerce_unions_enums.zig</kbd>.
773a0 31 2f 31 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d 73 2e 74 65 73 1/1.test_coerce_unions_enums.tes
773c0 74 2e 63 6f 65 72 63 69 6f 6e 20 62 65 74 77 65 65 6e 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e t.coercion.between.unions.and.en
773e0 75 6d 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f ums....OK.All.1.tests.passed..</
77400 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 samp></pre></figure>.......<p>Se
77420 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e e.also:</p><ul>.<li><a.href="#un
77440 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d ion">union</a></li>.<li><a.href=
77460 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 "#enum">enum</a></li>.</ul>.....
77480 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d ..........<h4.id="Type-Coercion-
774a0 75 6e 64 65 66 69 6e 65 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f undefined"><a.href="#toc-Type-Co
774c0 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a ercion-undefined">Type.Coercion:
774e0 20 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 .undefined</a>.<a.class="hdr".hr
77500 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e c2 a7 ef="#Type-Coercion-undefined">..
77520 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e </a></h4>........<p><a.href="#un
77540 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 63 61 6e 20 62 65 20 63 6f defined">undefined</a>.can.be.co
77560 65 72 63 65 64 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 erced.to.any.type.</p>..........
77580 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 54 75 70 6c 65 .....<h4.id="Type-Coercion-Tuple
775a0 73 2d 74 6f 2d 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d s-to-Arrays"><a.href="#toc-Type-
775c0 43 6f 65 72 63 69 6f 6e 2d 54 75 70 6c 65 73 2d 74 6f 2d 41 72 72 61 79 73 22 3e 54 79 70 65 20 Coercion-Tuples-to-Arrays">Type.
775e0 43 6f 65 72 63 69 6f 6e 3a 20 54 75 70 6c 65 73 20 74 6f 20 41 72 72 61 79 73 3c 2f 61 3e 20 3c Coercion:.Tuples.to.Arrays</a>.<
77600 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 a.class="hdr".href="#Type-Coerci
77620 6f 6e 2d 54 75 70 6c 65 73 2d 74 6f 2d 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e on-Tuples-to-Arrays">..</a></h4>
77640 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 54 75 70 6c 65 73 22 3e 54 75 70 ........<p><a.href="#Tuples">Tup
77660 6c 65 73 3c 2f 61 3e 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 72 72 61 79 73 les</a>.can.be.coerced.to.arrays
77680 2c 20 69 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 69 65 6c 64 73 20 68 61 76 65 20 74 68 65 20 ,.if.all.of.the.fields.have.the.
776a0 73 61 6d 65 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 same.type.</p>.......<figure><fi
776c0 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 gcaption.class="zig-cap"><cite.c
776e0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 75 70 6c 65 73 5f 61 lass="file">test_coerce_tuples_a
77700 72 72 61 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 rrays.zig</cite></figcaption><pr
77720 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
77740 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.std.=.<span.class="tok
77760 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@import</span>(<span.c
77780 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;std&quot;</
777a0 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e span>);.<span.class="tok-kw">con
777c0 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 st</span>.expect.=.std.testing.e
777e0 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e xpect;..<span.class="tok-kw">con
77800 73 74 3c 2f 73 70 61 6e 3e 20 54 75 70 6c 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 st</span>.Tuple.=.<span.class="t
77820 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 ok-kw">struct</span>{.<span.clas
77840 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-type">u8</span>,.<span.cl
77860 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 3c 73 70 61 ass="tok-type">u8</span>.};.<spa
77880 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 n.class="tok-kw">test</span>.<sp
778a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f an.class="tok-str">&quot;coercio
778c0 6e 20 66 72 6f 6d 20 68 6f 6d 6f 67 65 6e 6f 75 73 20 74 75 70 6c 65 20 74 6f 20 61 72 72 61 79 n.from.homogenous.tuple.to.array
778e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 09 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f &quot;</span>.{..<span.class="to
77900 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 75 70 6c 65 3a 20 54 75 70 6c 65 20 k-kw">const</span>.tuple:.Tuple.
77920 3d 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f =..{<span.class="tok-number">5</
77940 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e span>,.<span.class="tok-number">
77960 36 3c 2f 73 70 61 6e 3e 7d 3b 0a 09 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 6</span>};..<span.class="tok-kw"
77980 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 >const</span>.array:.[<span.clas
779a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c s="tok-number">2</span>]<span.cl
779c0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 74 75 70 6c 65 ass="tok-type">u8</span>.=.tuple
779e0 3b 0a 09 5f 20 3d 20 61 72 72 61 79 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 ;.._.=.array;.}</code></pre></fi
77a00 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 gure><figure><figcaption.class="
77a20 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 shell-cap">Shell</figcaption><pr
77a40 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 e><samp>$.<kbd>zig.test.test_coe
77a60 72 63 65 5f 74 75 70 6c 65 73 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 rce_tuples_arrays.zig</kbd>.1/1.
77a80 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 75 70 6c 65 73 5f 61 72 72 61 79 73 2e 74 65 73 74 2e 63 test_coerce_tuples_arrays.test.c
77aa0 6f 65 72 63 69 6f 6e 20 66 72 6f 6d 20 68 6f 6d 6f 67 65 6e 6f 75 73 20 74 75 70 6c 65 20 74 6f oercion.from.homogenous.tuple.to
77ac0 20 61 72 72 61 79 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e .array....OK.All.1.tests.passed.
77ae0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 .</samp></pre></figure>.........
77b00 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 70 6c 69 63 69 74 2d 43 61 .............<h3.id="Explicit-Ca
77b20 73 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 70 6c 69 63 69 74 2d 43 61 73 74 sts"><a.href="#toc-Explicit-Cast
77b40 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 s">Explicit.Casts</a>.<a.class="
77b60 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e c2 a7 3c 2f hdr".href="#Explicit-Casts">..</
77b80 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 70 6c 69 63 69 a></h3>........<p>.......Explici
77ba0 74 20 63 61 73 74 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 20 76 69 61 20 3c 61 20 68 72 65 t.casts.are.performed.via.<a.hre
77bc0 66 3d 22 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 f="#Builtin-Functions">Builtin.F
77be0 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 unctions</a>........Some.explici
77c00 74 20 63 61 73 74 73 20 61 72 65 20 73 61 66 65 3b 20 73 6f 6d 65 20 61 72 65 20 6e 6f 74 2e 0a t.casts.are.safe;.some.are.not..
77c20 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 73 74 73 20 70 65 72 66 6f 72 ......Some.explicit.casts.perfor
77c40 6d 20 6c 61 6e 67 75 61 67 65 2d 6c 65 76 65 6c 20 61 73 73 65 72 74 69 6f 6e 73 3b 20 73 6f 6d m.language-level.assertions;.som
77c60 65 20 64 6f 20 6e 6f 74 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 e.do.not........Some.explicit.ca
77c80 73 74 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 72 75 6e 74 69 6d 65 3b 20 73 6f 6d 65 20 sts.are.no-ops.at.runtime;.some.
77ca0 61 72 65 20 6e 6f 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 are.not........</p>.......<ul>..
77cc0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e .........<li><a.href="#bitCast">
77ce0 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 2d 20 63 68 61 6e 67 65 20 74 79 70 65 20 62 75 74 20 6d @bitCast</a>.-.change.type.but.m
77d00 61 69 6e 74 61 69 6e 20 62 69 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 3c 2f 6c 69 3e 0a aintain.bit.representation</li>.
77d20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 ..........<li><a.href="#alignCas
77d40 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 2d 20 6d 61 6b 65 20 61 20 70 6f 69 6e 74 t">@alignCast</a>.-.make.a.point
77d60 65 72 20 68 61 76 65 20 6d 6f 72 65 20 61 6c 69 67 6e 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 er.have.more.alignment</li>.....
77d80 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 ......<li><a.href="#enumFromInt"
77da0 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 6e >@enumFromInt</a>.-.obtain.an.en
77dc0 75 6d 20 76 61 6c 75 65 20 62 61 73 65 64 20 6f 6e 20 69 74 73 20 69 6e 74 65 67 65 72 20 74 61 um.value.based.on.its.integer.ta
77de0 67 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 g.value</li>...........<li><a.hr
77e00 65 66 3d 22 23 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 3e 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 ef="#errorFromInt">@errorFromInt
77e20 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 62 61 73 65 </a>.-.obtain.an.error.code.base
77e40 64 20 6f 6e 20 69 74 73 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 d.on.its.integer.value</li>.....
77e60 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 72 72 6f 72 43 61 73 74 22 3e 40 ......<li><a.href="#errorCast">@
77e80 65 72 72 6f 72 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 74 6f 20 61 20 73 6d 61 errorCast</a>.-.convert.to.a.sma
77ea0 6c 6c 65 72 20 65 72 72 6f 72 20 73 65 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c ller.error.set</li>...........<l
77ec0 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 i><a.href="#floatCast">@floatCas
77ee0 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 61 20 6c 61 72 67 65 72 20 66 6c 6f 61 74 20 74 t</a>.-.convert.a.larger.float.t
77f00 6f 20 61 20 73 6d 61 6c 6c 65 72 20 66 6c 6f 61 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 o.a.smaller.float</li>..........
77f20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e 40 66 6c .<li><a.href="#floatFromInt">@fl
77f40 6f 61 74 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 oatFromInt</a>.-.convert.an.inte
77f60 67 65 72 20 74 6f 20 61 20 66 6c 6f 61 74 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ger.to.a.float.value</li>.......
77f80 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 ....<li><a.href="#intCast">@intC
77fa0 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 69 6e 74 65 67 65 ast</a>.-.convert.between.intege
77fc0 72 20 74 79 70 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 r.types</li>...........<li><a.hr
77fe0 65 66 3d 22 23 69 6e 74 46 72 6f 6d 42 6f 6f 6c 22 3e 40 69 6e 74 46 72 6f 6d 42 6f 6f 6c 3c 2f ef="#intFromBool">@intFromBool</
78000 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 74 72 75 65 20 74 6f 20 31 20 61 6e 64 20 66 61 6c 73 65 a>.-.convert.true.to.1.and.false
78020 20 74 6f 20 30 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 .to.0</li>...........<li><a.href
78040 3d 22 23 69 6e 74 46 72 6f 6d 45 6e 75 6d 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 61 3e ="#intFromEnum">@intFromEnum</a>
78060 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 61 67 20 76 61 6c 75 65 20 .-.obtain.the.integer.tag.value.
78080 6f 66 20 61 6e 20 65 6e 75 6d 20 6f 72 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 6c 69 3e 0a of.an.enum.or.tagged.union</li>.
780a0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 45 ..........<li><a.href="#intFromE
780c0 72 72 6f 72 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f 72 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e rror">@intFromError</a>.-.obtain
780e0 20 74 68 65 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 63 .the.integer.value.of.an.error.c
78100 6f 64 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 ode</li>...........<li><a.href="
78120 23 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 61 3e #intFromFloat">@intFromFloat</a>
78140 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 6f 66 20 61 20 .-.obtain.the.integer.part.of.a.
78160 66 6c 6f 61 74 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c float.value</li>...........<li><
78180 61 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 50 74 72 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 a.href="#intFromPtr">@intFromPtr
781a0 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 70 </a>.-.obtain.the.address.of.a.p
781c0 6f 69 6e 74 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 ointer</li>...........<li><a.hre
781e0 66 3d 22 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 f="#ptrFromInt">@ptrFromInt</a>.
78200 2d 20 63 6f 6e 76 65 72 74 20 61 6e 20 61 64 64 72 65 73 73 20 74 6f 20 61 20 70 6f 69 6e 74 65 -.convert.an.address.to.a.pointe
78220 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 r</li>...........<li><a.href="#p
78240 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 62 trCast">@ptrCast</a>.-.convert.b
78260 65 74 77 65 65 6e 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 etween.pointer.types</li>.......
78280 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 ....<li><a.href="#truncate">@tru
782a0 6e 63 61 74 65 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 69 6e 74 65 ncate</a>.-.convert.between.inte
782c0 67 65 72 20 74 79 70 65 73 2c 20 63 68 6f 70 70 69 6e 67 20 6f 66 66 20 62 69 74 73 3c 2f 6c 69 ger.types,.chopping.off.bits</li
782e0 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 >.......</ul>...............<h3.
78300 69 64 3d 22 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 3c 61 20 68 72 65 id="Peer-Type-Resolution"><a.hre
78320 66 3d 22 23 74 6f 63 2d 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 f="#toc-Peer-Type-Resolution">Pe
78340 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d er.Type.Resolution</a>.<a.class=
78360 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f "hdr".href="#Peer-Type-Resolutio
78380 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 50 65 65 72 20 54 79 n">..</a></h3>........<p>Peer.Ty
783a0 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 74 68 65 73 65 20 70 6c pe.Resolution.occurs.in.these.pl
783c0 61 63 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 aces:</p>.......<ul>.........<li
783e0 3e 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 ><a.href="#switch">switch</a>.ex
78400 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 pressions</li>.........<li><a.hr
78420 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e ef="#if">if</a>.expressions</li>
78440 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 .........<li><a.href="#while">wh
78460 69 6c 65 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ile</a>.expressions</li>........
78480 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 20 65 78 70 72 .<li><a.href="#for">for</a>.expr
784a0 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 75 6c 74 69 70 6c essions</li>.........<li>Multipl
784c0 65 20 62 72 65 61 6b 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 20 62 6c 6f 63 6b 3c 2f 6c e.break.statements.in.a.block</l
784e0 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6f 6d 65 20 3c 61 20 68 72 65 66 3d 22 23 54 61 i>.........<li>Some.<a.href="#Ta
78500 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 62 69 6e 61 72 79 20 6f 70 65 72 61 74 69 ble-of-Operators">binary.operati
78520 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c ons</a></li>.......</ul>.......<
78540 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 74 79 70 65 20 72 65 73 6f 6c p>.......This.kind.of.type.resol
78560 75 74 69 6f 6e 20 63 68 6f 6f 73 65 73 20 61 20 74 79 70 65 20 74 68 61 74 20 61 6c 6c 20 70 65 ution.chooses.a.type.that.all.pe
78580 65 72 20 74 79 70 65 73 20 63 61 6e 20 63 6f 65 72 63 65 20 69 6e 74 6f 2e 20 48 65 72 65 20 61 er.types.can.coerce.into..Here.a
785a0 72 65 0a 20 20 20 20 20 20 73 6f 6d 65 20 65 78 61 6d 70 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f re.......some.examples:.......</
785c0 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 p>.......<figure><figcaption.cla
785e0 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e ss="zig-cap"><cite.class="file">
78600 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 7a 69 67 3c 2f 63 test_peer_type_resolution.zig</c
78620 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 ite></figcaption><pre><code><spa
78640 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 n.class="tok-kw">const</span>.st
78660 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 d.=.<span.class="tok-builtin">@i
78680 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 mport</span>(<span.class="tok-st
786a0 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 r">&quot;std&quot;</span>);.<spa
786c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 n.class="tok-kw">const</span>.ex
786e0 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e pect.=.std.testing.expect;.<span
78700 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d .class="tok-kw">const</span>.mem
78720 20 3d 20 73 74 64 2e 6d 65 6d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .=.std.mem;..<span.class="tok-kw
78740 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">test</span>.<span.class="tok-s
78760 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 6e tr">&quot;peer.resolve.int.widen
78780 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ing&quot;</span>.{.....<span.cla
787a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 ss="tok-kw">const</span>.a:.<spa
787c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c n.class="tok-type">i8</span>.=.<
787e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e span.class="tok-number">12</span
78800 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 >;.....<span.class="tok-kw">cons
78820 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>.b:.<span.class="tok-typ
78840 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">i16</span>.=.<span.class="tok
78860 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -number">34</span>;.....<span.cl
78880 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 ass="tok-kw">const</span>.c.=.a.
788a0 2b 20 62 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 +.b;.....<span.class="tok-kw">tr
788c0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expect(c.==.<span.class
788e0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 ="tok-number">46</span>);.....<s
78900 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 pan.class="tok-kw">try</span>.ex
78920 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 pect(<span.class="tok-builtin">@
78940 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 63 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d TypeOf</span>(c).==.<span.class=
78960 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e "tok-type">i16</span>);.}..<span
78980 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 .class="tok-kw">test</span>.<spa
789a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 n.class="tok-str">&quot;peer.res
789c0 6f 6c 76 65 20 61 72 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 20 74 6f olve.arrays.of.different.size.to
789e0 20 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 .const.slice&quot;</span>.{.....
78a00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">try</span>.
78a20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d expect(mem.eql(<span.class="tok-
78a40 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e type">u8</span>,.boolToStr(<span
78a60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 2c 20 .class="tok-null">true</span>),.
78a80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 <span.class="tok-str">&quot;true
78aa0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 &quot;</span>));.....<span.class
78ac0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e ="tok-kw">try</span>.expect(mem.
78ae0 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 eql(<span.class="tok-type">u8</s
78b00 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>,.boolToStr(<span.class="tok
78b20 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 -null">false</span>),.<span.clas
78b40 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 61 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 s="tok-str">&quot;false&quot;</s
78b60 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>));.....<span.class="tok-kw"
78b80 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >try</span>.<span.class="tok-kw"
78ba0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 >comptime</span>.expect(mem.eql(
78bc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e <span.class="tok-type">u8</span>
78be0 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c ,.boolToStr(<span.class="tok-nul
78c00 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f l">true</span>),.<span.class="to
78c20 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 k-str">&quot;true&quot;</span>))
78c40 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
78c60 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 span>.<span.class="tok-kw">compt
78c80 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 ime</span>.expect(mem.eql(<span.
78ca0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c class="tok-type">u8</span>,.bool
78cc0 54 6f 53 74 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c ToStr(<span.class="tok-null">fal
78ce0 73 65 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 se</span>),.<span.class="tok-str
78d00 22 3e 26 71 75 6f 74 3b 66 61 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a ">&quot;false&quot;</span>));.}.
78d20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
78d40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 6f 6f 6c 54 6f 53 74 72 3c 2f 73 span.class="tok-fn">boolToStr</s
78d60 70 61 6e 3e 28 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 pan>(b:.<span.class="tok-type">b
78d80 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ool</span>).[]<span.class="tok-k
78da0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b w">const</span>.<span.class="tok
78dc0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 -type">u8</span>.{.....<span.cla
78de0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ss="tok-kw">return</span>.<span.
78e00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 class="tok-kw">if</span>.(b).<sp
78e20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 71 75 an.class="tok-str">&quot;true&qu
78e40 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ot;</span>.<span.class="tok-kw">
78e60 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 else</span>.<span.class="tok-str
78e80 22 3e 26 71 75 6f 74 3b 66 61 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c ">&quot;false&quot;</span>;.}..<
78ea0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 span.class="tok-kw">test</span>.
78ec0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 <span.class="tok-str">&quot;peer
78ee0 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 20 61 6e 64 20 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 .resolve.array.and.const.slice&q
78f00 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
78f20 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 50 65 65 72 52 65 73 6f 6c 76 ok-kw">try</span>.testPeerResolv
78f40 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f eArrayConstSlice(<span.class="to
78f60 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 k-null">true</span>);.....<span.
78f80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 class="tok-kw">try</span>.<span.
78fa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 74 class="tok-kw">comptime</span>.t
78fc0 65 73 74 50 65 65 72 52 65 73 6f 6c 76 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 65 28 3c 73 estPeerResolveArrayConstSlice(<s
78fe0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e pan.class="tok-null">true</span>
79000 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 );.}.<span.class="tok-kw">fn</sp
79020 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 50 65 65 an>.<span.class="tok-fn">testPee
79040 72 52 65 73 6f 6c 76 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 65 3c 2f 73 70 61 6e 3e 28 62 rResolveArrayConstSlice</span>(b
79060 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 :.<span.class="tok-type">bool</s
79080 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f pan>).!<span.class="tok-type">vo
790a0 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b id</span>.{.....<span.class="tok
790c0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 31 20 3d 20 3c 73 70 61 6e -kw">const</span>.value1.=.<span
790e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 .class="tok-kw">if</span>.(b).<s
79100 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 pan.class="tok-str">&quot;aoeu&q
79120 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 uot;</span>.<span.class="tok-kw"
79140 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 >else</span>.<span.class="tok-bu
79160 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d iltin">@as</span>([]<span.class=
79180 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-kw">const</span>.<span.clas
791a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-type">u8</span>,.<span.cl
791c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 7a 26 71 75 6f 74 3b 3c 2f 73 70 ass="tok-str">&quot;zz&quot;</sp
791e0 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>);.....<span.class="tok-kw">c
79200 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 onst</span>.value2.=.<span.class
79220 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e 20 63 6c ="tok-kw">if</span>.(b).<span.cl
79240 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 5d 3c ass="tok-builtin">@as</span>([]<
79260 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
79280 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e .<span.class="tok-type">u8</span
792a0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a >,.<span.class="tok-str">&quot;z
792c0 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b z&quot;</span>).<span.class="tok
792e0 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">else</span>.<span.class="to
79300 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a k-str">&quot;aoeu&quot;</span>;.
79320 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
79340 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.expect(mem.eql(<span.class="
79360 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 31 2c 20 3c 73 70 tok-type">u8</span>,.value1,.<sp
79380 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 an.class="tok-str">&quot;aoeu&qu
793a0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ot;</span>));.....<span.class="t
793c0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c ok-kw">try</span>.expect(mem.eql
793e0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e (<span.class="tok-type">u8</span
79400 3e 2c 20 76 61 6c 75 65 32 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 >,.value2,.<span.class="tok-str"
79420 3e 26 71 75 6f 74 3b 7a 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 >&quot;zz&quot;</span>));.}..<sp
79440 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 an.class="tok-kw">test</span>.<s
79460 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 pan.class="tok-str">&quot;peer.t
79480 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 3f 54 20 61 6e 64 20 54 26 71 75 6f 74 3b 3c 2f ype.resolution:.?T.and.T&quot;</
794a0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
794c0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 54 41 6e 64 4f >try</span>.expect(peerTypeTAndO
794e0 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e ptionalT(<span.class="tok-null">
79500 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 true</span>,.<span.class="tok-nu
79520 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 ll">false</span>).?.==.<span.cla
79540 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c ss="tok-number">0</span>);.....<
79560 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 span.class="tok-kw">try</span>.e
79580 78 70 65 63 74 28 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 xpect(peerTypeTAndOptionalT(<spa
795a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c n.class="tok-null">false</span>,
795c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 .<span.class="tok-null">false</s
795e0 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 pan>).?.==.<span.class="tok-numb
79600 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">3</span>);.....<span.class="
79620 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 tok-kw">comptime</span>.{.......
79640 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
79660 3e 20 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c >.expect(peerTypeTAndOptionalT(<
79680 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e span.class="tok-null">true</span
796a0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c >,.<span.class="tok-null">false<
796c0 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 /span>).?.==.<span.class="tok-nu
796e0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 mber">0</span>);.........<span.c
79700 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
79720 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 peerTypeTAndOptionalT(<span.clas
79740 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e s="tok-null">false</span>,.<span
79760 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e .class="tok-null">false</span>).
79780 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c ?.==.<span.class="tok-number">3<
797a0 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>);.....}.}.<span.class="to
797c0 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b k-kw">fn</span>.<span.class="tok
797e0 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 3c 2f 73 70 61 6e -fn">peerTypeTAndOptionalT</span
79800 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c >(c:.<span.class="tok-type">bool
79820 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 </span>,.b:.<span.class="tok-typ
79840 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e">bool</span>).?<span.class="to
79860 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e k-type">usize</span>.{.....<span
79880 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a .class="tok-kw">if</span>.(c).{.
798a0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 ........<span.class="tok-kw">ret
798c0 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e urn</span>.<span.class="tok-kw">
798e0 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e if</span>.(b).<span.class="tok-n
79900 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ull">null</span>.<span.class="to
79920 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k-kw">else</span>.<span.class="t
79940 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ok-builtin">@as</span>(<span.cla
79960 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ss="tok-type">usize</span>,.<spa
79980 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a n.class="tok-number">0</span>);.
799a0 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ....}......<span.class="tok-kw">
799c0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 return</span>.<span.class="tok-b
799e0 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 uiltin">@as</span>(<span.class="
79a00 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c tok-type">usize</span>,.<span.cl
79a20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c ass="tok-number">3</span>);.}..<
79a40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 span.class="tok-kw">test</span>.
79a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 <span.class="tok-str">&quot;peer
79a80 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 20 61 6e 64 20 5b 5d 63 .type.resolution:.*[0]u8.and.[]c
79aa0 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e onst.u8&quot;</span>.{.....<span
79ac0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
79ae0 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 t(peerTypeEmptyArrayAndSlice(<sp
79b00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c an.class="tok-null">true</span>,
79b20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 .<span.class="tok-str">&quot;hi&
79b40 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 quot;</span>).len.==.<span.class
79b60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 ="tok-number">0</span>);.....<sp
79b80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
79ba0 65 63 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c ect(peerTypeEmptyArrayAndSlice(<
79bc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 span.class="tok-null">false</spa
79be0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b n>,.<span.class="tok-str">&quot;
79c00 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c hi&quot;</span>).len.==.<span.cl
79c20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 ass="tok-number">1</span>);.....
79c40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 <span.class="tok-kw">comptime</s
79c60 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.{.........<span.class="tok-
79c80 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 45 6d kw">try</span>.expect(peerTypeEm
79ca0 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ptyArrayAndSlice(<span.class="to
79cc0 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-null">true</span>,.<span.class
79ce0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ="tok-str">&quot;hi&quot;</span>
79d00 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ).len.==.<span.class="tok-number
79d20 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">0</span>);.........<span.class
79d40 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 65 72 ="tok-kw">try</span>.expect(peer
79d60 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 TypeEmptyArrayAndSlice(<span.cla
79d80 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ss="tok-null">false</span>,.<spa
79da0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b n.class="tok-str">&quot;hi&quot;
79dc0 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>).len.==.<span.class="tok
79de0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 73 70 61 -number">1</span>);.....}.}.<spa
79e00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e n.class="tok-kw">fn</span>.<span
79e20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 .class="tok-fn">peerTypeEmptyArr
79e40 61 79 41 6e 64 53 6c 69 63 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ayAndSlice</span>(a:.<span.class
79e60 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 3a 20 ="tok-type">bool</span>,.slice:.
79e80 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 []<span.class="tok-kw">const</sp
79ea0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>.<span.class="tok-type">u8</s
79ec0 70 61 6e 3e 29 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e pan>).[]<span.class="tok-kw">con
79ee0 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 st</span>.<span.class="tok-type"
79f00 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >u8</span>.{.....<span.class="to
79f20 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 k-kw">if</span>.(a).{.........<s
79f40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">return</span>
79f60 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e .&amp;[_]<span.class="tok-type">
79f80 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c u8</span>{};.....}......<span.cl
79fa0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 ass="tok-kw">return</span>.slice
79fc0 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 [<span.class="tok-number">0</spa
79fe0 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f n>..<span.class="tok-number">1</
7a000 73 70 61 6e 3e 5d 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 span>];.}.<span.class="tok-kw">t
7a020 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 est</span>.<span.class="tok-str"
7a040 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 >&quot;peer.type.resolution:.*[0
7a060 5d 75 38 2c 20 5b 5d 63 6f 6e 73 74 20 75 38 2c 20 61 6e 64 20 61 6e 79 65 72 72 6f 72 21 5b 5d ]u8,.[]const.u8,.and.anyerror![]
7a080 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 u8&quot;</span>.{.....{.........
7a0a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">var</span>.
7a0c0 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 data.=.<span.class="tok-str">&qu
7a0e0 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 20 20 20 20 3c 73 ot;hi&quot;</span>.*;.........<s
7a100 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
7a120 73 6c 69 63 65 20 3d 20 64 61 74 61 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 slice.=.data[<span.class="tok-nu
7a140 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e mber">0</span>..];.........<span
7a160 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
7a180 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 t((<span.class="tok-kw">try</spa
7a1a0 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 n>.peerTypeEmptyArrayAndSliceAnd
7a1c0 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 Error(<span.class="tok-null">tru
7a1e0 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 e</span>,.slice)).len.==.<span.c
7a200 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 lass="tok-number">0</span>);....
7a220 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
7a240 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>.expect((<span.class="tok-kw
7a260 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 ">try</span>.peerTypeEmptyArrayA
7a280 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ndSliceAndError(<span.class="tok
7a2a0 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e -null">false</span>,.slice)).len
7a2c0 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f .==.<span.class="tok-number">1</
7a2e0 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>);.....}.....<span.class="t
7a300 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 ok-kw">comptime</span>.{........
7a320 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">var</span>
7a340 20 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 .data.=.<span.class="tok-str">&q
7a360 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 20 20 20 20 3c uot;hi&quot;</span>.*;.........<
7a380 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
7a3a0 20 73 6c 69 63 65 20 3d 20 64 61 74 61 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .slice.=.data[<span.class="tok-n
7a3c0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 umber">0</span>..];.........<spa
7a3e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 n.class="tok-kw">try</span>.expe
7a400 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ct((<span.class="tok-kw">try</sp
7a420 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e an>.peerTypeEmptyArrayAndSliceAn
7a440 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 dError(<span.class="tok-null">tr
7a460 75 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 ue</span>,.slice)).len.==.<span.
7a480 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 class="tok-number">0</span>);...
7a4a0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
7a4c0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>.expect((<span.class="tok-k
7a4e0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 w">try</span>.peerTypeEmptyArray
7a500 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f AndSliceAndError(<span.class="to
7a520 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 k-null">false</span>,.slice)).le
7a540 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c n.==.<span.class="tok-number">1<
7a560 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>);.....}.}.<span.class="to
7a580 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b k-kw">fn</span>.<span.class="tok
7a5a0 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 -fn">peerTypeEmptyArrayAndSliceA
7a5c0 6e 64 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ndError</span>(a:.<span.class="t
7a5e0 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 3a 20 5b 5d 3c ok-type">bool</span>,.slice:.[]<
7a600 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 span.class="tok-type">u8</span>)
7a620 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 .<span.class="tok-type">anyerror
7a640 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>![]<span.class="tok-type"
7a660 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >u8</span>.{.....<span.class="to
7a680 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 k-kw">if</span>.(a).{.........<s
7a6a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">return</span>
7a6c0 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e .&amp;[_]<span.class="tok-type">
7a6e0 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c u8</span>{};.....}......<span.cl
7a700 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 ass="tok-kw">return</span>.slice
7a720 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 [<span.class="tok-number">0</spa
7a740 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f n>..<span.class="tok-number">1</
7a760 73 70 61 6e 3e 5d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>];.}..<span.class="tok-kw">
7a780 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 test</span>.<span.class="tok-str
7a7a0 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 63 ">&quot;peer.type.resolution:.*c
7a7c0 6f 6e 73 74 20 54 20 61 6e 64 20 3f 2a 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 onst.T.and.?*T&quot;</span>.{...
7a7e0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ..<span.class="tok-kw">const</sp
7a800 61 6e 3e 20 61 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e an>.a:.*<span.class="tok-kw">con
7a820 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 st</span>.<span.class="tok-type"
7a840 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >usize</span>.=.<span.class="tok
7a860 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 -builtin">@ptrFromInt</span>(<sp
7a880 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 35 36 37 38 an.class="tok-number">0x12345678
7a8a0 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 0</span>);.....<span.class="tok-
7a8c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 kw">const</span>.b:.?*<span.clas
7a8e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 s="tok-type">usize</span>.=.<spa
7a900 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e n.class="tok-builtin">@ptrFromIn
7a920 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 t</span>(<span.class="tok-number
7a940 22 3e 30 78 31 32 33 34 35 36 37 38 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e ">0x123456780</span>);.....<span
7a960 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
7a980 74 28 61 20 3d 3d 20 62 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d t(a.==.b);.....<span.class="tok-
7a9a0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 20 3d 3d 20 61 29 3b 0a 7d kw">try</span>.expect(b.==.a);.}
7a9c0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
7a9e0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 n>.<span.class="tok-str">&quot;p
7aa00 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 65 72 72 6f 72 20 75 6e 69 6f 6e eer.type.resolution:.error.union
7aa20 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e .switch&quot;</span>.{.....<span
7aa40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6e 6f 6e 2d .class="tok-comment">//.The.non-
7aa60 65 72 72 6f 72 20 61 6e 64 20 65 72 72 6f 72 20 63 61 73 65 73 20 61 72 65 20 6f 6e 6c 79 20 70 error.and.error.cases.are.only.p
7aa80 65 65 72 73 20 69 66 20 74 68 65 20 65 72 72 6f 72 20 63 61 73 65 20 69 73 20 6a 75 73 74 20 61 eers.if.the.error.case.is.just.a
7aaa0 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c .switch.expression;</span>.....<
7aac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 span.class="tok-comment">//.the.
7aae0 70 61 74 74 65 72 6e 20 60 69 66 20 28 78 29 20 7b 2e 2e 2e 7d 20 65 6c 73 65 20 7c 65 72 72 7c pattern.`if.(x).{...}.else.|err|
7ab00 20 62 6c 6b 3a 20 7b 20 73 77 69 74 63 68 20 28 65 72 72 29 20 7b 2e 2e 2e 7d 20 7d 60 20 64 6f .blk:.{.switch.(err).{...}.}`.do
7ab20 65 73 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 20 74 68 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c es.not.consider.the</span>.....<
7ab40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 6e 2d span.class="tok-comment">//.non-
7ab60 65 72 72 6f 72 20 61 6e 64 20 65 72 72 6f 72 20 63 61 73 65 20 74 6f 20 62 65 20 70 65 65 72 73 error.and.error.case.to.be.peers
7ab80 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .</span>.....<span.class="tok-kw
7aba0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">var</span>.a:.<span.class="tok
7abc0 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 20 41 2c 20 42 2c 20 43 20 7d 21 3c 73 70 -kw">error</span>{.A,.B,.C.}!<sp
7abe0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">u32</span>.=
7ac00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 .<span.class="tok-number">0</spa
7ac20 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 61 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c n>;....._.=.&amp;a;.....<span.cl
7ac40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 ass="tok-kw">const</span>.b.=.<s
7ac60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 pan.class="tok-kw">if</span>.(a)
7ac80 20 7c 78 7c 0a 20 20 20 20 20 20 20 20 78 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .|x|.........x.+.<span.class="to
7aca0 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 k-number">3</span>.....<span.cla
7acc0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 ss="tok-kw">else</span>.|err|.<s
7ace0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e pan.class="tok-kw">switch</span>
7ad00 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .(err).{.........<span.class="to
7ad20 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 20 3d 26 67 74 3b 20 3c 73 70 61 6e k-kw">error</span>.A.=&gt;.<span
7ad40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 .class="tok-number">0</span>,...
7ad60 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 ......<span.class="tok-kw">error
7ad80 3c 2f 73 70 61 6e 3e 2e 42 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.B.=&gt;.<span.class="tok
7ada0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e -number">1</span>,.........<span
7adc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 43 20 3d .class="tok-kw">error</span>.C.=
7ade0 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c &gt;.<span.class="tok-null">null
7ae00 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>,.....};.....<span.class=
7ae20 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e "tok-kw">try</span>.expect(<span
7ae40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 .class="tok-builtin">@TypeOf</sp
7ae60 61 6e 3e 28 62 29 20 3d 3d 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 an>(b).==.?<span.class="tok-type
7ae80 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">u32</span>);......<span.class=
7aea0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6e 6f 6e 2d 65 72 72 6f 72 20 61 "tok-comment">//.The.non-error.a
7aec0 6e 64 20 65 72 72 6f 72 20 63 61 73 65 73 20 61 72 65 20 6f 6e 6c 79 20 70 65 65 72 73 20 69 66 nd.error.cases.are.only.peers.if
7aee0 20 74 68 65 20 65 72 72 6f 72 20 63 61 73 65 20 69 73 20 6a 75 73 74 20 61 20 73 77 69 74 63 68 .the.error.case.is.just.a.switch
7af00 20 65 78 70 72 65 73 73 69 6f 6e 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c .expression;</span>.....<span.cl
7af20 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 70 61 74 74 65 72 6e ass="tok-comment">//.the.pattern
7af40 20 60 78 20 63 61 74 63 68 20 7c 65 72 72 7c 20 62 6c 6b 3a 20 7b 20 73 77 69 74 63 68 20 28 65 .`x.catch.|err|.blk:.{.switch.(e
7af60 72 72 29 20 7b 2e 2e 2e 7d 20 7d 60 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 20 74 rr).{...}.}`.does.not.consider.t
7af80 68 65 20 75 6e 77 72 61 70 70 65 64 20 60 78 60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 he.unwrapped.`x`</span>.....<spa
7afa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 65 72 72 n.class="tok-comment">//.and.err
7afc0 6f 72 20 63 61 73 65 20 74 6f 20 62 65 20 70 65 65 72 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 or.case.to.be.peers.</span>.....
7afe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
7b000 3e 20 63 20 3d 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 >.c.=.a.<span.class="tok-kw">cat
7b020 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ch</span>.|err|.<span.class="tok
7b040 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 -kw">switch</span>.(err).{......
7b060 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 ...<span.class="tok-kw">error</s
7b080 70 61 6e 3e 2e 41 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pan>.A.=&gt;.<span.class="tok-nu
7b0a0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c mber">0</span>,.........<span.cl
7b0c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 20 3d 26 67 74 ass="tok-kw">error</span>.B.=&gt
7b0e0 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 ;.<span.class="tok-number">1</sp
7b100 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 an>,.........<span.class="tok-kw
7b120 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 43 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 ">error</span>.C.=&gt;.<span.cla
7b140 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d ss="tok-null">null</span>,.....}
7b160 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
7b180 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 span>.expect(<span.class="tok-bu
7b1a0 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 63 29 20 3d 3d 20 3f 3c 73 70 iltin">@TypeOf</span>(c).==.?<sp
7b1c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-type">u32</span>);
7b1e0 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
7b200 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 <figcaption.class="shell-cap">Sh
7b220 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
7b240 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 d>zig.test.test_peer_type_resolu
7b260 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 38 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 tion.zig</kbd>.1/8.test_peer_typ
7b280 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 e_resolution.test.peer.resolve.i
7b2a0 6e 74 20 77 69 64 65 6e 69 6e 67 2e 2e 2e 20 4f 4b 0a 32 2f 38 20 74 65 73 74 5f 70 65 65 72 5f nt.widening....OK.2/8.test_peer_
7b2c0 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 type_resolution.test.peer.resolv
7b2e0 65 20 61 72 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 20 74 6f 20 63 6f e.arrays.of.different.size.to.co
7b300 6e 73 74 20 73 6c 69 63 65 2e 2e 2e 20 4f 4b 0a 33 2f 38 20 74 65 73 74 5f 70 65 65 72 5f 74 79 nst.slice....OK.3/8.test_peer_ty
7b320 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 pe_resolution.test.peer.resolve.
7b340 61 72 72 61 79 20 61 6e 64 20 63 6f 6e 73 74 20 73 6c 69 63 65 2e 2e 2e 20 4f 4b 0a 34 2f 38 20 array.and.const.slice....OK.4/8.
7b360 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 test_peer_type_resolution.test.p
7b380 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 3f 54 20 61 6e 64 20 54 2e 2e 2e eer.type.resolution:.?T.and.T...
7b3a0 20 4f 4b 0a 35 2f 38 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f .OK.5/8.test_peer_type_resolutio
7b3c0 6e 2e 74 65 73 74 2e 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 n.test.peer.type.resolution:.*[0
7b3e0 5d 75 38 20 61 6e 64 20 5b 5d 63 6f 6e 73 74 20 75 38 2e 2e 2e 20 4f 4b 0a 36 2f 38 20 74 65 73 ]u8.and.[]const.u8....OK.6/8.tes
7b400 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 65 65 72 t_peer_type_resolution.test.peer
7b420 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 2c 20 5b 5d 63 6f 6e 73 .type.resolution:.*[0]u8,.[]cons
7b440 74 20 75 38 2c 20 61 6e 64 20 61 6e 79 65 72 72 6f 72 21 5b 5d 75 38 2e 2e 2e 20 4f 4b 0a 37 2f t.u8,.and.anyerror![]u8....OK.7/
7b460 38 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 8.test_peer_type_resolution.test
7b480 2e 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 63 6f 6e 73 74 20 54 20 .peer.type.resolution:.*const.T.
7b4a0 61 6e 64 20 3f 2a 54 2e 2e 2e 20 4f 4b 0a 38 2f 38 20 74 65 73 74 5f 70 65 65 72 5f 74 79 70 65 and.?*T....OK.8/8.test_peer_type
7b4c0 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 74 65 73 74 2e 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c _resolution.test.peer.type.resol
7b4e0 75 74 69 6f 6e 3a 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 73 77 69 74 63 68 2e 2e 2e 20 4f 4b 0a ution:.error.union.switch....OK.
7b500 41 6c 6c 20 38 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 All.8.tests.passed..</samp></pre
7b520 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 ></figure>......................
7b540 3c 68 32 20 69 64 3d 22 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d <h2.id="Zero-Bit-Types"><a.href=
7b560 22 23 74 6f 63 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 5a 65 72 6f 20 42 69 74 20 54 "#toc-Zero-Bit-Types">Zero.Bit.T
7b580 79 70 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a ypes</a>.<a.class="hdr".href="#Z
7b5a0 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 ero-Bit-Types">..</a></h2>......
7b5c0 20 20 3c 70 3e 46 6f 72 20 73 6f 6d 65 20 74 79 70 65 73 2c 20 3c 61 20 68 72 65 66 3d 22 23 73 ..<p>For.some.types,.<a.href="#s
7b5e0 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 69 73 20 30 3a 3c 2f 70 3e 0a 20 20 20 izeOf">@sizeOf</a>.is.0:</p>....
7b600 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 ...<ul>...........<li><a.href="#
7b620 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c void">void</a></li>...........<l
7b640 69 3e 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 i>The.<a.href="#Integers">Intege
7b660 72 73 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 rs</a>.<code><span.class="tok-ty
7b680 70 65 22 3e 75 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c pe">u0</span></code>.and.<code><
7b6a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 30 3c 2f 73 70 61 6e 3e 3c span.class="tok-type">i0</span><
7b6c0 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 /code>.</li>...........<li><a.hr
7b6e0 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 ef="#Arrays">Arrays</a>.and.<a.h
7b700 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 77 69 74 68 20 ref="#Vectors">Vectors</a>.with.
7b720 6c 65 6e 20 30 2c 20 6f 72 20 77 69 74 68 20 61 6e 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 74 len.0,.or.with.an.element.type.t
7b740 68 61 74 20 69 73 20 61 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 hat.is.a.zero.bit.type.</li>....
7b760 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e .......<li>An.<a.href="#enum">en
7b780 75 6d 3c 2f 61 3e 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 74 61 67 2e 3c 2f 6c 69 3e 0a 20 20 20 um</a>.with.only.1.tag.</li>....
7b7a0 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 .......<li>A.<a.href="#struct">s
7b7c0 74 72 75 63 74 3c 2f 61 3e 20 77 69 74 68 20 61 6c 6c 20 66 69 65 6c 64 73 20 62 65 69 6e 67 20 truct</a>.with.all.fields.being.
7b7e0 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c zero.bit.types.</li>...........<
7b800 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 li>A.<a.href="#union">union</a>.
7b820 77 69 74 68 20 6f 6e 6c 79 20 31 20 66 69 65 6c 64 20 77 68 69 63 68 20 69 73 20 61 20 7a 65 72 with.only.1.field.which.is.a.zer
7b840 6f 20 62 69 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 o.bit.type.</li>.......</ul>....
7b860 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 74 79 70 65 73 20 63 61 6e 20 6f 6e 6c ...<p>.......These.types.can.onl
7b880 79 20 65 76 65 72 20 68 61 76 65 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 2c 20 y.ever.have.one.possible.value,.
7b8a0 61 6e 64 20 74 68 75 73 0a 20 20 20 20 20 20 72 65 71 75 69 72 65 20 30 20 62 69 74 73 20 74 6f and.thus.......require.0.bits.to
7b8c0 20 72 65 70 72 65 73 65 6e 74 2e 20 43 6f 64 65 20 74 68 61 74 20 6d 61 6b 65 73 20 75 73 65 20 .represent..Code.that.makes.use.
7b8e0 6f 66 20 74 68 65 73 65 20 74 79 70 65 73 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 6e 63 6c of.these.types.is.......not.incl
7b900 75 64 65 64 20 69 6e 20 74 68 65 20 66 69 6e 61 6c 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 uded.in.the.final.generated.code
7b920 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 :.......</p>.......<figure><figc
7b940 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
7b960 73 73 3d 22 66 69 6c 65 22 3e 7a 65 72 6f 5f 62 69 74 5f 74 79 70 65 73 2e 7a 69 67 3c 2f 63 69 ss="file">zero_bit_types.zig</ci
7b980 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
7b9a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 .class="tok-kw">export</span>.<s
7b9c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 pan.class="tok-kw">fn</span>.<sp
7b9e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 61 6e 3e 28 29 an.class="tok-fn">entry</span>()
7ba00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 .<span.class="tok-type">void</sp
7ba20 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 an>.{.....<span.class="tok-kw">v
7ba40 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ar</span>.x:.<span.class="tok-ty
7ba60 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 pe">void</span>.=.{};.....<span.
7ba80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 class="tok-kw">var</span>.y:.<sp
7baa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 an.class="tok-type">void</span>.
7bac0 3d 20 7b 7d 3b 0a 20 20 20 20 78 20 3d 20 79 3b 0a 20 20 20 20 79 20 3d 20 78 3b 0a 7d 3c 2f 63 =.{};.....x.=.y;.....y.=.x;.}</c
7bae0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 ode></pre></figure>.......<p>Whe
7bb00 6e 20 74 68 69 73 20 74 75 72 6e 73 20 69 6e 74 6f 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 2c 20 n.this.turns.into.machine.code,.
7bb20 74 68 65 72 65 20 69 73 20 6e 6f 20 63 6f 64 65 20 67 65 6e 65 72 61 74 65 64 20 69 6e 20 74 68 there.is.no.code.generated.in.th
7bb40 65 0a 20 20 20 20 20 20 62 6f 64 79 20 6f 66 20 3c 63 6f 64 65 3e 65 6e 74 72 79 3c 2f 63 6f 64 e.......body.of.<code>entry</cod
7bb60 65 3e 2c 20 65 76 65 6e 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 e>,.even.in.<a.href="#Debug">Deb
7bb80 75 67 3c 2f 61 3e 20 6d 6f 64 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 20 78 38 36 ug</a>.mode..For.example,.on.x86
7bba0 5f 36 34 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 30 30 30 30 30 30 _64:</p>.......<pre><code>000000
7bbc0 30 30 30 30 30 30 30 30 31 30 20 26 6c 74 3b 65 6e 74 72 79 26 67 74 3b 3a 0a 20 20 31 30 3a 09 0000000010.&lt;entry&gt;:...10:.
7bbe0 35 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 70 75 73 68 20 20 20 25 72 62 55....................push...%rb
7bc00 70 0a 20 20 31 31 3a 09 34 38 20 38 39 20 65 35 20 20 20 20 20 20 20 20 20 20 20 20 20 09 6d 6f p...11:.48.89.e5..............mo
7bc20 76 20 20 20 20 25 72 73 70 2c 25 72 62 70 0a 20 20 31 34 3a 09 35 64 20 20 20 20 20 20 20 20 20 v....%rsp,%rbp...14:.5d.........
7bc40 20 20 20 20 20 20 20 20 20 20 09 70 6f 70 20 20 20 20 25 72 62 70 0a 20 20 31 35 3a 09 63 33 20 ...........pop....%rbp...15:.c3.
7bc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 72 65 74 71 20 20 20 3c 2f 63 6f 64 65 ...................retq...</code
7bc80 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 61 73 73 65 6d 62 6c 79 20 ></pre>.......<p>These.assembly.
7bca0 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 63 6f 64 instructions.do.not.have.any.cod
7bcc0 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 76 6f 69 64 20 76 61 6c 75 65 e.associated.with.the.void.value
7bce0 73 20 2d 0a 20 20 20 20 20 20 74 68 65 79 20 6f 6e 6c 79 20 70 65 72 66 6f 72 6d 20 74 68 65 20 s.-.......they.only.perform.the.
7bd00 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 70 72 6f 6c 6f 67 75 65 20 61 6e 64 20 65 70 69 6c 6f function.call.prologue.and.epilo
7bd20 67 75 65 2e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 76 6f 69 64 22 3e 3c 61 gue.</p>........<h3.id="void"><a
7bd40 20 68 72 65 66 3d 22 23 74 6f 63 2d 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 20 3c 61 20 63 6c .href="#toc-void">void</a>.<a.cl
7bd60 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ass="hdr".href="#void">..</a></h
7bd80 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 3>........<p>.......<code><span.
7bda0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-type">void</span></co
7bdc0 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 69 6e 73 74 61 6e 74 69 61 74 de>.can.be.useful.for.instantiat
7bde0 69 6e 67 20 67 65 6e 65 72 69 63 20 74 79 70 65 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 ing.generic.types..For.example,.
7be00 67 69 76 65 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 4d 61 70 28 4b 65 79 2c given.a...........<code>Map(Key,
7be20 20 56 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 2c 20 6f 6e 65 20 63 61 6e 20 70 61 73 73 20 3c 63 6f .Value)</code>,.one.can.pass.<co
7be40 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f de><span.class="tok-type">void</
7be60 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 56 61 6c 75 65 span></code>.for.the.<code>Value
7be80 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 </code>.......................ty
7bea0 70 65 20 74 6f 20 6d 61 6b 65 20 69 74 20 69 6e 74 6f 20 61 20 3c 63 6f 64 65 3e 53 65 74 3c 2f pe.to.make.it.into.a.<code>Set</
7bec0 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e code>:.......</p>.......<figure>
7bee0 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 <figcaption.class="zig-cap"><cit
7bf00 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 6f 69 64 5f 69 6e 5f 68 61 73 68 e.class="file">test_void_in_hash
7bf20 6d 61 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e map.zig</cite></figcaption><pre>
7bf40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
7bf60 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 </span>.std.=.<span.class="tok-b
7bf80 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@import</span>(<span.cla
7bfa0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 ss="tok-str">&quot;std&quot;</sp
7bfc0 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 an>);.<span.class="tok-kw">const
7bfe0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 </span>.expect.=.std.testing.exp
7c000 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c ect;..<span.class="tok-kw">test<
7c020 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>.<span.class="tok-str">&qu
7c040 6f 74 3b 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 77 69 74 68 20 ot;turn.HashMap.into.a.set.with.
7c060 76 6f 69 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c void&quot;</span>.{.....<span.cl
7c080 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 61 70 20 3d 20 73 74 ass="tok-kw">var</span>.map.=.st
7c0a0 64 2e 41 75 74 6f 48 61 73 68 4d 61 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 d.AutoHashMap(<span.class="tok-t
7c0c0 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">i32</span>,.<span.class="to
7c0e0 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 2e 69 6e 69 74 28 73 74 64 2e 74 65 k-type">void</span>).init(std.te
7c100 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 sting.allocator);.....<span.clas
7c120 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 6d 61 70 2e 64 65 69 6e s="tok-kw">defer</span>.map.dein
7c140 69 74 28 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e it();......<span.class="tok-kw">
7c160 74 72 79 3c 2f 73 70 61 6e 3e 20 6d 61 70 2e 70 75 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 try</span>.map.put(<span.class="
7c180 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 0a 20 20 20 20 3c tok-number">1</span>,.{});.....<
7c1a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 6d span.class="tok-kw">try</span>.m
7c1c0 61 70 2e 70 75 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ap.put(<span.class="tok-number">
7c1e0 32 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 2</span>,.{});......<span.class=
7c200 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 70 2e 63 "tok-kw">try</span>.expect(map.c
7c220 6f 6e 74 61 69 6e 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ontains(<span.class="tok-number"
7c240 3e 32 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >2</span>));.....<span.class="to
7c260 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 6d 61 70 2e 63 6f 6e k-kw">try</span>.expect(!map.con
7c280 74 61 69 6e 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 tains(<span.class="tok-number">3
7c2a0 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 5f 20 3d 20 6d 61 70 2e 72 65 6d 6f 76 65 28 3c </span>));......_.=.map.remove(<
7c2c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e span.class="tok-number">2</span>
7c2e0 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c );.....<span.class="tok-kw">try<
7c300 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 6d 61 70 2e 63 6f 6e 74 61 69 6e 73 28 3c 73 70 61 /span>.expect(!map.contains(<spa
7c320 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 29 3b n.class="tok-number">2</span>));
7c340 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
7c360 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 <figcaption.class="shell-cap">Sh
7c380 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
7c3a0 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 76 6f 69 64 5f 69 6e 5f 68 61 73 68 6d 61 70 2e d>zig.test.test_void_in_hashmap.
7c3c0 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 76 6f 69 64 5f 69 6e 5f 68 61 73 68 6d zig</kbd>.1/1.test_void_in_hashm
7c3e0 61 70 2e 74 65 73 74 2e 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 ap.test.turn.HashMap.into.a.set.
7c400 77 69 74 68 20 76 6f 69 64 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 with.void....OK.All.1.tests.pass
7c420 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 ed..</samp></pre></figure>......
7c440 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 .<p>Note.that.this.is.different.
7c460 66 72 6f 6d 20 75 73 69 6e 67 20 61 20 64 75 6d 6d 79 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 from.using.a.dummy.value.for.the
7c480 20 68 61 73 68 20 6d 61 70 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 42 79 20 75 73 69 6e 67 20 .hash.map.value........By.using.
7c4a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 <code><span.class="tok-type">voi
7c4c0 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 d</span></code>.as.the.type.of.t
7c4e0 68 65 20 76 61 6c 75 65 2c 20 74 68 65 20 68 61 73 68 20 6d 61 70 20 65 6e 74 72 79 20 74 79 70 he.value,.the.hash.map.entry.typ
7c500 65 20 68 61 73 20 6e 6f 20 76 61 6c 75 65 20 66 69 65 6c 64 2c 20 61 6e 64 0a 20 20 20 20 20 20 e.has.no.value.field,.and.......
7c520 74 68 75 73 20 74 68 65 20 68 61 73 68 20 6d 61 70 20 74 61 6b 65 73 20 75 70 20 6c 65 73 73 20 thus.the.hash.map.takes.up.less.
7c540 73 70 61 63 65 2e 20 46 75 72 74 68 65 72 2c 20 61 6c 6c 20 74 68 65 20 63 6f 64 65 20 74 68 61 space..Further,.all.the.code.tha
7c560 74 20 64 65 61 6c 73 20 77 69 74 68 20 73 74 6f 72 69 6e 67 20 61 6e 64 20 6c 6f 61 64 69 6e 67 t.deals.with.storing.and.loading
7c580 20 74 68 65 0a 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 64 65 6c 65 74 65 64 2c 20 61 73 20 .the.......value.is.deleted,.as.
7c5a0 73 65 65 6e 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e seen.above........</p>.......<p>
7c5c0 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 .......<code><span.class="tok-ty
7c5e0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 64 69 73 74 69 6e pe">void</span></code>.is.distin
7c600 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ct.from.<code><span.class="tok-t
7c620 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 ype">anyopaque</span></code>....
7c640 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ....<code><span.class="tok-type"
7c660 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 6b 6e 6f 77 6e 20 >void</span></code>.has.a.known.
7c680 73 69 7a 65 20 6f 66 20 30 20 62 79 74 65 73 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e size.of.0.bytes,.and.<code><span
7c6a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 .class="tok-type">anyopaque</spa
7c6c0 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 6e 20 75 6e 6b 6e 6f 77 6e 2c 20 62 75 74 20 6e 6f n></code>.has.an.unknown,.but.no
7c6e0 6e 2d 7a 65 72 6f 2c 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c n-zero,.size........</p>.......<
7c700 70 3e 0a 20 20 20 20 20 20 45 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 74 79 70 65 20 3c 63 6f p>.......Expressions.of.type.<co
7c720 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f de><span.class="tok-type">void</
7c740 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 74 68 65 20 6f 6e 6c 79 20 6f 6e 65 73 20 77 span></code>.are.the.only.ones.w
7c760 68 6f 73 65 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 46 6f 72 20 65 hose.value.can.be.ignored..For.e
7c780 78 61 6d 70 6c 65 2c 20 69 67 6e 6f 72 69 6e 67 0a 20 20 20 20 20 20 61 20 6e 6f 6e 2d 3c 63 6f xample,.ignoring.......a.non-<co
7c7a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f de><span.class="tok-type">void</
7c7c0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 61 20 63 6f 6d span></code>.expression.is.a.com
7c7e0 70 69 6c 65 20 65 72 72 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 pile.error:.......</p>.......<fi
7c800 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
7c820 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 78 70 72 65 73 73 ><cite.class="file">test_express
7c840 69 6f 6e 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 ion_ignored.zig</cite></figcapti
7c860 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
7c880 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">test</span>.<span.class="tok-
7c8a0 73 74 72 22 3e 26 71 75 6f 74 3b 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 str">&quot;ignoring.expression.v
7c8c0 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 29 3b 0a 7d alue&quot;</span>.{.....foo();.}
7c8e0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
7c900 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e .<span.class="tok-fn">foo</span>
7c920 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 ().<span.class="tok-type">i32</s
7c940 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
7c960 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e return</span>.<span.class="tok-n
7c980 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 umber">1234</span>;.}</code></pr
7c9a0 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 e></figure><figure><figcaption.c
7c9c0 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 lass="shell-cap">Shell</figcapti
7c9e0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 on><pre><samp>$.<kbd>zig.test.te
7ca00 73 74 5f 65 78 70 72 65 73 73 69 6f 6e 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a st_expression_ignored.zig</kbd>.
7ca20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f <span.class="sgr-1m">docgen_tmp/
7ca40 74 65 73 74 5f 65 78 70 72 65 73 73 69 6f 6e 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3a 32 3a 38 3a test_expression_ignored.zig:2:8:
7ca60 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 .</span><span.class="sgr-31m">er
7ca80 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 ror:.</span><span.class="sgr-1m"
7caa0 3e 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 27 69 33 32 27 20 69 67 6e 6f 72 65 64 0a 3c 2f 73 >value.of.type.'i32'.ignored.</s
7cac0 70 61 6e 3e 20 20 20 20 66 6f 6f 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>....foo();.....<span.class="
7cae0 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 5e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 sgr-32m">~~~^~.</span><span.clas
7cb00 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 65 78 70 72 65 s="sgr-1m">docgen_tmp/test_expre
7cb20 73 73 69 6f 6e 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3a 32 3a 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 ssion_ignored.zig:2:8:.</span><s
7cb40 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e pan.class="sgr-36m">note:.</span
7cb60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 61 6c 6c 20 6e 6f 6e 2d 76 6f ><span.class="sgr-1m">all.non-vo
7cb80 69 64 20 76 61 6c 75 65 73 20 6d 75 73 74 20 62 65 20 75 73 65 64 0a 3c 2f 73 70 61 6e 3e 3c 73 id.values.must.be.used.</span><s
7cba0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 pan.class="sgr-1m">docgen_tmp/te
7cbc0 73 74 5f 65 78 70 72 65 73 73 69 6f 6e 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3a 32 3a 38 3a 20 3c st_expression_ignored.zig:2:8:.<
7cbe0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 /span><span.class="sgr-36m">note
7cc00 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 74 68 :.</span><span.class="sgr-1m">th
7cc20 69 73 20 65 72 72 6f 72 20 63 61 6e 20 62 65 20 73 75 70 70 72 65 73 73 65 64 20 62 79 20 61 73 is.error.can.be.suppressed.by.as
7cc40 73 69 67 6e 69 6e 67 20 74 68 65 20 76 61 6c 75 65 20 74 6f 20 27 5f 27 0a 3c 2f 73 70 61 6e 3e signing.the.value.to.'_'.</span>
7cc60 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 .</samp></pre></figure>.......<p
7cc80 3e 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 >However,.if.the.expression.has.
7cca0 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 type.<code><span.class="tok-type
7ccc0 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 72 65 20 77 69 6c 6c ">void</span></code>,.there.will
7cce0 20 62 65 20 6e 6f 20 65 72 72 6f 72 2e 20 45 78 70 72 65 73 73 69 6f 6e 20 72 65 73 75 6c 74 73 .be.no.error..Expression.results
7cd00 20 63 61 6e 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 65 64 20 62 79 20 61 73 .can.be.explicitly.ignored.by.as
7cd20 73 69 67 6e 69 6e 67 20 74 68 65 6d 20 74 6f 20 3c 63 6f 64 65 3e 5f 3c 2f 63 6f 64 65 3e 2e 20 signing.them.to.<code>_</code>..
7cd40 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
7cd60 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
7cd80 22 3e 74 65 73 74 5f 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f ">test_void_ignored.zig</cite></
7cda0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><code><span.clas
7cdc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 s="tok-kw">test</span>.<span.cla
7cde0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 6f 69 64 20 69 73 20 69 67 6e 6f 72 ss="tok-str">&quot;void.is.ignor
7ce00 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 73 56 6f 69 ed&quot;</span>.{.....returnsVoi
7ce20 64 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 d();.}..<span.class="tok-kw">tes
7ce40 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>.<span.class="tok-str">&
7ce60 71 75 6f 74 3b 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 quot;explicitly.ignoring.express
7ce80 69 6f 6e 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d ion.value&quot;</span>.{....._.=
7cea0 20 66 6f 6f 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .foo();.}..<span.class="tok-kw">
7cec0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 fn</span>.<span.class="tok-fn">r
7cee0 65 74 75 72 6e 73 56 6f 69 64 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d eturnsVoid</span>().<span.class=
7cf00 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 0a 0a 3c 73 70 61 6e "tok-type">void</span>.{}..<span
7cf20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 .class="tok-kw">fn</span>.<span.
7cf40 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 class="tok-fn">foo</span>().<spa
7cf60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a n.class="tok-type">i32</span>.{.
7cf80 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c ....<span.class="tok-kw">return<
7cfa0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e /span>.<span.class="tok-number">
7cfc0 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 1234</span>;.}</code></pre></fig
7cfe0 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 ure><figure><figcaption.class="s
7d000 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 hell-cap">Shell</figcaption><pre
7d020 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 76 6f 69 64 ><samp>$.<kbd>zig.test.test_void
7d040 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 76 6f 69 64 _ignored.zig</kbd>.1/2.test_void
7d060 5f 69 67 6e 6f 72 65 64 2e 74 65 73 74 2e 76 6f 69 64 20 69 73 20 69 67 6e 6f 72 65 64 2e 2e 2e _ignored.test.void.is.ignored...
7d080 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 74 65 73 74 2e 65 .OK.2/2.test_void_ignored.test.e
7d0a0 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 61 xplicitly.ignoring.expression.va
7d0c0 6c 75 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f lue....OK.All.2.tests.passed..</
7d0e0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 samp></pre></figure>............
7d100 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f ..........<h2.id="Result-Locatio
7d120 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 73 75 6c n-Semantics"><a.href="#toc-Resul
7d140 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 t-Location-Semantics">Result.Loc
7d160 61 74 69 6f 6e 20 53 65 6d 61 6e 74 69 63 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 ation.Semantics</a>.<a.class="hd
7d180 72 22 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 r".href="#Result-Location-Semant
7d1a0 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ics">..</a></h2>........<p>.....
7d1c0 20 20 44 75 72 69 6e 67 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2c 20 65 76 65 72 79 20 5a 69 67 20 ..During.compilation,.every.Zig.
7d1e0 65 78 70 72 65 73 73 69 6f 6e 20 61 6e 64 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 20 69 73 expression.and.sub-expression.is
7d200 20 61 73 73 69 67 6e 65 64 20 6f 70 74 69 6f 6e 61 6c 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 .assigned.optional.result.locati
7d220 6f 6e 0a 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 54 68 69 73 20 69 6e 66 6f 72 on.......information..This.infor
7d240 6d 61 74 69 6f 6e 20 64 69 63 74 61 74 65 73 20 77 68 61 74 20 74 79 70 65 20 74 68 65 20 65 78 mation.dictates.what.type.the.ex
7d260 70 72 65 73 73 69 6f 6e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 28 69 74 73 20 72 65 73 75 6c 74 pression.should.have.(its.result
7d280 20 74 79 70 65 29 2c 20 61 6e 64 0a 20 20 20 20 20 20 77 68 65 72 65 20 74 68 65 20 72 65 73 75 .type),.and.......where.the.resu
7d2a0 6c 74 69 6e 67 20 76 61 6c 75 65 20 73 68 6f 75 6c 64 20 62 65 20 70 6c 61 63 65 64 20 69 6e 20 lting.value.should.be.placed.in.
7d2c0 6d 65 6d 6f 72 79 20 28 69 74 73 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 29 2e 20 54 68 memory.(its.result.location)..Th
7d2e0 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 e.information.is.......optional.
7d300 69 6e 20 74 68 65 20 73 65 6e 73 65 20 74 68 61 74 20 6e 6f 74 20 65 76 65 72 79 20 65 78 70 72 in.the.sense.that.not.every.expr
7d320 65 73 73 69 6f 6e 20 68 61 73 20 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 20 61 73 73 ession.has.this.information:.ass
7d340 69 67 6e 6d 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 5f 3c 2f 63 6f 64 65 3e 2c ignment.to.......<code>_</code>,
7d360 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 .for.instance,.does.not.provide.
7d380 61 6e 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 74 79 70 65 20 6f any.information.about.the.type.o
7d3a0 66 20 61 6e 0a 20 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6e 6f 72 20 64 6f 65 73 20 f.an.......expression,.nor.does.
7d3c0 69 74 20 70 72 6f 76 69 64 65 20 61 20 63 6f 6e 63 72 65 74 65 20 6d 65 6d 6f 72 79 20 6c 6f 63 it.provide.a.concrete.memory.loc
7d3e0 61 74 69 6f 6e 20 74 6f 20 70 6c 61 63 65 20 69 74 20 69 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ation.to.place.it.in........</p>
7d400 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 20 61 20 6d 6f 74 69 76 61 74 69 6e 67 .......<p>.......As.a.motivating
7d420 20 65 78 61 6d 70 6c 65 2c 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 73 74 61 74 65 6d 65 6e 74 .example,.consider.the.statement
7d440 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .<code><span.class="tok-kw">cons
7d460 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>.x:.<span.class="tok-typ
7d480 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">u32</span>.=.<span.class="tok
7d4a0 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 -number">42</span>;</code>..The.
7d4c0 74 79 70 65 0a 20 20 20 20 20 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 68 65 72 65 20 70 72 6f 76 69 type.......annotation.here.provi
7d4e0 64 65 73 20 61 20 72 65 73 75 6c 74 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e des.a.result.type.of.<code><span
7d500 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="tok-type">u32</span></co
7d520 64 65 3e 20 74 6f 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 65 78 70 72 65 73 de>.to.the.initialization.expres
7d540 73 69 6f 6e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f sion.......<code><span.class="to
7d560 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 6e 73 74 k-number">42</span></code>,.inst
7d580 72 75 63 74 69 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 63 6f 65 72 63 65 20 74 ructing.the.compiler.to.coerce.t
7d5a0 68 69 73 20 69 6e 74 65 67 65 72 20 28 69 6e 69 74 61 6c 6c 79 20 6f 66 20 74 79 70 65 0a 20 20 his.integer.(initally.of.type...
7d5c0 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ....<code><span.class="tok-type"
7d5e0 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 74 6f 20 >comptime_int</span></code>).to.
7d600 74 68 69 73 20 74 79 70 65 2e 20 57 65 20 77 69 6c 6c 20 73 65 65 20 6d 6f 72 65 20 65 78 61 6d this.type..We.will.see.more.exam
7d620 70 6c 65 73 20 73 68 6f 72 74 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ples.shortly........</p>.......<
7d640 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6e 6f 74 20 61 6e 20 69 6d 70 6c 65 6d 65 6e p>.......This.is.not.an.implemen
7d660 74 61 74 69 6f 6e 20 64 65 74 61 69 6c 3a 20 74 68 65 20 6c 6f 67 69 63 20 6f 75 74 6c 69 6e 65 tation.detail:.the.logic.outline
7d680 64 20 61 62 6f 76 65 20 69 73 20 63 6f 64 69 66 69 65 64 20 69 6e 74 6f 20 74 68 65 20 5a 69 67 d.above.is.codified.into.the.Zig
7d6a0 20 6c 61 6e 67 75 61 67 65 0a 20 20 20 20 20 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 2c 20 61 .language.......specification,.a
7d6c0 6e 64 20 69 73 20 74 68 65 20 70 72 69 6d 61 72 79 20 6d 65 63 68 61 6e 69 73 6d 20 6f 66 20 74 nd.is.the.primary.mechanism.of.t
7d6e0 79 70 65 20 69 6e 66 65 72 65 6e 63 65 20 69 6e 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2e 20 54 ype.inference.in.the.language..T
7d700 68 69 73 20 73 79 73 74 65 6d 20 69 73 0a 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 69 76 65 6c 79 his.system.is.......collectively
7d720 20 72 65 66 65 72 72 65 64 20 74 6f 20 61 73 20 22 52 65 73 75 6c 74 20 4c 6f 63 61 74 69 6f 6e .referred.to.as."Result.Location
7d740 20 53 65 6d 61 6e 74 69 63 73 22 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 .Semantics"........</p>.......<h
7d760 33 20 69 64 3d 22 52 65 73 75 6c 74 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 3.id="Result-Types"><a.href="#to
7d780 63 2d 52 65 73 75 6c 74 2d 54 79 70 65 73 22 3e 52 65 73 75 6c 74 20 54 79 70 65 73 3c 2f 61 3e c-Result-Types">Result.Types</a>
7d7a0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 54 79 .<a.class="hdr".href="#Result-Ty
7d7c0 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 pes">..</a></h3>........<p>.....
7d7e0 20 20 52 65 73 75 6c 74 20 74 79 70 65 73 20 61 72 65 20 70 72 6f 70 61 67 61 74 65 64 20 72 65 ..Result.types.are.propagated.re
7d800 63 75 72 73 69 76 65 6c 79 20 74 68 72 6f 75 67 68 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 cursively.through.expressions.wh
7d820 65 72 65 20 70 6f 73 73 69 62 6c 65 2e 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 74 ere.possible..For.instance,.if.t
7d840 68 65 0a 20 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 65 he.......expression.<code>&amp;e
7d860 3c 2f 63 6f 64 65 3e 20 68 61 73 20 72 65 73 75 6c 74 20 74 79 70 65 20 3c 63 6f 64 65 3e 2a 3c </code>.has.result.type.<code>*<
7d880 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">u32</span>
7d8a0 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 65 3c 2f 63 6f 64 </code>,.then.......<code>e</cod
7d8c0 65 3e 20 69 73 20 67 69 76 65 6e 20 61 20 72 65 73 75 6c 74 20 74 79 70 65 20 6f 66 20 3c 63 6f e>.is.given.a.result.type.of.<co
7d8e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 de><span.class="tok-type">u32</s
7d900 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 pan></code>,.allowing.the.......
7d920 6c 61 6e 67 75 61 67 65 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 68 69 73 20 63 6f 65 72 63 69 6f language.to.perform.this.coercio
7d940 6e 20 62 65 66 6f 72 65 20 74 61 6b 69 6e 67 20 61 20 72 65 66 65 72 65 6e 63 65 2e 0a 20 20 20 n.before.taking.a.reference.....
7d960 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 ...</p>.......<p>.......The.resu
7d980 6c 74 20 74 79 70 65 20 6d 65 63 68 61 6e 69 73 6d 20 69 73 20 75 74 69 6c 69 7a 65 64 20 62 79 lt.type.mechanism.is.utilized.by
7d9a0 20 63 61 73 74 69 6e 67 20 62 75 69 6c 74 69 6e 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e .casting.builtins.such.as.<code>
7d9c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 <span.class="tok-builtin">@intCa
7d9e0 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 52 61 74 68 65 72 20 74 st</span></code>........Rather.t
7da00 68 61 6e 20 74 61 6b 69 6e 67 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 74 68 65 20 74 79 han.taking.as.an.argument.the.ty
7da20 70 65 20 74 6f 20 63 61 73 74 20 74 6f 2c 20 74 68 65 73 65 20 62 75 69 6c 74 69 6e 73 20 75 73 pe.to.cast.to,.these.builtins.us
7da40 65 20 74 68 65 69 72 20 72 65 73 75 6c 74 20 74 79 70 65 20 74 6f 0a 20 20 20 20 20 20 64 65 74 e.their.result.type.to.......det
7da60 65 72 6d 69 6e 65 20 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 54 68 65 20 72 65 73 ermine.this.information..The.res
7da80 75 6c 74 20 74 79 70 65 20 69 73 20 6f 66 74 65 6e 20 6b 6e 6f 77 6e 20 66 72 6f 6d 20 63 6f 6e ult.type.is.often.known.from.con
7daa0 74 65 78 74 3b 20 77 68 65 72 65 20 69 74 20 69 73 20 6e 6f 74 2c 20 74 68 65 0a 20 20 20 20 20 text;.where.it.is.not,.the......
7dac0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .<code><span.class="tok-builtin"
7dae0 3e 40 61 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 69 6c 74 69 6e 20 63 61 6e 20 62 >@as</span></code>.builtin.can.b
7db00 65 20 75 73 65 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 70 72 6f 76 69 64 65 20 61 20 72 e.used.to.explicitly.provide.a.r
7db20 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e esult.type........</p>.......<p>
7db40 0a 20 20 20 20 20 20 57 65 20 63 61 6e 20 62 72 65 61 6b 20 64 6f 77 6e 20 74 68 65 20 72 65 73 .......We.can.break.down.the.res
7db60 75 6c 74 20 74 79 70 65 73 20 66 6f 72 20 65 61 63 68 20 63 6f 6d 70 6f 6e 65 6e 74 20 6f 66 20 ult.types.for.each.component.of.
7db80 61 20 73 69 6d 70 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a a.simple.expression.as.follows:.
7dba0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 ......</p>.......<figure><figcap
7dbc0 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 tion.class="zig-cap"><cite.class
7dbe0 3d 22 66 69 6c 65 22 3e 72 65 73 75 6c 74 5f 74 79 70 65 5f 70 72 6f 70 61 67 61 74 69 6f 6e 2e ="file">result_type_propagation.
7dc00 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 zig</cite></figcaption><pre><cod
7dc20 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
7dc40 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an>.expectEqual.=.<span.class="t
7dc60 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
7dc80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
7dca0 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 0a 3c 73 </span>).testing.expectEqual;.<s
7dcc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c pan.class="tok-kw">test</span>.<
7dce0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 73 75 6c span.class="tok-str">&quot;resul
7dd00 74 20 74 79 70 65 20 70 72 6f 70 61 67 61 74 65 73 20 74 68 72 6f 75 67 68 20 73 74 72 75 63 74 t.type.propagates.through.struct
7dd20 20 69 6e 69 74 69 61 6c 69 7a 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 .initializer&quot;</span>.{.....
7dd40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
7dd60 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 >.S.=.<span.class="tok-kw">struc
7dd80 74 3c 2f 73 70 61 6e 3e 20 7b 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 t</span>.{.x:.<span.class="tok-t
7dda0 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype">u32</span>.};.....<span.cla
7ddc0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 3a 20 3c 73 ss="tok-kw">const</span>.val:.<s
7dde0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u64</span>.
7de00 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 3c 2f =.<span.class="tok-number">123</
7de20 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>;.....<span.class="tok-kw">
7de40 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 3a 20 53 20 3d 20 2e 7b 20 2e 78 20 3d 20 3c 73 70 61 const</span>.s:.S.=..{..x.=.<spa
7de60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f n.class="tok-builtin">@intCast</
7de80 73 70 61 6e 3e 28 76 61 6c 29 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>(val).};.....<span.class="t
7dea0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 7b 20 2e 78 20 3d 20 40 69 6e 74 43 61 73 74 28 ok-comment">//..{..x.=.@intCast(
7dec0 76 61 6c 29 20 7d 20 20 20 68 61 73 20 72 65 73 75 6c 74 20 74 79 70 65 20 60 53 60 20 64 75 65 val).}...has.result.type.`S`.due
7dee0 20 74 6f 20 74 68 65 20 74 79 70 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 .to.the.type.annotation</span>..
7df00 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 ...<span.class="tok-comment">//.
7df20 20 20 20 20 20 20 20 20 40 69 6e 74 43 61 73 74 28 76 61 6c 29 20 20 20 20 20 68 61 73 20 72 65 ........@intCast(val).....has.re
7df40 73 75 6c 74 20 74 79 70 65 20 60 75 33 32 60 20 64 75 65 20 74 6f 20 74 68 65 20 74 79 70 65 20 sult.type.`u32`.due.to.the.type.
7df60 6f 66 20 74 68 65 20 66 69 65 6c 64 20 60 53 2e 78 60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 of.the.field.`S.x`</span>.....<s
7df80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 20 20 20 20 20 pan.class="tok-comment">//......
7dfa0 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 20 20 20 20 20 20 68 61 73 20 6e 6f 20 72 65 73 75 ............val......has.no.resu
7dfc0 6c 74 20 74 79 70 65 2c 20 61 73 20 69 74 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 62 lt.type,.as.it.is.permitted.to.b
7dfe0 65 20 61 6e 79 20 69 6e 74 65 67 65 72 20 74 79 70 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 e.any.integer.type</span>.....<s
7e000 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 pan.class="tok-kw">try</span>.ex
7e020 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pectEqual(<span.class="tok-built
7e040 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d in">@as</span>(<span.class="tok-
7e060 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u32</span>,.<span.class="t
7e080 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 3c 2f 73 70 61 6e 3e 29 2c 20 73 2e 78 29 3b 0a 7d 3c ok-number">123</span>),.s.x);.}<
7e0a0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 /code></pre></figure><figure><fi
7e0c0 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c gcaption.class="shell-cap">Shell
7e0e0 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
7e100 69 67 20 74 65 73 74 20 72 65 73 75 6c 74 5f 74 79 70 65 5f 70 72 6f 70 61 67 61 74 69 6f 6e 2e ig.test.result_type_propagation.
7e120 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 72 65 73 75 6c 74 5f 74 79 70 65 5f 70 72 6f 70 61 67 zig</kbd>.1/1.result_type_propag
7e140 61 74 69 6f 6e 2e 74 65 73 74 2e 72 65 73 75 6c 74 20 74 79 70 65 20 70 72 6f 70 61 67 61 74 65 ation.test.result.type.propagate
7e160 73 20 74 68 72 6f 75 67 68 20 73 74 72 75 63 74 20 69 6e 69 74 69 61 6c 69 7a 65 72 2e 2e 2e 20 s.through.struct.initializer....
7e180 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.1.tests.passed..</samp></
7e1a0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 pre></figure>.......<p>.......Th
7e1c0 69 73 20 72 65 73 75 6c 74 20 74 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 75 73 is.result.type.information.is.us
7e1e0 65 66 75 6c 20 66 6f 72 20 74 68 65 20 61 66 6f 72 65 6d 65 6e 74 69 6f 6e 65 64 20 63 61 73 74 eful.for.the.aforementioned.cast
7e200 20 62 75 69 6c 74 69 6e 73 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 74 6f 20 61 76 6f 69 64 0a 20 .builtins,.as.well.as.to.avoid..
7e220 20 20 20 20 20 74 68 65 20 63 6f 6e 73 74 72 75 63 74 69 6f 6e 20 6f 66 20 70 72 65 2d 63 6f 65 .....the.construction.of.pre-coe
7e240 72 63 69 6f 6e 20 76 61 6c 75 65 73 2c 20 61 6e 64 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 6e rcion.values,.and.to.avoid.the.n
7e260 65 65 64 20 66 6f 72 20 65 78 70 6c 69 63 69 74 20 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 73 20 eed.for.explicit.type.coercions.
7e280 69 6e 20 73 6f 6d 65 0a 20 20 20 20 20 20 63 61 73 65 73 2e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 in.some.......cases..The.followi
7e2a0 6e 67 20 74 61 62 6c 65 20 64 65 74 61 69 6c 73 20 68 6f 77 20 73 6f 6d 65 20 63 6f 6d 6d 6f 6e ng.table.details.how.some.common
7e2c0 20 65 78 70 72 65 73 73 69 6f 6e 73 20 70 72 6f 70 61 67 61 74 65 20 72 65 73 75 6c 74 20 74 79 .expressions.propagate.result.ty
7e2e0 70 65 73 2c 20 77 68 65 72 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 pes,.where.......<code>x</code>.
7e300 61 6e 64 20 3c 63 6f 64 65 3e 79 3c 2f 63 6f 64 65 3e 20 61 72 65 20 61 72 62 69 74 72 61 72 79 and.<code>y</code>.are.arbitrary
7e320 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .sub-expressions........</p>....
7e340 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 ...<div.class="table-wrapper">..
7e360 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 .....<table>.........<thead>....
7e380 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 .......<tr>.............<th.scop
7e3a0 65 3d 22 63 6f 6c 22 3e 45 78 70 72 65 73 73 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 e="col">Expression</th>.........
7e3c0 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 50 61 72 65 6e 74 20 52 65 73 75 6c ....<th.scope="col">Parent.Resul
7e3e0 74 20 54 79 70 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 t.Type</th>.............<th.scop
7e400 65 3d 22 63 6f 6c 22 3e 53 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 20 52 65 73 75 6c 74 20 54 79 e="col">Sub-expression.Result.Ty
7e420 70 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 pe</th>...........</tr>.........
7e440 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 </thead>.........<tbody>........
7e460 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 ...<tr>.............<th.scope="r
7e480 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ow"><code><span.class="tok-kw">c
7e4a0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 3a 20 54 20 3d 20 78 3c 2f 63 6f 64 65 3e 3c 2f 74 onst</span>.val:.T.=.x</code></t
7e4c0 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 h>.............<td>-</td>.......
7e4e0 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 ......<td><code>x</code>.is.a.<c
7e500 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 ode>T</code></td>...........</tr
7e520 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 >...........<tr>.............<th
7e540 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .scope="row"><code><span.class="
7e560 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 3a 20 54 20 3d 20 78 3c 2f 63 tok-kw">var</span>.val:.T.=.x</c
7e580 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e ode></th>.............<td>-</td>
7e5a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 .............<td><code>x</code>.
7e5c0 69 73 20 61 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 is.a.<code>T</code></td>........
7e5e0 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 ...</tr>...........<tr>.........
7e600 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 76 61 6c 20 3d 20 ....<th.scope="row"><code>val.=.
7e620 78 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c x</code></th>.............<td>-<
7e640 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f /td>.............<td><code>x</co
7e660 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d de>.is.a.<code><span.class="tok-
7e680 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 29 3c 2f 63 6f builtin">@TypeOf</span>(val)</co
7e6a0 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 de></td>...........</tr>........
7e6c0 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 ...<tr>.............<th.scope="r
7e6e0 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ow"><code><span.class="tok-built
7e700 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 54 2c 20 78 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e in">@as</span>(T,.x)</code></th>
7e720 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 .............<td>-</td>.........
7e740 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 ....<td><code>x</code>.is.a.<cod
7e760 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a e>T</code></td>...........</tr>.
7e780 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 ..........<tr>.............<th.s
7e7a0 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 26 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 3c 2f cope="row"><code>&amp;x</code></
7e7c0 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 2a 54 3c 2f 63 6f th>.............<td><code>*T</co
7e7e0 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 de></td>.............<td><code>x
7e800 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e </code>.is.a.<code>T</code></td>
7e820 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a ...........</tr>...........<tr>.
7e840 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 ............<th.scope="row"><cod
7e860 65 3e 26 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 e>&amp;x</code></th>............
7e880 20 3c 74 64 3e 3c 63 6f 64 65 3e 5b 5d 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 .<td><code>[]T</code></td>......
7e8a0 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 73 6f 6d .......<td><code>x</code>.is.som
7e8c0 65 20 61 72 72 61 79 20 6f 66 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 e.array.of.<code>T</code></td>..
7e8e0 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 .........</tr>...........<tr>...
7e900 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e ..........<th.scope="row"><code>
7e920 66 28 78 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 f(x)</code></th>.............<td
7e940 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c >-</td>.............<td><code>x<
7e960 2f 63 6f 64 65 3e 20 68 61 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 /code>.has.the.type.of.the.first
7e980 20 70 61 72 61 6d 65 74 65 72 20 6f 66 20 3c 63 6f 64 65 3e 66 3c 2f 63 6f 64 65 3e 3c 2f 74 64 .parameter.of.<code>f</code></td
7e9a0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e >...........</tr>...........<tr>
7e9c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f .............<th.scope="row"><co
7e9e0 64 65 3e 2e 7b 78 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 de>.{x}</code></th>.............
7ea00 3c 74 64 3e 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 <td><code>T</code></td>.........
7ea20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 ....<td><code>x</code>.is.a.<cod
7ea40 65 3e 73 74 64 2e 6d 65 74 61 2e 46 69 65 6c 64 54 79 70 65 28 54 2c 20 2e 40 26 71 75 6f 74 3b e>std.meta.FieldType(T,..@&quot;
7ea60 30 26 71 75 6f 74 3b 29 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 0&quot;)</code></td>...........<
7ea80 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 /tr>...........<tr>.............
7eaa0 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 2e 7b 20 2e 61 20 3d 20 78 20 <th.scope="row"><code>.{..a.=.x.
7eac0 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 }</code></th>.............<td><c
7eae0 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 ode>T</code></td>.............<t
7eb00 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 73 74 64 2e d><code>x</code>.is.a.<code>std.
7eb20 6d 65 74 61 2e 46 69 65 6c 64 54 79 70 65 28 54 2c 20 2e 61 29 3c 2f 63 6f 64 65 3e 3c 2f 74 64 meta.FieldType(T,..a)</code></td
7eb40 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e >...........</tr>...........<tr>
7eb60 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f .............<th.scope="row"><co
7eb80 64 65 3e 54 7b 78 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 de>T{x}</code></th>.............
7eba0 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 <td>-</td>.............<td><code
7ebc0 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 73 74 64 2e 6d 65 74 61 2e 46 69 >x</code>.is.a.<code>std.meta.Fi
7ebe0 65 6c 64 54 79 70 65 28 54 2c 20 2e 40 26 71 75 6f 74 3b 30 26 71 75 6f 74 3b 29 3c 2f 63 6f 64 eldType(T,..@&quot;0&quot;)</cod
7ec00 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 e></td>...........</tr>.........
7ec20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f ..<tr>.............<th.scope="ro
7ec40 77 22 3e 3c 63 6f 64 65 3e 54 7b 20 2e 61 20 3d 20 78 20 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e w"><code>T{..a.=.x.}</code></th>
7ec60 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 .............<td>-</td>.........
7ec80 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 ....<td><code>x</code>.is.a.<cod
7eca0 65 3e 73 74 64 2e 6d 65 74 61 2e 46 69 65 6c 64 54 79 70 65 28 54 2c 20 2e 61 29 3c 2f 63 6f 64 e>std.meta.FieldType(T,..a)</cod
7ecc0 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 e></td>...........</tr>.........
7ece0 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f ..<tr>.............<th.scope="ro
7ed00 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 w"><code><span.class="tok-builti
7ed20 6e 22 3e 40 54 79 70 65 3c 2f 73 70 61 6e 3e 28 78 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 n">@Type</span>(x)</code></th>..
7ed40 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 ...........<td>-</td>...........
7ed60 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e ..<td><code>x</code>.is.a.<code>
7ed80 73 74 64 2e 62 75 69 6c 74 69 6e 2e 54 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 std.builtin.Type</code></td>....
7eda0 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 .......</tr>...........<tr>.....
7edc0 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 ........<th.scope="row"><code><s
7ede0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 pan.class="tok-builtin">@typeInf
7ee00 6f 3c 2f 73 70 61 6e 3e 28 78 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 o</span>(x)</code></th>.........
7ee20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c ....<td>-</td>.............<td><
7ee40 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 code>x</code>.is.a.<code><span.c
7ee60 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">type</span></cod
7ee80 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 e></td>...........</tr>.........
7eea0 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f ..<tr>.............<th.scope="ro
7eec0 77 22 3e 3c 63 6f 64 65 3e 78 20 26 6c 74 3b 26 6c 74 3b 20 79 3c 2f 63 6f 64 65 3e 3c 2f 74 68 w"><code>x.&lt;&lt;.y</code></th
7eee0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 >.............<td>-</td>........
7ef00 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 79 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f .....<td><code>y</code>.is.a.<co
7ef20 64 65 3e 73 74 64 2e 6d 61 74 68 2e 4c 6f 67 32 49 6e 74 43 65 69 6c 28 3c 73 70 61 6e 20 63 6c de>std.math.Log2IntCeil(<span.cl
7ef40 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e ass="tok-builtin">@TypeOf</span>
7ef60 28 78 29 29 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e (x))</code></td>...........</tr>
7ef80 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e .........</tbody>.......</table>
7efa0 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 .......</div>..............<h3.i
7efc0 64 3d 22 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 d="Result-Locations"><a.href="#t
7efe0 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 61 oc-Result-Locations">Result.Loca
7f000 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 tions</a>.<a.class="hdr".href="#
7f020 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 Result-Locations">..</a></h3>...
7f040 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 72 65 .....<p>.......In.addition.to.re
7f060 73 75 6c 74 20 74 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 65 76 65 72 79 20 65 78 70 sult.type.information,.every.exp
7f080 72 65 73 73 69 6f 6e 20 6d 61 79 20 62 65 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 61 73 73 69 67 6e ression.may.be.optionally.assign
7f0a0 65 64 20 61 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 6c 6f 63 61 74 69 6f 6e 3a 20 61 20 70 6f ed.a.result.......location:.a.po
7f0c0 69 6e 74 65 72 20 74 6f 20 77 68 69 63 68 20 74 68 65 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 inter.to.which.the.value.must.be
7f0e0 20 64 69 72 65 63 74 6c 79 20 77 72 69 74 74 65 6e 2e 20 54 68 69 73 20 73 79 73 74 65 6d 20 63 .directly.written..This.system.c
7f100 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 70 72 65 76 65 6e 74 0a 20 20 20 20 20 20 69 6e 74 65 an.be.used.to.prevent.......inte
7f120 72 6d 65 64 69 61 74 65 20 63 6f 70 69 65 73 20 77 68 65 6e 20 69 6e 69 74 69 61 6c 69 7a 69 6e rmediate.copies.when.initializin
7f140 67 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 g.data.structures,.which.can.be.
7f160 69 6d 70 6f 72 74 61 6e 74 20 66 6f 72 20 74 79 70 65 73 20 77 68 69 63 68 20 6d 75 73 74 0a 20 important.for.types.which.must..
7f180 20 20 20 20 20 68 61 76 65 20 61 20 66 69 78 65 64 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 .....have.a.fixed.memory.address
7f1a0 20 28 22 70 69 6e 6e 65 64 22 20 74 79 70 65 73 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .("pinned".types)........</p>...
7f1c0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 ....<p>.......When.compiling.the
7f1e0 20 73 69 6d 70 6c 65 20 61 73 73 69 67 6e 6d 65 6e 74 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 63 .simple.assignment.expression.<c
7f200 6f 64 65 3e 78 20 3d 20 65 3c 2f 63 6f 64 65 3e 2c 20 6d 61 6e 79 20 6c 61 6e 67 75 61 67 65 73 ode>x.=.e</code>,.many.languages
7f220 20 77 6f 75 6c 64 0a 20 20 20 20 20 20 63 72 65 61 74 65 20 74 68 65 20 74 65 6d 70 6f 72 61 72 .would.......create.the.temporar
7f240 79 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e 65 3c 2f 63 6f 64 65 3e 20 6f 6e 20 74 68 65 20 73 74 y.value.<code>e</code>.on.the.st
7f260 61 63 6b 2c 20 61 6e 64 20 74 68 65 6e 20 61 73 73 69 67 6e 20 69 74 20 74 6f 0a 20 20 20 20 20 ack,.and.then.assign.it.to......
7f280 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 2c 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 70 65 72 .<code>x</code>,.potentially.per
7f2a0 66 6f 72 6d 69 6e 67 20 61 20 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 69 6e 20 74 68 65 20 70 forming.a.type.coercion.in.the.p
7f2c0 72 6f 63 65 73 73 2e 20 5a 69 67 20 61 70 70 72 6f 61 63 68 65 73 20 74 68 69 73 0a 20 20 20 20 rocess..Zig.approaches.this.....
7f2e0 20 20 64 69 66 66 65 72 65 6e 74 6c 79 2e 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 63 ..differently..The.expression.<c
7f300 6f 64 65 3e 65 3c 2f 63 6f 64 65 3e 20 69 73 20 67 69 76 65 6e 20 61 20 72 65 73 75 6c 74 20 74 ode>e</code>.is.given.a.result.t
7f320 79 70 65 20 6d 61 74 63 68 69 6e 67 20 74 68 65 20 74 79 70 65 20 6f 66 0a 20 20 20 20 20 20 3c ype.matching.the.type.of.......<
7f340 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 61 20 72 65 73 75 6c 74 20 6c 6f 63 61 code>x</code>,.and.a.result.loca
7f360 74 69 6f 6e 20 6f 66 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 2e 20 46 6f 72 tion.of.<code>&amp;x</code>..For
7f380 20 6d 61 6e 79 20 73 79 6e 74 61 63 74 69 63 0a 20 20 20 20 20 20 66 6f 72 6d 73 20 6f 66 20 3c .many.syntactic.......forms.of.<
7f3a0 63 6f 64 65 3e 65 3c 2f 63 6f 64 65 3e 2c 20 74 68 69 73 20 68 61 73 20 6e 6f 20 70 72 61 63 74 code>e</code>,.this.has.no.pract
7f3c0 69 63 61 6c 20 69 6d 70 61 63 74 2e 20 48 6f 77 65 76 65 72 2c 20 69 74 20 63 61 6e 20 68 61 76 ical.impact..However,.it.can.hav
7f3e0 65 20 69 6d 70 6f 72 74 61 6e 74 0a 20 20 20 20 20 20 73 65 6d 61 6e 74 69 63 20 65 66 66 65 63 e.important.......semantic.effec
7f400 74 73 20 77 68 65 6e 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 ts.when.working.with.more.comple
7f420 78 20 73 79 6e 74 61 78 20 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 x.syntax.forms........</p>......
7f440 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 74 68 65 20 .<p>.......For.instance,.if.the.
7f460 65 78 70 72 65 73 73 69 6f 6e 20 3c 63 6f 64 65 3e 2e 7b 20 2e 61 20 3d 20 78 2c 20 2e 62 20 3d expression.<code>.{..a.=.x,..b.=
7f480 20 79 20 7d 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f .y.}</code>.has.a.result.locatio
7f4a0 6e 20 6f 66 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 n.of.......<code>ptr</code>,.the
7f4c0 6e 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 67 69 76 65 6e 20 61 20 72 65 73 75 n.<code>x</code>.is.given.a.resu
7f4e0 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 26 61 6d 70 3b lt.location.of.......<code>&amp;
7f500 70 74 72 2e 61 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 79 3c 2f 63 6f 64 65 3e ptr.a</code>,.and.<code>y</code>
7f520 20 61 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 3c 63 6f 64 65 3e 26 61 6d 70 .a.result.location.of.<code>&amp
7f540 3b 70 74 72 2e 62 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 57 69 74 68 6f 75 74 20 74 68 69 ;ptr.b</code>........Without.thi
7f560 73 20 73 79 73 74 65 6d 2c 20 74 68 69 73 20 65 78 70 72 65 73 73 69 6f 6e 20 77 6f 75 6c 64 20 s.system,.this.expression.would.
7f580 63 6f 6e 73 74 72 75 63 74 20 61 20 74 65 6d 70 6f 72 61 72 79 20 73 74 72 75 63 74 20 76 61 6c construct.a.temporary.struct.val
7f5a0 75 65 20 65 6e 74 69 72 65 6c 79 20 6f 6e 20 74 68 65 20 73 74 61 63 6b 2c 20 61 6e 64 0a 20 20 ue.entirely.on.the.stack,.and...
7f5c0 20 20 20 20 6f 6e 6c 79 20 74 68 65 6e 20 63 6f 70 79 20 69 74 20 74 6f 20 74 68 65 20 64 65 73 ....only.then.copy.it.to.the.des
7f5e0 74 69 6e 61 74 69 6f 6e 20 61 64 64 72 65 73 73 2e 20 49 6e 20 65 73 73 65 6e 63 65 2c 20 5a 69 tination.address..In.essence,.Zi
7f600 67 20 64 65 73 75 67 61 72 73 20 74 68 65 20 61 73 73 69 67 6e 6d 65 6e 74 0a 20 20 20 20 20 20 g.desugars.the.assignment.......
7f620 3c 63 6f 64 65 3e 66 6f 6f 20 3d 20 2e 7b 20 2e 61 20 3d 20 78 2c 20 2e 62 20 3d 20 79 20 7d 3c <code>foo.=..{..a.=.x,..b.=.y.}<
7f640 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 74 77 6f 20 73 74 61 74 65 6d 65 6e 74 73 20 3c 63 6f /code>.to.the.two.statements.<co
7f660 64 65 3e 66 6f 6f 2e 61 20 3d 20 78 3b 20 66 6f 6f 2e 62 20 3d 20 79 3b 3c 2f 63 6f 64 65 3e 2e de>foo.a.=.x;.foo.b.=.y;</code>.
7f680 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 .......</p>.......<p>.......This
7f6a0 20 63 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 62 65 20 69 6d 70 6f 72 74 61 6e 74 20 77 68 65 6e .can.sometimes.be.important.when
7f6c0 20 61 73 73 69 67 6e 69 6e 67 20 61 6e 20 61 67 67 72 65 67 61 74 65 20 76 61 6c 75 65 20 77 68 .assigning.an.aggregate.value.wh
7f6e0 65 72 65 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 65 78 70 ere.the.initialization.......exp
7f700 72 65 73 73 69 6f 6e 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 ression.depends.on.the.previous.
7f720 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 74 65 2e 20 54 68 65 20 65 61 73 69 value.of.the.aggregate..The.easi
7f740 65 73 74 20 77 61 79 20 74 6f 20 64 65 6d 6f 6e 73 74 72 61 74 65 20 74 68 69 73 20 69 73 20 62 est.way.to.demonstrate.this.is.b
7f760 79 0a 20 20 20 20 20 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 73 77 61 70 20 66 69 65 6c 64 y.......attempting.to.swap.field
7f780 73 20 6f 66 20 61 20 73 74 72 75 63 74 20 6f 72 20 61 72 72 61 79 20 2d 20 74 68 65 20 66 6f 6c s.of.a.struct.or.array.-.the.fol
7f7a0 6c 6f 77 69 6e 67 20 6c 6f 67 69 63 20 6c 6f 6f 6b 73 20 73 6f 75 6e 64 2c 20 62 75 74 20 69 6e lowing.logic.looks.sound,.but.in
7f7c0 20 66 61 63 74 20 69 73 20 6e 6f 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .fact.is.not:.......</p>.......<
7f7e0 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 figure><figcaption.class="zig-ca
7f800 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 65 73 75 6c 74 5f 6c 6f 63 p"><cite.class="file">result_loc
7f820 61 74 69 6f 6e 5f 69 6e 74 65 72 66 65 72 69 6e 67 5f 77 69 74 68 5f 73 77 61 70 2e 7a 69 67 3c ation_interfering_with_swap.zig<
7f840 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 /cite></figcaption><pre><code><s
7f860 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
7f880 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 expect.=.<span.class="tok-builti
7f8a0 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">@import</span>(<span.class="t
7f8c0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e ok-str">&quot;std&quot;</span>).
7f8e0 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b testing.expect;.<span.class="tok
7f900 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">test</span>.<span.class="to
7f920 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 74 74 65 6d 70 74 20 74 6f 20 73 77 61 70 20 61 72 72 k-str">&quot;attempt.to.swap.arr
7f940 61 79 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 20 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a ay.elements.with.array.initializ
7f960 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 er&quot;</span>.{.....<span.clas
7f980 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 3a 20 5b 3c 73 70 61 s="tok-kw">var</span>.arr:.[<spa
7f9a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 n.class="tok-number">2</span>]<s
7f9c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u32</span>.
7f9e0 3d 20 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c =..{.<span.class="tok-number">1<
7fa00 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
7fa20 3e 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 61 72 72 20 3d 20 2e 7b 20 61 72 72 5b 3c 73 >2</span>.};.....arr.=..{.arr[<s
7fa40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">1</span>]
7fa60 2c 20 61 72 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 ,.arr[<span.class="tok-number">0
7fa80 3c 2f 73 70 61 6e 3e 5d 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>].};.....<span.class="tok
7faa0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 70 72 65 76 69 6f 75 73 20 6c 69 6e 65 20 69 -comment">//.The.previous.line.i
7fac0 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 s.equivalent.to.the.following.tw
7fae0 6f 20 6c 69 6e 65 73 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d o.lines:</span>.....<span.class=
7fb00 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 20 20 61 72 72 5b 30 5d 20 3d 20 61 72 72 5b "tok-comment">//...arr[0].=.arr[
7fb20 31 5d 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 1];</span>.....<span.class="tok-
7fb40 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 20 20 61 72 72 5b 31 5d 20 3d 20 61 72 72 5b 30 5d 3b 3c 2f comment">//...arr[1].=.arr[0];</
7fb60 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 span>.....<span.class="tok-comme
7fb80 6e 74 22 3e 2f 2f 20 53 6f 20 74 68 69 73 20 66 61 69 6c 73 21 3c 2f 73 70 61 6e 3e 0a 20 20 20 nt">//.So.this.fails!</span>....
7fba0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">try</span>
7fbc0 20 65 78 70 65 63 74 28 61 72 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d .expect(arr[<span.class="tok-num
7fbe0 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">0</span>].==.<span.class="t
7fc00 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 ok-number">2</span>);.<span.clas
7fc20 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 75 63 63 65 65 64 73 3c 2f 73 70 61 s="tok-comment">//.succeeds</spa
7fc40 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c n>.....<span.class="tok-kw">try<
7fc60 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>.expect(arr[<span.class="t
7fc80 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-number">1</span>].==.<span.cl
7fca0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 20 3c 73 70 61 ass="tok-number">1</span>);.<spa
7fcc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 61 69 6c 73 3c 2f n.class="tok-comment">//.fails</
7fce0 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 span>.}</code></pre></figure><fi
7fd00 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
7fd20 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
7fd40 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 72 65 73 75 6c 74 5f 6c 6f 63 61 74 69 6f 6e 5f $.<kbd>zig.test.result_location_
7fd60 69 6e 74 65 72 66 65 72 69 6e 67 5f 77 69 74 68 5f 73 77 61 70 2e 7a 69 67 3c 2f 6b 62 64 3e 0a interfering_with_swap.zig</kbd>.
7fd80 31 2f 31 20 72 65 73 75 6c 74 5f 6c 6f 63 61 74 69 6f 6e 5f 69 6e 74 65 72 66 65 72 69 6e 67 5f 1/1.result_location_interfering_
7fda0 77 69 74 68 5f 73 77 61 70 2e 74 65 73 74 2e 61 74 74 65 6d 70 74 20 74 6f 20 73 77 61 70 20 61 with_swap.test.attempt.to.swap.a
7fdc0 72 72 61 79 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 20 61 72 72 61 79 20 69 6e 69 74 69 61 6c rray.elements.with.array.initial
7fde0 69 7a 65 72 2e 2e 2e 20 46 41 49 4c 20 28 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 izer....FAIL.(TestUnexpectedResu
7fe00 6c 74 29 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 lt)./home/ci/actions-runner/_wor
7fe20 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 k/zig-bootstrap/out/host/lib/zig
7fe40 2f 73 74 64 2f 74 65 73 74 69 6e 67 2e 7a 69 67 3a 35 34 30 3a 31 34 3a 20 30 78 31 30 33 38 65 /std/testing.zig:540:14:.0x1038e
7fe60 39 66 20 69 6e 20 65 78 70 65 63 74 20 28 74 65 73 74 29 0a 20 20 20 20 69 66 20 28 21 6f 6b 29 9f.in.expect.(test).....if.(!ok)
7fe80 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 .return.error.TestUnexpectedResu
7fea0 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 lt;..............^./home/ci/acti
7fec0 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a ons-runner/_work/zig-bootstrap/z
7fee0 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 65 73 75 6c 74 5f 6c 6f 63 61 74 69 6f 6e 5f 69 6e ig/docgen_tmp/result_location_in
7ff00 74 65 72 66 65 72 69 6e 67 5f 77 69 74 68 5f 73 77 61 70 2e 7a 69 67 3a 31 30 3a 35 3a 20 30 78 terfering_with_swap.zig:10:5:.0x
7ff20 31 30 33 39 30 30 35 20 69 6e 20 74 65 73 74 2e 61 74 74 65 6d 70 74 20 74 6f 20 73 77 61 70 20 1039005.in.test.attempt.to.swap.
7ff40 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 20 61 72 72 61 79 20 69 6e 69 74 69 61 array.elements.with.array.initia
7ff60 6c 69 7a 65 72 20 28 74 65 73 74 29 0a 20 20 20 20 74 72 79 20 65 78 70 65 63 74 28 61 72 72 5b lizer.(test).....try.expect(arr[
7ff80 31 5d 20 3d 3d 20 31 29 3b 20 2f 2f 20 66 61 69 6c 73 0a 20 20 20 20 5e 0a 30 20 70 61 73 73 65 1].==.1);.//.fails.....^.0.passe
7ffa0 64 3b 20 30 20 73 6b 69 70 70 65 64 3b 20 31 20 66 61 69 6c 65 64 2e 0a 65 72 72 6f 72 3a 20 74 d;.0.skipped;.1.failed..error:.t
7ffc0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 he.following.test.command.failed
7ffe0 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 .with.exit.code.1:./home/ci/acti
80000 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f ons-runner/_work/zig-bootstrap/o
80020 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 37 36 61 33 31 35 30 65 34 30 65 ut/zig-local-cache/o/76a3150e40e
80040 63 35 38 35 34 30 35 34 37 38 36 39 31 34 36 30 65 38 39 66 63 2f 74 65 73 74 0a 3c 2f 73 61 6d c585405478691460e89fc/test.</sam
80060 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 p></pre></figure>.......<p>.....
80080 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 20 64 65 74 61 69 6c 73 20 68 6f ..The.following.table.details.ho
800a0 77 20 73 6f 6d 65 20 63 6f 6d 6d 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 70 72 6f 70 61 67 w.some.common.expressions.propag
800c0 61 74 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 73 2c 20 77 68 65 72 65 0a 20 20 20 20 ate.result.locations,.where.....
800e0 20 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 79 3c 2f 63 6f ..<code>x</code>.and.<code>y</co
80100 64 65 3e 20 61 72 65 20 61 72 62 69 74 72 61 72 79 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e de>.are.arbitrary.sub-expression
80120 73 2e 20 4e 6f 74 65 20 74 68 61 74 0a 20 20 20 20 20 20 73 6f 6d 65 20 65 78 70 72 65 73 73 69 s..Note.that.......some.expressi
80140 6f 6e 73 20 63 61 6e 6e 6f 74 20 70 72 6f 76 69 64 65 20 6d 65 61 6e 69 6e 67 66 75 6c 20 72 65 ons.cannot.provide.meaningful.re
80160 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 73 20 74 6f 20 73 75 62 2d 65 78 70 72 65 73 73 69 6f 6e sult.locations.to.sub-expression
80180 73 2c 20 65 76 65 6e 20 69 66 20 74 68 65 79 0a 20 20 20 20 20 20 74 68 65 6d 73 65 6c 76 65 73 s,.even.if.they.......themselves
801a0 20 68 61 76 65 20 61 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c .have.a.result.location........<
801c0 2f 70 3e 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 /p>.......<div.class="table-wrap
801e0 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 per">.......<table>.........<the
80200 61 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ad>...........<tr>.............<
80220 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 45 78 70 72 65 73 73 69 6f 6e 3c 2f 74 68 3e 0a 20 th.scope="col">Expression</th>..
80240 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 52 65 73 75 6c ...........<th.scope="col">Resul
80260 74 20 4c 6f 63 61 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 t.Location</th>.............<th.
80280 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 53 75 62 2d 65 78 70 72 65 73 73 69 6f 6e 20 52 65 73 75 6c scope="col">Sub-expression.Resul
802a0 74 20 4c 6f 63 61 74 69 6f 6e 73 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e t.Locations</th>...........</tr>
802c0 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 .........</thead>.........<tbody
802e0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 >...........<tr>.............<th
80300 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .scope="row"><code><span.class="
80320 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 3a 20 54 20 3d 20 78 3c tok-kw">const</span>.val:.T.=.x<
80340 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 /code></th>.............<td>-</t
80360 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 d>.............<td><code>x</code
80380 3e 20 68 61 73 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 >.has.result.location.<code>&amp
803a0 3b 76 61 6c 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e ;val</code></td>...........</tr>
803c0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 ...........<tr>.............<th.
803e0 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 scope="row"><code><span.class="t
80400 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 3a 20 54 20 3d 20 78 3c 2f 63 6f ok-kw">var</span>.val:.T.=.x</co
80420 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a de></th>.............<td>-</td>.
80440 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 ............<td><code>x</code>.h
80460 61 73 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 76 61 as.result.location.<code>&amp;va
80480 6c 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 l</code></td>...........</tr>...
804a0 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f ........<tr>.............<th.sco
804c0 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 76 61 6c 20 3d 20 78 3c 2f 63 6f 64 65 3e 3c 2f 74 pe="row"><code>val.=.x</code></t
804e0 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 2d 3c 2f 74 64 3e 0a 20 20 20 20 20 20 h>.............<td>-</td>.......
80500 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 72 65 73 ......<td><code>x</code>.has.res
80520 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 76 61 6c 3c 2f 63 6f 64 ult.location.<code>&amp;val</cod
80540 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 e></td>...........</tr>.........
80560 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f ..<tr>.............<th.scope="ro
80580 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 w"><code><span.class="tok-builti
805a0 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 54 2c 20 78 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a n">@as</span>(T,.x)</code></th>.
805c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e ............<td><code>ptr</code>
805e0 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 </td>.............<td><code>x</c
80600 6f 64 65 3e 20 68 61 73 20 6e 6f 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 74 64 3e ode>.has.no.result.location</td>
80620 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a ...........</tr>...........<tr>.
80640 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 ............<th.scope="row"><cod
80660 65 3e 26 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 e>&amp;x</code></th>............
80680 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 .<td><code>ptr</code></td>......
806a0 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6e 6f .......<td><code>x</code>.has.no
806c0 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 .result.location</td>...........
806e0 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </tr>...........<tr>............
80700 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 66 28 78 29 3c 2f 63 6f 64 .<th.scope="row"><code>f(x)</cod
80720 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 e></th>.............<td><code>pt
80740 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 r</code></td>.............<td><c
80760 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6e 6f 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 ode>x</code>.has.no.result.locat
80780 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 ion</td>...........</tr>........
807a0 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 ...<tr>.............<th.scope="r
807c0 6f 77 22 3e 3c 63 6f 64 65 3e 2e 7b 78 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 ow"><code>.{x}</code></th>......
807e0 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e .......<td><code>ptr</code></td>
80800 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 .............<td><code>x</code>.
80820 68 61 73 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 70 has.result.location.<code>&amp;p
80840 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 tr[<span.class="tok-number">0</s
80860 70 61 6e 3e 5d 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 pan>]</code></td>...........</tr
80880 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 >...........<tr>.............<th
808a0 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 2e 7b 20 2e 61 20 3d 20 78 20 7d 3c 2f .scope="row"><code>.{..a.=.x.}</
808c0 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 code></th>.............<td><code
808e0 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 >ptr</code></td>.............<td
80900 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 ><code>x</code>.has.result.locat
80920 69 6f 6e 20 3c 63 6f 64 65 3e 26 61 6d 70 3b 70 74 72 2e 61 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e ion.<code>&amp;ptr.a</code></td>
80940 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a ...........</tr>...........<tr>.
80960 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 ............<th.scope="row"><cod
80980 65 3e 54 7b 78 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c e>T{x}</code></th>.............<
809a0 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 td><code>ptr</code></td>........
809c0 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6e 6f 20 72 .....<td><code>x</code>.has.no.r
809e0 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 28 74 79 70 65 64 20 69 6e 69 74 69 61 6c 69 7a 65 esult.location.(typed.initialize
80a00 72 73 20 64 6f 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 rs.do.not.propagate.result.locat
80a20 69 6f 6e 73 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 ions)</td>...........</tr>......
80a40 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d .....<tr>.............<th.scope=
80a60 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 54 7b 20 2e 61 20 3d 20 78 20 7d 3c 2f 63 6f 64 65 3e 3c 2f "row"><code>T{..a.=.x.}</code></
80a80 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 th>.............<td><code>ptr</c
80aa0 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e ode></td>.............<td><code>
80ac0 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6e 6f 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 x</code>.has.no.result.location.
80ae0 28 74 79 70 65 64 20 69 6e 69 74 69 61 6c 69 7a 65 72 73 20 64 6f 20 6e 6f 74 20 70 72 6f 70 61 (typed.initializers.do.not.propa
80b00 67 61 74 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 73 29 3c 2f 74 64 3e 0a 20 20 20 20 gate.result.locations)</td>.....
80b20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 ......</tr>...........<tr>......
80b40 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 .......<th.scope="row"><code><sp
80b60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 3c 2f 73 70 an.class="tok-builtin">@Type</sp
80b80 61 6e 3e 28 78 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c an>(x)</code></th>.............<
80ba0 74 64 3e 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 td><code>ptr</code></td>........
80bc0 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6e 6f 20 72 .....<td><code>x</code>.has.no.r
80be0 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f esult.location</td>...........</
80c00 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c tr>...........<tr>.............<
80c20 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 th.scope="row"><code><span.class
80c40 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@typeInfo</span>(
80c60 78 29 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c x)</code></th>.............<td><
80c80 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 code>ptr</code></td>............
80ca0 20 3c 74 64 3e 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 68 61 73 20 6e 6f 20 72 65 73 75 6c .<td><code>x</code>.has.no.resul
80cc0 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a t.location</td>...........</tr>.
80ce0 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 ..........<tr>.............<th.s
80d00 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 78 20 26 6c 74 3b 26 6c 74 3b 20 79 3c 2f 63 cope="row"><code>x.&lt;&lt;.y</c
80d20 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e ode></th>.............<td><code>
80d40 70 74 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e ptr</code></td>.............<td>
80d60 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 79 3c 2f 63 6f 64 65 <code>x</code>.and.<code>y</code
80d80 3e 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 73 3c 2f >.do.not.have.result.locations</
80da0 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 td>...........</tr>.........</tb
80dc0 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e ody>.......</table>.......</div>
80de0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 75 73 ......................<h2.id="us
80e00 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 73 69 6e ingnamespace"><a.href="#toc-usin
80e20 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 3c gnamespace">usingnamespace</a>.<
80e40 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 73 69 6e 67 6e 61 6d 65 73 70 a.class="hdr".href="#usingnamesp
80e60 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ace">..</a></h2>........<p>.....
80e80 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 ..<code><span.class="tok-kw">usi
80ea0 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 64 ngnamespace</span></code>.is.a.d
80ec0 65 63 6c 61 72 61 74 69 6f 6e 20 74 68 61 74 20 6d 69 78 65 73 20 61 6c 6c 20 74 68 65 20 70 75 eclaration.that.mixes.all.the.pu
80ee0 62 6c 69 63 0a 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6f blic.......declarations.of.the.o
80f00 70 65 72 61 6e 64 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 3c 61 20 68 72 65 66 3d perand,.which.must.be.a.<a.href=
80f20 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 "#struct">struct</a>,.<a.href="#
80f40 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d union">union</a>,.<a.href="#enum
80f60 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 6f ">enum</a>,.......or.<a.href="#o
80f80 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 2c 20 69 6e 74 6f 20 74 68 65 20 6e 61 6d 65 paque">opaque</a>,.into.the.name
80fa0 73 70 61 63 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e space:.......</p>.......<figure>
80fc0 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 <figcaption.class="zig-cap"><cit
80fe0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 e.class="file">test_usingnamespa
81000 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ce.zig</cite></figcaption><pre><
81020 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f code><span.class="tok-kw">test</
81040 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>.<span.class="tok-str">&quo
81060 74 3b 75 73 69 6e 67 20 73 74 64 20 6e 61 6d 65 73 70 61 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 t;using.std.namespace&quot;</spa
81080 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.{.....<span.class="tok-kw">co
810a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nst</span>.S.=.<span.class="tok-
810c0 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 kw">struct</span>.{.........<spa
810e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c n.class="tok-kw">usingnamespace<
81100 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 /span>.<span.class="tok-builtin"
81120 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@import</span>(<span.class="tok
81140 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 -str">&quot;std&quot;</span>);..
81160 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ...};.....<span.class="tok-kw">t
81180 72 79 3c 2f 73 70 61 6e 3e 20 53 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e ry</span>.S.testing.expect(<span
811a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a .class="tok-null">true</span>);.
811c0 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
811e0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
81200 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
81220 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 2e 7a 69 >zig.test.test_usingnamespace.zi
81240 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 2e g</kbd>.1/1.test_usingnamespace.
81260 74 65 73 74 2e 75 73 69 6e 67 20 73 74 64 20 6e 61 6d 65 73 70 61 63 65 2e 2e 2e 20 4f 4b 0a 41 test.using.std.namespace....OK.A
81280 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ll.1.tests.passed..</samp></pre>
812a0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e </figure>.......<p>.......<code>
812c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 <span.class="tok-kw">usingnamesp
812e0 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 6e 20 69 6d 70 6f 72 74 61 ace</span></code>.has.an.importa
81300 6e 74 20 75 73 65 20 63 61 73 65 20 77 68 65 6e 20 6f 72 67 61 6e 69 7a 69 6e 67 20 74 68 65 20 nt.use.case.when.organizing.the.
81320 70 75 62 6c 69 63 0a 20 20 20 20 20 20 41 50 49 20 6f 66 20 61 20 66 69 6c 65 20 6f 72 20 70 61 public.......API.of.a.file.or.pa
81340 63 6b 61 67 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 65 20 6d 69 67 68 74 20 68 61 ckage..For.example,.one.might.ha
81360 76 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 2e 7a 69 67 3c 2f 63 6f 64 ve.<code.class="file">c.zig</cod
81380 65 3e 20 77 69 74 68 20 61 6c 6c 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 e>.with.all.of.the.......<a.href
813a0 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 43 20 ="#Import-from-C-Header-File">C.
813c0 69 6d 70 6f 72 74 73 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 imports</a>:.......</p>.......<f
813e0 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 igure><figcaption.class="zig-cap
81400 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 2e 7a 69 67 3c 2f 63 69 74 65 "><cite.class="file">c.zig</cite
81420 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
81440 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 lass="tok-kw">pub</span>.<span.c
81460 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 lass="tok-kw">usingnamespace</sp
81480 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 an>.<span.class="tok-builtin">@c
814a0 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d Import</span>({.....<span.class=
814c0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c "tok-builtin">@cInclude</span>(<
814e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 70 6f 78 79 span.class="tok-str">&quot;epoxy
81500 2f 67 6c 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 /gl.h&quot;</span>);.....<span.c
81520 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 lass="tok-builtin">@cInclude</sp
81540 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>(<span.class="tok-str">&quot;
81560 47 4c 46 57 2f 67 6c 66 77 33 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 GLFW/glfw3.h&quot;</span>);.....
81580 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 <span.class="tok-builtin">@cDefi
815a0 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ne</span>(<span.class="tok-str">
815c0 26 71 75 6f 74 3b 53 54 42 49 5f 4f 4e 4c 59 5f 50 4e 47 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e &quot;STBI_ONLY_PNG&quot;</span>
815e0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 26 71 ,.<span.class="tok-str">&quot;&q
81600 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>);.....<span.class="t
81620 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 ok-builtin">@cDefine</span>(<spa
81640 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 53 54 42 49 5f 4e 4f 5f n.class="tok-str">&quot;STBI_NO_
81660 53 54 44 49 4f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d STDIO&quot;</span>,.<span.class=
81680 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a "tok-str">&quot;&quot;</span>);.
816a0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 ....<span.class="tok-builtin">@c
816c0 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d Include</span>(<span.class="tok-
816e0 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 62 5f 69 6d 61 67 65 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 str">&quot;stb_image.h&quot;</sp
81700 61 6e 3e 29 3b 0a 7d 29 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a an>);.});</code></pre></figure>.
81720 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 61 62 6f 76 65 20 65 78 61 6d 70 6c ......<p>.......The.above.exampl
81740 65 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e e.demonstrates.using.<code><span
81760 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 .class="tok-kw">pub</span></code
81780 3e 20 74 6f 20 71 75 61 6c 69 66 79 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 >.to.qualify.the.......<code><sp
817a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 an.class="tok-kw">usingnamespace
817c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 6d 61 6b 65 </span></code>.additionally.make
817e0 73 20 74 68 65 20 69 6d 70 6f 72 74 65 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 0a 20 20 20 20 s.the.imported.declarations.....
81800 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 ..<code><span.class="tok-kw">pub
81820 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 64 </span></code>..This.can.be.used
81840 20 74 6f 20 66 6f 72 77 61 72 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 67 69 76 69 6e 67 .to.forward.declarations,.giving
81860 20 70 72 65 63 69 73 65 20 63 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 20 6f 76 65 72 20 77 68 61 74 .precise.control.......over.what
81880 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 20 67 69 76 65 6e 20 66 69 6c 65 20 65 78 70 6f 73 .declarations.a.given.file.expos
818a0 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 0a 20 20 20 20 20 20 3c 68 es........</p>................<h
818c0 32 20 69 64 3d 22 63 6f 6d 70 74 69 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 2.id="comptime"><a.href="#toc-co
818e0 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 mptime">comptime</a>.<a.class="h
81900 64 72 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e dr".href="#comptime">..</a></h2>
81920 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 70 6c 61 63 65 73 20 69 6d 70 ........<p>.......Zig.places.imp
81940 6f 72 74 61 6e 63 65 20 6f 6e 20 74 68 65 20 63 6f 6e 63 65 70 74 20 6f 66 20 77 68 65 74 68 65 ortance.on.the.concept.of.whethe
81960 72 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 r.an.expression.is.known.at.comp
81980 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 ile-time........There.are.a.few.
819a0 64 69 66 66 65 72 65 6e 74 20 70 6c 61 63 65 73 20 74 68 69 73 20 63 6f 6e 63 65 70 74 20 69 73 different.places.this.concept.is
819c0 20 75 73 65 64 2c 20 61 6e 64 20 74 68 65 73 65 20 62 75 69 6c 64 69 6e 67 20 62 6c 6f 63 6b 73 .used,.and.these.building.blocks
819e0 20 61 72 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 6b 65 65 70 20 74 68 65 20 6c 61 6e 67 .are.used.......to.keep.the.lang
81a00 75 61 67 65 20 73 6d 61 6c 6c 2c 20 72 65 61 64 61 62 6c 65 2c 20 61 6e 64 20 70 6f 77 65 72 66 uage.small,.readable,.and.powerf
81a20 75 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 ul........</p>.......<h3.id="Int
81a40 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 roducing-the-Compile-Time-Concep
81a60 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 t"><a.href="#toc-Introducing-the
81a80 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 49 6e 74 72 6f 64 75 63 69 -Compile-Time-Concept">Introduci
81aa0 6e 67 20 74 68 65 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 43 6f 6e 63 65 70 74 3c 2f 61 3e 20 ng.the.Compile-Time.Concept</a>.
81ac0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 72 6f 64 75 63 69 6e <a.class="hdr".href="#Introducin
81ae0 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e c2 a7 3c 2f g-the-Compile-Time-Concept">..</
81b00 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 a></h3>........<h4.id="Compile-T
81b20 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f ime-Parameters"><a.href="#toc-Co
81b40 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 mpile-Time-Parameters">Compile-T
81b60 69 6d 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ime.Parameters</a>.<a.class="hdr
81b80 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 ".href="#Compile-Time-Parameters
81ba0 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 ">..</a></h4>........<p>.......C
81bc0 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 68 6f 77 20 5a 69 ompile-time.parameters.is.how.Zi
81be0 67 20 69 6d 70 6c 65 6d 65 6e 74 73 20 67 65 6e 65 72 69 63 73 2e 20 49 74 20 69 73 20 63 6f 6d g.implements.generics..It.is.com
81c00 70 69 6c 65 2d 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 pile-time.duck.typing........</p
81c20 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
81c40 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 s="zig-cap"><cite.class="file">c
81c60 6f 6d 70 69 6c 65 2d 74 69 6d 65 5f 64 75 63 6b 5f 74 79 70 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 ompile-time_duck_typing.zig</cit
81c80 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e></figcaption><pre><code><span.
81ca0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 class="tok-kw">fn</span>.<span.c
81cc0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 lass="tok-fn">max</span>(<span.c
81ce0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a lass="tok-kw">comptime</span>.T:
81d00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 .<span.class="tok-type">type</sp
81d20 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 an>,.a:.T,.b:.T).T.{.....<span.c
81d40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 lass="tok-kw">return</span>.<spa
81d60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 n.class="tok-kw">if</span>.(a.&g
81d80 74 3b 20 62 29 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 t;.b).a.<span.class="tok-kw">els
81da0 65 3c 2f 73 70 61 6e 3e 20 62 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e</span>.b;.}.<span.class="tok-k
81dc0 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e w">fn</span>.<span.class="tok-fn
81de0 22 3e 67 69 6d 6d 65 54 68 65 42 69 67 67 65 72 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 61 3a 20 ">gimmeTheBiggerFloat</span>(a:.
81e00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e <span.class="tok-type">f32</span
81e20 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 >,.b:.<span.class="tok-type">f32
81e40 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>).<span.class="tok-type">
81e60 66 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f f32</span>.{.....<span.class="to
81e80 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c k-kw">return</span>.max(<span.cl
81ea0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 29 ass="tok-type">f32</span>,.a,.b)
81ec0 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 ;.}.<span.class="tok-kw">fn</spa
81ee0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 69 6d 6d 65 54 68 65 n>.<span.class="tok-fn">gimmeThe
81f00 42 69 67 67 65 72 49 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c BiggerInteger</span>(a:.<span.cl
81f20 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 ass="tok-type">u64</span>,.b:.<s
81f40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 29 pan.class="tok-type">u64</span>)
81f60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 .<span.class="tok-type">u64</spa
81f80 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 n>.{.....<span.class="tok-kw">re
81fa0 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b turn</span>.max(<span.class="tok
81fc0 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 29 3b 0a 7d 3c 2f 63 6f 64 -type">u64</span>,.a,.b);.}</cod
81fe0 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 e></pre></figure>.......<p>.....
82000 20 20 49 6e 20 5a 69 67 2c 20 74 79 70 65 73 20 61 72 65 20 66 69 72 73 74 2d 63 6c 61 73 73 20 ..In.Zig,.types.are.first-class.
82020 63 69 74 69 7a 65 6e 73 2e 20 54 68 65 79 20 63 61 6e 20 62 65 20 61 73 73 69 67 6e 65 64 20 74 citizens..They.can.be.assigned.t
82040 6f 20 76 61 72 69 61 62 6c 65 73 2c 20 70 61 73 73 65 64 20 61 73 20 70 61 72 61 6d 65 74 65 72 o.variables,.passed.as.parameter
82060 73 20 74 6f 20 66 75 6e 63 74 69 6f 6e 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 72 65 74 75 72 6e s.to.functions,.......and.return
82080 65 64 20 66 72 6f 6d 20 66 75 6e 63 74 69 6f 6e 73 2e 20 48 6f 77 65 76 65 72 2c 20 74 68 65 79 ed.from.functions..However,.they
820a0 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e 73 .can.only.be.used.in.expressions
820c0 20 77 68 69 63 68 20 61 72 65 20 6b 6e 6f 77 6e 20 61 74 20 3c 65 6d 3e 63 6f 6d 70 69 6c 65 2d .which.are.known.at.<em>compile-
820e0 74 69 6d 65 3c 2f 65 6d 3e 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 77 68 79 20 74 68 time</em>,.......which.is.why.th
82100 65 20 70 61 72 61 6d 65 74 65 72 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 68 e.parameter.<code>T</code>.in.th
82120 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 20 6d 75 73 74 20 62 65 20 6d 61 72 6b 65 64 20 77 e.above.snippet.must.be.marked.w
82140 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ith.<code><span.class="tok-kw">c
82160 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 omptime</span></code>........</p
82180 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 >.......<p>.......A.<code><span.
821a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f class="tok-kw">comptime</span></
821c0 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 20 6d 65 61 6e 73 20 74 68 61 74 3a 0a 20 20 20 20 code>.parameter.means.that:.....
821e0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 74 ..</p>.......<ul>.........<li>At
82200 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2c 20 74 68 65 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 .the.callsite,.the.value.must.be
82220 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 6f 72 20 69 74 20 69 73 .known.at.compile-time,.or.it.is
82240 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c .a.compile.error.</li>.........<
82260 6c 69 3e 49 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 74 li>In.the.function.definition,.t
82280 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d he.value.is.known.at.compile-tim
822a0 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 e.</li>.......</ul>.......<p>...
822c0 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 77 65 20 77 65 72 65 20 74 6f 20 69 ....For.example,.if.we.were.to.i
822e0 6e 74 72 6f 64 75 63 65 20 61 6e 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 74 68 65 ntroduce.another.function.to.the
82300 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .above.snippet:.......</p>......
82320 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d .<figure><figcaption.class="zig-
82340 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 72 cap"><cite.class="file">test_unr
82360 65 73 6f 6c 76 65 64 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 74 65 esolved_comptime_value.zig</cite
82380 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
823a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
823c0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c ass="tok-fn">max</span>(<span.cl
823e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 ass="tok-kw">comptime</span>.T:.
82400 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 <span.class="tok-type">type</spa
82420 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c n>,.a:.T,.b:.T).T.{.....<span.cl
82440 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e ass="tok-kw">return</span>.<span
82460 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 .class="tok-kw">if</span>.(a.&gt
82480 3b 20 62 29 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 ;.b).a.<span.class="tok-kw">else
824a0 3c 2f 73 70 61 6e 3e 20 62 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>.b;.}.<span.class="tok-kw
824c0 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">test</span>.<span.class="tok-s
824e0 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 70 61 73 73 20 61 20 72 75 6e 74 69 6d 65 20 tr">&quot;try.to.pass.a.runtime.
82500 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 61 type&quot;</span>.{.....foo(<spa
82520 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 n.class="tok-null">false</span>)
82540 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 ;.}.<span.class="tok-kw">fn</spa
82560 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 n>.<span.class="tok-fn">foo</spa
82580 6e 3e 28 63 6f 6e 64 69 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 n>(condition:.<span.class="tok-t
825a0 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">bool</span>).<span.class="t
825c0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ok-type">void</span>.{.....<span
825e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 .class="tok-kw">const</span>.res
82600 75 6c 74 20 3d 20 6d 61 78 28 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ult.=.max(.........<span.class="
82620 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6f 6e 64 69 74 69 6f 6e 29 20 3c 73 tok-kw">if</span>.(condition).<s
82640 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">f32</span>.
82660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e <span.class="tok-kw">else</span>
82680 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 .<span.class="tok-type">u64</spa
826a0 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d n>,.........<span.class="tok-num
826c0 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 ber">1234</span>,.........<span.
826e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 29 3b class="tok-number">5678</span>);
82700 0a 20 20 20 20 5f 20 3d 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ....._.=.result;.}</code></pre><
82720 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 /figure><figure><figcaption.clas
82740 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e s="shell-cap">Shell</figcaption>
82760 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f <pre><samp>$.<kbd>zig.test.test_
82780 75 6e 72 65 73 6f 6c 76 65 64 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 6b unresolved_comptime_value.zig</k
827a0 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f bd>.<span.class="sgr-1m">docgen_
827c0 74 6d 70 2f 74 65 73 74 5f 75 6e 72 65 73 6f 6c 76 65 64 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 6c tmp/test_unresolved_comptime_val
827e0 75 65 2e 7a 69 67 3a 39 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ue.zig:9:13:.</span><span.class=
82800 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c "sgr-31m">error:.</span><span.cl
82820 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 61 62 6c 65 20 74 6f 20 72 65 73 6f 6c 76 65 20 63 ass="sgr-1m">unable.to.resolve.c
82840 6f 6d 70 74 69 6d 65 20 76 61 6c 75 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 69 66 20 omptime.value.</span>........if.
82860 28 63 6f 6e 64 69 74 69 6f 6e 29 20 66 33 32 20 65 6c 73 65 20 75 36 34 2c 0a 20 20 20 20 20 20 (condition).f32.else.u64,.......
82880 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e ......<span.class="sgr-32m">^~~~
828a0 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d ~~~~~.</span><span.class="sgr-1m
828c0 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 75 6e 72 65 73 6f 6c 76 65 64 5f 63 6f 6d ">docgen_tmp/test_unresolved_com
828e0 70 74 69 6d 65 5f 76 61 6c 75 65 2e 7a 69 67 3a 39 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 ptime_value.zig:9:13:.</span><sp
82900 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e an.class="sgr-36m">note:.</span>
82920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 6f 6e 64 69 74 69 6f 6e 20 69 <span.class="sgr-1m">condition.i
82940 6e 20 63 6f 6d 70 74 69 6d 65 20 62 72 61 6e 63 68 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 n.comptime.branch.must.be.compti
82960 6d 65 2d 6b 6e 6f 77 6e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 me-known.</span><span.class="sgr
82980 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 74 65 73 74 2e 74 72 79 -2m">referenced.by:.....test.try
829a0 20 74 6f 20 70 61 73 73 20 61 20 72 75 6e 74 69 6d 65 20 74 79 70 65 3a 20 64 6f 63 67 65 6e 5f .to.pass.a.runtime.type:.docgen_
829c0 74 6d 70 2f 74 65 73 74 5f 75 6e 72 65 73 6f 6c 76 65 64 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 6c tmp/test_unresolved_comptime_val
829e0 75 65 2e 7a 69 67 3a 35 3a 35 0a 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 72 65 66 65 72 65 6e ue.zig:5:5.....remaining.referen
82a00 63 65 20 74 72 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 65 6e ce.traces.hidden;.use.'-freferen
82a20 63 65 2d 74 72 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 20 74 ce-trace'.to.see.all.reference.t
82a40 72 61 63 65 73 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 races.</span>.</samp></pre></fig
82a60 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 ure>.......<p>.......This.is.an.
82a80 65 72 72 6f 72 20 62 65 63 61 75 73 65 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 61 74 74 error.because.the.programmer.att
82aa0 65 6d 70 74 65 64 20 74 6f 20 70 61 73 73 20 61 20 76 61 6c 75 65 20 6f 6e 6c 79 20 6b 6e 6f 77 empted.to.pass.a.value.only.know
82ac0 6e 20 61 74 20 72 75 6e 2d 74 69 6d 65 0a 20 20 20 20 20 20 74 6f 20 61 20 66 75 6e 63 74 69 6f n.at.run-time.......to.a.functio
82ae0 6e 20 77 68 69 63 68 20 65 78 70 65 63 74 73 20 61 20 76 61 6c 75 65 20 6b 6e 6f 77 6e 20 61 74 n.which.expects.a.value.known.at
82b00 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .compile-time........</p>.......
82b20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 6f 74 68 65 72 20 77 61 79 20 74 6f 20 67 65 74 20 61 6e 20 <p>.......Another.way.to.get.an.
82b40 65 72 72 6f 72 20 69 73 20 69 66 20 77 65 20 70 61 73 73 20 61 20 74 79 70 65 20 74 68 61 74 20 error.is.if.we.pass.a.type.that.
82b60 76 69 6f 6c 61 74 65 73 20 74 68 65 20 74 79 70 65 20 63 68 65 63 6b 65 72 20 77 68 65 6e 20 74 violates.the.type.checker.when.t
82b80 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a 65 64 2e 20 54 he.......function.is.analyzed..T
82ba0 68 69 73 20 69 73 20 77 68 61 74 20 69 74 20 6d 65 61 6e 73 20 74 6f 20 68 61 76 65 20 3c 65 6d his.is.what.it.means.to.have.<em
82bc0 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 3c 2f 65 6d 3e 2e 0a >compile-time.duck.typing</em>..
82be0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 ......</p>.......<p>.......For.e
82c00 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 xample:.......</p>.......<figure
82c20 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 ><figcaption.class="zig-cap"><ci
82c40 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 69 te.class="file">test_comptime_mi
82c60 73 6d 61 74 63 68 65 64 5f 74 79 70 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 smatched_type.zig</cite></figcap
82c80 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
82ca0 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d -kw">fn</span>.<span.class="tok-
82cc0 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d fn">max</span>(<span.class="tok-
82ce0 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 kw">comptime</span>.T:.<span.cla
82d00 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c ss="tok-type">type</span>,.a:.T,
82d20 20 62 3a 20 54 29 20 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .b:.T).T.{.....<span.class="tok-
82d40 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">return</span>.<span.class="t
82d60 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 3c 73 ok-kw">if</span>.(a.&gt;.b).a.<s
82d80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 pan.class="tok-kw">else</span>.b
82da0 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 ;.}.<span.class="tok-kw">test</s
82dc0 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>.<span.class="tok-str">&quot
82de0 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 ;try.to.compare.bools&quot;</spa
82e00 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>.{....._.=.max(<span.class="to
82e20 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">bool</span>,.<span.class
82e40 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-null">true</span>,.<span.c
82e60 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d lass="tok-null">false</span>);.}
82e80 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 </code></pre></figure><figure><f
82ea0 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c igcaption.class="shell-cap">Shel
82ec0 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e l</figcaption><pre><samp>$.<kbd>
82ee0 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 69 73 6d 61 74 63 68 65 zig.test.test_comptime_mismatche
82f00 64 5f 74 79 70 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 d_type.zig</kbd>.<span.class="sg
82f20 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d r-1m">docgen_tmp/test_comptime_m
82f40 69 73 6d 61 74 63 68 65 64 5f 74 79 70 65 2e 7a 69 67 3a 32 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e ismatched_type.zig:2:18:.</span>
82f60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 <span.class="sgr-31m">error:.</s
82f80 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 70 65 72 61 74 6f pan><span.class="sgr-1m">operato
82fa0 72 20 26 67 74 3b 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 74 79 70 65 20 27 62 6f 6f r.&gt;.not.allowed.for.type.'boo
82fc0 6c 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 72 65 74 75 72 6e 20 69 66 20 28 61 20 26 67 74 3b 20 l'.</span>....return.if.(a.&gt;.
82fe0 62 29 20 61 20 65 6c 73 65 20 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 b).a.else.b;................<spa
83000 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c n.class="sgr-32m">~~^~~.</span><
83020 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 span.class="sgr-2m">referenced.b
83040 79 3a 0a 20 20 20 20 74 65 73 74 2e 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 y:.....test.try.to.compare.bools
83060 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 69 73 6d 61 :.docgen_tmp/test_comptime_misma
83080 74 63 68 65 64 5f 74 79 70 65 2e 7a 69 67 3a 35 3a 31 32 0a 20 20 20 20 72 65 6d 61 69 6e 69 6e tched_type.zig:5:12.....remainin
830a0 67 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 27 g.reference.traces.hidden;.use.'
830c0 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 -freference-trace'.to.see.all.re
830e0 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f ference.traces.</span>.</samp></
83100 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e pre></figure>.......<p>.......On
83120 20 74 68 65 20 66 6c 69 70 20 73 69 64 65 2c 20 69 6e 73 69 64 65 20 74 68 65 20 66 75 6e 63 74 .the.flip.side,.inside.the.funct
83140 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 ion.definition.with.the.<code><s
83160 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 pan.class="tok-kw">comptime</spa
83180 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2c 20 74 68 65 0a 20 20 20 20 20 20 76 n></code>.parameter,.the.......v
831a0 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 54 alue.is.known.at.compile-time..T
831c0 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 61 63 74 75 61 6c 6c 79 20 63 6f 75 6c 64 his.means.that.we.actually.could
831e0 20 6d 61 6b 65 20 74 68 69 73 20 77 6f 72 6b 20 66 6f 72 20 74 68 65 20 62 6f 6f 6c 20 74 79 70 .make.this.work.for.the.bool.typ
83200 65 0a 20 20 20 20 20 20 69 66 20 77 65 20 77 61 6e 74 65 64 20 74 6f 3a 0a 20 20 20 20 20 20 3c e.......if.we.wanted.to:.......<
83220 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
83240 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
83260 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 61 78 5f 77 69 74 68 5f 62 6f 6f 6c 2e 7a 69 67 >test_comptime_max_with_bool.zig
83280 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c </cite></figcaption><pre><code><
832a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
832c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 pan.class="tok-fn">max</span>(<s
832e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 pan.class="tok-kw">comptime</spa
83300 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 n>.T:.<span.class="tok-type">typ
83320 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 0a 20 20 20 20 3c 73 e</span>,.a:.T,.b:.T).T.{.....<s
83340 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 54 20 pan.class="tok-kw">if</span>.(T.
83360 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f ==.<span.class="tok-type">bool</
83380 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>).{.........<span.class="to
833a0 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">return</span>.a.<span.clas
833c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3b 0a 20 20 20 20 7d 20 3c 73 s="tok-kw">or</span>.b;.....}.<s
833e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c pan.class="tok-kw">else</span>.<
83400 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 span.class="tok-kw">if</span>.(a
83420 20 26 67 74 3b 20 62 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .&gt;.b).{.........<span.class="
83440 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 3b 0a 20 20 20 20 7d 20 3c tok-kw">return</span>.a;.....}.<
83460 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 span.class="tok-kw">else</span>.
83480 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 {.........<span.class="tok-kw">r
834a0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 73 70 61 6e 20 63 6c eturn</span>.b;.....}.}.<span.cl
834c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ass="tok-kw">test</span>.<span.c
834e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d 70 lass="tok-str">&quot;try.to.comp
83500 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 are.bools&quot;</span>.{.....<sp
83520 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 an.class="tok-kw">try</span>.<sp
83540 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f an.class="tok-builtin">@import</
83560 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>(<span.class="tok-str">&quo
83580 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 t;std&quot;</span>).testing.expe
835a0 63 74 28 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f ct(max(<span.class="tok-type">bo
835c0 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c ol</span>,.<span.class="tok-null
835e0 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">false</span>,.<span.class="tok
83600 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 -null">true</span>).==.<span.cla
83620 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 ss="tok-null">true</span>);.}</c
83640 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 ode></pre></figure><figure><figc
83660 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f aption.class="shell-cap">Shell</
83680 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
836a0 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 61 78 5f 77 69 74 68 5f 62 6f 6f .test.test_comptime_max_with_boo
836c0 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 61 l.zig</kbd>.1/1.test_comptime_ma
836e0 78 5f 77 69 74 68 5f 62 6f 6f 6c 2e 74 65 73 74 2e 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 x_with_bool.test.try.to.compare.
83700 62 6f 6f 6c 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a bools....OK.All.1.tests.passed..
83720 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </samp></pre></figure>.......<p>
83740 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 62 65 63 61 75 73 65 20 5a 69 67 20 69 6d .......This.works.because.Zig.im
83760 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 plicitly.inlines.<code><span.cla
83780 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 ss="tok-kw">if</span></code>.exp
837a0 72 65 73 73 69 6f 6e 73 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 0a 20 20 20 20 ressions.when.the.condition.....
837c0 20 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 6e 64 20 ..is.known.at.compile-time,.and.
837e0 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 69 74 20 the.compiler.guarantees.that.it.
83800 77 69 6c 6c 20 73 6b 69 70 20 61 6e 61 6c 79 73 69 73 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 will.skip.analysis.of.......the.
83820 62 72 61 6e 63 68 20 6e 6f 74 20 74 61 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 branch.not.taken........</p>....
83840 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 ...<p>.......This.means.that.the
83860 20 61 63 74 75 61 6c 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 3c .actual.function.generated.for.<
83880 63 6f 64 65 3e 6d 61 78 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f code>max</code>.in.this.situatio
838a0 6e 20 6c 6f 6f 6b 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c n.looks.like.......this:.......<
838c0 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
838e0 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
83900 3e 63 6f 6d 70 69 6c 65 72 5f 67 65 6e 65 72 61 74 65 64 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 >compiler_generated_function.zig
83920 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c </cite></figcaption><pre><code><
83940 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
83960 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 61 3a pan.class="tok-fn">max</span>(a:
83980 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 .<span.class="tok-type">bool</sp
839a0 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 an>,.b:.<span.class="tok-type">b
839c0 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ool</span>).<span.class="tok-typ
839e0 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c e">bool</span>.{.....{.........<
83a00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e span.class="tok-kw">return</span
83a20 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 >.a.<span.class="tok-kw">or</spa
83a40 6e 3e 20 62 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 n>.b;.....}.}</code></pre></figu
83a60 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 6c 20 74 68 65 20 63 6f 64 65 re>.......<p>.......All.the.code
83a80 20 74 68 61 74 20 64 65 61 6c 74 20 77 69 74 68 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e .that.dealt.with.compile-time.kn
83aa0 6f 77 6e 20 76 61 6c 75 65 73 20 69 73 20 65 6c 69 6d 69 6e 61 74 65 64 20 61 6e 64 20 77 65 20 own.values.is.eliminated.and.we.
83ac0 61 72 65 20 6c 65 66 74 20 77 69 74 68 20 6f 6e 6c 79 0a 20 20 20 20 20 20 74 68 65 20 6e 65 63 are.left.with.only.......the.nec
83ae0 65 73 73 61 72 79 20 72 75 6e 2d 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 61 63 63 6f 6d 70 6c 69 essary.run-time.code.to.accompli
83b00 73 68 20 74 68 65 20 74 61 73 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 sh.the.task........</p>.......<p
83b20 3e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 >.......This.works.the.same.way.
83b40 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 for.<code><span.class="tok-kw">s
83b60 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 witch</span></code>.expressions.
83b80 2d 20 74 68 65 79 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 64 0a 20 20 -.they.are.implicitly.inlined...
83ba0 20 20 20 20 77 68 65 6e 20 74 68 65 20 74 61 72 67 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 69 ....when.the.target.expression.i
83bc0 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e s.compile-time.known........</p>
83be0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 ..............<h4.id="Compile-Ti
83c00 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 me-Variables"><a.href="#toc-Comp
83c20 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 ile-Time-Variables">Compile-Time
83c40 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 .Variables</a>.<a.class="hdr".hr
83c60 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c ef="#Compile-Time-Variables">..<
83c80 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 /a></h4>........<p>.......In.Zig
83ca0 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e 20 6c 61 62 65 6c 20 76 61 72 69 61 ,.the.programmer.can.label.varia
83cc0 62 6c 65 73 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b bles.as.<code><span.class="tok-k
83ce0 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 w">comptime</span></code>..This.
83d00 67 75 61 72 61 6e 74 65 65 73 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 guarantees.to.the.compiler......
83d20 20 74 68 61 74 20 65 76 65 72 79 20 6c 6f 61 64 20 61 6e 64 20 73 74 6f 72 65 20 6f 66 20 74 68 .that.every.load.and.store.of.th
83d40 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 61 74 20 63 6f 6d 70 69 e.variable.is.performed.at.compi
83d60 6c 65 2d 74 69 6d 65 2e 20 41 6e 79 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 72 le-time..Any.violation.of.this.r
83d80 65 73 75 6c 74 73 20 69 6e 20 61 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e esults.in.a.......compile.error.
83da0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 .......</p>.......<p>.......This
83dc0 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 77 65 20 .combined.with.the.fact.that.we.
83de0 63 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 can.<code><span.class="tok-kw">i
83e00 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 61 6c 6c 6f 77 73 nline</span></code>.loops.allows
83e20 20 75 73 20 74 6f 20 77 72 69 74 65 0a 20 20 20 20 20 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 .us.to.write.......a.function.wh
83e40 69 63 68 20 69 73 20 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f ich.is.partially.evaluated.at.co
83e60 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 70 61 72 74 69 61 6c 6c 79 20 61 74 20 72 75 6e 2d mpile-time.and.partially.at.run-
83e80 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 time........</p>.......<p>......
83ea0 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .For.example:.......</p>.......<
83ec0 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 figure><figcaption.class="zig-ca
83ee0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 p"><cite.class="file">test_compt
83f00 69 6d 65 5f 65 76 61 6c 75 61 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 ime_evaluation.zig</cite></figca
83f20 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
83f40 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 k-kw">const</span>.expect.=.<spa
83f60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 n.class="tok-builtin">@import</s
83f80 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>(<span.class="tok-str">&quot
83fa0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 ;std&quot;</span>).testing.expec
83fc0 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f t;..<span.class="tok-kw">const</
83fe0 73 70 61 6e 3e 20 43 6d 64 46 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>.CmdFn.=.<span.class="tok-k
84000 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c w">struct</span>.{.....name:.[]<
84020 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
84040 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e .<span.class="tok-type">u8</span
84060 3e 2c 0a 20 20 20 20 66 75 6e 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >,.....func:.<span.class="tok-kw
84080 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ">fn</span>(<span.class="tok-typ
840a0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">i32</span>).<span.class="tok-
840c0 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 type">i32</span>,.};..<span.clas
840e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6d 64 5f 66 6e 73 20 s="tok-kw">const</span>.cmd_fns.
84100 3d 20 5b 5f 5d 43 6d 64 46 6e 7b 0a 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 3c =.[_]CmdFn{.....CmdFn.{.name.=.<
84120 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 6e 65 26 71 span.class="tok-str">&quot;one&q
84140 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 6f 6e 65 7d 2c 0a 20 20 20 20 43 uot;</span>,..func.=.one},.....C
84160 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 mdFn.{.name.=.<span.class="tok-s
84180 74 72 22 3e 26 71 75 6f 74 3b 74 77 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e tr">&quot;two&quot;</span>,..fun
841a0 63 20 3d 20 74 77 6f 7d 2c 0a 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 c.=.two},.....CmdFn.{.name.=.<sp
841c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 65 26 71 an.class="tok-str">&quot;three&q
841e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 68 72 65 65 7d 2c 0a 7d 3b 0a uot;</span>,..func.=.three},.};.
84200 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
84220 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6f 6e 65 3c 2f 73 70 61 6e 3e 28 76 span.class="tok-fn">one</span>(v
84240 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 alue:.<span.class="tok-type">i32
84260 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>).<span.class="tok-type">
84280 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 i32</span>.{.<span.class="tok-kw
842a0 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c ">return</span>.value.+.<span.cl
842c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 20 7d 0a 3c 73 70 ass="tok-number">1</span>;.}.<sp
842e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 an.class="tok-kw">fn</span>.<spa
84300 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 77 6f 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 n.class="tok-fn">two</span>(valu
84320 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 e:.<span.class="tok-type">i32</s
84340 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 pan>).<span.class="tok-type">i32
84360 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 </span>.{.<span.class="tok-kw">r
84380 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 eturn</span>.value.+.<span.class
843a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 20 7d 0a 3c 73 70 61 6e 20 ="tok-number">2</span>;.}.<span.
843c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 class="tok-kw">fn</span>.<span.c
843e0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 68 72 65 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 lass="tok-fn">three</span>(value
84400 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 :.<span.class="tok-type">i32</sp
84420 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c an>).<span.class="tok-type">i32<
84440 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 /span>.{.<span.class="tok-kw">re
84460 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d turn</span>.value.+.<span.class=
84480 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 20 7d 0a 0a 3c 73 70 61 6e 20 "tok-number">3</span>;.}..<span.
844a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 class="tok-kw">fn</span>.<span.c
844c0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 28 3c lass="tok-fn">performFn</span>(<
844e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 span.class="tok-kw">comptime</sp
84500 61 6e 3e 20 70 72 65 66 69 78 5f 63 68 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an>.prefix_char:.<span.class="to
84520 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 k-type">u8</span>,.start_value:.
84540 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e <span.class="tok-type">i32</span
84560 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 >).<span.class="tok-type">i32</s
84580 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
845a0 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 var</span>.result:.<span.class="
845c0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c tok-type">i32</span>.=.start_val
845e0 75 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d ue;.....<span.class="tok-kw">com
84600 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ptime</span>.<span.class="tok-kw
84620 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">var</span>.i.=.<span.class="to
84640 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c k-number">0</span>;.....<span.cl
84660 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e ass="tok-kw">inline</span>.<span
84680 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 .class="tok-kw">while</span>.(i.
846a0 26 6c 74 3b 20 63 6d 64 5f 66 6e 73 2e 6c 65 6e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 &lt;.cmd_fns.len).:.(i.+=.<span.
846c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 class="tok-number">1</span>).{..
846e0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f .......<span.class="tok-kw">if</
84700 73 70 61 6e 3e 20 28 63 6d 64 5f 66 6e 73 5b 69 5d 2e 6e 61 6d 65 5b 3c 73 70 61 6e 20 63 6c 61 span>.(cmd_fns[i].name[<span.cla
84720 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 70 72 65 ss="tok-number">0</span>].==.pre
84740 66 69 78 5f 63 68 61 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d fix_char).{.............result.=
84760 20 63 6d 64 5f 66 6e 73 5b 69 5d 2e 66 75 6e 63 28 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 .cmd_fns[i].func(result);.......
84780 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ..}.....}.....<span.class="tok-k
847a0 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 0a 0a 3c 73 70 61 w">return</span>.result;.}..<spa
847c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 n.class="tok-kw">test</span>.<sp
847e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 72 66 6f 72 6d an.class="tok-str">&quot;perform
84800 20 66 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .fn&quot;</span>.{.....<span.cla
84820 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 ss="tok-kw">try</span>.expect(pe
84840 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 74 rformFn(<span.class="tok-str">'t
84860 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 '</span>,.<span.class="tok-numbe
84880 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r">1</span>).==.<span.class="tok
848a0 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c -number">6</span>);.....<span.cl
848c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 ass="tok-kw">try</span>.expect(p
848e0 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 erformFn(<span.class="tok-str">'
84900 6f 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 o'</span>,.<span.class="tok-numb
84920 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">0</span>).==.<span.class="to
84940 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 k-number">1</span>);.....<span.c
84960 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
84980 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e performFn(<span.class="tok-str">
849a0 27 77 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 'w'</span>,.<span.class="tok-num
849c0 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ber">99</span>).==.<span.class="
849e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e tok-number">99</span>);.}</code>
84a00 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 </pre></figure><figure><figcapti
84a20 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 on.class="shell-cap">Shell</figc
84a40 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 aption><pre><samp>$.<kbd>zig.tes
84a60 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 65 76 61 6c 75 61 74 69 6f 6e 2e 7a 69 67 3c 2f t.test_comptime_evaluation.zig</
84a80 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 65 76 61 6c 75 61 74 69 6f kbd>.1/1.test_comptime_evaluatio
84aa0 6e 2e 74 65 73 74 2e 70 65 72 66 6f 72 6d 20 66 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 n.test.perform.fn....OK.All.1.te
84ac0 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
84ae0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 e>.......<p>.......This.example.
84b00 69 73 20 61 20 62 69 74 20 63 6f 6e 74 72 69 76 65 64 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 is.a.bit.contrived,.because.the.
84b20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 76 61 6c 75 61 74 69 6f 6e 20 63 6f 6d 70 6f 6e 65 6e compile-time.evaluation.componen
84b40 74 20 69 73 20 75 6e 6e 65 63 65 73 73 61 72 79 3b 0a 20 20 20 20 20 20 74 68 69 73 20 63 6f 64 t.is.unnecessary;.......this.cod
84b60 65 20 77 6f 75 6c 64 20 77 6f 72 6b 20 66 69 6e 65 20 69 66 20 69 74 20 77 61 73 20 61 6c 6c 20 e.would.work.fine.if.it.was.all.
84b80 64 6f 6e 65 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 20 42 75 74 20 69 74 20 64 6f 65 73 20 65 6e done.at.run-time..But.it.does.en
84ba0 64 20 75 70 20 67 65 6e 65 72 61 74 69 6e 67 0a 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 74 20 d.up.generating.......different.
84bc0 63 6f 64 65 2e 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 75 6e 63 74 code..In.this.example,.the.funct
84be0 69 6f 6e 20 3c 63 6f 64 65 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 63 6f 64 65 3e 20 69 73 20 67 65 ion.<code>performFn</code>.is.ge
84c00 6e 65 72 61 74 65 64 20 74 68 72 65 65 20 64 69 66 66 65 72 65 6e 74 20 74 69 6d 65 73 2c 0a 20 nerated.three.different.times,..
84c20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 76 61 6c 75 65 .........for.the.different.value
84c40 73 20 6f 66 20 3c 63 6f 64 65 3e 70 72 65 66 69 78 5f 63 68 61 72 3c 2f 63 6f 64 65 3e 20 70 72 s.of.<code>prefix_char</code>.pr
84c60 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 ovided:.......</p>.......<figure
84c80 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 ><figcaption.class="zig-cap"><ci
84ca0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 65 72 66 6f 72 6d 46 6e 5f 31 3c 2f 63 69 74 te.class="file">performFn_1</cit
84cc0 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e></figcaption><pre><code><span.
84ce0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 class="tok-comment">//.From.the.
84d00 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f line:</span>.<span.class="tok-co
84d20 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 74 27 2c 20 mment">//.expect(performFn('t',.
84d40 31 29 20 3d 3d 20 36 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 1).==.6);</span>.<span.class="to
84d60 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b k-kw">fn</span>.<span.class="tok
84d80 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 -fn">performFn</span>(start_valu
84da0 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 e:.<span.class="tok-type">i32</s
84dc0 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 pan>).<span.class="tok-type">i32
84de0 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
84e00 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 w">var</span>.result:.<span.clas
84e20 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f s="tok-type">i32</span>.=.start_
84e40 76 61 6c 75 65 3b 0a 20 20 20 20 72 65 73 75 6c 74 20 3d 20 74 77 6f 28 72 65 73 75 6c 74 29 3b value;.....result.=.two(result);
84e60 0a 20 20 20 20 72 65 73 75 6c 74 20 3d 20 74 68 72 65 65 28 72 65 73 75 6c 74 29 3b 0a 20 20 20 .....result.=.three(result);....
84e80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 .<span.class="tok-kw">return</sp
84ea0 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 an>.result;.}</code></pre></figu
84ec0 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c re>.......<figure><figcaption.cl
84ee0 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
84f00 3e 70 65 72 66 6f 72 6d 46 6e 5f 32 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e >performFn_2</cite></figcaption>
84f20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d <pre><code><span.class="tok-comm
84f40 65 6e 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 ent">//.From.the.line:</span>.<s
84f60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 65 63 pan.class="tok-comment">//.expec
84f80 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 6f 27 2c 20 30 29 20 3d 3d 20 31 29 3b 3c 2f 73 70 61 6e t(performFn('o',.0).==.1);</span
84fa0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">fn</span>
84fc0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c .<span.class="tok-fn">performFn<
84fe0 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>(start_value:.<span.class=
85000 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">i32</span>).<span.cla
85020 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c ss="tok-type">i32</span>.{.....<
85040 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 span.class="tok-kw">var</span>.r
85060 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 esult:.<span.class="tok-type">i3
85080 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 0a 20 20 20 20 72 65 73 75 2</span>.=.start_value;.....resu
850a0 6c 74 20 3d 20 6f 6e 65 28 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 lt.=.one(result);.....<span.clas
850c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b s="tok-kw">return</span>.result;
850e0 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c .}</code></pre></figure>.......<
85100 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 figure><figcaption.class="zig-ca
85120 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 65 72 66 6f 72 6d 46 6e 5f p"><cite.class="file">performFn_
85140 33 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3</cite></figcaption><pre><code>
85160 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 6f <span.class="tok-comment">//.Fro
85180 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 m.the.line:</span>.<span.class="
851a0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e tok-comment">//.expect(performFn
851c0 28 27 77 27 2c 20 39 39 29 20 3d 3d 20 39 39 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ('w',.99).==.99);</span>.<span.c
851e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
85200 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 ass="tok-fn">performFn</span>(st
85220 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 art_value:.<span.class="tok-type
85240 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ">i32</span>).<span.class="tok-t
85260 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ype">i32</span>.{.....<span.clas
85280 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 s="tok-kw">var</span>.result:.<s
852a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">i32</span>.
852c0 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 72 65 73 75 =.start_value;....._.=.&amp;resu
852e0 6c 74 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 lt;.....<span.class="tok-kw">ret
85300 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 urn</span>.result;.}</code></pre
85320 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 ></figure>.......<p>.......Note.
85340 74 68 61 74 20 74 68 69 73 20 68 61 70 70 65 6e 73 20 65 76 65 6e 20 69 6e 20 61 20 64 65 62 75 that.this.happens.even.in.a.debu
85360 67 20 62 75 69 6c 64 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6e 6f 74 20 61 20 77 61 79 g.build........This.is.not.a.way
85380 20 74 6f 20 77 72 69 74 65 20 6d 6f 72 65 20 6f 70 74 69 6d 69 7a 65 64 20 63 6f 64 65 2c 20 62 .to.write.more.optimized.code,.b
853a0 75 74 20 69 74 20 69 73 20 61 20 77 61 79 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 ut.it.is.a.way.to.make.sure.that
853c0 20 77 68 61 74 20 3c 65 6d 3e 73 68 6f 75 6c 64 3c 2f 65 6d 3e 20 68 61 70 70 65 6e 0a 20 20 20 .what.<em>should</em>.happen....
853e0 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 3c 65 6d 3e 64 6f 65 73 3c 2f 65 6d ...at.compile-time,.<em>does</em
85400 3e 20 68 61 70 70 65 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 54 68 69 73 20 63 >.happen.at.compile-time..This.c
85420 61 74 63 68 65 73 20 6d 6f 72 65 20 65 72 72 6f 72 73 20 61 6e 64 20 61 6c 6c 6f 77 73 20 65 78 atches.more.errors.and.allows.ex
85440 70 72 65 73 73 69 76 65 6e 65 73 73 0a 20 20 20 20 20 20 74 68 61 74 20 69 6e 20 6f 74 68 65 72 pressiveness.......that.in.other
85460 20 6c 61 6e 67 75 61 67 65 73 20 72 65 71 75 69 72 65 73 20 75 73 69 6e 67 20 6d 61 63 72 6f 73 .languages.requires.using.macros
85480 2c 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 2c 20 6f 72 20 61 20 70 72 65 70 72 6f 63 65 73 ,.generated.code,.or.a.preproces
854a0 73 6f 72 20 74 6f 20 61 63 63 6f 6d 70 6c 69 73 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 sor.to.accomplish........</p>...
854c0 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d ...........<h4.id="Compile-Time-
854e0 45 78 70 72 65 73 73 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 Expressions"><a.href="#toc-Compi
85500 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d le-Time-Expressions">Compile-Tim
85520 65 20 45 78 70 72 65 73 73 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 e.Expressions</a>.<a.class="hdr"
85540 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 .href="#Compile-Time-Expressions
85560 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 ">..</a></h4>........<p>.......I
85580 6e 20 5a 69 67 2c 20 69 74 20 6d 61 74 74 65 72 73 20 77 68 65 74 68 65 72 20 61 20 67 69 76 65 n.Zig,.it.matters.whether.a.give
855a0 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 n.expression.is.known.at.compile
855c0 2d 74 69 6d 65 20 6f 72 20 72 75 6e 2d 74 69 6d 65 2e 20 41 20 70 72 6f 67 72 61 6d 6d 65 72 20 -time.or.run-time..A.programmer.
855e0 63 61 6e 0a 20 20 20 20 20 20 75 73 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 can.......use.a.<code><span.clas
85600 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 s="tok-kw">comptime</span></code
85620 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 74 >.expression.to.guarantee.that.t
85640 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 65 76 61 6c 75 61 74 65 64 20 he.expression.will.be.evaluated.
85660 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 49 66 20 74 68 69 73 20 63 at.compile-time........If.this.c
85680 61 6e 6e 6f 74 20 62 65 20 61 63 63 6f 6d 70 6c 69 73 68 65 64 2c 20 74 68 65 20 63 6f 6d 70 69 annot.be.accomplished,.the.compi
856a0 6c 65 72 20 77 69 6c 6c 20 65 6d 69 74 20 61 6e 20 65 72 72 6f 72 2e 20 46 6f 72 20 65 78 61 6d ler.will.emit.an.error..For.exam
856c0 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ple:.......</p>.......<figure><f
856e0 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 igcaption.class="zig-cap"><cite.
85700 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 63 61 6c 6c 5f class="file">test_comptime_call_
85720 65 78 74 65 72 6e 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 extern_function.zig</cite></figc
85740 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
85760 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">extern</span>.<span.class
85780 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="tok-kw">fn</span>.<span.class=
857a0 22 74 6f 6b 2d 66 6e 22 3e 65 78 69 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-fn">exit</span>().<span.cla
857c0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 0a 0a ss="tok-type">noreturn</span>;..
857e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e <span.class="tok-kw">test</span>
85800 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f .<span.class="tok-str">&quot;foo
85820 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
85840 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 "tok-kw">comptime</span>.{......
85860 20 20 20 65 78 69 74 28 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ...exit();.....}.}</code></pre><
85880 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 /figure><figure><figcaption.clas
858a0 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e s="shell-cap">Shell</figcaption>
858c0 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f <pre><samp>$.<kbd>zig.test.test_
858e0 63 6f 6d 70 74 69 6d 65 5f 63 61 6c 6c 5f 65 78 74 65 72 6e 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 comptime_call_extern_function.zi
85900 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 g</kbd>.<span.class="sgr-1m">doc
85920 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 63 61 6c 6c 5f 65 78 74 65 72 gen_tmp/test_comptime_call_exter
85940 6e 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 3a 35 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 n_function.zig:5:13:.</span><spa
85960 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e n.class="sgr-31m">error:.</span>
85980 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 6f 6d 70 74 69 6d 65 20 63 61 <span.class="sgr-1m">comptime.ca
859a0 6c 6c 20 6f 66 20 65 78 74 65 72 6e 20 66 75 6e 63 74 69 6f 6e 0a 3c 2f 73 70 61 6e 3e 20 20 20 ll.of.extern.function.</span>...
859c0 20 20 20 20 20 65 78 69 74 28 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .....exit();.........<span.class
859e0 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 5e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ="sgr-32m">~~~~^~.</span>.</samp
85a00 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ></pre></figure>.......<p>......
85a20 20 49 74 20 64 6f 65 73 6e 27 74 20 6d 61 6b 65 20 73 65 6e 73 65 20 74 68 61 74 20 61 20 70 72 .It.doesn't.make.sense.that.a.pr
85a40 6f 67 72 61 6d 20 63 6f 75 6c 64 20 63 61 6c 6c 20 3c 63 6f 64 65 3e 65 78 69 74 28 29 3c 2f 63 ogram.could.call.<code>exit()</c
85a60 6f 64 65 3e 20 28 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 65 78 74 65 72 6e 61 6c 20 66 75 6e 63 ode>.(or.any.other.external.func
85a80 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c tion)...........at.compile-time,
85aa0 20 73 6f 20 74 68 69 73 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 20 48 6f 77 .so.this.is.a.compile.error..How
85ac0 65 76 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ever,.a.<code><span.class="tok-k
85ae0 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 w">comptime</span></code>.expres
85b00 73 69 6f 6e 20 64 6f 65 73 20 6d 75 63 68 0a 20 20 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 73 sion.does.much.......more.than.s
85b20 6f 6d 65 74 69 6d 65 73 20 63 61 75 73 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a ometimes.cause.a.compile.error..
85b40 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 69 74 68 69 ......</p>.......<p>.......Withi
85b60 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 n.a.<code><span.class="tok-kw">c
85b80 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e omptime</span></code>.expression
85ba0 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 :.......</p>.......<ul>.........
85bc0 20 20 3c 6c 69 3e 41 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 3c 63 6f 64 65 3e 3c 73 ..<li>All.variables.are.<code><s
85be0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 pan.class="tok-kw">comptime</spa
85c00 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 72 69 61 62 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 n></code>.variables.</li>.......
85c20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ....<li>All.<code><span.class="t
85c40 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c ok-kw">if</span></code>,.<code><
85c60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e span.class="tok-kw">while</span>
85c80 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </code>,.<code><span.class="tok-
85ca0 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 kw">for</span></code>,.and.<code
85cc0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 ><span.class="tok-kw">switch</sp
85ce0 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 73 an></code>...........expressions
85d00 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 .are.evaluated.at.compile-time,.
85d20 6f 72 20 65 6d 69 74 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 69 73 20 or.emit.a.compile.error.if.this.
85d40 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 is.not.possible.</li>...........
85d60 3c 6c 69 3e 41 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b <li>All.<code><span.class="tok-k
85d80 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 w">return</span></code>.and.<cod
85da0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e e><span.class="tok-kw">try</span
85dc0 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 69 6e 76 61 6c 69 64 ></code>.expressions.are.invalid
85de0 20 28 75 6e 6c 65 73 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 74 73 65 6c 66 20 69 73 20 .(unless.the.function.itself.is.
85e00 63 61 6c 6c 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 29 2e 3c 2f 6c 69 3e 0a 20 20 called.at.compile-time).</li>...
85e20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 63 6f 64 65 20 77 69 74 68 20 72 75 6e 74 69 6d ........<li>All.code.with.runtim
85e40 65 20 73 69 64 65 20 65 66 66 65 63 74 73 20 6f 72 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 72 e.side.effects.or.depending.on.r
85e60 75 6e 74 69 6d 65 20 76 61 6c 75 65 73 20 65 6d 69 74 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 untime.values.emits.a.compile.er
85e80 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 66 75 6e 63 ror.</li>...........<li>All.func
85ea0 74 69 6f 6e 20 63 61 6c 6c 73 20 63 61 75 73 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f tion.calls.cause.the.compiler.to
85ec0 20 69 6e 74 65 72 70 72 65 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 .interpret.the.function.at.compi
85ee0 6c 65 2d 74 69 6d 65 2c 20 65 6d 69 74 74 69 6e 67 20 61 0a 20 20 20 20 20 20 20 20 20 20 63 6f le-time,.emitting.a...........co
85f00 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 72 69 65 mpile.error.if.the.function.trie
85f20 73 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 68 61 73 20 67 6c 6f 62 61 s.to.do.something.that.has.globa
85f40 6c 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 l.runtime.side.effects.</li>....
85f60 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 ...</ul>.......<p>.......This.me
85f80 61 6e 73 20 74 68 61 74 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e 20 63 72 65 61 74 65 ans.that.a.programmer.can.create
85fa0 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 69 73 20 63 61 6c 6c 65 64 20 62 6f 74 68 .a.function.which.is.called.both
85fc0 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 72 75 6e 2d 74 69 6d 65 2c 20 77 .at.compile-time.and.run-time,.w
85fe0 69 74 68 0a 20 20 20 20 20 20 6e 6f 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 6f 20 74 68 65 ith.......no.modification.to.the
86000 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .function.required........</p>..
86020 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 65 74 27 73 20 6c 6f 6f 6b 20 61 74 20 61 6e 20 .....<p>.......Let's.look.at.an.
86040 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 example:.......</p>.......<figur
86060 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
86080 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f ite.class="file">test_fibonacci_
860a0 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e recursion.zig</cite></figcaption
860c0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
860e0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 >const</span>.expect.=.<span.cla
86100 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@import</span>(
86120 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 <span.class="tok-str">&quot;std&
86140 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c quot;</span>).testing.expect;..<
86160 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
86180 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 pan.class="tok-fn">fibonacci</sp
861a0 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 an>(index:.<span.class="tok-type
861c0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ">u32</span>).<span.class="tok-t
861e0 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ype">u32</span>.{.....<span.clas
86200 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 6e 64 65 78 20 26 6c 74 3b s="tok-kw">if</span>.(index.&lt;
86220 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 .<span.class="tok-number">2</spa
86240 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c n>).<span.class="tok-kw">return<
86260 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>.index;.....<span.class="t
86280 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 ok-kw">return</span>.fibonacci(i
862a0 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ndex.-.<span.class="tok-number">
862c0 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 1</span>).+.fibonacci(index.-.<s
862e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">2</span>)
86300 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f ;.}..<span.class="tok-kw">test</
86320 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>.<span.class="tok-str">&quo
86340 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c t;fibonacci&quot;</span>.{.....<
86360 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 65 73 74 span.class="tok-comment">//.test
86380 20 66 69 62 6f 6e 61 63 63 69 20 61 74 20 72 75 6e 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 20 20 .fibonacci.at.run-time</span>...
863a0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
863c0 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >.expect(fibonacci(<span.class="
863e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 tok-number">7</span>).==.<span.c
86400 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 lass="tok-number">13</span>);...
86420 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 ...<span.class="tok-comment">//.
86440 74 65 73 74 20 66 69 62 6f 6e 61 63 63 69 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f test.fibonacci.at.compile-time</
86460 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 span>.....<span.class="tok-kw">t
86480 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ry</span>.<span.class="tok-kw">c
864a0 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 omptime</span>.expect(fibonacci(
864c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e <span.class="tok-number">7</span
864e0 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 >).==.<span.class="tok-number">1
86500 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 3</span>);.}</code></pre></figur
86520 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 e><figure><figcaption.class="she
86540 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ll-cap">Shell</figcaption><pre><
86560 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 69 62 6f 6e 61 samp>$.<kbd>zig.test.test_fibona
86580 63 63 69 5f 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 cci_recursion.zig</kbd>.1/1.test
865a0 5f 66 69 62 6f 6e 61 63 63 69 5f 72 65 63 75 72 73 69 6f 6e 2e 74 65 73 74 2e 66 69 62 6f 6e 61 _fibonacci_recursion.test.fibona
865c0 63 63 69 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f cci....OK.All.1.tests.passed..</
865e0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
86600 20 20 20 20 20 49 6d 61 67 69 6e 65 20 69 66 20 77 65 20 68 61 64 20 66 6f 72 67 6f 74 74 65 6e .....Imagine.if.we.had.forgotten
86620 20 74 68 65 20 62 61 73 65 20 63 61 73 65 20 6f 66 20 74 68 65 20 72 65 63 75 72 73 69 76 65 20 .the.base.case.of.the.recursive.
86640 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 72 69 65 64 20 74 6f 20 72 75 6e 20 74 68 65 20 74 65 function.and.tried.to.run.the.te
86660 73 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 sts:.......</p>.......<figure><f
86680 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 igcaption.class="zig-cap"><cite.
866a0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 class="file">test_fibonacci_comp
866c0 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 time_overflow.zig</cite></figcap
866e0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
86700 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e -kw">const</span>.expect.=.<span
86720 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 .class="tok-builtin">@import</sp
86740 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>(<span.class="tok-str">&quot;
86760 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 std&quot;</span>).testing.expect
86780 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e ;..<span.class="tok-kw">fn</span
867a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 >.<span.class="tok-fn">fibonacci
867c0 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>(index:.<span.class="tok-
867e0 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u32</span>).<span.class="t
86800 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 ok-type">u32</span>.{.....<span.
86820 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 20 class="tok-comment">//if.(index.
86840 26 6c 74 3b 20 32 29 20 72 65 74 75 72 6e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 &lt;.2).return.index;</span>....
86860 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 .<span.class="tok-kw">return</sp
86880 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 an>.fibonacci(index.-.<span.clas
868a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e s="tok-number">1</span>).+.fibon
868c0 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 acci(index.-.<span.class="tok-nu
868e0 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">2</span>);.}..<span.class=
86900 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">test</span>.<span.class
86920 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b ="tok-str">&quot;fibonacci&quot;
86940 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
86960 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b w">try</span>.<span.class="tok-k
86980 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 w">comptime</span>.expect(fibona
869a0 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f cci(<span.class="tok-number">7</
869c0 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 span>).==.<span.class="tok-numbe
869e0 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 r">13</span>);.}</code></pre></f
86a00 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
86a20 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
86a40 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 69 re><samp>$.<kbd>zig.test.test_fi
86a60 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b bonacci_comptime_overflow.zig</k
86a80 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f bd>.<span.class="sgr-1m">docgen_
86aa0 74 6d 70 2f 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 6f 76 65 72 tmp/test_fibonacci_comptime_over
86ac0 66 6c 6f 77 2e 7a 69 67 3a 35 3a 32 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 flow.zig:5:28:.</span><span.clas
86ae0 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 s="sgr-31m">error:.</span><span.
86b00 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 76 65 72 66 6c 6f 77 20 6f 66 20 69 6e 74 65 67 class="sgr-1m">overflow.of.integ
86b20 65 72 20 74 79 70 65 20 27 75 33 32 27 20 77 69 74 68 20 76 61 6c 75 65 20 27 2d 31 27 0a 3c 2f er.type.'u32'.with.value.'-1'.</
86b40 73 70 61 6e 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 span>....return.fibonacci(index.
86b60 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 -.1).+.fibonacci(index.-.2);....
86b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 ..................<span.class="s
86ba0 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 gr-32m">~~~~~~^~~.</span><span.c
86bc0 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 66 69 lass="sgr-1m">docgen_tmp/test_fi
86be0 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 35 3a bonacci_comptime_overflow.zig:5:
86c00 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 21:.</span><span.class="sgr-36m"
86c20 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 >note:.</span><span.class="sgr-1
86c40 6d 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 m">called.from.here</span><span.
86c60 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 20 28 37 20 74 69 6d 65 73 29 0a 3c 2f 73 70 61 6e class="sgr-2m">.(7.times).</span
86c80 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 >....return.fibonacci(index.-.1)
86ca0 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 .+.fibonacci(index.-.2);........
86cc0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e ....<span.class="sgr-32m">~~~~~~
86ce0 7e 7e 7e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 ~~~^~~~~~~~~~~.</span><span.clas
86d00 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 66 69 62 6f 6e s="sgr-1m">docgen_tmp/test_fibon
86d20 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 39 3a 33 34 3a acci_comptime_overflow.zig:9:34:
86d40 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f .</span><span.class="sgr-36m">no
86d60 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e te:.</span><span.class="sgr-1m">
86d80 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 74 72 79 20 called.from.here.</span>....try.
86da0 63 6f 6d 70 74 69 6d 65 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 37 29 20 3d 3d 20 comptime.expect(fibonacci(7).==.
86dc0 31 33 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 13);.........................<sp
86de0 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 7e 7e 7e 5e 7e 7e 0a an.class="sgr-32m">~~~~~~~~~^~~.
86e00 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
86e20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 70 72 6f 64 .....<p>.......The.compiler.prod
86e40 75 63 65 73 20 61 6e 20 65 72 72 6f 72 20 77 68 69 63 68 20 69 73 20 61 20 73 74 61 63 6b 20 74 uces.an.error.which.is.a.stack.t
86e60 72 61 63 65 20 66 72 6f 6d 20 74 72 79 69 6e 67 20 74 6f 20 65 76 61 6c 75 61 74 65 20 74 68 65 race.from.trying.to.evaluate.the
86e80 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e .......function.at.compile-time.
86ea0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 75 63 6b .......</p>.......<p>.......Luck
86ec0 69 6c 79 2c 20 77 65 20 75 73 65 64 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 ily,.we.used.an.unsigned.integer
86ee0 2c 20 61 6e 64 20 73 6f 20 77 68 65 6e 20 77 65 20 74 72 69 65 64 20 74 6f 20 73 75 62 74 72 61 ,.and.so.when.we.tried.to.subtra
86f00 63 74 20 31 20 66 72 6f 6d 20 30 2c 20 69 74 20 74 72 69 67 67 65 72 65 64 0a 20 20 20 20 20 20 ct.1.from.0,.it.triggered.......
86f20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2c 20 77 68 69 63 68 20 69 73 20 61 6c 77 undefined.behavior,.which.is.alw
86f40 61 79 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 63 6f 6d 70 69 ays.a.compile.error.if.the.compi
86f60 6c 65 72 20 6b 6e 6f 77 73 20 69 74 20 68 61 70 70 65 6e 65 64 2e 0a 20 20 20 20 20 20 42 75 74 ler.knows.it.happened........But
86f80 20 77 68 61 74 20 77 6f 75 6c 64 20 68 61 76 65 20 68 61 70 70 65 6e 65 64 20 69 66 20 77 65 20 .what.would.have.happened.if.we.
86fa0 75 73 65 64 20 61 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3f 0a 20 20 20 20 20 20 3c 2f 70 used.a.signed.integer?.......</p
86fc0 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
86fe0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 s="zig-cap"><cite.class="file">f
87000 69 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 66 69 6e 69 74 65 5f 72 65 63 75 72 ibonacci_comptime_infinite_recur
87020 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 sion.zig</cite></figcaption><pre
87040 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
87060 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.assert.=.<span.class="t
87080 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
870a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
870c0 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c </span>).debug.assert;..<span.cl
870e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ass="tok-kw">fn</span>.<span.cla
87100 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 ss="tok-fn">fibonacci</span>(ind
87120 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f ex:.<span.class="tok-type">i32</
87140 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 span>).<span.class="tok-type">i3
87160 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 2</span>.{.....<span.class="tok-
87180 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 32 29 20 72 65 74 comment">//if.(index.&lt;.2).ret
871a0 75 72 6e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 urn.index;</span>.....<span.clas
871c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 s="tok-kw">return</span>.fibonac
871e0 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ci(index.-.<span.class="tok-numb
87200 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 er">1</span>).+.fibonacci(index.
87220 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 -.<span.class="tok-number">2</sp
87240 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 an>);.}..<span.class="tok-kw">te
87260 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e st</span>.<span.class="tok-str">
87280 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 &quot;fibonacci&quot;</span>.{..
872a0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 ...<span.class="tok-kw">try</spa
872c0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 n>.<span.class="tok-kw">comptime
872e0 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 </span>.assert(fibonacci(<span.c
87300 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c lass="tok-number">7</span>).==.<
87320 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e span.class="tok-number">13</span
87340 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 >);.}</code></pre></figure>.....
87360 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 73 75 70 70 ..<p>.......The.compiler.is.supp
87380 6f 73 65 64 20 74 6f 20 6e 6f 74 69 63 65 20 74 68 61 74 20 65 76 61 6c 75 61 74 69 6e 67 20 74 osed.to.notice.that.evaluating.t
873a0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 74 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 his.function.at.......compile-ti
873c0 6d 65 20 74 6f 6f 6b 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 30 20 62 72 61 6e 63 68 65 73 2c me.took.more.than.1000.branches,
873e0 20 61 6e 64 20 74 68 75 73 20 65 6d 69 74 73 20 61 6e 20 65 72 72 6f 72 20 61 6e 64 0a 20 20 20 .and.thus.emits.an.error.and....
87400 20 20 20 67 69 76 65 73 20 75 70 2e 20 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 77 ...gives.up..If.the.programmer.w
87420 61 6e 74 73 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 62 75 64 67 65 74 20 66 6f 72 20 ants.to.increase.the.budget.for.
87440 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 0a 20 20 20 20 20 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 compile-time.......computation,.
87460 74 68 65 79 20 63 61 6e 20 75 73 65 20 61 20 62 75 69 6c 74 2d 69 6e 20 66 75 6e 63 74 69 6f 6e they.can.use.a.built-in.function
87480 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c 42 .called.......<a.href="#setEvalB
874a0 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c ranchQuota">@setEvalBranchQuota<
874c0 2f 61 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 6e 75 6d 62 65 72 /a>.to.change.the.default.number
874e0 20 31 30 30 30 20 74 6f 0a 20 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 20 65 6c 73 65 2e 0a 20 .1000.to.......something.else...
87500 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 .....</p>.......<p>.......Howeve
87520 72 2c 20 74 68 65 72 65 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 r,.there.is.a.<a.href="https://g
87540 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 33 37 ithub.com/ziglang/zig/issues/137
87560 32 34 22 3e 64 65 73 69 67 6e 0a 20 20 20 20 20 20 66 6c 61 77 20 69 6e 20 74 68 65 20 63 6f 6d 24">design.......flaw.in.the.com
87580 70 69 6c 65 72 3c 2f 61 3e 20 63 61 75 73 69 6e 67 20 69 74 20 74 6f 20 73 74 61 63 6b 20 6f 76 piler</a>.causing.it.to.stack.ov
875a0 65 72 66 6c 6f 77 20 69 6e 73 74 65 61 64 20 6f 66 20 68 61 76 69 6e 67 20 74 68 65 20 70 72 6f erflow.instead.of.having.the.pro
875c0 70 65 72 0a 20 20 20 20 20 20 62 65 68 61 76 69 6f 72 20 68 65 72 65 2e 20 49 27 6d 20 74 65 72 per.......behavior.here..I'm.ter
875e0 72 69 62 6c 79 20 73 6f 72 72 79 20 61 62 6f 75 74 20 74 68 61 74 2e 20 49 20 68 6f 70 65 20 74 ribly.sorry.about.that..I.hope.t
87600 6f 20 67 65 74 20 74 68 69 73 20 72 65 73 6f 6c 76 65 64 0a 20 20 20 20 20 20 62 65 66 6f 72 65 o.get.this.resolved.......before
87620 20 74 68 65 20 6e 65 78 74 20 72 65 6c 65 61 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .the.next.release........</p>...
87640 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 61 74 20 69 66 20 77 65 20 66 69 78 20 74 68 65 ....<p>.......What.if.we.fix.the
87660 20 62 61 73 65 20 63 61 73 65 2c 20 62 75 74 20 70 75 74 20 74 68 65 20 77 72 6f 6e 67 20 76 61 .base.case,.but.put.the.wrong.va
87680 6c 75 65 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 65 78 70 65 63 74 3c 2f 63 lue.in.the.......<code>expect</c
876a0 6f 64 65 3e 20 6c 69 6e 65 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ode>.line?.......</p>.......<fig
876c0 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
876e0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 <cite.class="file">test_fibonacc
87700 69 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 i_comptime_unreachable.zig</cite
87720 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
87740 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 lass="tok-kw">const</span>.asser
87760 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 t.=.<span.class="tok-builtin">@i
87780 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 mport</span>(<span.class="tok-st
877a0 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 r">&quot;std&quot;</span>).debug
877c0 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 .assert;..<span.class="tok-kw">f
877e0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 n</span>.<span.class="tok-fn">fi
87800 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 bonacci</span>(index:.<span.clas
87820 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-type">i32</span>).<span.c
87840 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 lass="tok-type">i32</span>.{....
87860 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 .<span.class="tok-kw">if</span>.
87880 28 69 6e 64 65 78 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d (index.&lt;.<span.class="tok-num
878a0 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">2</span>).<span.class="tok-
878c0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3b 0a 20 20 20 20 3c 73 70 kw">return</span>.index;.....<sp
878e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">return</span>.
87900 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 fibonacci(index.-.<span.class="t
87920 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 ok-number">1</span>).+.fibonacci
87940 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 (index.-.<span.class="tok-number
87960 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">2</span>);.}..<span.class="tok
87980 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">test</span>.<span.class="to
879a0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 k-str">&quot;fibonacci&quot;</sp
879c0 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 an>.{.....<span.class="tok-kw">t
879e0 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ry</span>.<span.class="tok-kw">c
87a00 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 omptime</span>.assert(fibonacci(
87a20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e <span.class="tok-number">7</span
87a40 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 >).==.<span.class="tok-number">9
87a60 39 39 39 39 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 9999</span>);.}</code></pre></fi
87a80 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 gure><figure><figcaption.class="
87aa0 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 shell-cap">Shell</figcaption><pr
87ac0 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 69 62 e><samp>$.<kbd>zig.test.test_fib
87ae0 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c onacci_comptime_unreachable.zig<
87b00 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 /kbd>.<span.class="sgr-1m">/home
87b20 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f /ci/actions-runner/_work/zig-boo
87b40 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 64 65 62 75 tstrap/out/host/lib/zig/std/debu
87b60 67 2e 7a 69 67 3a 34 30 33 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 g.zig:403:14:.</span><span.class
87b80 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 ="sgr-31m">error:.</span><span.c
87ba0 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c lass="sgr-1m">reached.unreachabl
87bc0 65 20 63 6f 64 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 e.code.</span>....if.(!ok).unrea
87be0 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 chable;.//.assertion.failure....
87c00 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e ..........<span.class="sgr-32m">
87c20 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ^~~~~~~~~~~.</span><span.class="
87c40 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 sgr-1m">docgen_tmp/test_fibonacc
87c60 69 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3a 39 3a 32 34 3a i_comptime_unreachable.zig:9:24:
87c80 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f .</span><span.class="sgr-36m">no
87ca0 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e te:.</span><span.class="sgr-1m">
87cc0 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 74 72 79 20 called.from.here.</span>....try.
87ce0 63 6f 6d 70 74 69 6d 65 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 37 29 20 3d 3d 20 comptime.assert(fibonacci(7).==.
87d00 39 39 39 39 39 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 99999);..................<span.c
87d20 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e lass="sgr-32m">~~~~~~^~~~~~~~~~~
87d40 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 ~~~~~~~~~~~~.</span>.</samp></pr
87d60 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 20 e></figure>........<p>.......At.
87d80 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e 63 6f 6e 74 61 69 6e 65 72 3c <a.href="#Containers">container<
87da0 2f 61 3e 20 6c 65 76 65 6c 20 28 6f 75 74 73 69 64 65 20 6f 66 20 61 6e 79 20 66 75 6e 63 74 69 /a>.level.(outside.of.any.functi
87dc0 6f 6e 29 2c 20 61 6c 6c 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 69 6d 70 6c 69 63 69 on),.all.expressions.are.implici
87de0 74 6c 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tly.......<code><span.class="tok
87e00 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 -kw">comptime</span></code>.expr
87e20 65 73 73 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 63 61 6e 20 essions..This.means.that.we.can.
87e40 75 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 0a 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a use.functions.to.......initializ
87e60 65 20 63 6f 6d 70 6c 65 78 20 73 74 61 74 69 63 20 64 61 74 61 2e 20 46 6f 72 20 65 78 61 6d 70 e.complex.static.data..For.examp
87e80 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 le:.......</p>.......<figure><fi
87ea0 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 gcaption.class="zig-cap"><cite.c
87ec0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6e 74 61 69 6e 65 72 2d 6c 65 76 65 6c lass="file">test_container-level
87ee0 5f 63 6f 6d 70 74 69 6d 65 5f 65 78 70 72 65 73 73 69 6f 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e _comptime_expressions.zig</cite>
87f00 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><code><span.cl
87f20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 69 72 73 74 5f ass="tok-kw">const</span>.first_
87f40 32 35 5f 70 72 69 6d 65 73 20 3d 20 66 69 72 73 74 4e 50 72 69 6d 65 73 28 3c 73 70 61 6e 20 63 25_primes.=.firstNPrimes(<span.c
87f60 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 lass="tok-number">25</span>);.<s
87f80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
87fa0 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d 20 73 75 6d 28 26 61 6d sum_of_first_25_primes.=.sum(&am
87fc0 70 3b 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 p;first_25_primes);..<span.class
87fe0 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="tok-kw">fn</span>.<span.class=
88000 22 74 6f 6b 2d 66 6e 22 3e 66 69 72 73 74 4e 50 72 69 6d 65 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-fn">firstNPrimes</span>(<sp
88020 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e an.class="tok-kw">comptime</span
88040 3e 20 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a >.n:.<span.class="tok-type">usiz
88060 65 3c 2f 73 70 61 6e 3e 29 20 5b 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 e</span>).[n]<span.class="tok-ty
88080 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pe">i32</span>.{.....<span.class
880a0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 73 74 3a ="tok-kw">var</span>.prime_list:
880c0 20 5b 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f .[n]<span.class="tok-type">i32</
880e0 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 span>.=.<span.class="tok-null">u
88100 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ndefined</span>;.....<span.class
88120 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 65 78 74 5f 69 6e 64 65 78 3a ="tok-kw">var</span>.next_index:
88140 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 .<span.class="tok-type">usize</s
88160 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e pan>.=.<span.class="tok-number">
88180 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 0</span>;.....<span.class="tok-k
881a0 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e w">var</span>.test_number:.<span
881c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c .class="tok-type">i32</span>.=.<
881e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e span.class="tok-number">2</span>
88200 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 ;.....<span.class="tok-kw">while
88220 3c 2f 73 70 61 6e 3e 20 28 6e 65 78 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 70 72 69 6d 65 5f 6c </span>.(next_index.&lt;.prime_l
88240 69 73 74 2e 6c 65 6e 29 20 3a 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 20 2b 3d 20 3c 73 70 61 6e ist.len).:.(test_number.+=.<span
88260 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 0a .class="tok-number">1</span>).{.
88280 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 ........<span.class="tok-kw">var
882a0 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 </span>.test_prime_index:.<span.
882c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 class="tok-type">usize</span>.=.
882e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e <span.class="tok-number">0</span
88300 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e >;.........<span.class="tok-kw">
88320 76 61 72 3c 2f 73 70 61 6e 3e 20 69 73 5f 70 72 69 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 var</span>.is_prime.=.<span.clas
88340 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 s="tok-null">true</span>;.......
88360 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 ..<span.class="tok-kw">while</sp
88380 61 6e 3e 20 28 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 26 6c 74 3b 20 6e 65 78 74 5f an>.(test_prime_index.&lt;.next_
883a0 69 6e 64 65 78 29 20 3a 20 28 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 index).:.(test_prime_index.+=.<s
883c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">1</span>)
883e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .{.............<span.class="tok-
88400 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 20 25 20 70 72 69 kw">if</span>.(test_number.%.pri
88420 6d 65 5f 6c 69 73 74 5b 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 5d 20 3d 3d 20 3c 73 70 me_list[test_prime_index].==.<sp
88440 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 an.class="tok-number">0</span>).
88460 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 5f 70 72 69 6d 65 20 3d 20 3c 73 70 {.................is_prime.=.<sp
88480 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e an.class="tok-null">false</span>
884a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ;.................<span.class="t
884c0 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ok-kw">break</span>;............
884e0 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .}.........}.........<span.class
88500 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 73 5f 70 72 69 6d 65 29 20 7b ="tok-kw">if</span>.(is_prime).{
88520 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6d 65 5f 6c 69 73 74 5b 6e 65 78 74 5f 69 6e 64 .............prime_list[next_ind
88540 65 78 5d 20 3d 20 74 65 73 74 5f 6e 75 6d 62 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e ex].=.test_number;.............n
88560 65 78 74 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ext_index.+=.<span.class="tok-nu
88580 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a mber">1</span>;.........}.....}.
885a0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c ....<span.class="tok-kw">return<
885c0 2f 73 70 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 73 74 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 /span>.prime_list;.}..<span.clas
885e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="tok-kw">fn</span>.<span.class
88600 3d 22 74 6f 6b 2d 66 6e 22 3e 73 75 6d 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 73 3a 20 5b 5d ="tok-fn">sum</span>(numbers:.[]
88620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
88640 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 >.<span.class="tok-type">i32</sp
88660 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c an>).<span.class="tok-type">i32<
88680 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
886a0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">var</span>.result:.<span.class
886c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">i32</span>.=.<span.c
886e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 lass="tok-number">0</span>;.....
88700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">for</span>.
88720 28 6e 75 6d 62 65 72 73 29 20 7c 78 7c 20 7b 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 2b (numbers).|x|.{.........result.+
88740 3d 20 78 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d =.x;.....}.....<span.class="tok-
88760 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 0a 0a 3c 73 70 kw">return</span>.result;.}..<sp
88780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 an.class="tok-kw">test</span>.<s
887a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 pan.class="tok-str">&quot;variab
887c0 6c 65 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 le.values&quot;</span>.{.....<sp
887e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 an.class="tok-kw">try</span>.<sp
88800 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f an.class="tok-builtin">@import</
88820 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>(<span.class="tok-str">&quo
88840 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 t;std&quot;</span>).testing.expe
88860 63 74 28 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d 3d 20 3c 73 70 ct(sum_of_first_25_primes.==.<sp
88880 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 36 30 3c 2f 73 70 61 6e an.class="tok-number">1060</span
888a0 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 >);.}</code></pre></figure><figu
888c0 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 re><figcaption.class="shell-cap"
888e0 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 >Shell</figcaption><pre><samp>$.
88900 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6e 74 61 69 6e 65 72 2d 6c 65 76 <kbd>zig.test.test_container-lev
88920 65 6c 5f 63 6f 6d 70 74 69 6d 65 5f 65 78 70 72 65 73 73 69 6f 6e 73 2e 7a 69 67 3c 2f 6b 62 64 el_comptime_expressions.zig</kbd
88940 3e 0a 31 2f 31 20 74 65 73 74 5f 63 6f 6e 74 61 69 6e 65 72 2d 6c 65 76 65 6c 5f 63 6f 6d 70 74 >.1/1.test_container-level_compt
88960 69 6d 65 5f 65 78 70 72 65 73 73 69 6f 6e 73 2e 74 65 73 74 2e 76 61 72 69 61 62 6c 65 20 76 61 ime_expressions.test.variable.va
88980 6c 75 65 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c lues....OK.All.1.tests.passed..<
889a0 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a /samp></pre></figure>.......<p>.
889c0 20 20 20 20 20 20 57 68 65 6e 20 77 65 20 63 6f 6d 70 69 6c 65 20 74 68 69 73 20 70 72 6f 67 72 ......When.we.compile.this.progr
889e0 61 6d 2c 20 5a 69 67 20 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 63 6f 6e 73 74 61 6e 74 73 0a am,.Zig.generates.the.constants.
88a00 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 61 6e 73 77 65 72 20 70 72 65 2d 63 6f 6d 70 75 74 ......with.the.answer.pre-comput
88a20 65 64 2e 20 48 65 72 65 20 61 72 65 20 74 68 65 20 6c 69 6e 65 73 20 66 72 6f 6d 20 74 68 65 20 ed..Here.are.the.lines.from.the.
88a40 67 65 6e 65 72 61 74 65 64 20 4c 4c 56 4d 20 49 52 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 generated.LLVM.IR:.......</p>...
88a60 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 6c 6c 76 6d 22 3e 40 30 20 3d ....<pre><code.class="llvm">@0.=
88a80 20 69 6e 74 65 72 6e 61 6c 20 75 6e 6e 61 6d 65 64 5f 61 64 64 72 20 63 6f 6e 73 74 61 6e 74 20 .internal.unnamed_addr.constant.
88aa0 5b 32 35 20 78 20 69 33 32 5d 20 5b 69 33 32 20 32 2c 20 69 33 32 20 33 2c 20 69 33 32 20 35 2c [25.x.i32].[i32.2,.i32.3,.i32.5,
88ac0 20 69 33 32 20 37 2c 20 69 33 32 20 31 31 2c 20 69 33 32 20 31 33 2c 20 69 33 32 20 31 37 2c 20 .i32.7,.i32.11,.i32.13,.i32.17,.
88ae0 69 33 32 20 31 39 2c 20 69 33 32 20 32 33 2c 20 69 33 32 20 32 39 2c 20 69 33 32 20 33 31 2c 20 i32.19,.i32.23,.i32.29,.i32.31,.
88b00 69 33 32 20 33 37 2c 20 69 33 32 20 34 31 2c 20 69 33 32 20 34 33 2c 20 69 33 32 20 34 37 2c 20 i32.37,.i32.41,.i32.43,.i32.47,.
88b20 69 33 32 20 35 33 2c 20 69 33 32 20 35 39 2c 20 69 33 32 20 36 31 2c 20 69 33 32 20 36 37 2c 20 i32.53,.i32.59,.i32.61,.i32.67,.
88b40 69 33 32 20 37 31 2c 20 69 33 32 20 37 33 2c 20 69 33 32 20 37 39 2c 20 69 33 32 20 38 33 2c 20 i32.71,.i32.73,.i32.79,.i32.83,.
88b60 69 33 32 20 38 39 2c 20 69 33 32 20 39 37 5d 0a 40 31 20 3d 20 69 6e 74 65 72 6e 61 6c 20 75 6e i32.89,.i32.97].@1.=.internal.un
88b80 6e 61 6d 65 64 5f 61 64 64 72 20 63 6f 6e 73 74 61 6e 74 20 69 33 32 20 31 30 36 30 3c 2f 63 6f named_addr.constant.i32.1060</co
88ba0 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 de></pre>.......<p>.......Note.t
88bc0 68 61 74 20 77 65 20 64 69 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 hat.we.did.not.have.to.do.anythi
88be0 6e 67 20 73 70 65 63 69 61 6c 20 77 69 74 68 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 ng.special.with.the.syntax.of.th
88c00 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 ese.functions..For.example,.....
88c20 20 20 77 65 20 63 6f 75 6c 64 20 63 61 6c 6c 20 74 68 65 20 3c 63 6f 64 65 3e 73 75 6d 3c 2f 63 ..we.could.call.the.<code>sum</c
88c40 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 61 73 20 69 73 20 77 69 74 68 20 61 20 73 6c 69 63 65 ode>.function.as.is.with.a.slice
88c60 20 6f 66 20 6e 75 6d 62 65 72 73 20 77 68 6f 73 65 20 6c 65 6e 67 74 68 20 61 6e 64 20 76 61 6c .of.numbers.whose.length.and.val
88c80 75 65 73 20 77 65 72 65 0a 20 20 20 20 20 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e ues.were.......only.known.at.run
88ca0 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a -time........</p>...............
88cc0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 ......<h3.id="Generic-Data-Struc
88ce0 74 75 72 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 47 65 6e 65 72 69 63 2d 44 61 74 tures"><a.href="#toc-Generic-Dat
88d00 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e 47 65 6e 65 72 69 63 20 44 61 74 61 20 53 74 72 75 63 a-Structures">Generic.Data.Struc
88d20 74 75 72 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 tures</a>.<a.class="hdr".href="#
88d40 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e c2 a7 3c 2f 61 3e 3c Generic-Data-Structures">..</a><
88d60 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 75 73 65 73 20 63 /h3>........<p>.......Zig.uses.c
88d80 6f 6d 70 74 69 6d 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 74 6f 20 69 6d 70 6c 65 6d 65 6e omptime.capabilities.to.implemen
88da0 74 20 67 65 6e 65 72 69 63 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 77 69 74 68 6f 75 t.generic.data.structures.withou
88dc0 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 20 61 6e 79 0a 20 20 20 20 20 20 73 70 65 63 69 61 6c 2d t.introducing.any.......special-
88de0 63 61 73 65 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 case.syntax........</p>.......<p
88e00 3e 0a 09 09 09 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 61 20 67 65 6e >....Here.is.an.example.of.a.gen
88e20 65 72 69 63 20 3c 63 6f 64 65 3e 4c 69 73 74 3c 2f 63 6f 64 65 3e 20 64 61 74 61 20 73 74 72 75 eric.<code>List</code>.data.stru
88e40 63 74 75 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e cture........</p>.......<figure>
88e60 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 <figcaption.class="zig-cap"><cit
88e80 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 67 65 6e 65 72 69 63 5f 64 61 74 61 5f 73 74 72 75 e.class="file">generic_data_stru
88ea0 63 74 75 72 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 cture.zig</cite></figcaption><pr
88ec0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c e><code><span.class="tok-kw">fn<
88ee0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 /span>.<span.class="tok-fn">List
88f00 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d </span>(<span.class="tok-kw">com
88f20 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ptime</span>.T:.<span.class="tok
88f40 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">type</span>).<span.class=
88f60 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 "tok-type">type</span>.{.....<sp
88f80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">return</span>.
88fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 <span.class="tok-kw">struct</spa
88fc0 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 69 74 65 6d 73 3a 20 5b 5d 54 2c 0a 20 20 20 20 20 20 20 n>.{.........items:.[]T,........
88fe0 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 .len:.<span.class="tok-type">usi
89000 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ze</span>,.....};.}..<span.class
89020 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 67 65 6e 65 72 69 63 20 4c 69 ="tok-comment">//.The.generic.Li
89040 73 74 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 63 61 6e 20 62 65 20 69 6e 73 74 61 6e 74 st.data.structure.can.be.instant
89060 69 61 74 65 64 20 62 79 20 70 61 73 73 69 6e 67 20 69 6e 20 61 20 74 79 70 65 3a 3c 2f 73 70 61 iated.by.passing.in.a.type:</spa
89080 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 n>.<span.class="tok-kw">var</spa
890a0 6e 3e 20 62 75 66 66 65 72 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d n>.buffer:.[<span.class="tok-num
890c0 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">10</span>]<span.class="tok-
890e0 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">i32</span>.=.<span.class="
89100 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 tok-null">undefined</span>;.<spa
89120 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 n.class="tok-kw">var</span>.list
89140 20 3d 20 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 .=.List(<span.class="tok-type">i
89160 33 32 3c 2f 73 70 61 6e 3e 29 7b 0a 20 20 20 20 2e 69 74 65 6d 73 20 3d 20 26 61 6d 70 3b 62 75 32</span>){......items.=.&amp;bu
89180 66 66 65 72 2c 0a 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ffer,......len.=.<span.class="to
891a0 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 k-number">0</span>,.};</code></p
891c0 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 61 re></figure>.......<p>.......Tha
891e0 74 27 73 20 69 74 2e 20 49 74 27 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 t's.it..It's.a.function.that.ret
89200 75 72 6e 73 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c urns.an.anonymous.<code><span.cl
89220 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-kw">struct</span></code
89240 3e 2e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 65 72 72 >........For.the.purposes.of.err
89260 6f 72 20 6d 65 73 73 61 67 65 73 20 61 6e 64 20 64 65 62 75 67 67 69 6e 67 2c 20 5a 69 67 20 69 or.messages.and.debugging,.Zig.i
89280 6e 66 65 72 73 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e nfers.the.name.......<code><span
892a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4c 69 73 74 28 69 33 32 29 .class="tok-str">&quot;List(i32)
892c0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 74 68 65 20 66 75 &quot;</span></code>.from.the.fu
892e0 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 61 6e 64 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 76 6f 6b nction.name.and.parameters.invok
89300 65 64 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 61 6e 6f 6e 79 ed.when.creating.......the.anony
89320 6d 6f 75 73 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 mous.struct........</p>.......<p
89340 3e 0a 20 20 20 20 20 20 54 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 67 69 76 65 20 61 20 74 79 70 >.......To.explicitly.give.a.typ
89360 65 20 61 20 6e 61 6d 65 2c 20 77 65 20 61 73 73 69 67 6e 20 69 74 20 74 6f 20 61 20 63 6f 6e 73 e.a.name,.we.assign.it.to.a.cons
89380 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c tant........</p>.......<figure><
893a0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 figcaption.class="zig-cap"><cite
893c0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 6e 6f 6e 79 6d 6f 75 73 5f 73 74 72 75 63 74 5f 6e .class="file">anonymous_struct_n
893e0 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ame.zig</cite></figcaption><pre>
89400 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 <code><span.class="tok-kw">const
89420 3c 2f 73 70 61 6e 3e 20 4e 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.Node.=.<span.class="tok-
89440 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6e 65 78 74 3a 20 3f 2a kw">struct</span>.{.....next:.?*
89460 4e 6f 64 65 2c 0a 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 Node,.....name:.[]<span.class="t
89480 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">const</span>.<span.class=
894a0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 "tok-type">u8</span>,.};..<span.
894c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 5f 61 class="tok-kw">var</span>.node_a
894e0 20 3d 20 4e 6f 64 65 7b 0a 20 20 20 20 2e 6e 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 .=.Node{......next.=.<span.class
89500 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 6e 61 ="tok-null">null</span>,......na
89520 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 me.=.<span.class="tok-str">&quot
89540 3b 4e 6f 64 65 20 41 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 ;Node.A&quot;</span>,.};..<span.
89560 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 5f 62 class="tok-kw">var</span>.node_b
89580 20 3d 20 4e 6f 64 65 7b 0a 20 20 20 20 2e 6e 65 78 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 5f 61 .=.Node{......next.=.&amp;node_a
895a0 2c 0a 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ,......name.=.<span.class="tok-s
895c0 74 72 22 3e 26 71 75 6f 74 3b 4e 6f 64 65 20 42 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 7d tr">&quot;Node.B&quot;</span>,.}
895e0 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 ;</code></pre></figure>.......<p
89600 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 3c 63 6f >.......In.this.example,.the.<co
89620 64 65 3e 4e 6f 64 65 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 72 65 66 65 72 73 20 74 6f 20 de>Node</code>.struct.refers.to.
89640 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 62 65 63 61 75 73 65 itself........This.works.because
89660 20 61 6c 6c 20 74 6f 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 .all.top.level.declarations.are.
89680 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 2e 0a 20 20 20 20 20 20 41 73 20 6c 6f 6e 67 order-independent........As.long
896a0 20 61 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20 64 65 74 65 72 6d 69 6e 65 20 74 .as.the.compiler.can.determine.t
896c0 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 73 74 72 75 63 74 2c 20 69 74 20 69 73 20 66 72 65 he.size.of.the.struct,.it.is.fre
896e0 65 20 74 6f 20 72 65 66 65 72 20 74 6f 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 49 6e 20 74 e.to.refer.to.itself........In.t
89700 68 69 73 20 63 61 73 65 2c 20 3c 63 6f 64 65 3e 4e 6f 64 65 3c 2f 63 6f 64 65 3e 20 72 65 66 65 his.case,.<code>Node</code>.refe
89720 72 73 20 74 6f 20 69 74 73 65 6c 66 20 61 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 rs.to.itself.as.a.pointer,.which
89740 20 68 61 73 20 61 0a 20 20 20 20 20 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 73 69 7a 65 20 61 .has.a.......well-defined.size.a
89760 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 20 73 6f 20 69 74 20 77 6f 72 6b 73 20 66 69 6e 65 t.compile.time,.so.it.works.fine
89780 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ........</p>..............<h3.id
897a0 3d 22 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e 3c 61 20 68 72 ="Case-Study-print-in-Zig"><a.hr
897c0 65 66 3d 22 23 74 6f 63 2d 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 ef="#toc-Case-Study-print-in-Zig
897e0 22 3e 43 61 73 65 20 53 74 75 64 79 3a 20 70 72 69 6e 74 20 69 6e 20 5a 69 67 3c 2f 61 3e 20 3c ">Case.Study:.print.in.Zig</a>.<
89800 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 65 2d 53 74 75 64 79 2d a.class="hdr".href="#Case-Study-
89820 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 print-in-Zig">..</a></h3>.......
89840 20 3c 70 3e 0a 20 20 20 20 20 20 50 75 74 74 69 6e 67 20 61 6c 6c 20 6f 66 20 74 68 69 73 20 74 .<p>.......Putting.all.of.this.t
89860 6f 67 65 74 68 65 72 2c 20 6c 65 74 27 73 20 73 65 65 20 68 6f 77 20 3c 63 6f 64 65 3e 70 72 69 ogether,.let's.see.how.<code>pri
89880 6e 74 3c 2f 63 6f 64 65 3e 20 77 6f 72 6b 73 20 69 6e 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f nt</code>.works.in.Zig........</
898a0 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 p>.......<figure><figcaption.cla
898c0 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e ss="zig-cap"><cite.class="file">
898e0 70 72 69 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 print.zig</cite></figcaption><pr
89900 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
89920 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 st</span>.print.=.<span.class="t
89940 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
89960 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
89980 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 </span>).debug.print;..<span.cla
899a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 ss="tok-kw">const</span>.a_numbe
899c0 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 r:.<span.class="tok-type">i32</s
899e0 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e pan>.=.<span.class="tok-number">
89a00 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 1234</span>;.<span.class="tok-kw
89a20 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 ">const</span>.a_string.=.<span.
89a40 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f class="tok-str">&quot;foobar&quo
89a60 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 t;</span>;..<span.class="tok-kw"
89a80 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >pub</span>.<span.class="tok-kw"
89aa0 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e >fn</span>.<span.class="tok-fn">
89ac0 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 main</span>().<span.class="tok-t
89ae0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 ype">void</span>.{.....print(<sp
89b00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 an.class="tok-str">&quot;here.is
89b20 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 .a.string:.'{s}'.here.is.a.numbe
89b40 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 61 5f 73 74 72 69 6e 67 r:.{}\n&quot;</span>,..{a_string
89b60 2c 20 61 5f 6e 75 6d 62 65 72 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 ,.a_number});.}</code></pre></fi
89b80 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 gure><figure><figcaption.class="
89ba0 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 shell-cap">Shell</figcaption><pr
89bc0 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 70 72 69 e><samp>$.<kbd>zig.build-exe.pri
89be0 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 70 72 69 6e 74 3c 2f 6b 62 64 nt.zig</kbd>.$.<kbd>./print</kbd
89c00 3e 0a 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 66 6f 6f 62 61 72 27 20 68 65 72 >.here.is.a.string:.'foobar'.her
89c20 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 31 32 33 34 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 e.is.a.number:.1234.</samp></pre
89c40 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 65 74 27 ></figure>........<p>.......Let'
89c60 73 20 63 72 61 63 6b 20 6f 70 65 6e 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 s.crack.open.the.implementation.
89c80 6f 66 20 74 68 69 73 20 61 6e 64 20 73 65 65 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 3a 0a 20 20 of.this.and.see.how.it.works:...
89ca0 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 ....</p>........<figure><figcapt
89cc0 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
89ce0 22 66 69 6c 65 22 3e 70 6f 63 5f 70 72 69 6e 74 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f "file">poc_print_fn.zig</cite></
89d00 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><code><span.clas
89d20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 72 69 74 65 72 20 3d s="tok-kw">const</span>.Writer.=
89d40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 .<span.class="tok-kw">struct</sp
89d60 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 an>.{.....<span.class="tok-comme
89d80 6e 74 22 3e 2f 2f 2f 20 43 61 6c 6c 73 20 70 72 69 6e 74 20 61 6e 64 20 74 68 65 6e 20 66 6c 75 nt">///.Calls.print.and.then.flu
89da0 73 68 65 73 20 74 68 65 20 62 75 66 66 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 shes.the.buffer.</span>.....<spa
89dc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 n.class="tok-kw">pub</span>.<spa
89de0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e n.class="tok-kw">fn</span>.<span
89e00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 6c .class="tok-fn">print</span>(sel
89e20 66 3a 20 2a 57 72 69 74 65 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 f:.*Writer,.<span.class="tok-kw"
89e40 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 6f 72 6d 61 74 3a 20 5b 5d 3c 73 70 61 6e >comptime</span>.format:.[]<span
89e60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 .class="tok-kw">const</span>.<sp
89e80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 an.class="tok-type">u8</span>,.a
89ea0 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 rgs:.<span.class="tok-kw">anytyp
89ec0 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 e</span>).<span.class="tok-type"
89ee0 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >anyerror</span>!<span.class="to
89f00 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 k-type">void</span>.{.........<s
89f20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
89f40 53 74 61 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 State.=.<span.class="tok-kw">enu
89f60 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 2c 0a 20 20 m</span>.{.............start,...
89f80 20 20 20 20 20 20 20 20 20 20 6f 70 65 6e 5f 62 72 61 63 65 2c 0a 20 20 20 20 20 20 20 20 20 20 ..........open_brace,...........
89fa0 20 20 63 6c 6f 73 65 5f 62 72 61 63 65 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 ..close_brace,.........};.......
89fc0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 ...<span.class="tok-kw">comptime
89fe0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 </span>.<span.class="tok-kw">var
8a000 3c 2f 73 70 61 6e 3e 20 73 74 61 72 74 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.start_index:.<span.class
8a020 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ="tok-type">usize</span>.=.<span
8a040 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 .class="tok-number">0</span>;...
8a060 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 ......<span.class="tok-kw">compt
8a080 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ime</span>.<span.class="tok-kw">
8a0a0 76 61 72 3c 2f 73 70 61 6e 3e 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 0a var</span>.state.=.State.start;.
8a0c0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d ........<span.class="tok-kw">com
8a0e0 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ptime</span>.<span.class="tok-kw
8a100 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 65 78 74 5f 61 72 67 3a 20 3c 73 70 61 6e 20 63 6c 61 ">var</span>.next_arg:.<span.cla
8a120 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 ss="tok-type">usize</span>.=.<sp
8a140 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a an.class="tok-number">0</span>;.
8a160 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e .........<span.class="tok-kw">in
8a180 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 line</span>.<span.class="tok-kw"
8a1a0 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 66 6f 72 6d 61 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 >for</span>.(format,.<span.class
8a1c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 63 2c 20 69 7c ="tok-number">0</span>..).|c,.i|
8a1e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .{.............<span.class="tok-
8a200 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 74 61 74 65 29 20 7b 0a 20 20 20 20 kw">switch</span>.(state).{.....
8a220 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 73 74 61 72 74 20 3d 26 67 74 3b 20 3c 73 ............State.start.=&gt;.<s
8a240 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e pan.class="tok-kw">switch</span>
8a260 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e .(c).{.....................<span
8a280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7b 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 .class="tok-str">'{'</span>.=&gt
8a2a0 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 ;.{.........................<spa
8a2c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 n.class="tok-kw">if</span>.(star
8a2e0 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t_index.&lt;.i).<span.class="tok
8a300 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 -kw">try</span>.self.write(forma
8a320 74 5b 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 t[start_index..i]);.............
8a340 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 6f 70 65 6e 5f 62 ............state.=.State.open_b
8a360 72 61 63 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 race;.....................},....
8a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .................<span.class="to
8a3a0 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 k-str">'}'</span>.=&gt;.{.......
8a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..................<span.class="t
8a3e0 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c ok-kw">if</span>.(start_index.&l
8a400 74 3b 20 69 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f t;.i).<span.class="tok-kw">try</
8a420 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 74 5f 69 6e span>.self.write(format[start_in
8a440 64 65 78 2e 2e 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dex..i]);.......................
8a460 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 63 6c 6f 73 65 5f 62 72 61 63 65 3b 0a 20 20 20 ..state.=.State.close_brace;....
8a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................},.............
8a4a0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 ........<span.class="tok-kw">els
8a4c0 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e</span>.=&gt;.{},..............
8a4e0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 6f 70 65 6e ...},.................State.open
8a500 5f 62 72 61 63 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 _brace.=&gt;.<span.class="tok-kw
8a520 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ">switch</span>.(c).{...........
8a540 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ..........<span.class="tok-str">
8a560 27 7b 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 '{'</span>.=&gt;.{..............
8a580 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 0a ...........state.=.State.start;.
8a5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 69 6e ........................start_in
8a5c0 64 65 78 20 3d 20 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a dex.=.i;.....................},.
8a5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ....................<span.class=
8a600 22 74 6f 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 "tok-str">'}'</span>.=&gt;.{....
8a620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .....................<span.class
8a640 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 ="tok-kw">try</span>.self.printV
8a660 61 6c 75 65 28 61 72 67 73 5b 6e 65 78 74 5f 61 72 67 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 alue(args[next_arg]);...........
8a680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 5f 61 72 67 20 2b 3d 20 3c 73 70 61 6e 20 ..............next_arg.+=.<span.
8a6a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 class="tok-number">1</span>;....
8a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 .....................state.=.Sta
8a6e0 74 65 2e 73 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 te.start;.......................
8a700 20 20 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 69 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..start_index.=.i.+.<span.class=
8a720 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 "tok-number">1</span>;..........
8a740 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........},...................
8a760 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 73 27 3c 2f 73 70 61 ..<span.class="tok-str">'s'</spa
8a780 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n>.=&gt;.{......................
8a7a0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 ...<span.class="tok-kw">continue
8a7c0 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a </span>;.....................},.
8a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ....................<span.class=
8a800 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e "tok-kw">else</span>.=&gt;.<span
8a820 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 .class="tok-builtin">@compileErr
8a840 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e or</span>(<span.class="tok-str">
8a860 26 71 75 6f 74 3b 55 6e 6b 6e 6f 77 6e 20 66 6f 72 6d 61 74 20 63 68 61 72 61 63 74 65 72 3a 20 &quot;Unknown.format.character:.
8a880 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 &quot;</span>.++.[<span.class="t
8a8a0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-number">1</span>]<span.class=
8a8c0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 63 7d 29 2c 0a 20 20 20 20 20 20 "tok-type">u8</span>{c}),.......
8a8e0 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 ..........},.................Sta
8a900 74 65 2e 63 6c 6f 73 65 5f 62 72 61 63 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 te.close_brace.=&gt;.<span.class
8a920 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 ="tok-kw">switch</span>.(c).{...
8a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..................<span.class="t
8a960 6f 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 ok-str">'}'</span>.=&gt;.{......
8a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 ...................state.=.State
8a9a0 2e 73 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .start;.........................
8a9c0 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 start_index.=.i;................
8a9e0 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 .....},.....................<spa
8aa00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 n.class="tok-kw">else</span>.=&g
8aa20 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f t;.<span.class="tok-builtin">@co
8aa40 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mpileError</span>(<span.class="t
8aa60 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 53 69 6e 67 6c 65 20 27 7d 27 20 65 6e 63 6f 75 6e 74 ok-str">&quot;Single.'}'.encount
8aa80 65 72 65 64 20 69 6e 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 ered.in.format.string&quot;</spa
8aaa0 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 n>),.................},.........
8aac0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ....}.........}.........<span.cl
8aae0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 ass="tok-kw">comptime</span>.{..
8ab00 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ...........<span.class="tok-kw">
8ab20 69 66 3c 2f 73 70 61 6e 3e 20 28 61 72 67 73 2e 6c 65 6e 20 21 3d 20 6e 65 78 74 5f 61 72 67 29 if</span>.(args.len.!=.next_arg)
8ab40 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .{.................<span.class="
8ab60 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e tok-builtin">@compileError</span
8ab80 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e >(<span.class="tok-str">&quot;Un
8aba0 75 73 65 64 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 used.arguments&quot;</span>);...
8abc0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ..........}.............<span.cl
8abe0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 74 65 20 21 3d ass="tok-kw">if</span>.(state.!=
8ac00 20 53 74 61 74 65 2e 73 74 61 72 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .State.start).{.................
8ac20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 <span.class="tok-builtin">@compi
8ac40 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d leError</span>(<span.class="tok-
8ac60 73 74 72 22 3e 26 71 75 6f 74 3b 49 6e 63 6f 6d 70 6c 65 74 65 20 66 6f 72 6d 61 74 20 73 74 72 str">&quot;Incomplete.format.str
8ac80 69 6e 67 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 66 6f 72 6d 61 74 29 3b 0a 20 ing:.&quot;</span>.++.format);..
8aca0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 3c ...........}.........}.........<
8acc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 span.class="tok-kw">if</span>.(s
8ace0 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 66 6f 72 6d 61 74 2e 6c 65 6e 29 20 7b 0a 20 20 tart_index.&lt;.format.len).{...
8ad00 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ..........<span.class="tok-kw">t
8ad20 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 ry</span>.self.write(format[star
8ad40 74 5f 69 6e 64 65 78 2e 2e 66 6f 72 6d 61 74 2e 6c 65 6e 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d t_index..format.len]);.........}
8ad60 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 .........<span.class="tok-kw">tr
8ad80 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 66 6c 75 73 68 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 y</span>.self.flush();.....}....
8ada0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e ..<span.class="tok-kw">fn</span>
8adc0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 3c 2f 73 70 61 .<span.class="tok-fn">write</spa
8ade0 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 5b 5d 3c 73 70 61 6e n>(self:.*Writer,.value:.[]<span
8ae00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 .class="tok-kw">const</span>.<sp
8ae20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 an.class="tok-type">u8</span>).!
8ae40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 <span.class="tok-type">void</spa
8ae60 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 0a 20 20 20 20 20 20 20 20 5f n>.{........._.=.self;........._
8ae80 20 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .=.value;.....}.....<span.class=
8aea0 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d "tok-kw">pub</span>.<span.class=
8aec0 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "tok-kw">fn</span>.<span.class="
8aee0 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 tok-fn">printValue</span>(self:.
8af00 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b *Writer,.value:.<span.class="tok
8af20 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 -kw">anytype</span>).!<span.clas
8af40 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 s="tok-type">void</span>.{......
8af60 20 20 20 5f 20 3d 20 73 65 6c 66 3b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 0a ..._.=.self;........._.=.value;.
8af80 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ....}.....<span.class="tok-kw">f
8afa0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6c n</span>.<span.class="tok-fn">fl
8afc0 75 73 68 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 29 20 21 3c 73 70 61 6e ush</span>(self:.*Writer).!<span
8afe0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a .class="tok-type">void</span>.{.
8b000 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 0a 20 20 20 20 7d 0a 7d 3b 3c 2f 63 6f 64 65 ........_.=.self;.....}.};</code
8b020 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ></pre></figure>.......<p>......
8b040 20 54 68 69 73 20 69 73 20 61 20 70 72 6f 6f 66 20 6f 66 20 63 6f 6e 63 65 70 74 20 69 6d 70 6c .This.is.a.proof.of.concept.impl
8b060 65 6d 65 6e 74 61 74 69 6f 6e 3b 20 74 68 65 20 61 63 74 75 61 6c 20 66 75 6e 63 74 69 6f 6e 20 ementation;.the.actual.function.
8b080 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 68 61 73 20 6d 6f 72 65 in.the.standard.library.has.more
8b0a0 0a 20 20 20 20 20 20 66 6f 72 6d 61 74 74 69 6e 67 20 63 61 70 61 62 69 6c 69 74 69 65 73 2e 0a .......formatting.capabilities..
8b0c0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 ......</p>.......<p>.......Note.
8b0e0 74 68 61 74 20 74 68 69 73 20 69 73 20 6e 6f 74 20 68 61 72 64 2d 63 6f 64 65 64 20 69 6e 74 6f that.this.is.not.hard-coded.into
8b100 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 3b 20 74 68 69 73 20 69 73 20 75 73 65 72 6c .the.Zig.compiler;.this.is.userl
8b120 61 6e 64 20 63 6f 64 65 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 and.code.in.the.standard.library
8b140 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 ........</p>.......<p>.......Whe
8b160 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a 65 64 20 66 72 6f 6d n.this.function.is.analyzed.from
8b180 20 6f 75 72 20 65 78 61 6d 70 6c 65 20 63 6f 64 65 20 61 62 6f 76 65 2c 20 5a 69 67 20 70 61 72 .our.example.code.above,.Zig.par
8b1a0 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 tially.evaluates.the.function...
8b1c0 20 20 20 20 61 6e 64 20 65 6d 69 74 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 ....and.emits.a.function.that.ac
8b1e0 74 75 61 6c 6c 79 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f tually.looks.like.this:.......</
8b200 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 p>.......<figure><figcaption.cla
8b220 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e ss="zig-cap"><cite.class="file">
8b240 45 6d 69 74 74 65 64 20 70 72 69 6e 74 20 46 75 6e 63 74 69 6f 6e 3c 2f 63 69 74 65 3e 3c 2f 66 Emitted.print.Function</cite></f
8b260 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><code><span.class
8b280 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ="tok-kw">pub</span>.<span.class
8b2a0 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="tok-kw">fn</span>.<span.class=
8b2c0 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 "tok-fn">print</span>(self:.*Wri
8b2e0 74 65 72 2c 20 61 72 67 30 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ter,.arg0:.[]<span.class="tok-kw
8b300 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">const</span>.<span.class="tok-
8b320 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 63 6c 61 type">u8</span>,.arg1:.<span.cla
8b340 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e ss="tok-type">i32</span>).!<span
8b360 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a .class="tok-type">void</span>.{.
8b380 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
8b3a0 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.self.write(<span.class="tok-
8b3c0 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 26 71 str">&quot;here.is.a.string:.'&q
8b3e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>);.....<span.class="t
8b400 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 ok-kw">try</span>.self.printValu
8b420 65 28 61 72 67 30 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 e(arg0);.....<span.class="tok-kw
8b440 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c ">try</span>.self.write(<span.cl
8b460 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 20 68 65 72 65 20 69 73 20 61 20 ass="tok-str">&quot;'.here.is.a.
8b480 6e 75 6d 62 65 72 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 number:.&quot;</span>);.....<spa
8b4a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 n.class="tok-kw">try</span>.self
8b4c0 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 31 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .printValue(arg1);.....<span.cla
8b4e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 ss="tok-kw">try</span>.self.writ
8b500 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e e(<span.class="tok-str">&quot;\n
8b520 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>);.....<span.class=
8b540 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 66 6c 75 73 68 28 29 "tok-kw">try</span>.self.flush()
8b560 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 ;.}</code></pre></figure>.......
8b580 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 63 6f 64 65 <p>.......<code>printValue</code
8b5a0 3e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 70 61 72 >.is.a.function.that.takes.a.par
8b5c0 61 6d 65 74 65 72 20 6f 66 20 61 6e 79 20 74 79 70 65 2c 20 61 6e 64 20 64 6f 65 73 20 64 69 66 ameter.of.any.type,.and.does.dif
8b5e0 66 65 72 65 6e 74 20 74 68 69 6e 67 73 20 64 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e ferent.things.depending.......on
8b600 20 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 .the.type:.......</p>.......<fig
8b620 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
8b640 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 63 5f 70 72 69 6e 74 56 61 6c 75 <cite.class="file">poc_printValu
8b660 65 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 e_fn.zig</cite></figcaption><pre
8b680 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
8b6a0 74 3c 2f 73 70 61 6e 3e 20 57 72 69 74 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.Writer.=.<span.class="t
8b6c0 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e ok-kw">struct</span>.{.....<span
8b6e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e .class="tok-kw">pub</span>.<span
8b700 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 .class="tok-kw">fn</span>.<span.
8b720 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 6e 3e class="tok-fn">printValue</span>
8b740 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 (self:.*Writer,.value:.<span.cla
8b760 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 ss="tok-kw">anytype</span>).!<sp
8b780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 an.class="tok-type">void</span>.
8b7a0 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 {.........<span.class="tok-kw">s
8b7c0 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 witch</span>.(<span.class="tok-b
8b7e0 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 uiltin">@typeInfo</span>(<span.c
8b800 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e lass="tok-builtin">@TypeOf</span
8b820 3e 28 76 61 6c 75 65 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 49 6e 74 20 3d 26 >(value))).{..............Int.=&
8b840 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 gt;.{.................<span.clas
8b860 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 s="tok-kw">return</span>.self.wr
8b880 69 74 65 49 6e 74 28 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 iteInt(value);.............},...
8b8a0 20 20 20 20 20 20 20 20 20 20 2e 46 6c 6f 61 74 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 ...........Float.=&gt;.{........
8b8c0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 .........<span.class="tok-kw">re
8b8e0 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 46 6c 6f 61 74 28 76 61 6c 75 turn</span>.self.writeFloat(valu
8b900 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e e);.............},..............
8b920 50 6f 69 6e 74 65 72 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Pointer.=&gt;.{.................
8b940 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 <span.class="tok-kw">return</spa
8b960 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 n>.self.write(value);...........
8b980 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ..},.............<span.class="to
8b9a0 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 k-kw">else</span>.=&gt;.{.......
8b9c0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ..........<span.class="tok-built
8b9e0 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 in">@compileError</span>(<span.c
8ba00 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 61 62 6c 65 20 74 6f 20 70 lass="tok-str">&quot;Unable.to.p
8ba20 72 69 6e 74 20 74 79 70 65 20 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 3c 73 70 61 rint.type.'&quot;</span>.++.<spa
8ba40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c n.class="tok-builtin">@typeName<
8ba60 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 /span>(<span.class="tok-builtin"
8ba80 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 29 20 2b 2b 20 3c 73 70 61 6e >@TypeOf</span>(value)).++.<span
8baa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 3c 2f .class="tok-str">&quot;'&quot;</
8bac0 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 7d span>);.............},.........}
8bae0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .....}......<span.class="tok-kw"
8bb00 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e >fn</span>.<span.class="tok-fn">
8bb20 77 72 69 74 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 write</span>(self:.*Writer,.valu
8bb40 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c e:.[]<span.class="tok-kw">const<
8bb60 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 /span>.<span.class="tok-type">u8
8bb80 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 </span>).!<span.class="tok-type"
8bba0 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b >void</span>.{........._.=.self;
8bbc0 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 ........._.=.value;.....}.....<s
8bbe0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 pan.class="tok-kw">fn</span>.<sp
8bc00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 49 6e 74 3c 2f 73 70 61 6e an.class="tok-fn">writeInt</span
8bc20 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c >(self:.*Writer,.value:.<span.cl
8bc40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 ass="tok-kw">anytype</span>).!<s
8bc60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e pan.class="tok-type">void</span>
8bc80 20 7b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 0a 20 20 20 20 20 20 20 20 5f 20 3d .{........._.=.self;........._.=
8bca0 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .value;.....}.....<span.class="t
8bcc0 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ok-kw">fn</span>.<span.class="to
8bce0 6b 2d 66 6e 22 3e 77 72 69 74 65 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 k-fn">writeFloat</span>(self:.*W
8bd00 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b riter,.value:.<span.class="tok-k
8bd20 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">anytype</span>).!<span.class=
8bd40 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 "tok-type">void</span>.{........
8bd60 20 5f 20 3d 20 73 65 6c 66 3b 0a 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 0a 20 20 ._.=.self;........._.=.value;...
8bd80 20 20 7d 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 ..}.};</code></pre></figure>....
8bda0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 64 20 6e 6f 77 2c 20 77 68 61 74 20 68 61 70 70 65 ...<p>.......And.now,.what.happe
8bdc0 6e 73 20 69 66 20 77 65 20 67 69 76 65 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 ns.if.we.give.too.many.arguments
8bde0 20 74 6f 20 3c 63 6f 64 65 3e 70 72 69 6e 74 3c 2f 63 6f 64 65 3e 3f 0a 20 20 20 20 20 20 3c 2f .to.<code>print</code>?.......</
8be00 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 p>.......<figure><figcaption.cla
8be20 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e ss="zig-cap"><cite.class="file">
8be40 74 65 73 74 5f 70 72 69 6e 74 5f 74 6f 6f 5f 6d 61 6e 79 5f 61 72 67 73 2e 7a 69 67 3c 2f 63 69 test_print_too_many_args.zig</ci
8be60 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
8be80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 .class="tok-kw">const</span>.pri
8bea0 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 nt.=.<span.class="tok-builtin">@
8bec0 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 import</span>(<span.class="tok-s
8bee0 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 tr">&quot;std&quot;</span>).debu
8bf00 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 g.print;..<span.class="tok-kw">c
8bf20 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 onst</span>.a_number:.<span.clas
8bf40 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 s="tok-type">i32</span>.=.<span.
8bf60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a class="tok-number">1234</span>;.
8bf80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
8bfa0 3e 20 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >.a_string.=.<span.class="tok-st
8bfc0 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c r">&quot;foobar&quot;</span>;..<
8bfe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 span.class="tok-kw">test</span>.
8c000 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 72 69 6e <span.class="tok-str">&quot;prin
8c020 74 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e t.too.many.arguments&quot;</span
8c040 3e 20 7b 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 >.{.....print(<span.class="tok-s
8c060 74 72 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d tr">&quot;here.is.a.string:.'{s}
8c080 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f '.here.is.a.number:.{}\n&quot;</
8c0a0 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 61 5f 73 74 72 69 6e 67 2c 0a 20 20 20 20 span>,..{.........a_string,.....
8c0c0 20 20 20 20 61 5f 6e 75 6d 62 65 72 2c 0a 20 20 20 20 20 20 20 20 61 5f 6e 75 6d 62 65 72 2c 0a ....a_number,.........a_number,.
8c0e0 20 20 20 20 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c ....});.}</code></pre></figure><
8c100 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d figure><figcaption.class="shell-
8c120 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d cap">Shell</figcaption><pre><sam
8c140 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 70 72 69 6e 74 5f 74 6f 6f p>$.<kbd>zig.test.test_print_too
8c160 5f 6d 61 6e 79 5f 61 72 67 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 _many_args.zig</kbd>.<span.class
8c180 3d 22 73 67 72 2d 31 6d 22 3e 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 ="sgr-1m">/home/ci/actions-runne
8c1a0 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c r/_work/zig-bootstrap/out/host/l
8c1c0 69 62 2f 7a 69 67 2f 73 74 64 2f 66 6d 74 2e 7a 69 67 3a 32 30 33 3a 31 38 3a 20 3c 2f 73 70 61 ib/zig/std/fmt.zig:203:18:.</spa
8c1e0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c n><span.class="sgr-31m">error:.<
8c200 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 75 73 65 /span><span.class="sgr-1m">unuse
8c220 64 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 27 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a d.argument.in.'here.is.a.string:
8c240 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 0a 20 20 20 20 .'{s}'.here.is.a.number:.{}.....
8c260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 ....................'.</span>...
8c2c0 20 20 20 20 20 20 20 20 20 31 20 3d 26 67 74 3b 20 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 28 26 .........1.=&gt;.@compileError(&
8c2e0 71 75 6f 74 3b 75 6e 75 73 65 64 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 27 26 71 75 6f 74 3b 20 quot;unused.argument.in.'&quot;.
8c300 2b 2b 20 66 6d 74 20 2b 2b 20 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 29 2c 0a 20 20 20 20 20 20 ++.fmt.++.&quot;'&quot;),.......
8c320 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 ...........<span.class="sgr-32m"
8c340 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e >^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8c360 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 ~~~~~~~~~~~~~~~~~~~~.</span><spa
8c380 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 0a n.class="sgr-2m">referenced.by:.
8c3a0 20 20 20 20 70 72 69 6e 74 5f 5f 61 6e 6f 6e 5f 32 35 36 34 3a 20 2f 68 6f 6d 65 2f 63 69 2f 61 ....print__anon_2564:./home/ci/a
8c3c0 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ctions-runner/_work/zig-bootstra
8c3e0 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 69 6f 2f 57 72 69 74 65 72 p/out/host/lib/zig/std/io/Writer
8c400 2e 7a 69 67 3a 32 33 3a 32 36 0a 20 20 20 20 70 72 69 6e 74 3a 20 2f 68 6f 6d 65 2f 63 69 2f 61 .zig:23:26.....print:./home/ci/a
8c420 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ctions-runner/_work/zig-bootstra
8c440 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 69 6f 2e 7a 69 67 3a 33 32 p/out/host/lib/zig/std/io.zig:32
8c460 34 3a 34 37 0a 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 4:47.....remaining.reference.tra
8c480 63 65 73 20 68 69 64 64 65 6e 3b 20 75 73 65 20 27 2d 66 72 65 66 65 72 65 6e 63 65 2d 74 72 61 ces.hidden;.use.'-freference-tra
8c4a0 63 65 27 20 74 6f 20 73 65 65 20 61 6c 6c 20 72 65 66 65 72 65 6e 63 65 20 74 72 61 63 65 73 0a ce'.to.see.all.reference.traces.
8c4c0 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
8c4e0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 67 69 76 65 73 20 70 72 6f 67 72 61 6d .....<p>.......Zig.gives.program
8c500 6d 65 72 73 20 74 68 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f 74 65 63 74 mers.the.tools.needed.to.protect
8c520 20 74 68 65 6d 73 65 6c 76 65 73 20 61 67 61 69 6e 73 74 20 74 68 65 69 72 20 6f 77 6e 20 6d 69 .themselves.against.their.own.mi
8c540 73 74 61 6b 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 stakes........</p>.......<p>....
8c560 20 20 20 5a 69 67 20 64 6f 65 73 6e 27 74 20 63 61 72 65 20 77 68 65 74 68 65 72 20 74 68 65 20 ...Zig.doesn't.care.whether.the.
8c580 66 6f 72 6d 61 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 format.argument.is.a.string.lite
8c5a0 72 61 6c 2c 0a 20 20 20 20 20 20 6f 6e 6c 79 20 74 68 61 74 20 69 74 20 69 73 20 61 20 63 6f 6d ral,.......only.that.it.is.a.com
8c5c0 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 74 68 61 74 20 63 61 6e 20 62 pile-time.known.value.that.can.b
8c5e0 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 20 3c 63 6f 64 65 3e 5b 5d 3c 73 70 61 6e 20 63 6c 61 e.coerced.to.a.<code>[]<span.cla
8c600 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ss="tok-kw">const</span>.<span.c
8c620 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e lass="tok-type">u8</span></code>
8c640 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 :.......</p>.......<figure><figc
8c660 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
8c680 73 73 3d 22 66 69 6c 65 22 3e 70 72 69 6e 74 5f 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 5f 66 ss="file">print_comptime-known_f
8c6a0 6f 72 6d 61 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 ormat.zig</cite></figcaption><pr
8c6c0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
8c6e0 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 st</span>.print.=.<span.class="t
8c700 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
8c720 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
8c740 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 </span>).debug.print;..<span.cla
8c760 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 ss="tok-kw">const</span>.a_numbe
8c780 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 r:.<span.class="tok-type">i32</s
8c7a0 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e pan>.=.<span.class="tok-number">
8c7c0 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 1234</span>;.<span.class="tok-kw
8c7e0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 ">const</span>.a_string.=.<span.
8c800 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f class="tok-str">&quot;foobar&quo
8c820 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e t;</span>;.<span.class="tok-kw">
8c840 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6d 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.fmt.=.<span.class="
8c860 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a tok-str">&quot;here.is.a.string:
8c880 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 .'{s}'.here.is.a.number:.{}\n&qu
8c8a0 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ot;</span>;..<span.class="tok-kw
8c8c0 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">pub</span>.<span.class="tok-kw
8c8e0 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 ">fn</span>.<span.class="tok-fn"
8c900 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >main</span>().<span.class="tok-
8c920 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 70 72 69 6e 74 28 66 6d type">void</span>.{.....print(fm
8c940 74 2c 20 2e 7b 61 5f 73 74 72 69 6e 67 2c 20 61 5f 6e 75 6d 62 65 72 7d 29 3b 0a 7d 3c 2f 63 6f t,..{a_string,.a_number});.}</co
8c960 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
8c980 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
8c9a0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
8c9c0 62 75 69 6c 64 2d 65 78 65 20 70 72 69 6e 74 5f 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 5f 66 build-exe.print_comptime-known_f
8c9e0 6f 72 6d 61 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 70 72 69 6e 74 5f 63 ormat.zig</kbd>.$.<kbd>./print_c
8ca00 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 5f 66 6f 72 6d 61 74 3c 2f 6b 62 64 3e 0a 68 65 72 65 20 omptime-known_format</kbd>.here.
8ca20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 66 6f 6f 62 61 72 27 20 68 65 72 65 20 69 73 20 61 20 is.a.string:.'foobar'.here.is.a.
8ca40 6e 75 6d 62 65 72 3a 20 31 32 33 34 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 number:.1234.</samp></pre></figu
8ca60 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 66 re>.......<p>.......This.works.f
8ca80 69 6e 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ine........</p>.......<p>.......
8caa0 5a 69 67 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 73 74 72 69 6e 67 Zig.does.not.special.case.string
8cac0 20 66 6f 72 6d 61 74 74 69 6e 67 20 69 6e 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 .formatting.in.the.compiler.and.
8cae0 69 6e 73 74 65 61 64 20 65 78 70 6f 73 65 73 20 65 6e 6f 75 67 68 20 70 6f 77 65 72 20 74 6f 20 instead.exposes.enough.power.to.
8cb00 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 69 73 0a 20 20 20 20 20 20 74 61 73 6b 20 69 6e 20 75 73 accomplish.this.......task.in.us
8cb20 65 72 6c 61 6e 64 2e 20 49 74 20 64 6f 65 73 20 73 6f 20 77 69 74 68 6f 75 74 20 69 6e 74 72 6f erland..It.does.so.without.intro
8cb40 64 75 63 69 6e 67 20 61 6e 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 20 6f 6e 20 74 6f 70 20 6f ducing.another.language.on.top.o
8cb60 66 20 5a 69 67 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 61 20 6d 61 63 72 6f 20 6c 61 6e f.Zig,.such.as.......a.macro.lan
8cb80 67 75 61 67 65 20 6f 72 20 61 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 6c 61 6e 67 75 61 67 65 guage.or.a.preprocessor.language
8cba0 2e 20 49 74 27 73 20 5a 69 67 20 61 6c 6c 20 74 68 65 20 77 61 79 20 64 6f 77 6e 2e 0a 20 20 20 ..It's.Zig.all.the.way.down.....
8cbc0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f ...</p>..............<p>See.also
8cbe0 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 :</p><ul>.<li><a.href="#inline-w
8cc00 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e hile">inline.while</a></li>.<li>
8cc20 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 <a.href="#inline-for">inline.for
8cc40 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 </a></li>.</ul>...............<h
8cc60 32 20 69 64 3d 22 41 73 73 65 6d 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 2.id="Assembly"><a.href="#toc-As
8cc80 73 65 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 sembly">Assembly</a>.<a.class="h
8cca0 64 72 22 20 68 72 65 66 3d 22 23 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e dr".href="#Assembly">..</a></h2>
8ccc0 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 73 6f 6d 65 20 75 73 65 20 63 ........<p>.......For.some.use.c
8cce0 61 73 65 73 2c 20 69 74 20 6d 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 64 69 72 ases,.it.may.be.necessary.to.dir
8cd00 65 63 74 6c 79 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 67 ectly.control.the.machine.code.g
8cd20 65 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 62 79 20 5a 69 67 20 70 72 6f 67 72 61 6d 73 2c 20 enerated.......by.Zig.programs,.
8cd40 72 61 74 68 65 72 20 74 68 61 6e 20 72 65 6c 79 69 6e 67 20 6f 6e 20 5a 69 67 27 73 20 63 6f 64 rather.than.relying.on.Zig's.cod
8cd60 65 20 67 65 6e 65 72 61 74 69 6f 6e 2e 20 46 6f 72 20 74 68 65 73 65 20 63 61 73 65 73 2c 20 6f e.generation..For.these.cases,.o
8cd80 6e 65 0a 20 20 20 20 20 20 63 61 6e 20 75 73 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 ne.......can.use.inline.assembly
8cda0 2e 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 69 6d 70 6c 65 6d 65 6e ..Here.is.an.example.of.implemen
8cdc0 74 69 6e 67 20 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 20 6f 6e 20 78 38 36 5f 36 34 20 4c 69 6e 75 ting.Hello,.World.on.x86_64.Linu
8cde0 78 0a 20 20 20 20 20 20 75 73 69 6e 67 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 3a 0a 20 x.......using.inline.assembly:..
8ce00 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 .....</p>.......<figure><figcapt
8ce20 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
8ce40 22 66 69 6c 65 22 3e 69 6e 6c 69 6e 65 5f 61 73 73 65 6d 62 6c 79 2e 7a 69 67 3c 2f 63 69 74 65 "file">inline_assembly.zig</cite
8ce60 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
8ce80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 lass="tok-kw">pub</span>.<span.c
8cea0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
8cec0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e ass="tok-fn">main</span>().<span
8cee0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e .class="tok-type">noreturn</span
8cf00 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e >.{.....<span.class="tok-kw">con
8cf20 73 74 3c 2f 73 70 61 6e 3e 20 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.msg.=.<span.class="tok
8cf40 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 3c -str">&quot;hello.world\n&quot;<
8cf60 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 73 79 73 63 61 6c 6c 33 28 53 59 53 5f 77 72 69 /span>;....._.=.syscall3(SYS_wri
8cf80 74 65 2c 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 te,.STDOUT_FILENO,.<span.class="
8cfa0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 tok-builtin">@intFromPtr</span>(
8cfc0 6d 73 67 29 2c 20 6d 73 67 2e 6c 65 6e 29 3b 0a 20 20 20 20 5f 20 3d 20 73 79 73 63 61 6c 6c 31 msg),.msg.len);....._.=.syscall1
8cfe0 28 53 59 53 5f 65 78 69 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 (SYS_exit,.<span.class="tok-numb
8d000 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">0</span>);.....<span.class="
8d020 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c tok-kw">unreachable</span>;.}..<
8d040 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c span.class="tok-kw">pub</span>.<
8d060 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
8d080 20 53 59 53 5f 77 72 69 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .SYS_write.=.<span.class="tok-nu
8d0a0 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">1</span>;.<span.class="tok
8d0c0 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b -kw">pub</span>.<span.class="tok
8d0e0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 59 53 5f 65 78 69 74 20 3d 20 3c 73 70 -kw">const</span>.SYS_exit.=.<sp
8d100 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 30 3c 2f 73 70 61 6e 3e 3b an.class="tok-number">60</span>;
8d120 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e ..<span.class="tok-kw">pub</span
8d140 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 >.<span.class="tok-kw">const</sp
8d160 61 6e 3e 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>.STDOUT_FILENO.=.<span.class=
8d180 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c "tok-number">1</span>;..<span.cl
8d1a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ass="tok-kw">pub</span>.<span.cl
8d1c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ass="tok-kw">fn</span>.<span.cla
8d1e0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 79 73 63 61 6c 6c 31 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 ss="tok-fn">syscall1</span>(numb
8d200 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 er:.<span.class="tok-type">usize
8d220 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>,.arg1:.<span.class="tok-
8d240 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d type">usize</span>).<span.class=
8d260 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 "tok-type">usize</span>.{.....<s
8d280 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">return</span>
8d2a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">asm</span>
8d2c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f .<span.class="tok-kw">volatile</
8d2e0 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 span>.(<span.class="tok-str">&qu
8d300 6f 74 3b 73 79 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 ot;syscall&quot;</span>.........
8d320 3a 20 5b 72 65 74 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 :.[ret].<span.class="tok-str">&q
8d340 75 6f 74 3b 3d 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 2d 26 67 74 3b 20 3c uot;={rax}&quot;</span>.(-&gt;.<
8d360 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 span.class="tok-type">usize</spa
8d380 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 70 61 6e 20 63 6c n>),.........:.[number].<span.cl
8d3a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c ass="tok-str">&quot;{rax}&quot;<
8d3c0 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 31 /span>.(number),...........[arg1
8d3e0 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 ].<span.class="tok-str">&quot;{r
8d400 64 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 2c 0a 20 20 20 20 20 20 20 di}&quot;</span>.(arg1),........
8d420 20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 .:.<span.class="tok-str">&quot;r
8d440 63 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f cx&quot;</span>,.<span.class="to
8d460 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 k-str">&quot;r11&quot;</span>...
8d480 20 20 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 ..);.}..<span.class="tok-kw">pub
8d4a0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c </span>.<span.class="tok-kw">fn<
8d4c0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 79 73 63 /span>.<span.class="tok-fn">sysc
8d4e0 61 6c 6c 33 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d all3</span>(number:.<span.class=
8d500 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c "tok-type">usize</span>,.arg1:.<
8d520 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 span.class="tok-type">usize</spa
8d540 6e 3e 2c 20 61 72 67 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 n>,.arg2:.<span.class="tok-type"
8d560 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 >usize</span>,.arg3:.<span.class
8d580 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ="tok-type">usize</span>).<span.
8d5a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a class="tok-type">usize</span>.{.
8d5c0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c ....<span.class="tok-kw">return<
8d5e0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c /span>.<span.class="tok-kw">asm<
8d600 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 /span>.<span.class="tok-kw">vola
8d620 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 tile</span>.(<span.class="tok-st
8d640 72 22 3e 26 71 75 6f 74 3b 73 79 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 r">&quot;syscall&quot;</span>...
8d660 20 20 20 20 20 20 3a 20 5b 72 65 74 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ......:.[ret].<span.class="tok-s
8d680 74 72 22 3e 26 71 75 6f 74 3b 3d 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 2d tr">&quot;={rax}&quot;</span>.(-
8d6a0 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a &gt;.<span.class="tok-type">usiz
8d6c0 65 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 e</span>),.........:.[number].<s
8d6e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 78 7d 26 pan.class="tok-str">&quot;{rax}&
8d700 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 quot;</span>.(number),..........
8d720 20 5b 61 72 67 31 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 .[arg1].<span.class="tok-str">&q
8d740 75 6f 74 3b 7b 72 64 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 2c 0a 20 uot;{rdi}&quot;</span>.(arg1),..
8d760 20 20 20 20 20 20 20 20 20 5b 61 72 67 32 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .........[arg2].<span.class="tok
8d780 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 73 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 -str">&quot;{rsi}&quot;</span>.(
8d7a0 61 72 67 32 29 2c 0a 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 33 5d 20 3c 73 70 61 6e 20 63 6c arg2),...........[arg3].<span.cl
8d7c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 64 78 7d 26 71 75 6f 74 3b 3c ass="tok-str">&quot;{rdx}&quot;<
8d7e0 2f 73 70 61 6e 3e 20 28 61 72 67 33 29 2c 0a 20 20 20 20 20 20 20 20 3a 20 3c 73 70 61 6e 20 63 /span>.(arg3),.........:.<span.c
8d800 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 63 78 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;rcx&quot;</
8d820 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 span>,.<span.class="tok-str">&qu
8d840 6f 74 3b 72 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 29 3b 0a 7d 3c 2f 63 6f ot;r11&quot;</span>.....);.}</co
8d860 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
8d880 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
8d8a0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
8d8c0 62 75 69 6c 64 2d 65 78 65 20 69 6e 6c 69 6e 65 5f 61 73 73 65 6d 62 6c 79 2e 7a 69 67 20 2d 74 build-exe.inline_assembly.zig.-t
8d8e0 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e arget.x86_64-linux</kbd>.$.<kbd>
8d900 2e 2f 69 6e 6c 69 6e 65 5f 61 73 73 65 6d 62 6c 79 3c 2f 6b 62 64 3e 0a 68 65 6c 6c 6f 20 77 6f ./inline_assembly</kbd>.hello.wo
8d920 72 6c 64 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 rld.</samp></pre></figure>......
8d940 20 3c 70 3e 0a 20 20 20 20 20 20 44 69 73 73 65 63 74 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 .<p>.......Dissecting.the.syntax
8d960 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 :.......</p>.......<figure><figc
8d980 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
8d9a0 73 73 3d 22 66 69 6c 65 22 3e 41 73 73 65 6d 62 6c 79 20 53 79 6e 74 61 78 20 45 78 70 6c 61 69 ss="file">Assembly.Syntax.Explai
8d9c0 6e 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ned.zig</cite></figcaption><pre>
8d9e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f <code><span.class="tok-kw">pub</
8da00 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 span>.<span.class="tok-kw">fn</s
8da20 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 79 73 63 61 6c pan>.<span.class="tok-fn">syscal
8da40 6c 31 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 l1</span>(number:.<span.class="t
8da60 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 ok-type">usize</span>,.arg1:.<sp
8da80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e an.class="tok-type">usize</span>
8daa0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f ).<span.class="tok-type">usize</
8dac0 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d span>.{.....<span.class="tok-com
8dae0 6d 65 6e 74 22 3e 2f 2f 20 49 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 69 73 20 61 6e 20 65 ment">//.Inline.assembly.is.an.e
8db00 78 70 72 65 73 73 69 6f 6e 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 2e xpression.which.returns.a.value.
8db20 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.....<span.class="tok-com
8db40 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 60 61 73 6d 60 20 6b 65 79 77 6f 72 64 20 62 65 67 69 6e ment">//.the.`asm`.keyword.begin
8db60 73 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 s.the.expression.</span>.....<sp
8db80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">return</span>.
8dba0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 0a <span.class="tok-kw">asm</span>.
8dbc0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
8dbe0 20 60 76 6f 6c 61 74 69 6c 65 60 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6d 6f 64 69 66 .`volatile`.is.an.optional.modif
8dc00 69 65 72 20 74 68 61 74 20 74 65 6c 6c 73 20 5a 69 67 20 74 68 69 73 3c 2f 73 70 61 6e 3e 0a 20 ier.that.tells.Zig.this</span>..
8dc20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 ...<span.class="tok-comment">//.
8dc40 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 73 inline.assembly.expression.has.s
8dc60 69 64 65 2d 65 66 66 65 63 74 73 2e 20 57 69 74 68 6f 75 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 ide-effects..Without</span>.....
8dc80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 76 6f <span.class="tok-comment">//.`vo
8dca0 6c 61 74 69 6c 65 60 2c 20 5a 69 67 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 64 65 6c 65 74 latile`,.Zig.is.allowed.to.delet
8dcc0 65 20 74 68 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 3c 2f 73 70 61 6e 3e 0a 20 20 20 e.the.inline.assembly</span>....
8dce0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f .<span.class="tok-comment">//.co
8dd00 64 65 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 6e 75 73 65 64 2e 3c 2f 73 70 61 de.if.the.result.is.unused.</spa
8dd20 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 n>.....<span.class="tok-kw">vola
8dd40 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tile</span>.(.....<span.class="t
8dd60 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 61 20 63 6f 6d 70 74 69 6d ok-comment">//.Next.is.a.comptim
8dd80 65 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 69 73 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 e.string.which.is.the.assembly.c
8dda0 6f 64 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ode.</span>.....<span.class="tok
8ddc0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 73 69 64 65 20 74 68 69 73 20 73 74 72 69 6e 67 20 -comment">//.Inside.this.string.
8dde0 6f 6e 65 20 6d 61 79 20 75 73 65 20 60 25 5b 72 65 74 5d 60 2c 20 60 25 5b 6e 75 6d 62 65 72 5d one.may.use.`%[ret]`,.`%[number]
8de00 60 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 `,</span>.....<span.class="tok-c
8de20 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 72 20 60 25 5b 61 72 67 31 5d 60 20 77 68 65 72 65 20 61 20 omment">//.or.`%[arg1]`.where.a.
8de40 72 65 67 69 73 74 65 72 20 69 73 20 65 78 70 65 63 74 65 64 2c 20 74 6f 20 73 70 65 63 69 66 79 register.is.expected,.to.specify
8de60 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.....<span.class="tok-com
8de80 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 72 65 67 69 73 74 65 72 20 74 68 61 74 20 5a 69 67 20 75 ment">//.the.register.that.Zig.u
8dea0 73 65 73 20 66 6f 72 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6f 72 20 72 65 74 75 72 6e 20 76 ses.for.the.argument.or.return.v
8dec0 61 6c 75 65 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f alue,</span>.....<span.class="to
8dee0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 66 20 74 68 65 20 72 65 67 69 73 74 65 72 20 63 6f k-comment">//.if.the.register.co
8df00 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 73 20 61 72 65 20 75 73 65 64 2e 20 48 6f 77 65 76 nstraint.strings.are.used..Howev
8df20 65 72 20 69 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er.in</span>.....<span.class="to
8df40 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 62 65 6c 6f 77 20 63 6f 64 65 2c 20 74 68 k-comment">//.the.below.code,.th
8df60 69 73 20 69 73 20 6e 6f 74 20 75 73 65 64 2e 20 41 20 6c 69 74 65 72 61 6c 20 60 25 60 20 63 61 is.is.not.used..A.literal.`%`.ca
8df80 6e 20 62 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n.be</span>.....<span.class="tok
8dfa0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 62 74 61 69 6e 65 64 20 62 79 20 65 73 63 61 70 69 6e -comment">//.obtained.by.escapin
8dfc0 67 20 69 74 20 77 69 74 68 20 61 20 64 6f 75 62 6c 65 20 70 65 72 63 65 6e 74 3a 20 60 25 25 60 g.it.with.a.double.percent:.`%%`
8dfe0 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f .</span>.....<span.class="tok-co
8e000 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 66 74 65 6e 20 6d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 mment">//.Often.multiline.string
8e020 20 73 79 6e 74 61 78 20 63 6f 6d 65 73 20 69 6e 20 68 61 6e 64 79 20 68 65 72 65 2e 3c 2f 73 70 .syntax.comes.in.handy.here.</sp
8e040 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c an>.....<span.class="tok-str">\\
8e060 73 79 73 63 61 6c 6c 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 syscall.</span>....<span.class="
8e080 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6f 75 74 70 tok-comment">//.Next.is.the.outp
8e0a0 75 74 2e 20 49 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 ut..It.is.possible.in.the.future
8e0c0 20 5a 69 67 20 77 69 6c 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .Zig.will</span>.....<span.class
8e0e0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 75 70 70 6f 72 74 20 6d 75 6c 74 69 70 ="tok-comment">//.support.multip
8e100 6c 65 20 6f 75 74 70 75 74 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 68 6f 77 3c 2f 73 70 le.outputs,.depending.on.how</sp
8e120 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 an>.....<span.class="tok-comment
8e140 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f ">//.https://github.com/ziglang/
8e160 7a 69 67 2f 69 73 73 75 65 73 2f 32 31 35 20 69 73 20 72 65 73 6f 6c 76 65 64 2e 3c 2f 73 70 61 zig/issues/215.is.resolved.</spa
8e180 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 n>.....<span.class="tok-comment"
8e1a0 3e 2f 2f 20 49 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 74 68 65 72 65 20 74 6f 20 62 >//.It.is.allowed.for.there.to.b
8e1c0 65 20 6e 6f 20 6f 75 74 70 75 74 73 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 3c 2f 73 70 61 e.no.outputs,.in.which.case</spa
8e1e0 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 n>.....<span.class="tok-comment"
8e200 3e 2f 2f 20 74 68 69 73 20 63 6f 6c 6f 6e 20 77 6f 75 6c 64 20 62 65 20 64 69 72 65 63 74 6c 79 >//.this.colon.would.be.directly
8e220 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 63 6f 6c 6f 6e 20 66 6f 72 20 74 68 65 20 69 .followed.by.the.colon.for.the.i
8e240 6e 70 75 74 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3a 0a 20 20 20 20 3c 73 70 61 nputs.</span>.........:.....<spa
8e260 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 73 70 n.class="tok-comment">//.This.sp
8e280 65 63 69 66 69 65 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20 60 ecifies.the.name.to.be.used.in.`
8e2a0 25 5b 72 65 74 5d 60 20 73 79 6e 74 61 78 20 69 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 %[ret]`.syntax.in</span>.....<sp
8e2c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 61 62 an.class="tok-comment">//.the.ab
8e2e0 6f 76 65 20 61 73 73 65 6d 62 6c 79 20 73 74 72 69 6e 67 2e 20 54 68 69 73 20 65 78 61 6d 70 6c ove.assembly.string..This.exampl
8e300 65 20 64 6f 65 73 20 6e 6f 74 20 75 73 65 20 69 74 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 e.does.not.use.it,</span>.....<s
8e320 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 74 pan.class="tok-comment">//.but.t
8e340 68 65 20 73 79 6e 74 61 78 20 69 73 20 6d 61 6e 64 61 74 6f 72 79 2e 3c 2f 73 70 61 6e 3e 0a 20 he.syntax.is.mandatory.</span>..
8e360 20 20 20 20 20 20 20 5b 72 65 74 5d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .......[ret].....<span.class="to
8e380 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6f 75 74 70 75 74 k-comment">//.Next.is.the.output
8e3a0 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 2e 20 54 68 69 73 20 66 65 61 74 75 72 65 .constraint.string..This.feature
8e3c0 20 69 73 20 73 74 69 6c 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .is.still</span>.....<span.class
8e3e0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6e 73 69 64 65 72 65 64 20 75 6e 73 ="tok-comment">//.considered.uns
8e400 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 20 73 6f 20 4c 4c 56 4d 2f 47 43 43 20 64 6f table.in.Zig,.and.so.LLVM/GCC.do
8e420 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 cumentation</span>.....<span.cla
8e440 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 75 73 74 20 62 65 20 75 73 65 64 ss="tok-comment">//.must.be.used
8e460 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 3c 2f 73 .to.understand.the.semantics.</s
8e480 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e pan>.....<span.class="tok-commen
8e4a0 74 22 3e 2f 2f 20 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 t">//.http://releases.llvm.org/1
8e4c0 30 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 0.0.0/docs/LangRef.html#inline-a
8e4e0 73 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 sm-constraint-string</span>.....
8e500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 <span.class="tok-comment">//.htt
8e520 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f ps://gcc.gnu.org/onlinedocs/gcc/
8e540 45 78 74 65 6e 64 65 64 2d 41 73 6d 2e 68 74 6d 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 Extended-Asm.html</span>.....<sp
8e560 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 69 an.class="tok-comment">//.In.thi
8e580 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 s.example,.the.constraint.string
8e5a0 20 6d 65 61 6e 73 20 26 71 75 6f 74 3b 74 68 65 20 72 65 73 75 6c 74 20 76 61 6c 75 65 20 6f 66 .means.&quot;the.result.value.of
8e5c0 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d </span>.....<span.class="tok-com
8e5e0 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 69 6e ment">//.this.inline.assembly.in
8e600 73 74 72 75 63 74 69 6f 6e 20 69 73 20 77 68 61 74 65 76 65 72 20 69 73 20 69 6e 20 24 72 61 78 struction.is.whatever.is.in.$rax
8e620 26 71 75 6f 74 3b 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 &quot;.</span>.........<span.cla
8e640 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 3d 7b 72 61 78 7d 26 71 75 6f 74 3b 3c ss="tok-str">&quot;={rax}&quot;<
8e660 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d /span>.....<span.class="tok-comm
8e680 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 65 69 74 68 65 72 20 61 20 76 61 6c 75 65 20 62 ent">//.Next.is.either.a.value.b
8e6a0 69 6e 64 69 6e 67 2c 20 6f 72 20 60 2d 26 67 74 3b 60 20 61 6e 64 20 74 68 65 6e 20 61 20 74 79 inding,.or.`-&gt;`.and.then.a.ty
8e6c0 70 65 2e 20 54 68 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pe..The</span>.....<span.class="
8e6e0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 79 70 65 20 69 73 20 74 68 65 20 72 65 73 75 tok-comment">//.type.is.the.resu
8e700 6c 74 20 74 79 70 65 20 6f 66 20 74 68 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 lt.type.of.the.inline.assembly.e
8e720 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 xpression.</span>.....<span.clas
8e740 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 69 74 20 69 73 20 61 20 76 61 s="tok-comment">//.If.it.is.a.va
8e760 6c 75 65 20 62 69 6e 64 69 6e 67 2c 20 74 68 65 6e 20 60 25 5b 72 65 74 5d 60 20 73 79 6e 74 61 lue.binding,.then.`%[ret]`.synta
8e780 78 20 77 6f 75 6c 64 20 62 65 20 75 73 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e x.would.be.used</span>.....<span
8e7a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 72 65 66 65 72 .class="tok-comment">//.to.refer
8e7c0 20 74 6f 20 74 68 65 20 72 65 67 69 73 74 65 72 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 76 61 .to.the.register.bound.to.the.va
8e7e0 6c 75 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 28 2d 26 67 74 3b 20 3c 73 70 61 6e lue.</span>.........(-&gt;.<span
8e800 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 2c .class="tok-type">usize</span>),
8e820 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
8e840 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 70 75 74 73 2e 3c 2f 73 /.Next.is.the.list.of.inputs.</s
8e860 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e pan>.....<span.class="tok-commen
8e880 74 22 3e 2f 2f 20 54 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 20 66 6f 72 20 74 68 65 73 65 20 69 t">//.The.constraint.for.these.i
8e8a0 6e 70 75 74 73 20 6d 65 61 6e 73 2c 20 26 71 75 6f 74 3b 77 68 65 6e 20 74 68 65 20 61 73 73 65 nputs.means,.&quot;when.the.asse
8e8c0 6d 62 6c 79 20 63 6f 64 65 20 69 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c mbly.code.is</span>.....<span.cl
8e8e0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 65 63 75 74 65 64 2c 20 24 ass="tok-comment">//.executed,.$
8e900 72 61 78 20 73 68 61 6c 6c 20 68 61 76 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 6e 75 6d rax.shall.have.the.value.of.`num
8e920 62 65 72 60 20 61 6e 64 20 24 72 64 69 20 73 68 61 6c 6c 20 68 61 76 65 3c 2f 73 70 61 6e 3e 0a ber`.and.$rdi.shall.have</span>.
8e940 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
8e960 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 61 72 67 31 60 26 71 75 6f 74 3b 2e 20 41 6e 79 20 .the.value.of.`arg1`&quot;..Any.
8e980 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 61 6c number.of.input.parameters.is.al
8e9a0 6c 6f 77 65 64 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 lowed,</span>.....<span.class="t
8e9c0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 63 6c 75 64 69 6e 67 20 6e 6f 6e 65 2e 3c 2f ok-comment">//.including.none.</
8e9e0 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 70 61 6e 20 63 span>.........:.[number].<span.c
8ea00 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b lass="tok-str">&quot;{rax}&quot;
8ea20 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 61 </span>.(number),.............[a
8ea40 72 67 31 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 rg1].<span.class="tok-str">&quot
8ea60 3b 7b 72 64 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 2c 0a 20 20 20 20 ;{rdi}&quot;</span>.(arg1),.....
8ea80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 <span.class="tok-comment">//.Nex
8eaa0 74 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63 6c 6f 62 62 65 72 73 2e 20 54 68 65 73 65 t.is.the.list.of.clobbers..These
8eac0 20 64 65 63 6c 61 72 65 20 61 20 73 65 74 20 6f 66 20 72 65 67 69 73 74 65 72 73 20 77 68 6f 73 .declare.a.set.of.registers.whos
8eae0 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f e</span>.....<span.class="tok-co
8eb00 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 72 65 mment">//.values.will.not.be.pre
8eb20 73 65 72 76 65 64 20 62 79 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 served.by.the.execution.of.this.
8eb40 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 assembly.code.</span>.....<span.
8eb60 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 73 65 20 64 6f 20 class="tok-comment">//.These.do.
8eb80 6e 6f 74 20 69 6e 63 6c 75 64 65 20 6f 75 74 70 75 74 20 6f 72 20 69 6e 70 75 74 20 72 65 67 69 not.include.output.or.input.regi
8eba0 73 74 65 72 73 2e 20 54 68 65 20 73 70 65 63 69 61 6c 20 63 6c 6f 62 62 65 72 3c 2f 73 70 61 6e sters..The.special.clobber</span
8ebc0 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e >.....<span.class="tok-comment">
8ebe0 2f 2f 20 76 61 6c 75 65 20 6f 66 20 26 71 75 6f 74 3b 6d 65 6d 6f 72 79 26 71 75 6f 74 3b 20 6d //.value.of.&quot;memory&quot;.m
8ec00 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 77 72 69 74 65 73 20 74 6f eans.that.the.assembly.writes.to
8ec20 20 61 72 62 69 74 72 61 72 79 20 75 6e 64 65 63 6c 61 72 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 .arbitrary.undeclared</span>....
8ec40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 65 .<span.class="tok-comment">//.me
8ec60 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 65 20 6d 65 mory.locations.-.not.only.the.me
8ec80 6d 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 61 20 64 65 63 6c 61 72 65 64 20 69 6e mory.pointed.to.by.a.declared.in
8eca0 64 69 72 65 63 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 direct</span>.....<span.class="t
8ecc0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 75 74 70 75 74 2e 20 49 6e 20 74 68 69 73 20 65 ok-comment">//.output..In.this.e
8ece0 78 61 6d 70 6c 65 20 77 65 20 6c 69 73 74 20 24 72 63 78 20 61 6e 64 20 24 72 31 31 20 62 65 63 xample.we.list.$rcx.and.$r11.bec
8ed00 61 75 73 65 20 69 74 20 69 73 20 6b 6e 6f 77 6e 20 74 68 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 ause.it.is.known.the</span>.....
8ed20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6b 65 72 <span.class="tok-comment">//.ker
8ed40 6e 65 6c 20 73 79 73 63 61 6c 6c 20 64 6f 65 73 20 6e 6f 74 20 70 72 65 73 65 72 76 65 20 74 68 nel.syscall.does.not.preserve.th
8ed60 65 73 65 20 72 65 67 69 73 74 65 72 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3a 20 ese.registers.</span>.........:.
8ed80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 63 78 26 <span.class="tok-str">&quot;rcx&
8eda0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 quot;</span>,.<span.class="tok-s
8edc0 74 72 22 3e 26 71 75 6f 74 3b 72 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 29 tr">&quot;r11&quot;</span>.....)
8ede0 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 ;.}</code></pre></figure>.......
8ee00 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 78 38 36 20 61 6e 64 20 78 38 36 5f 36 34 20 74 61 72 <p>.......For.x86.and.x86_64.tar
8ee20 67 65 74 73 2c 20 74 68 65 20 73 79 6e 74 61 78 20 69 73 20 41 54 26 61 6d 70 3b 54 20 73 79 6e gets,.the.syntax.is.AT&amp;T.syn
8ee40 74 61 78 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6d 6f 72 65 0a 20 20 20 20 20 20 tax,.rather.than.the.more.......
8ee60 70 6f 70 75 6c 61 72 20 49 6e 74 65 6c 20 73 79 6e 74 61 78 2e 20 54 68 69 73 20 69 73 20 64 75 popular.Intel.syntax..This.is.du
8ee80 65 20 74 6f 20 74 65 63 68 6e 69 63 61 6c 20 63 6f 6e 73 74 72 61 69 6e 74 73 3b 20 61 73 73 65 e.to.technical.constraints;.asse
8eea0 6d 62 6c 79 20 70 61 72 73 69 6e 67 20 69 73 0a 20 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 62 mbly.parsing.is.......provided.b
8eec0 79 20 4c 4c 56 4d 20 61 6e 64 20 69 74 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 49 6e 74 65 6c y.LLVM.and.its.support.for.Intel
8eee0 20 73 79 6e 74 61 78 20 69 73 20 62 75 67 67 79 20 61 6e 64 20 6e 6f 74 20 77 65 6c 6c 20 74 65 .syntax.is.buggy.and.not.well.te
8ef00 73 74 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 sted........</p>.......<p>......
8ef20 20 53 6f 6d 65 20 64 61 79 20 5a 69 67 20 6d 61 79 20 68 61 76 65 20 69 74 73 20 6f 77 6e 20 61 .Some.day.Zig.may.have.its.own.a
8ef40 73 73 65 6d 62 6c 65 72 2e 20 54 68 69 73 20 77 6f 75 6c 64 20 61 6c 6c 6f 77 20 69 74 20 74 6f ssembler..This.would.allow.it.to
8ef60 20 69 6e 74 65 67 72 61 74 65 20 6d 6f 72 65 20 73 65 61 6d 6c 65 73 73 6c 79 0a 20 20 20 20 20 .integrate.more.seamlessly......
8ef80 20 69 6e 74 6f 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 62 .into.the.language,.as.well.as.b
8efa0 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 70 6f 70 75 6c 61 72 20 4e 41 e.compatible.with.the.popular.NA
8efc0 53 4d 20 73 79 6e 74 61 78 2e 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 SM.syntax..This.documentation...
8efe0 20 20 20 20 73 65 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 75 70 64 61 74 65 64 20 62 65 66 6f ....section.will.be.updated.befo
8f000 72 65 20 31 2e 30 2e 30 20 69 73 20 72 65 6c 65 61 73 65 64 2c 20 77 69 74 68 20 61 20 63 6f 6e re.1.0.0.is.released,.with.a.con
8f020 63 6c 75 73 69 76 65 20 73 74 61 74 65 6d 65 6e 74 20 61 62 6f 75 74 20 74 68 65 20 73 74 61 74 clusive.statement.about.the.stat
8f040 75 73 0a 20 20 20 20 20 20 6f 66 20 41 54 26 61 6d 70 3b 54 20 76 73 20 49 6e 74 65 6c 2f 4e 41 us.......of.AT&amp;T.vs.Intel/NA
8f060 53 4d 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 SM.syntax........</p>.......<h3.
8f080 69 64 3d 22 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d id="Output-Constraints"><a.href=
8f0a0 22 23 74 6f 63 2d 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 4f 75 74 70 75 74 "#toc-Output-Constraints">Output
8f0c0 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 .Constraints</a>.<a.class="hdr".
8f0e0 68 72 65 66 3d 22 23 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e c2 a7 3c 2f 61 href="#Output-Constraints">..</a
8f100 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 75 74 70 75 74 20 63 ></h3>........<p>.......Output.c
8f120 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 73 74 69 6c 6c 20 63 6f 6e 73 69 64 65 72 65 64 20 onstraints.are.still.considered.
8f140 74 6f 20 62 65 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 0a 20 20 20 20 20 to.be.unstable.in.Zig,.and......
8f160 20 73 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 .so.......<a.href="http://releas
8f180 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e es.llvm.org/10.0.0/docs/LangRef.
8f1a0 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e html#inline-asm-constraint-strin
8f1c0 67 22 3e 4c 4c 56 4d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 g">LLVM.documentation</a>.......
8f1e0 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 and.......<a.href="https://gcc.g
8f200 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 65 64 2d 41 nu.org/onlinedocs/gcc/Extended-A
8f220 73 6d 2e 68 74 6d 6c 22 3e 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 sm.html">GCC.documentation</a>..
8f240 20 20 20 20 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 .....must.be.used.to.understand.
8f260 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 the.semantics........</p>.......
8f280 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 73 6f 6d 65 20 62 72 65 61 6b 69 6e <p>.......Note.that.some.breakin
8f2a0 67 20 63 68 61 6e 67 65 73 20 74 6f 20 6f 75 74 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 g.changes.to.output.constraints.
8f2c0 61 72 65 20 70 6c 61 6e 6e 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 are.planned.with.......<a.href="
8f2e0 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 https://github.com/ziglang/zig/i
8f300 73 73 75 65 73 2f 32 31 35 22 3e 69 73 73 75 65 20 23 32 31 35 3c 2f 61 3e 2e 0a 20 20 20 20 20 ssues/215">issue.#215</a>.......
8f320 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 70 75 .</p>...............<h3.id="Inpu
8f340 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 70 t-Constraints"><a.href="#toc-Inp
8f360 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 49 6e 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 ut-Constraints">Input.Constraint
8f380 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 70 75 s</a>.<a.class="hdr".href="#Inpu
8f3a0 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 t-Constraints">..</a></h3>......
8f3c0 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 ..<p>.......Input.constraints.ar
8f3e0 65 20 73 74 69 6c 6c 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 75 6e 73 74 61 62 6c e.still.considered.to.be.unstabl
8f400 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 0a 20 20 20 20 20 20 73 6f 0a 20 20 20 20 20 20 3c 61 20 e.in.Zig,.and.......so.......<a.
8f420 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 href="http://releases.llvm.org/1
8f440 30 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 0.0.0/docs/LangRef.html#inline-a
8f460 73 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 22 3e 4c 4c 56 4d 20 64 6f 63 75 6d sm-constraint-string">LLVM.docum
8f480 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 entation</a>.......and.......<a.
8f4a0 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 href="https://gcc.gnu.org/online
8f4c0 64 6f 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 65 64 2d 41 73 6d 2e 68 74 6d 6c 22 3e 47 43 43 20 docs/gcc/Extended-Asm.html">GCC.
8f4e0 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 documentation</a>.......must.be.
8f500 75 73 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 used.to.understand.the.semantics
8f520 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 ........</p>.......<p>.......Not
8f540 65 20 74 68 61 74 20 73 6f 6d 65 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 73 20 74 6f 20 e.that.some.breaking.changes.to.
8f560 69 6e 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 70 6c 61 6e 6e 65 64 20 77 69 input.constraints.are.planned.wi
8f580 74 68 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 th.......<a.href="https://github
8f5a0 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 31 35 22 3e 69 73 73 .com/ziglang/zig/issues/215">iss
8f5c0 75 65 20 23 32 31 35 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a ue.#215</a>........</p>.........
8f5e0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 6c 6f 62 62 65 72 73 22 3e 3c 61 20 68 72 65 66 3d ......<h3.id="Clobbers"><a.href=
8f600 22 23 74 6f 63 2d 43 6c 6f 62 62 65 72 73 22 3e 43 6c 6f 62 62 65 72 73 3c 2f 61 3e 20 3c 61 20 "#toc-Clobbers">Clobbers</a>.<a.
8f620 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6c 6f 62 62 65 72 73 22 3e c2 a7 3c class="hdr".href="#Clobbers">..<
8f640 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6c 6f 62 62 65 /a></h3>........<p>.......Clobbe
8f660 72 73 20 61 72 65 20 74 68 65 20 73 65 74 20 6f 66 20 72 65 67 69 73 74 65 72 73 20 77 68 6f 73 rs.are.the.set.of.registers.whos
8f680 65 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 72 65 73 65 72 76 65 64 20 62 e.values.will.not.be.preserved.b
8f6a0 79 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 61 73 73 y.the.execution.of.......the.ass
8f6c0 65 6d 62 6c 79 20 63 6f 64 65 2e 20 54 68 65 73 65 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 embly.code..These.do.not.include
8f6e0 20 6f 75 74 70 75 74 20 6f 72 20 69 6e 70 75 74 20 72 65 67 69 73 74 65 72 73 2e 20 54 68 65 20 .output.or.input.registers..The.
8f700 73 70 65 63 69 61 6c 20 63 6c 6f 62 62 65 72 0a 20 20 20 20 20 20 76 61 6c 75 65 20 6f 66 20 3c special.clobber.......value.of.<
8f720 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 code><span.class="tok-str">&quot
8f740 3b 6d 65 6d 6f 72 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e ;memory&quot;</span></code>.mean
8f760 73 20 74 68 61 74 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 61 75 73 65 73 20 77 72 69 74 65 s.that.the.assembly.causes.write
8f780 73 20 74 6f 0a 20 20 20 20 20 20 61 72 62 69 74 72 61 72 79 20 75 6e 64 65 63 6c 61 72 65 64 20 s.to.......arbitrary.undeclared.
8f7a0 6d 65 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 65 20 memory.locations.-.not.only.the.
8f7c0 6d 65 6d 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 61 20 64 65 63 6c 61 72 65 64 0a memory.pointed.to.by.a.declared.
8f7e0 20 20 20 20 20 20 69 6e 64 69 72 65 63 74 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 ......indirect.output........</p
8f800 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 61 69 6c 75 72 65 20 74 6f 20 64 65 63 >.......<p>.......Failure.to.dec
8f820 6c 61 72 65 20 74 68 65 20 66 75 6c 6c 20 73 65 74 20 6f 66 20 63 6c 6f 62 62 65 72 73 20 66 6f lare.the.full.set.of.clobbers.fo
8f840 72 20 61 20 67 69 76 65 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 0a 20 20 20 20 20 20 r.a.given.inline.assembly.......
8f860 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 75 6e 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d expression.is.unchecked.<a.href=
8f880 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 "#Undefined-Behavior">Undefined.
8f8a0 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a Behavior</a>........</p>........
8f8c0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e .......<h3.id="Global-Assembly">
8f8e0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e 47 <a.href="#toc-Global-Assembly">G
8f900 6c 6f 62 61 6c 20 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 lobal.Assembly</a>.<a.class="hdr
8f920 22 20 68 72 65 66 3d 22 23 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e ".href="#Global-Assembly">..</a>
8f940 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 6e 20 61 </h3>........<p>.......When.an.a
8f960 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 61 20 3c ssembly.expression.occurs.in.a.<
8f980 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e 63 6f 6e 74 61 69 6e 65 72 3c 2f a.href="#Containers">container</
8f9a0 61 3e 20 6c 65 76 65 6c 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d a>.level.<a.href="#comptime">com
8f9c0 70 74 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 2c 20 74 68 69 73 20 69 73 0a 20 20 20 20 20 20 3c ptime</a>.block,.this.is.......<
8f9e0 73 74 72 6f 6e 67 3e 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 3c 2f 73 74 72 6f 6e 67 3e 2e strong>global.assembly</strong>.
8fa00 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 .......</p>.......<p>.......This
8fa20 20 6b 69 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 20 68 61 73 20 64 69 66 66 65 72 65 6e 74 20 .kind.of.assembly.has.different.
8fa40 72 75 6c 65 73 20 74 68 61 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 2e 20 46 69 72 73 rules.than.inline.assembly..Firs
8fa60 74 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f t,.<code><span.class="tok-kw">vo
8fa80 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 6e 6f latile</span></code>.......is.no
8faa0 74 20 76 61 6c 69 64 20 62 65 63 61 75 73 65 20 61 6c 6c 20 67 6c 6f 62 61 6c 20 61 73 73 65 6d t.valid.because.all.global.assem
8fac0 62 6c 79 20 69 73 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 69 6e 63 6c 75 64 65 64 2e bly.is.unconditionally.included.
8fae0 0a 20 20 20 20 20 20 53 65 63 6f 6e 64 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 69 6e 70 75 .......Second,.there.are.no.inpu
8fb00 74 73 2c 20 6f 75 74 70 75 74 73 2c 20 6f 72 20 63 6c 6f 62 62 65 72 73 2e 20 41 6c 6c 20 67 6c ts,.outputs,.or.clobbers..All.gl
8fb20 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 20 69 73 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 0a 20 20 obal.assembly.is.concatenated...
8fb40 20 20 20 20 76 65 72 62 61 74 69 6d 20 69 6e 74 6f 20 6f 6e 65 20 6c 6f 6e 67 20 73 74 72 69 6e ....verbatim.into.one.long.strin
8fb60 67 20 61 6e 64 20 61 73 73 65 6d 62 6c 65 64 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 72 65 20 g.and.assembled.together..There.
8fb80 61 72 65 20 6e 6f 20 74 65 6d 70 6c 61 74 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 72 75 6c are.no.template.substitution.rul
8fba0 65 73 20 72 65 67 61 72 64 69 6e 67 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 25 3c 2f 63 6f 64 65 es.regarding.......<code>%</code
8fbc0 3e 20 61 73 20 74 68 65 72 65 20 61 72 65 20 69 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c >.as.there.are.in.inline.assembl
8fbe0 79 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 y.expressions........</p>.......
8fc00 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
8fc20 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 67 6c 6f 62 ap"><cite.class="file">test_glob
8fc40 61 6c 5f 61 73 73 65 6d 62 6c 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 al_assembly.zig</cite></figcapti
8fc60 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
8fc80 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 w">const</span>.std.=.<span.clas
8fca0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c s="tok-builtin">@import</span>(<
8fcc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 span.class="tok-str">&quot;std&q
8fce0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b uot;</span>);.<span.class="tok-k
8fd00 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 w">const</span>.expect.=.std.tes
8fd20 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ting.expect;..<span.class="tok-k
8fd40 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 w">comptime</span>.{.....<span.c
8fd60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 20 28 0a 20 20 20 20 20 lass="tok-kw">asm</span>.(......
8fd80 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 2e 67 6c 6f 62 ...<span.class="tok-str">\\.glob
8fda0 61 6c 20 6d 79 5f 66 75 6e 63 3b 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e al.my_func;.</span>........<span
8fdc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 2e 74 79 70 65 20 6d 79 5f 66 75 6e 63 .class="tok-str">\\.type.my_func
8fde0 2c 20 40 66 75 6e 63 74 69 6f 6e 3b 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 3c 73 70 61 ,.@function;.</span>........<spa
8fe00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 6d 79 5f 66 75 6e 63 3a 0a 3c 2f 73 n.class="tok-str">\\my_func:.</s
8fe20 70 61 6e 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 pan>........<span.class="tok-str
8fe40 22 3e 5c 5c 20 20 6c 65 61 20 28 25 72 64 69 2c 25 72 73 69 2c 31 29 2c 25 65 61 78 0a 3c 2f 73 ">\\..lea.(%rdi,%rsi,1),%eax.</s
8fe60 70 61 6e 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 pan>........<span.class="tok-str
8fe80 22 3e 5c 5c 20 20 72 65 74 71 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 29 3b 0a 7d 0a 0a 3c 73 70 61 ">\\..retq.</span>....);.}..<spa
8fea0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">extern</span>.<
8fec0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
8fee0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 79 5f 66 75 6e 63 3c 2f 73 70 61 6e pan.class="tok-fn">my_func</span
8ff00 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c >(a:.<span.class="tok-type">i32<
8ff20 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 /span>,.b:.<span.class="tok-type
8ff40 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ">i32</span>).<span.class="tok-t
8ff60 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">i32</span>;..<span.class="t
8ff80 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ok-kw">test</span>.<span.class="
8ffa0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 26 71 tok-str">&quot;global.assembly&q
8ffc0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 uot;</span>.{.....<span.class="t
8ffe0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 79 5f 66 75 6e 63 ok-kw">try</span>.expect(my_func
90000 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 (<span.class="tok-number">12</sp
90020 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 an>,.<span.class="tok-number">34
90040 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d </span>).==.<span.class="tok-num
90060 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ber">46</span>);.}</code></pre><
90080 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 /figure><figure><figcaption.clas
900a0 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e s="shell-cap">Shell</figcaption>
900c0 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f <pre><samp>$.<kbd>zig.test.test_
900e0 67 6c 6f 62 61 6c 5f 61 73 73 65 6d 62 6c 79 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 78 38 36 5f global_assembly.zig.-target.x86_
90100 36 34 2d 6c 69 6e 75 78 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 67 6c 6f 62 61 6c 5f 61 64-linux</kbd>.1/1.test_global_a
90120 73 73 65 6d 62 6c 79 2e 74 65 73 74 2e 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 2e 2e 2e 20 ssembly.test.global.assembly....
90140 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f OK.All.1.tests.passed..</samp></
90160 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 pre></figure>...................
90180 20 20 20 3c 68 32 20 69 64 3d 22 41 74 6f 6d 69 63 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ...<h2.id="Atomics"><a.href="#to
901a0 63 2d 41 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d c-Atomics">Atomics</a>.<a.class=
901c0 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 "hdr".href="#Atomics">..</a></h2
901e0 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 40 66 65 6e 63 65 28 29 3c 2f 70 3e 0a 20 >........<p>TODO:.@fence()</p>..
90200 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 40 61 74 6f 6d 69 63 20 72 6d 77 3c 2f 70 3e 0a 20 20 .....<p>TODO:.@atomic.rmw</p>...
90220 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 62 75 69 6c 74 69 6e 20 61 74 6f 6d 69 63 20 6d 65 6d 6f ....<p>TODO:.builtin.atomic.memo
90240 72 79 20 6f 72 64 65 72 69 6e 67 20 65 6e 75 6d 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 ry.ordering.enum</p>........<p>S
90260 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 ee.also:</p><ul>.<li><a.href="#a
90280 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a tomicLoad">@atomicLoad</a></li>.
902a0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d <li><a.href="#atomicStore">@atom
902c0 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 icStore</a></li>.<li><a.href="#a
902e0 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c tomicRmw">@atomicRmw</a></li>.<l
90300 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c i><a.href="#fence">@fence</a></l
90320 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 i>.<li><a.href="#cmpxchgWeak">@c
90340 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d mpxchgWeak</a></li>.<li><a.href=
90360 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c "#cmpxchgStrong">@cmpxchgStrong<
90380 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c /a></li>.</ul>.................<
903a0 68 32 20 69 64 3d 22 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d h2.id="Async-Functions"><a.href=
903c0 22 23 74 6f 63 2d 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e "#toc-Async-Functions">Async.Fun
903e0 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ctions</a>.<a.class="hdr".href="
90400 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 #Async-Functions">..</a></h2>...
90420 20 20 20 20 20 3c 70 3e 41 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 67 72 65 73 73 65 .....<p>Async.functions.regresse
90440 64 20 77 69 74 68 20 74 68 65 20 72 65 6c 65 61 73 65 20 6f 66 20 30 2e 31 31 2e 30 2e 20 54 68 d.with.the.release.of.0.11.0..Th
90460 65 69 72 20 66 75 74 75 72 65 20 69 6e 0a 20 20 20 20 20 20 74 68 65 20 5a 69 67 20 6c 61 6e 67 eir.future.in.......the.Zig.lang
90480 75 61 67 65 20 69 73 20 75 6e 63 6c 65 61 72 20 64 75 65 20 74 6f 20 6d 75 6c 74 69 70 6c 65 20 uage.is.unclear.due.to.multiple.
904a0 75 6e 73 6f 6c 76 65 64 20 70 72 6f 62 6c 65 6d 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c unsolved.problems:</p>.......<ul
904c0 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 4c 56 4d 27 73 20 6c 61 63 6b 20 6f 66 20 61 62 69 >.........<li>LLVM's.lack.of.abi
904e0 6c 69 74 79 20 74 6f 20 6f 70 74 69 6d 69 7a 65 20 74 68 65 6d 2e 3c 2f 6c 69 3e 0a 20 20 20 20 lity.to.optimize.them.</li>.....
90500 20 20 20 20 3c 6c 69 3e 54 68 69 72 64 2d 70 61 72 74 79 20 64 65 62 75 67 67 65 72 73 27 20 6c ....<li>Third-party.debuggers'.l
90520 61 63 6b 20 6f 66 20 61 62 69 6c 69 74 79 20 74 6f 20 64 65 62 75 67 20 74 68 65 6d 2e 3c 2f 6c ack.of.ability.to.debug.them.</l
90540 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f i>.........<li><a.href="https://
90560 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 35 39 github.com/ziglang/zig/issues/59
90580 31 33 22 3e 54 68 65 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 72 6f 62 6c 65 6d 3c 2f 61 3e 13">The.cancellation.problem</a>
905a0 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 73 79 6e 63 20 66 75 6e 63 74 69 6f .</li>.........<li>Async.functio
905c0 6e 20 70 6f 69 6e 74 65 72 73 20 70 72 65 76 65 6e 74 69 6e 67 20 74 68 65 20 73 74 61 63 6b 20 n.pointers.preventing.the.stack.
905e0 73 69 7a 65 20 66 72 6f 6d 20 62 65 69 6e 67 20 6b 6e 6f 77 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 size.from.being.known.</li>.....
90600 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 70 72 6f 62 6c 65 6d 73 20 ..</ul>.......<p>These.problems.
90620 61 72 65 20 73 75 72 6d 6f 75 6e 74 61 62 6c 65 2c 20 62 75 74 20 69 74 20 77 69 6c 6c 20 74 61 are.surmountable,.but.it.will.ta
90640 6b 65 20 74 69 6d 65 2e 20 54 68 65 20 5a 69 67 20 74 65 61 6d 0a 20 20 20 20 20 20 69 73 20 63 ke.time..The.Zig.team.......is.c
90660 75 72 72 65 6e 74 6c 79 20 66 6f 63 75 73 65 64 20 6f 6e 20 6f 74 68 65 72 20 70 72 69 6f 72 69 urrently.focused.on.other.priori
90680 74 69 65 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 ties.</p>...............<h2.id="
906a0 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 Builtin-Functions"><a.href="#toc
906c0 2d 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 75 6e 63 -Builtin-Functions">Builtin.Func
906e0 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 tions</a>.<a.class="hdr".href="#
90700 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a Builtin-Functions">..</a></h2>..
90720 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e ......<p>.......Builtin.function
90740 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 s.are.provided.by.the.compiler.a
90760 6e 64 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 40 3c 2f 63 6f nd.are.prefixed.with.<code>@</co
90780 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 de>........The.<code><span.class
907a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ="tok-kw">comptime</span></code>
907c0 20 6b 65 79 77 6f 72 64 20 6f 6e 20 61 20 70 61 72 61 6d 65 74 65 72 20 6d 65 61 6e 73 20 74 68 .keyword.on.a.parameter.means.th
907e0 61 74 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 6d 75 73 74 20 62 65 20 6b 6e 6f 77 6e 0a 20 at.the.parameter.must.be.known..
90800 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .....at.compile.time........</p>
90820 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e 3c 61 .......<h3.id="addrSpaceCast"><a
90840 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e 40 61 64 64 72 .href="#toc-addrSpaceCast">@addr
90860 53 70 61 63 65 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 SpaceCast</a>.<a.class="hdr".hre
90880 66 3d 22 23 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a f="#addrSpaceCast">..</a></h3>..
908a0 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
908c0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 72 53 70 61 63 65 43 61 73 74 3c 2f 73 70 61 6e 3e k-builtin">@addrSpaceCast</span>
908e0 28 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 (ptr:.<span.class="tok-kw">anyty
90900 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pe</span>).<span.class="tok-kw">
90920 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 anytype</span></code></pre>.....
90940 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 20 70 6f 69 6e 74 65 72 20 66 ..<p>.......Converts.a.pointer.f
90960 72 6f 6d 20 6f 6e 65 20 61 64 64 72 65 73 73 20 73 70 61 63 65 20 74 6f 20 61 6e 6f 74 68 65 72 rom.one.address.space.to.another
90980 2e 20 54 68 65 20 6e 65 77 20 61 64 64 72 65 73 73 20 73 70 61 63 65 20 69 73 20 69 6e 66 65 72 ..The.new.address.space.is.infer
909a0 72 65 64 0a 09 09 09 62 61 73 65 64 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 74 79 70 65 2e red....based.on.the.result.type.
909c0 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 .Depending.on.the.current.target
909e0 20 61 6e 64 20 61 64 64 72 65 73 73 20 73 70 61 63 65 73 2c 20 74 68 69 73 20 63 61 73 74 0a 09 .and.address.spaces,.this.cast..
90a00 09 09 6d 61 79 20 62 65 20 61 20 6e 6f 2d 6f 70 2c 20 61 20 63 6f 6d 70 6c 65 78 20 6f 70 65 72 ..may.be.a.no-op,.a.complex.oper
90a20 61 74 69 6f 6e 2c 20 6f 72 20 69 6c 6c 65 67 61 6c 2e 20 49 66 20 74 68 65 20 63 61 73 74 20 69 ation,.or.illegal..If.the.cast.i
90a40 73 20 6c 65 67 61 6c 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 09 09 09 70 s.legal,.then.the.resulting....p
90a60 6f 69 6e 74 65 72 20 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 73 61 6d 65 20 6d 65 6d 6f 72 79 ointer.points.to.the.same.memory
90a80 20 6c 6f 63 61 74 69 6f 6e 20 61 73 20 74 68 65 20 70 6f 69 6e 74 65 72 20 6f 70 65 72 61 6e 64 .location.as.the.pointer.operand
90aa0 2e 20 49 74 20 69 73 20 61 6c 77 61 79 73 20 76 61 6c 69 64 20 74 6f 0a 09 09 09 63 61 73 74 20 ..It.is.always.valid.to....cast.
90ac0 61 20 70 6f 69 6e 74 65 72 20 62 65 74 77 65 65 6e 20 74 68 65 20 73 61 6d 65 20 61 64 64 72 65 a.pointer.between.the.same.addre
90ae0 73 73 20 73 70 61 63 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 ss.spaces........</p>...........
90b00 20 20 20 3c 68 33 20 69 64 3d 22 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 ...<h3.id="addWithOverflow"><a.h
90b20 72 65 66 3d 22 23 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 ref="#toc-addWithOverflow">@addW
90b40 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ithOverflow</a>.<a.class="hdr".h
90b60 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ref="#addWithOverflow">..</a></h
90b80 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3>........<pre><code><span.class
90ba0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c ="tok-builtin">@addWithOverflow<
90bc0 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 /span>(a:.<span.class="tok-kw">a
90be0 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 nytype</span>,.b:.<span.class="t
90c00 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">anytype</span>).<span.cla
90c20 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 ss="tok-kw">struct</span>.{.<spa
90c40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 n.class="tok-builtin">@TypeOf</s
90c60 70 61 6e 3e 28 61 2c 20 62 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 pan>(a,.b),.<span.class="tok-typ
90c80 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 20 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 e">u1</span>.}</code></pre>.....
90ca0 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 61 20 2b 20 62 ..<p>.......Performs.<code>a.+.b
90cc0 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 74 75 70 6c 65 20 77 69 74 68 </code>.and.returns.a.tuple.with
90ce0 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 61 20 70 6f 73 73 69 62 6c 65 20 6f 76 65 72 66 .the.result.and.a.possible.overf
90d00 6c 6f 77 20 62 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 low.bit........</p>.............
90d20 20 3c 68 33 20 69 64 3d 22 61 6c 69 67 6e 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .<h3.id="alignCast"><a.href="#to
90d40 63 2d 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 c-alignCast">@alignCast</a>.<a.c
90d60 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e c2 a7 3c lass="hdr".href="#alignCast">..<
90d80 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e /a></h3>........<pre><code><span
90da0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c .class="tok-builtin">@alignCast<
90dc0 2f 73 70 61 6e 3e 28 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 /span>(ptr:.<span.class="tok-kw"
90de0 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >anytype</span>).<span.class="to
90e00 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 k-kw">anytype</span></code></pre
90e20 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 >.......<p>.......<code>ptr</cod
90e40 65 3e 20 63 61 6e 20 62 65 20 3c 63 6f 64 65 3e 2a 54 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 e>.can.be.<code>*T</code>,.<code
90e60 3e 3f 2a 54 3c 2f 63 6f 64 65 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 5b 5d 54 3c 2f 63 6f 64 65 3e >?*T</code>,.or.<code>[]T</code>
90e80 2e 0a 09 09 09 43 68 61 6e 67 65 73 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 61 20 .....Changes.the.alignment.of.a.
90ea0 70 6f 69 6e 74 65 72 2e 20 54 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 74 6f 20 75 73 65 20 69 73 pointer..The.alignment.to.use.is
90ec0 20 69 6e 66 65 72 72 65 64 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 74 79 .inferred.based.on.the.result.ty
90ee0 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 41 20 3c 61 20 68 72 65 pe........</p>.......<p>A.<a.hre
90f00 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 f="#Incorrect-Pointer-Alignment"
90f20 3e 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 20 63 68 65 63 6b 3c >pointer.alignment.safety.check<
90f40 2f 61 3e 20 69 73 20 61 64 64 65 64 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 /a>.is.added.......to.the.genera
90f60 74 65 64 20 63 6f 64 65 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 70 6f 69 6e 74 65 ted.code.to.make.sure.the.pointe
90f80 72 20 69 73 20 61 6c 69 67 6e 65 64 20 61 73 20 70 72 6f 6d 69 73 65 64 2e 3c 2f 70 3e 0a 0a 20 r.is.aligned.as.promised.</p>...
90fa0 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 6c 69 67 6e 4f 66 22 3e 3c 61 20 ............<h3.id="alignOf"><a.
90fc0 68 72 65 66 3d 22 23 74 6f 63 2d 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e href="#toc-alignOf">@alignOf</a>
90fe0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f 66 22 3e .<a.class="hdr".href="#alignOf">
91000 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ..</a></h3>........<pre><code><s
91020 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 pan.class="tok-builtin">@alignOf
91040 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d </span>(<span.class="tok-kw">com
91060 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ptime</span>.T:.<span.class="tok
91080 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">type</span>).<span.class=
910a0 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f "tok-type">comptime_int</span></
910c0 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 code></pre>.......<p>.......This
910e0 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 .function.returns.the.number.of.
91100 62 79 74 65 73 20 74 68 61 74 20 74 68 69 73 20 74 79 70 65 20 73 68 6f 75 6c 64 20 62 65 20 61 bytes.that.this.type.should.be.a
91120 6c 69 67 6e 65 64 20 74 6f 0a 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 ligned.to.......for.the.current.
91140 74 61 72 67 65 74 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 43 20 41 42 49 2e 20 57 68 65 6e 20 target.to.match.the.C.ABI..When.
91160 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 68 61 73 0a the.child.type.of.a.pointer.has.
91180 20 20 20 20 20 20 74 68 69 73 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 74 68 65 20 61 6c 69 67 6e 6d ......this.alignment,.the.alignm
911a0 65 6e 74 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 74 79 70 65 ent.can.be.omitted.from.the.type
911c0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ........</p>.......<pre><code><s
911e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
91200 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 assert.=.<span.class="tok-builti
91220 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">@import</span>(<span.class="t
91240 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e ok-str">&quot;std&quot;</span>).
91260 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b debug.assert;.<span.class="tok-k
91280 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 w">comptime</span>.{.....assert(
912a0 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 *<span.class="tok-type">u32</spa
912c0 6e 3e 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 n>.==.*<span.class="tok-kw">alig
912e0 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n</span>(<span.class="tok-builti
91300 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">@alignOf</span>(<span.class="
91320 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 tok-type">u32</span>)).<span.cla
91340 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f ss="tok-type">u32</span>);.}</co
91360 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 de></pre>.......<p>.......The.re
91380 73 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c sult.is.a.target-specific.compil
913a0 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 20 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 e.time.constant..It.is.guarantee
913c0 64 20 74 6f 20 62 65 0a 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c d.to.be.......less.than.or.equal
913e0 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 28 54 29 .to.<a.href="#sizeOf">@sizeOf(T)
91400 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c </a>........</p>.......<p>See.al
91420 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d so:</p><ul>.<li><a.href="#Alignm
91440 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 ent">Alignment</a></li>.</ul>...
91460 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 73 22 3e 3c 61 20 68 72 65 66 .............<h3.id="as"><a.href
91480 3d 22 23 74 6f 63 2d 61 73 22 3e 40 61 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ="#toc-as">@as</a>.<a.class="hdr
914a0 22 20 68 72 65 66 3d 22 23 61 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ".href="#as">..</a></h3>........
914c0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
914e0 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tin">@as</span>(<span.class="tok
91500 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c -kw">comptime</span>.T:.<span.cl
91520 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 65 78 70 72 ass="tok-type">type</span>,.expr
91540 65 73 73 69 6f 6e 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e ession).T</code></pre>.......<p>
91560 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 .......Performs.<a.href="#Type-C
91580 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 2e 20 54 68 69 73 oercion">Type.Coercion</a>..This
915a0 20 63 61 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 76 65 72 .cast.is.allowed.when.the.conver
915c0 73 69 6f 6e 20 69 73 20 75 6e 61 6d 62 69 67 75 6f 75 73 20 61 6e 64 20 73 61 66 65 2c 0a 20 20 sion.is.unambiguous.and.safe,...
915e0 20 20 20 20 61 6e 64 20 69 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 77 61 79 20 74 6f 20 ....and.is.the.preferred.way.to.
91600 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 74 79 70 65 73 2c 20 77 68 65 6e 65 76 65 72 20 convert.between.types,.whenever.
91620 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 possible........</p>............
91640 20 20 20 3c 68 33 20 69 64 3d 22 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 3c 61 20 68 72 65 66 3d 22 ...<h3.id="atomicLoad"><a.href="
91660 23 74 6f 63 2d 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e #toc-atomicLoad">@atomicLoad</a>
91680 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 .<a.class="hdr".href="#atomicLoa
916a0 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 d">..</a></h3>........<pre><code
916c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 74 6f 6d ><span.class="tok-builtin">@atom
916e0 69 63 4c 6f 61 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b icLoad</span>(<span.class="tok-k
91700 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 w">comptime</span>.T:.<span.clas
91720 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a s="tok-type">type</span>,.ptr:.*
91740 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
91760 3e 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 >.T,.<span.class="tok-kw">compti
91780 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 29 me</span>.ordering:.AtomicOrder)
917a0 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 .T</code></pre>.......<p>.......
917c0 54 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 This.builtin.function.atomically
917e0 20 64 65 72 65 66 65 72 65 6e 63 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 3c 63 6f .dereferences.a.pointer.to.a.<co
91800 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 de>T</code>.and.returns.the.valu
91820 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 e........</p>.......<p>.......<c
91840 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 2c 20 ode>T</code>.must.be.a.pointer,.
91860 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 a.<code><span.class="tok-type">b
91880 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 ool</span></code>,.a.float,.....
918a0 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c ..an.integer.or.an.enum........<
918c0 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f /p>.......<p><code>AtomicOrder</
918e0 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 code>.can.be.found.with.<code><s
91900 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c pan.class="tok-builtin">@import<
91920 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>(<span.class="tok-str">&qu
91940 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 41 74 6f ot;std&quot;</span>).builtin.Ato
91960 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 micOrder</code>.</p>.......<p>Se
91980 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 e.also:</p><ul>.<li><a.href="#at
919a0 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e omicStore">@atomicStore</a></li>
919c0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 .<li><a.href="#atomicRmw">@atomi
919e0 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e 63 cRmw</a></li>.<li><a.href="#fenc
91a00 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 e">@fence</a></li>.<li><a.href="
91a20 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f #cmpxchgWeak">@cmpxchgWeak</a></
91a40 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 li>.<li><a.href="#cmpxchgStrong"
91a60 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a >@cmpxchgStrong</a></li>.</ul>..
91a80 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 74 6f 6d 69 63 52 6d 77 22 ..............<h3.id="atomicRmw"
91aa0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 ><a.href="#toc-atomicRmw">@atomi
91ac0 63 52 6d 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 cRmw</a>.<a.class="hdr".href="#a
91ae0 74 6f 6d 69 63 52 6d 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 tomicRmw">..</a></h3>........<pr
91b00 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
91b20 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">@atomicRmw</span>(<span.class=
91b40 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 "tok-kw">comptime</span>.T:.<spa
91b60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 n.class="tok-type">type</span>,.
91b80 70 74 72 3a 20 2a 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ptr:.*T,.<span.class="tok-kw">co
91ba0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 41 74 6f 6d 69 63 52 6d 77 4f 70 2c 20 6f mptime</span>.op:.AtomicRmwOp,.o
91bc0 70 65 72 61 6e 64 3a 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e perand:.T,.<span.class="tok-kw">
91be0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 41 74 6f 6d 69 63 comptime</span>.ordering:.Atomic
91c00 4f 72 64 65 72 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a Order).T</code></pre>.......<p>.
91c20 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 64 65 72 65 ......This.builtin.function.dere
91c40 66 65 72 65 6e 63 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 3c 63 6f 64 65 3e 54 3c ferences.a.pointer.to.a.<code>T<
91c60 2f 63 6f 64 65 3e 20 61 6e 64 20 61 74 6f 6d 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 6d 6f 64 69 /code>.and.atomically.......modi
91c80 66 69 65 73 20 74 68 65 20 76 61 6c 75 65 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 fies.the.value.and.returns.the.p
91ca0 72 65 76 69 6f 75 73 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 revious.value........</p>.......
91cc0 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 <p>.......<code>T</code>.must.be
91ce0 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .a.pointer,.a.<code><span.class=
91d00 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 "tok-type">bool</span></code>,.a
91d20 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 .float,.......an.integer.or.an.e
91d40 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 41 num........</p>.......<p><code>A
91d60 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 tomicOrder</code>.can.be.found.w
91d80 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ith.<code><span.class="tok-built
91da0 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@import</span>(<span.class="
91dc0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 tok-str">&quot;std&quot;</span>)
91de0 2e 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e .builtin.AtomicOrder</code>.</p>
91e00 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 52 6d 77 4f 70 3c 2f 63 6f 64 .......<p><code>AtomicRmwOp</cod
91e20 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e e>.can.be.found.with.<code><span
91e40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 .class="tok-builtin">@import</sp
91e60 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>(<span.class="tok-str">&quot;
91e80 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 std&quot;</span>).builtin.Atomic
91ea0 52 6d 77 4f 70 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 RmwOp</code>.</p>.......<p>See.a
91ec0 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 lso:</p><ul>.<li><a.href="#atomi
91ee0 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c cStore">@atomicStore</a></li>.<l
91f00 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c i><a.href="#atomicLoad">@atomicL
91f20 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e 63 65 oad</a></li>.<li><a.href="#fence
91f40 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 ">@fence</a></li>.<li><a.href="#
91f60 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c cmpxchgWeak">@cmpxchgWeak</a></l
91f80 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e i>.<li><a.href="#cmpxchgStrong">
91fa0 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 @cmpxchgStrong</a></li>.</ul>...
91fc0 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 74 6f 6d 69 63 53 74 6f 72 65 .............<h3.id="atomicStore
91fe0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 "><a.href="#toc-atomicStore">@at
92000 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 omicStore</a>.<a.class="hdr".hre
92020 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 f="#atomicStore">..</a></h3>....
92040 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ....<pre><code><span.class="tok-
92060 62 75 69 6c 74 69 6e 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 builtin">@atomicStore</span>(<sp
92080 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e an.class="tok-kw">comptime</span
920a0 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 >.T:.<span.class="tok-type">type
920c0 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 76 61 6c 75 65 3a 20 54 2c 20 3c 73 70 61 </span>,.ptr:.*T,.value:.T,.<spa
920e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e n.class="tok-kw">comptime</span>
92100 20 6f 72 64 65 72 69 6e 67 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 3c 73 70 61 6e 20 63 6c .ordering:.AtomicOrder).<span.cl
92120 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-type">void</span></code
92140 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 ></pre>.......<p>.......This.bui
92160 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 64 65 72 65 66 65 72 65 6e 63 65 73 20 61 20 70 6f 69 ltin.function.dereferences.a.poi
92180 6e 74 65 72 20 74 6f 20 61 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 74 6f nter.to.a.<code>T</code>.and.ato
921a0 6d 69 63 61 6c 6c 79 20 73 74 6f 72 65 73 20 74 68 65 20 67 69 76 65 6e 20 76 61 6c 75 65 2e 0a mically.stores.the.given.value..
921c0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 ......</p>.......<p>.......<code
921e0 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c >T</code>.must.be.a.pointer,.a.<
92200 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c code><span.class="tok-type">bool
92220 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 </span></code>,.a.float,.......a
92240 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e n.integer.or.an.enum........</p>
92260 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 .......<p><code>AtomicOrder</cod
92280 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e e>.can.be.found.with.<code><span
922a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 .class="tok-builtin">@import</sp
922c0 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>(<span.class="tok-str">&quot;
922e0 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 std&quot;</span>).builtin.Atomic
92300 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 Order</code>.</p>.......<p>See.a
92320 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 lso:</p><ul>.<li><a.href="#atomi
92340 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e cLoad">@atomicLoad</a></li>.<li>
92360 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c <a.href="#atomicRmw">@atomicRmw<
92380 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 /a></li>.<li><a.href="#fence">@f
923a0 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 ence</a></li>.<li><a.href="#cmpx
923c0 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c chgWeak">@cmpxchgWeak</a></li>.<
923e0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 li><a.href="#cmpxchgStrong">@cmp
92400 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 xchgStrong</a></li>.</ul>.......
92420 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 69 74 43 61 73 74 22 3e 3c 61 20 68 72 65 .........<h3.id="bitCast"><a.hre
92440 66 3d 22 23 74 6f 63 2d 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 3c 61 f="#toc-bitCast">@bitCast</a>.<a
92460 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e c2 a7 3c .class="hdr".href="#bitCast">..<
92480 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e /a></h3>........<pre><code><span
924a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 .class="tok-builtin">@bitCast</s
924c0 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>(value:.<span.class="tok-kw"
924e0 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >anytype</span>).<span.class="to
92500 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 k-kw">anytype</span></code></pre
92520 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 20 76 61 6c >.......<p>.......Converts.a.val
92540 75 65 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 20 74 79 70 65 2e 20 ue.of.one.type.to.another.type..
92560 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 0a 09 09 09 69 6e 66 65 72 72 The.return.type.is.the....inferr
92580 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ed.result.type........</p>......
925a0 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 73 65 72 74 73 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 .<p>.......Asserts.that.<code><s
925c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c pan.class="tok-builtin">@sizeOf<
925e0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 /span>(<span.class="tok-builtin"
92600 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 29 20 3d 3d 20 3c 73 70 61 6e >@TypeOf</span>(value)).==.<span
92620 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 .class="tok-builtin">@sizeOf</sp
92640 61 6e 3e 28 44 65 73 74 54 79 70 65 29 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e an>(DestType)</code>........</p>
92660 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 73 65 72 74 73 20 74 68 61 74 20 3c 63 .......<p>.......Asserts.that.<c
92680 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 ode><span.class="tok-builtin">@t
926a0 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 44 65 73 74 54 79 70 65 29 20 21 3d 20 2e 50 6f 69 ypeInfo</span>(DestType).!=..Poi
926c0 6e 74 65 72 3c 2f 63 6f 64 65 3e 2e 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 nter</code>..Use.<code><span.cla
926e0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e ss="tok-builtin">@ptrCast</span>
92700 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </code>.or.<code><span.class="to
92720 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 k-builtin">@ptrFromInt</span></c
92740 6f 64 65 3e 20 69 66 20 79 6f 75 20 6e 65 65 64 20 74 68 69 73 2e 0a 20 20 20 20 20 20 3c 2f 70 ode>.if.you.need.this........</p
92760 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 6e 20 62 65 20 75 73 65 64 20 66 6f >.......<p>.......Can.be.used.fo
92780 72 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 r.these.things.for.example:.....
927a0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ..</p>.......<ul>...........<li>
927c0 43 6f 6e 76 65 72 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 Convert.<code><span.class="tok-t
927e0 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e ype">f32</span></code>.to.<code>
92800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e <span.class="tok-type">u32</span
92820 3e 3c 2f 63 6f 64 65 3e 20 62 69 74 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ></code>.bits</li>...........<li
92840 3e 43 6f 6e 76 65 72 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >Convert.<code><span.class="tok-
92860 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 type">i32</span></code>.to.<code
92880 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 ><span.class="tok-type">u32</spa
928a0 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 65 73 65 72 76 69 6e 67 20 74 77 6f 73 20 63 6f 6d 70 6c 65 n></code>.preserving.twos.comple
928c0 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ment</li>.......</ul>.......<p>.
928e0 20 20 20 20 20 20 57 6f 72 6b 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 69 66 20 3c ......Works.at.compile-time.if.<
92900 63 6f 64 65 3e 76 61 6c 75 65 3c 2f 63 6f 64 65 3e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f code>value</code>.is.known.at.co
92920 6d 70 69 6c 65 20 74 69 6d 65 2e 20 49 74 27 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 mpile.time..It's.a.compile.error
92940 20 74 6f 20 62 69 74 63 61 73 74 20 61 20 76 61 6c 75 65 20 6f 66 20 75 6e 64 65 66 69 6e 65 64 .to.bitcast.a.value.of.undefined
92960 20 6c 61 79 6f 75 74 3b 20 74 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 2c 20 62 65 73 69 64 65 .layout;.this.means.that,.beside
92980 73 20 74 68 65 20 72 65 73 74 72 69 63 74 69 6f 6e 20 66 72 6f 6d 20 74 79 70 65 73 20 77 68 69 s.the.restriction.from.types.whi
929a0 63 68 20 70 6f 73 73 65 73 73 20 64 65 64 69 63 61 74 65 64 20 63 61 73 74 69 6e 67 20 62 75 69 ch.possess.dedicated.casting.bui
929c0 6c 74 69 6e 73 20 28 65 6e 75 6d 73 2c 20 70 6f 69 6e 74 65 72 73 2c 20 65 72 72 6f 72 20 73 65 ltins.(enums,.pointers,.error.se
929e0 74 73 29 2c 20 62 61 72 65 20 73 74 72 75 63 74 73 2c 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2c ts),.bare.structs,.error.unions,
92a00 20 73 6c 69 63 65 73 2c 20 6f 70 74 69 6f 6e 61 6c 73 2c 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 .slices,.optionals,.and.any.othe
92a20 72 20 74 79 70 65 20 77 69 74 68 6f 75 74 20 61 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 6d 65 r.type.without.a.well-defined.me
92a40 6d 6f 72 79 20 6c 61 79 6f 75 74 2c 20 61 6c 73 6f 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 mory.layout,.also.cannot.be.used
92a60 20 69 6e 20 74 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .in.this.operation........</p>..
92a80 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 69 74 4f 66 66 73 65 74 4f 66 .............<h3.id="bitOffsetOf
92aa0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 "><a.href="#toc-bitOffsetOf">@bi
92ac0 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 tOffsetOf</a>.<a.class="hdr".hre
92ae0 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 f="#bitOffsetOf">..</a></h3>....
92b00 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ....<pre><code><span.class="tok-
92b20 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 builtin">@bitOffsetOf</span>(<sp
92b40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e an.class="tok-kw">comptime</span
92b60 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 >.T:.<span.class="tok-type">type
92b80 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f </span>,.<span.class="tok-kw">co
92ba0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 mptime</span>.field_name:.[]<spa
92bc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 n.class="tok-kw">const</span>.<s
92be0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 pan.class="tok-type">u8</span>).
92c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f <span.class="tok-type">comptime_
92c20 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 int</span></code></pre>.......<p
92c40 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 62 69 74 20 6f 66 66 73 65 74 20 6f >.......Returns.the.bit.offset.o
92c60 66 20 61 20 66 69 65 6c 64 20 72 65 6c 61 74 69 76 65 20 74 6f 20 69 74 73 20 63 6f 6e 74 61 69 f.a.field.relative.to.its.contai
92c80 6e 69 6e 67 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ning.struct........</p>.......<p
92ca0 3e 0a 20 20 20 20 20 20 46 6f 72 20 6e 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 >.......For.non.<a.href="#packed
92cc0 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 74 68 69 -struct">packed.structs</a>,.thi
92ce0 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 3c 63 s.will.always.be.divisible.by.<c
92d00 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f ode><span.class="tok-number">8</
92d20 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 46 6f 72 20 70 61 63 6b 65 64 20 73 span></code>........For.packed.s
92d40 74 72 75 63 74 73 2c 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 tructs,.non-byte-aligned.fields.
92d60 77 69 6c 6c 20 73 68 61 72 65 20 61 20 62 79 74 65 20 6f 66 66 73 65 74 2c 20 62 75 74 20 74 68 will.share.a.byte.offset,.but.th
92d80 65 79 20 77 69 6c 6c 20 68 61 76 65 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 62 69 74 ey.will.have.different.......bit
92da0 20 6f 66 66 73 65 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 .offsets........</p>.......<p>Se
92dc0 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6f 66 e.also:</p><ul>.<li><a.href="#of
92de0 66 73 65 74 4f 66 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e fsetOf">@offsetOf</a></li>.</ul>
92e00 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 69 74 53 69 7a 65 4f ................<h3.id="bitSizeO
92e20 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 f"><a.href="#toc-bitSizeOf">@bit
92e40 53 69 7a 65 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 SizeOf</a>.<a.class="hdr".href="
92e60 23 62 69 74 53 69 7a 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c #bitSizeOf">..</a></h3>........<
92e80 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
92ea0 69 6e 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 in">@bitSizeOf</span>(<span.clas
92ec0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 s="tok-kw">comptime</span>.T:.<s
92ee0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e pan.class="tok-type">type</span>
92f00 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d ).<span.class="tok-type">comptim
92f20 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 e_int</span></code></pre>.......
92f40 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 <p>.......This.function.returns.
92f60 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 69 74 20 74 61 6b 65 73 20 74 6f 20 73 the.number.of.bits.it.takes.to.s
92f80 74 6f 72 65 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 79 20 69 66 tore.<code>T</code>.in.memory.if
92fa0 20 74 68 65 20 74 79 70 65 0a 20 20 20 20 20 20 77 65 72 65 20 61 20 66 69 65 6c 64 20 69 6e 20 .the.type.......were.a.field.in.
92fc0 61 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 2f 75 6e 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 65 a.packed.struct/union........The
92fe0 20 72 65 73 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d .result.is.a.target-specific.com
93000 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 pile.time.constant........</p>..
93020 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 65 61 .....<p>.......This.function.mea
93040 73 75 72 65 73 20 74 68 65 20 73 69 7a 65 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 74 sures.the.size.at.runtime..For.t
93060 79 70 65 73 20 74 68 61 74 20 61 72 65 20 64 69 73 61 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e 74 ypes.that.are.disallowed.at.runt
93080 69 6d 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ime,.such.as.......<code><span.c
930a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 lass="tok-type">comptime_int</sp
930c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 an></code>.and.<code><span.class
930e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 ="tok-type">type</span></code>,.
93100 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d the.result.is.<code><span.class=
93120 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 "tok-number">0</span></code>....
93140 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c ....</p>.......<p>See.also:</p><
93160 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f ul>.<li><a.href="#sizeOf">@sizeO
93180 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 f</a></li>.<li><a.href="#typeInf
931a0 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 o">@typeInfo</a></li>.</ul>.....
931c0 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 72 65 61 6b 70 6f 69 6e 74 22 3e 3c ...........<h3.id="breakpoint"><
931e0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b 70 a.href="#toc-breakpoint">@breakp
93200 6f 69 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 oint</a>.<a.class="hdr".href="#b
93220 72 65 61 6b 70 6f 69 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 reakpoint">..</a></h3>........<p
93240 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 re><code><span.class="tok-builti
93260 6e 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c n">@breakpoint</span>().<span.cl
93280 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-type">void</span></code
932a0 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e ></pre>.......<p>.......This.fun
932c0 63 74 69 6f 6e 20 69 6e 73 65 72 74 73 20 61 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 ction.inserts.a.platform-specifi
932e0 63 20 64 65 62 75 67 20 74 72 61 70 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 69 63 68 20 63 c.debug.trap.instruction.which.c
93300 61 75 73 65 73 0a 20 20 20 20 20 20 64 65 62 75 67 67 65 72 73 20 74 6f 20 62 72 65 61 6b 20 74 auses.......debuggers.to.break.t
93320 68 65 72 65 2e 0a 20 20 20 20 20 20 55 6e 6c 69 6b 65 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 here........Unlike.for.<code><sp
93340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 61 70 3c 2f 73 70 an.class="tok-builtin">@trap</sp
93360 61 6e 3e 28 29 3c 2f 63 6f 64 65 3e 2c 20 65 78 65 63 75 74 69 6f 6e 20 6d 61 79 20 63 6f 6e 74 an>()</code>,.execution.may.cont
93380 69 6e 75 65 20 61 66 74 65 72 20 74 68 69 73 20 70 6f 69 6e 74 20 69 66 20 74 68 65 20 70 72 6f inue.after.this.point.if.the.pro
933a0 67 72 61 6d 20 69 73 20 72 65 73 75 6d 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 gram.is.resumed........</p>.....
933c0 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c ..<p>.......This.function.is.onl
933e0 79 20 76 61 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 0a 20 y.valid.within.function.scope...
93400 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e .....</p>.......<p>See.also:</p>
93420 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 72 61 70 22 3e 40 74 72 61 70 3c 2f <ul>.<li><a.href="#trap">@trap</
93440 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 a></li>.</ul>................<h3
93460 20 69 64 3d 22 6d 75 6c 41 64 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 75 6c 41 64 .id="mulAdd"><a.href="#toc-mulAd
93480 64 22 3e 40 6d 75 6c 41 64 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 d">@mulAdd</a>.<a.class="hdr".hr
934a0 65 66 3d 22 23 6d 75 6c 41 64 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ef="#mulAdd">..</a></h3>........
934c0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
934e0 74 69 6e 22 3e 40 6d 75 6c 41 64 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tin">@mulAdd</span>(<span.class=
93500 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 "tok-kw">comptime</span>.T:.<spa
93520 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 n.class="tok-type">type</span>,.
93540 61 3a 20 54 2c 20 62 3a 20 54 2c 20 63 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e a:.T,.b:.T,.c:.T).T</code></pre>
93560 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 75 73 65 64 20 6d 75 6c 74 69 70 6c 79 2d .......<p>.......Fused.multiply-
93580 61 64 64 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 63 6f 64 65 3e 28 61 20 2a 20 62 29 20 2b 20 add,.similar.to.<code>(a.*.b).+.
935a0 63 3c 2f 63 6f 64 65 3e 2c 20 65 78 63 65 70 74 0a 20 20 20 20 20 20 6f 6e 6c 79 20 72 6f 75 6e c</code>,.except.......only.roun
935c0 64 73 20 6f 6e 63 65 2c 20 61 6e 64 20 69 73 20 74 68 75 73 20 6d 6f 72 65 20 61 63 63 75 72 61 ds.once,.and.is.thus.more.accura
935e0 74 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 te........</p>.......<p>.......S
93600 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 upports.<a.href="#Floats">Floats
93620 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 </a>.and.<a.href="#Vectors">Vect
93640 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ors</a>.of.floats........</p>...
93660 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 79 74 65 53 77 61 70 22 3e 3c 61 ............<h3.id="byteSwap"><a
93680 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 79 74 65 53 77 61 70 22 3e 40 62 79 74 65 53 77 61 70 3c .href="#toc-byteSwap">@byteSwap<
936a0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 79 74 65 53 77 /a>.<a.class="hdr".href="#byteSw
936c0 61 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ap">..</a></h3>........<pre><cod
936e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 79 74 e><span.class="tok-builtin">@byt
93700 65 53 77 61 70 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 eSwap</span>(operand:.<span.clas
93720 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 54 3c 2f 63 6f s="tok-kw">anytype</span>).T</co
93740 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 de></pre>.......<p><code><span.c
93760 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e lass="tok-builtin">@TypeOf</span
93780 3e 28 6f 70 65 72 61 6e 64 29 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 >(operand)</code>.must.be.an.int
937a0 65 67 65 72 20 74 79 70 65 20 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 76 65 63 74 6f 72 20 74 eger.type.or.an.integer.vector.t
937c0 79 70 65 20 77 69 74 68 20 62 69 74 20 63 6f 75 6e 74 20 65 76 65 6e 6c 79 20 64 69 76 69 73 69 ype.with.bit.count.evenly.divisi
937e0 62 6c 65 20 62 79 20 38 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 6f 70 65 ble.by.8.</p>.......<p><code>ope
93800 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 rand</code>.may.be.an.<a.href="#
93820 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 Integers">integer</a>.or.<a.href
93840 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 ="#Vectors">vector</a>.</p>.....
93860 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 77 61 70 73 20 74 68 65 20 62 79 74 65 20 6f 72 64 65 72 ..<p>.......Swaps.the.byte.order
93880 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 2e 20 54 68 69 73 20 63 6f 6e 76 65 72 74 73 20 61 .of.the.integer..This.converts.a
938a0 20 62 69 67 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 6c 69 74 74 6c 65 20 .big.endian.integer.to.a.little.
938c0 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 63 6f 6e 76 65 72 endian.integer,.......and.conver
938e0 74 73 20 61 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 ts.a.little.endian.integer.to.a.
93900 62 69 67 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 big.endian.integer........</p>..
93920 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 66 6f 72 20 74 68 65 .....<p>.......Note.that.for.the
93940 20 70 75 72 70 6f 73 65 73 20 6f 66 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 77 69 74 68 20 .purposes.of.memory.layout.with.
93960 72 65 73 70 65 63 74 20 74 6f 20 65 6e 64 69 61 6e 6e 65 73 73 2c 20 74 68 65 20 69 6e 74 65 67 respect.to.endianness,.the.integ
93980 65 72 20 74 79 70 65 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 72 65 6c 61 74 65 64 20 er.type.should.be.......related.
939a0 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 70 6f 72 74 65 64 20 to.the.number.of.bytes.reported.
939c0 62 79 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e by.<a.href="#sizeOf">@sizeOf</a>
939e0 20 62 79 74 65 73 2e 20 54 68 69 73 20 69 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 20 77 69 74 .bytes..This.is.demonstrated.wit
93a00 68 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 h.......<code><span.class="tok-t
93a20 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 63 6f 64 65 3e 3c 73 ype">u24</span></code>..<code><s
93a40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c pan.class="tok-builtin">@sizeOf<
93a60 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 /span>(<span.class="tok-type">u2
93a80 34 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 4</span>).==.<span.class="tok-nu
93aa0 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 6d 65 61 mber">4</span></code>,.which.mea
93ac0 6e 73 20 74 68 61 74 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ns.that.a.......<code><span.clas
93ae0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 s="tok-type">u24</span></code>.s
93b00 74 6f 72 65 64 20 69 6e 20 6d 65 6d 6f 72 79 20 74 61 6b 65 73 20 34 20 62 79 74 65 73 2c 20 61 tored.in.memory.takes.4.bytes,.a
93b20 6e 64 20 74 68 6f 73 65 20 34 20 62 79 74 65 73 20 61 72 65 20 77 68 61 74 20 61 72 65 20 73 77 nd.those.4.bytes.are.what.are.sw
93b40 61 70 70 65 64 20 6f 6e 0a 20 20 20 20 20 20 61 20 6c 69 74 74 6c 65 20 76 73 20 62 69 67 20 65 apped.on.......a.little.vs.big.e
93b60 6e 64 69 61 6e 20 73 79 73 74 65 6d 2e 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 2c ndian.system..On.the.other.hand,
93b80 20 69 66 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 69 73 20 73 70 65 63 69 66 69 65 64 20 .if.<code>T</code>.is.specified.
93ba0 74 6f 0a 20 20 20 20 20 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 to.......be.<code><span.class="t
93bc0 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e ok-type">u24</span></code>,.then
93be0 20 6f 6e 6c 79 20 33 20 62 79 74 65 73 20 61 72 65 20 72 65 76 65 72 73 65 64 2e 0a 20 20 20 20 .only.3.bytes.are.reversed......
93c00 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 69 74 ..</p>...............<h3.id="bit
93c20 52 65 76 65 72 73 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 52 65 76 65 72 73 Reverse"><a.href="#toc-bitRevers
93c40 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 e">@bitReverse</a>.<a.class="hdr
93c60 22 20 68 72 65 66 3d 22 23 62 69 74 52 65 76 65 72 73 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ".href="#bitReverse">..</a></h3>
93c80 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ........<pre><code><span.class="
93ca0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 73 70 61 6e 3e 28 tok-builtin">@bitReverse</span>(
93cc0 69 6e 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e integer:.<span.class="tok-kw">an
93ce0 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 ytype</span>).T</code></pre>....
93d00 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ...<p><code><span.class="tok-bui
93d20 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@TypeOf</span>(<span.class
93d40 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e ="tok-kw">anytype</span>)</code>
93d60 20 61 63 63 65 70 74 73 20 61 6e 79 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 6f 72 20 69 6e 74 .accepts.any.integer.type.or.int
93d80 65 67 65 72 20 76 65 63 74 6f 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a eger.vector.type.</p>.......<p>.
93da0 20 20 20 20 20 20 52 65 76 65 72 73 65 73 20 74 68 65 20 62 69 74 70 61 74 74 65 72 6e 20 6f 66 ......Reverses.the.bitpattern.of
93dc0 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 .an.integer.value,.including.the
93de0 20 73 69 67 6e 20 62 69 74 20 69 66 20 61 70 70 6c 69 63 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c .sign.bit.if.applicable........<
93e00 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 /p>.......<p>.......For.example.
93e20 30 62 31 30 31 31 30 31 31 30 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 0b10110110.(<code><span.class="t
93e40 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">u8</span>.=.<span.class
93e60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 38 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c ="tok-number">182</span></code>,
93e80 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 .<code><span.class="tok-type">i8
93ea0 3c 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 </span>.=.-<span.class="tok-numb
93ec0 65 72 22 3e 37 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 20 20 62 65 63 6f er">74</span></code>).......beco
93ee0 6d 65 73 20 30 62 30 31 31 30 31 31 30 31 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 mes.0b01101101.(<code><span.clas
93f00 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 s="tok-type">u8</span>.=.<span.c
93f20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 39 3c 2f 73 70 61 6e 3e 3c 2f 63 6f lass="tok-number">109</span></co
93f40 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 de>,.<code><span.class="tok-type
93f60 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">i8</span>.=.<span.class="tok-n
93f80 75 6d 62 65 72 22 3e 31 30 39 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 umber">109</span></code>).......
93fa0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6f 66 66 73 .</p>...............<h3.id="offs
93fc0 65 74 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6f 66 66 73 65 74 4f 66 22 3e 40 6f etOf"><a.href="#toc-offsetOf">@o
93fe0 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d ffsetOf</a>.<a.class="hdr".href=
94000 22 23 6f 66 66 73 65 74 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c "#offsetOf">..</a></h3>........<
94020 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
94040 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 in">@offsetOf</span>(<span.class
94060 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 ="tok-kw">comptime</span>.T:.<sp
94080 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c an.class="tok-type">type</span>,
940a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f .<span.class="tok-kw">comptime</
940c0 73 70 61 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.field_name:.[]<span.class=
940e0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-kw">const</span>.<span.clas
94100 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c s="tok-type">u8</span>).<span.cl
94120 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 ass="tok-type">comptime_int</spa
94140 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n></code></pre>.......<p>.......
94160 52 65 74 75 72 6e 73 20 74 68 65 20 62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 20 61 20 66 69 65 Returns.the.byte.offset.of.a.fie
94180 6c 64 20 72 65 6c 61 74 69 76 65 20 74 6f 20 69 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 73 74 ld.relative.to.its.containing.st
941a0 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c ruct........</p>.......<p>See.al
941c0 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 so:</p><ul>.<li><a.href="#bitOff
941e0 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 setOf">@bitOffsetOf</a></li>.</u
94200 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 61 6c 6c 22 3e l>................<h3.id="call">
94220 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 3e 20 3c 61 <a.href="#toc-call">@call</a>.<a
94240 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 61 6c 6c 22 3e c2 a7 3c 2f 61 3e .class="hdr".href="#call">..</a>
94260 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </h3>........<pre><code><span.cl
94280 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 28 6d ass="tok-builtin">@call</span>(m
942a0 6f 64 69 66 69 65 72 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 4d 6f 64 69 66 69 65 odifier:.std.builtin.CallModifie
942c0 72 2c 20 66 75 6e 63 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 r,.function:.<span.class="tok-kw
942e0 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c ">anytype</span>,.args:.<span.cl
94300 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 ass="tok-kw">anytype</span>).<sp
94320 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e an.class="tok-kw">anytype</span>
94340 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 </code></pre>.......<p>.......Ca
94360 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 lls.a.function,.in.the.same.way.
94380 74 68 61 74 20 69 6e 76 6f 6b 69 6e 67 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 that.invoking.an.expression.with
943a0 20 70 61 72 65 6e 74 68 65 73 65 73 20 64 6f 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .parentheses.does:.......</p>...
943c0 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a ....<figure><figcaption.class="z
943e0 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
94400 63 61 6c 6c 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 call_builtin.zig</cite></figcapt
94420 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
94440 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 kw">const</span>.expect.=.<span.
94460 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 class="tok-builtin">@import</spa
94480 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 n>(<span.class="tok-str">&quot;s
944a0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b td&quot;</span>).testing.expect;
944c0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 ..<span.class="tok-kw">test</spa
944e0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e n>.<span.class="tok-str">&quot;n
94500 6f 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 oinline.function.call&quot;</spa
94520 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 n>.{.....<span.class="tok-kw">tr
94540 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b y</span>.expect(<span.class="tok
94560 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 28 2e 61 75 74 6f 2c 20 61 64 -builtin">@call</span>(.auto,.ad
94580 64 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c d,..{<span.class="tok-number">3<
945a0 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
945c0 3e 39 3c 2f 73 70 61 6e 3e 7d 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >9</span>}).==.<span.class="tok-
945e0 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 number">12</span>);.}..<span.cla
94600 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ss="tok-kw">fn</span>.<span.clas
94620 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 s="tok-fn">add</span>(a:.<span.c
94640 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c lass="tok-type">i32</span>,.b:.<
94660 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">i32</span>
94680 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 ).<span.class="tok-type">i32</sp
946a0 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 an>.{.....<span.class="tok-kw">r
946c0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 eturn</span>.a.+.b;.}</code></pr
946e0 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 e></figure><figure><figcaption.c
94700 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 lass="shell-cap">Shell</figcapti
94720 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 on><pre><samp>$.<kbd>zig.test.te
94740 73 74 5f 63 61 6c 6c 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 st_call_builtin.zig</kbd>.1/1.te
94760 73 74 5f 63 61 6c 6c 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 6e 6f 69 6e 6c 69 6e 65 20 66 75 st_call_builtin.test.noinline.fu
94780 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 nction.call....OK.All.1.tests.pa
947a0 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 ssed..</samp></pre></figure>....
947c0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...<p>.......<code><span.class="
947e0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e tok-builtin">@call</span></code>
94800 20 61 6c 6c 6f 77 73 20 6d 6f 72 65 20 66 6c 65 78 69 62 69 6c 69 74 79 20 74 68 61 6e 20 6e 6f .allows.more.flexibility.than.no
94820 72 6d 61 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 20 64 6f 65 73 2e 20 rmal.function.call.syntax.does..
94840 54 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 43 61 6c 6c 4d 6f 64 69 66 69 65 72 3c 2f 63 6f The.......<code>CallModifier</co
94860 64 65 3e 20 65 6e 75 6d 20 69 73 20 72 65 70 72 6f 64 75 63 65 64 20 68 65 72 65 3a 0a 20 20 20 de>.enum.is.reproduced.here:....
94880 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f ...</p>.......<figure><figcaptio
948a0 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 n.class="zig-cap"><cite.class="f
948c0 69 6c 65 22 3e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 4d 6f 64 69 66 69 65 72 20 73 74 72 75 63 74 ile">builtin.CallModifier.struct
948e0 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
94900 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 de><span.class="tok-kw">pub</spa
94920 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 n>.<span.class="tok-kw">const</s
94940 70 61 6e 3e 20 43 61 6c 6c 4d 6f 64 69 66 69 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.CallModifier.=.<span.class=
94960 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e "tok-kw">enum</span>.{.....<span
94980 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 71 75 69 76 61 6c .class="tok-comment">///.Equival
949a0 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 2e 3c 2f 73 70 ent.to.function.call.syntax.</sp
949c0 61 6e 3e 0a 20 20 20 20 61 75 74 6f 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.....auto,......<span.class="
949e0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 tok-comment">///.Equivalent.to.a
94a00 73 79 6e 63 20 6b 65 79 77 6f 72 64 20 75 73 65 64 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 sync.keyword.used.with.function.
94a20 63 61 6c 6c 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 79 6e 63 5f 6b 77 call.syntax.</span>.....async_kw
94a40 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 ,......<span.class="tok-comment"
94a60 3e 2f 2f 2f 20 50 72 65 76 65 6e 74 73 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 >///.Prevents.tail.call.optimiza
94a80 74 69 6f 6e 2e 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 72 tion..This.guarantees.that.the.r
94aa0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f eturn</span>.....<span.class="to
94ac0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 70 6f 69 6e k-comment">///.address.will.poin
94ae0 74 20 74 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2c 20 61 73 20 6f 70 70 6f 73 65 64 20 74 6f t.to.the.callsite,.as.opposed.to
94b00 20 74 68 65 20 63 61 6c 6c 73 69 74 65 27 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e .the.callsite's</span>.....<span
94b20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 61 6c 6c 73 69 74 .class="tok-comment">///.callsit
94b40 65 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 72 65 71 75 e..If.the.call.is.otherwise.requ
94b60 69 72 65 64 20 74 6f 20 62 65 20 74 61 69 6c 2d 63 61 6c 6c 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 ired.to.be.tail-called</span>...
94b80 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 ..<span.class="tok-comment">///.
94ba0 6f 72 20 69 6e 6c 69 6e 65 64 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 or.inlined,.a.compile.error.is.e
94bc0 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 6e 65 76 65 72 mitted.instead.</span>.....never
94be0 5f 74 61 69 6c 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d _tail,......<span.class="tok-com
94c00 6d 65 6e 74 22 3e 2f 2f 2f 20 47 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 ment">///.Guarantees.that.the.ca
94c20 6c 6c 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 69 6e 6c 69 6e 65 64 2e 20 49 66 20 74 68 65 20 63 ll.will.not.be.inlined..If.the.c
94c40 61 6c 6c 20 69 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 all.is</span>.....<span.class="t
94c60 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6f 74 68 65 72 77 69 73 65 20 72 65 71 75 69 72 ok-comment">///.otherwise.requir
94c80 65 64 20 74 6f 20 62 65 20 69 6e 6c 69 6e 65 64 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f ed.to.be.inlined,.a.compile.erro
94ca0 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 r.is.emitted.instead.</span>....
94cc0 20 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .never_inline,......<span.class=
94ce0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 41 73 73 65 72 74 73 20 74 68 61 74 20 74 "tok-comment">///.Asserts.that.t
94d00 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 77 69 6c 6c 20 6e 6f 74 20 73 75 73 70 65 6e he.function.call.will.not.suspen
94d20 64 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 61 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 d..This.allows.a</span>.....<spa
94d40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6e 6f 6e 2d 61 73 n.class="tok-comment">///.non-as
94d60 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 61 6c 6c 20 61 6e 20 61 73 79 6e 63 20 66 75 ync.function.to.call.an.async.fu
94d80 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 6e 6f 5f 61 73 79 6e 63 2c 0a 0a 20 20 nction.</span>.....no_async,....
94da0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 ..<span.class="tok-comment">///.
94dc0 47 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 62 65 Guarantees.that.the.call.will.be
94de0 20 67 65 6e 65 72 61 74 65 64 20 77 69 74 68 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 74 69 6d 69 .generated.with.tail.call.optimi
94e00 7a 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 zation.</span>.....<span.class="
94e20 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 tok-comment">///.If.this.is.not.
94e40 70 6f 73 73 69 62 6c 65 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 possible,.a.compile.error.is.emi
94e60 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 6c 77 61 79 73 5f tted.instead.</span>.....always_
94e80 74 61 69 6c 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d tail,......<span.class="tok-comm
94ea0 65 6e 74 22 3e 2f 2f 2f 20 47 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c ent">///.Guarantees.that.the.cal
94ec0 6c 20 77 69 6c 6c 20 69 6e 6c 69 6e 65 64 20 61 74 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2e 3c l.will.inlined.at.the.callsite.<
94ee0 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d /span>.....<span.class="tok-comm
94f00 65 6e 74 22 3e 2f 2f 2f 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 ent">///.If.this.is.not.possible
94f20 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 ,.a.compile.error.is.emitted.ins
94f40 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 2c 0a tead.</span>.....always_inline,.
94f60 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
94f80 2f 2f 20 45 76 61 6c 75 61 74 65 73 20 74 68 65 20 63 61 6c 6c 20 61 74 20 63 6f 6d 70 69 6c 65 //.Evaluates.the.call.at.compile
94fa0 2d 74 69 6d 65 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f 6d -time..If.the.call.cannot.be.com
94fc0 70 6c 65 74 65 64 20 61 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pleted.at</span>.....<span.class
94fe0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c ="tok-comment">///.compile-time,
95000 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 .a.compile.error.is.emitted.inst
95020 65 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6d 70 69 6c 65 5f 74 69 6d 65 2c 0a 7d 3b ead.</span>.....compile_time,.};
95040 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 </code></pre></figure>..........
95060 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 44 65 66 69 6e 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 .....<h3.id="cDefine"><a.href="#
95080 74 6f 63 2d 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 toc-cDefine">@cDefine</a>.<a.cla
950a0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e c2 a7 3c 2f 61 3e 3c ss="hdr".href="#cDefine">..</a><
950c0 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /h3>........<pre><code><span.cla
950e0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e ss="tok-builtin">@cDefine</span>
95100 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f (<span.class="tok-kw">comptime</
95120 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>.name:.[]<span.class="tok-k
95140 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b w">const</span>.<span.class="tok
95160 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 29 20 3c 73 70 61 6e 20 63 -type">u8</span>,.value).<span.c
95180 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">void</span></cod
951a0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 e></pre>.......<p>.......This.fu
951c0 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 63 6f nction.can.only.occur.inside.<co
951e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 de><span.class="tok-builtin">@cI
95200 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a mport</span></code>........</p>.
95220 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f ......<p>.......This.appends.<co
95240 64 65 3e 23 64 65 66 69 6e 65 20 24 6e 61 6d 65 20 24 76 61 6c 75 65 3c 2f 63 6f 64 65 3e 20 74 de>#define.$name.$value</code>.t
95260 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 o.the.<code><span.class="tok-bui
95280 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 ltin">@cImport</span></code>....
952a0 20 20 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ...temporary.buffer........</p>.
952c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 64 65 66 69 6e 65 20 77 69 74 68 6f 75 ......<p>.......To.define.withou
952e0 74 20 61 20 76 61 6c 75 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e t.a.value,.like.this:.......</p>
95300 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 23 64 65 66 .......<pre><code.class="c">#def
95320 69 6e 65 20 5f 47 4e 55 5f 53 4f 55 52 43 45 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 ine._GNU_SOURCE</code></pre>....
95340 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 74 68 65 20 76 6f 69 64 20 76 61 6c 75 65 2c ...<p>.......Use.the.void.value,
95360 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 .like.this:.......</p>.......<pr
95380 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
953a0 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">@cDefine</span>(<span.class="t
953c0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 47 4e 55 5f 53 4f 55 52 43 45 26 71 75 6f 74 3b 3c ok-str">&quot;_GNU_SOURCE&quot;<
953e0 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c /span>,.{})</code></pre>.......<
95400 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d p>See.also:</p><ul>.<li><a.href=
95420 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 "#Import-from-C-Header-File">Imp
95440 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a ort.from.C.Header.File</a></li>.
95460 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 <li><a.href="#cInclude">@cInclud
95480 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 e</a></li>.<li><a.href="#cImport
954a0 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d ">@cImport</a></li>.<li><a.href=
954c0 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c "#cUndef">@cUndef</a></li>.<li><
954e0 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 a.href="#void">void</a></li>.</u
95500 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 49 6d 70 6f 72 74 l>...............<h3.id="cImport
95520 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 "><a.href="#toc-cImport">@cImpor
95540 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 6d 70 t</a>.<a.class="hdr".href="#cImp
95560 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f ort">..</a></h3>........<pre><co
95580 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 de><span.class="tok-builtin">@cI
955a0 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 65 78 70 72 65 73 73 69 6f 6e 29 20 3c 73 70 61 6e 20 63 mport</span>(expression).<span.c
955c0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">type</span></cod
955e0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 e></pre>.......<p>.......This.fu
95600 6e 63 74 69 6f 6e 20 70 61 72 73 65 73 20 43 20 63 6f 64 65 20 61 6e 64 20 69 6d 70 6f 72 74 73 nction.parses.C.code.and.imports
95620 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 2c 20 74 79 70 65 73 2c 20 76 61 72 69 61 62 6c 65 73 .the.functions,.types,.variables
95640 2c 0a 20 20 20 20 20 20 61 6e 64 20 63 6f 6d 70 61 74 69 62 6c 65 20 6d 61 63 72 6f 20 64 65 66 ,.......and.compatible.macro.def
95660 69 6e 69 74 69 6f 6e 73 20 69 6e 74 6f 20 61 20 6e 65 77 20 65 6d 70 74 79 20 73 74 72 75 63 74 initions.into.a.new.empty.struct
95680 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 6e 0a 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 .type,.and.then.......returns.th
956a0 61 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 at.type........</p>.......<p>...
956c0 20 20 20 20 3c 63 6f 64 65 3e 65 78 70 72 65 73 73 69 6f 6e 3c 2f 63 6f 64 65 3e 20 69 73 20 69 ....<code>expression</code>.is.i
956e0 6e 74 65 72 70 72 65 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 20 54 68 65 20 nterpreted.at.compile.time..The.
95700 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 builtin.functions...........<cod
95720 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e e><span.class="tok-builtin">@cIn
95740 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e clude</span></code>,.<code><span
95760 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 .class="tok-builtin">@cDefine</s
95780 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 pan></code>,.and.<code><span.cla
957a0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 3c ss="tok-builtin">@cUndef</span><
957c0 2f 63 6f 64 65 3e 20 77 6f 72 6b 0a 20 20 20 20 20 20 77 69 74 68 69 6e 20 74 68 69 73 20 65 78 /code>.work.......within.this.ex
957e0 70 72 65 73 73 69 6f 6e 2c 20 61 70 70 65 6e 64 69 6e 67 20 74 6f 20 61 20 74 65 6d 70 6f 72 61 pression,.appending.to.a.tempora
95800 72 79 20 62 75 66 66 65 72 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 20 70 61 72 73 65 64 20 61 ry.buffer.which.is.then.parsed.a
95820 73 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 s.C.code........</p>.......<p>..
95840 20 20 20 20 20 55 73 75 61 6c 6c 79 20 79 6f 75 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 68 61 76 .....Usually.you.should.only.hav
95860 65 20 6f 6e 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 e.one.<code><span.class="tok-bui
95880 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 ltin">@cImport</span></code>.in.
958a0 79 6f 75 72 20 65 6e 74 69 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 62 65 63 61 75 73 65 your.entire.application,.because
958c0 20 69 74 20 73 61 76 65 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 66 72 6f .it.saves.the.compiler.......fro
958e0 6d 20 69 6e 76 6f 6b 69 6e 67 20 63 6c 61 6e 67 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2c m.invoking.clang.multiple.times,
95900 20 61 6e 64 20 70 72 65 76 65 6e 74 73 20 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 .and.prevents.inline.functions.f
95920 72 6f 6d 20 62 65 69 6e 67 20 64 75 70 6c 69 63 61 74 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e rom.being.duplicated........</p>
95940 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 61 73 6f 6e 73 20 66 6f 72 20 68 61 76 .......<p>.......Reasons.for.hav
95960 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ing.multiple.<code><span.class="
95980 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-builtin">@cImport</span></co
959a0 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 6f 75 6c 64 20 62 65 3a 0a 20 20 20 20 20 20 de>.expressions.would.be:.......
959c0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f </p>.......<ul>...........<li>To
959e0 20 61 76 6f 69 64 20 61 20 73 79 6d 62 6f 6c 20 63 6f 6c 6c 69 73 69 6f 6e 2c 20 66 6f 72 20 65 .avoid.a.symbol.collision,.for.e
95a00 78 61 6d 70 6c 65 20 69 66 20 66 6f 6f 2e 68 20 61 6e 64 20 62 61 72 2e 68 20 62 6f 74 68 20 3c xample.if.foo.h.and.bar.h.both.<
95a20 63 6f 64 65 3e 23 64 65 66 69 6e 65 20 43 4f 4e 4e 45 43 54 49 4f 4e 5f 43 4f 55 4e 54 3c 2f 63 code>#define.CONNECTION_COUNT</c
95a40 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 61 6e 61 6c 79 7a 65 ode></li>.........<li>To.analyze
95a60 20 74 68 65 20 43 20 63 6f 64 65 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 70 72 65 70 72 .the.C.code.with.different.prepr
95a80 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e ocessor.defines</li>.......</ul>
95aa0 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e .......<p>See.also:</p><ul>.<li>
95ac0 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 <a.href="#Import-from-C-Header-F
95ae0 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f ile">Import.from.C.Header.File</
95b00 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e a></li>.<li><a.href="#cInclude">
95b20 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 @cInclude</a></li>.<li><a.href="
95b40 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e #cDefine">@cDefine</a></li>.<li>
95b60 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c <a.href="#cUndef">@cUndef</a></l
95b80 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 i>.</ul>...............<h3.id="c
95ba0 49 6e 63 6c 75 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6e 63 6c 75 64 65 22 Include"><a.href="#toc-cInclude"
95bc0 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 >@cInclude</a>.<a.class="hdr".hr
95be0 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 ef="#cInclude">..</a></h3>......
95c00 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ..<pre><code><span.class="tok-bu
95c20 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c iltin">@cInclude</span>(<span.cl
95c40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 61 74 ass="tok-kw">comptime</span>.pat
95c60 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c h:.[]<span.class="tok-kw">const<
95c80 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 /span>.<span.class="tok-type">u8
95ca0 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>).<span.class="tok-type">
95cc0 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c void</span></code></pre>.......<
95ce0 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 p>.......This.function.can.only.
95d00 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 occur.inside.<code><span.class="
95d20 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-builtin">@cImport</span></co
95d40 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 de>........</p>.......<p>.......
95d60 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b This.appends.<code>#include.&lt;
95d80 24 70 61 74 68 26 67 74 3b 5c 6e 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e $path&gt;\n</code>.to.the.<code>
95da0 63 5f 69 6d 70 6f 72 74 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20 c_import</code>.......temporary.
95dc0 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 buffer........</p>.......<p>See.
95de0 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f also:</p><ul>.<li><a.href="#Impo
95e00 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 rt-from-C-Header-File">Import.fr
95e20 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 om.C.Header.File</a></li>.<li><a
95e40 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c .href="#cImport">@cImport</a></l
95e60 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 i>.<li><a.href="#cDefine">@cDefi
95e80 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 ne</a></li>.<li><a.href="#cUndef
95ea0 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 ">@cUndef</a></li>.</ul>........
95ec0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6c 7a 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ........<h3.id="clz"><a.href="#t
95ee0 6f 63 2d 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 oc-clz">@clz</a>.<a.class="hdr".
95f00 68 72 65 66 3d 22 23 63 6c 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c href="#clz">..</a></h3>........<
95f20 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
95f40 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 3c 73 70 61 6e 20 63 in">@clz</span>(operand:.<span.c
95f60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 lass="tok-kw">anytype</span>).<s
95f80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e pan.class="tok-kw">anytype</span
95fa0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 ></code></pre>.......<p><code><s
95fc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c pan.class="tok-builtin">@TypeOf<
95fe0 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 29 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 /span>(operand)</code>.must.be.a
96000 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 76 65 63 n.integer.type.or.an.integer.vec
96020 74 6f 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 6f 70 65 tor.type.</p>.......<p><code>ope
96040 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 rand</code>.may.be.an.<a.href="#
96060 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 Integers">integer</a>.or.<a.href
96080 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 ="#Vectors">vector</a>.</p>.....
960a0 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 ..<p>.......Counts.the.number.of
960c0 20 6d 6f 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 28 6c 65 61 64 69 6e 67 20 69 6e 20 61 20 .most-significant.(leading.in.a.
960e0 62 69 67 2d 65 6e 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e 20 69 big-endian.sense).zeroes.in.an.i
96100 6e 74 65 67 65 72 20 2d 20 22 63 6f 75 6e 74 20 6c 65 61 64 69 6e 67 20 7a 65 72 6f 65 73 22 2e nteger.-."count.leading.zeroes".
96120 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c .......</p>.......<p>.......If.<
96140 63 6f 64 65 3e 6f 70 65 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 61 20 68 72 65 66 code>operand</code>.is.a.<a.href
96160 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 ="#comptime">comptime</a>-known.
96180 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 integer,.......the.return.type.i
961a0 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 s.<code><span.class="tok-type">c
961c0 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 omptime_int</span></code>.......
961e0 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 .Otherwise,.the.return.type.is.a
96200 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 n.unsigned.integer.or.vector.of.
96220 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d unsigned.integers.with.the.minim
96240 75 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e um.number.......of.bits.that.can
96260 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 .represent.the.bit.count.of.the.
96280 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c integer.type........</p>.......<
962a0 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 6f 70 65 72 61 6e 64 3c 2f 63 6f 64 65 3e p>.......If.<code>operand</code>
962c0 20 69 73 20 7a 65 72 6f 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .is.zero,.<code><span.class="tok
962e0 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 -builtin">@clz</span></code>.ret
96300 75 72 6e 73 20 74 68 65 20 62 69 74 20 77 69 64 74 68 0a 20 20 20 20 20 20 6f 66 20 69 6e 74 65 urns.the.bit.width.......of.inte
96320 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c ger.type.<code>T</code>........<
96340 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c /p>.......<p>See.also:</p><ul>.<
96360 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a li><a.href="#ctz">@ctz</a></li>.
96380 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e <li><a.href="#popCount">@popCoun
963a0 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 t</a></li>.</ul>................
963c0 3c 68 33 20 69 64 3d 22 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 <h3.id="cmpxchgStrong"><a.href="
963e0 23 74 6f 63 2d 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f #toc-cmpxchgStrong">@cmpxchgStro
96400 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6d 70 ng</a>.<a.class="hdr".href="#cmp
96420 78 63 68 67 53 74 72 6f 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c xchgStrong">..</a></h3>........<
96440 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
96460 69 6e 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 in">@cmpxchgStrong</span>(<span.
96480 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 class="tok-kw">comptime</span>.T
964a0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 :.<span.class="tok-type">type</s
964c0 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 3a 20 54 pan>,.ptr:.*T,.expected_value:.T
964e0 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 54 2c 20 73 75 63 63 65 73 73 5f 6f 72 64 65 72 3a 20 41 ,.new_value:.T,.success_order:.A
96500 74 6f 6d 69 63 4f 72 64 65 72 2c 20 66 61 69 6c 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f 72 tomicOrder,.fail_order:.AtomicOr
96520 64 65 72 29 20 3f 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 der).?T</code></pre>.......<p>..
96540 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 61 20 73 74 .....This.function.performs.a.st
96560 72 6f 6e 67 20 61 74 6f 6d 69 63 20 63 6f 6d 70 61 72 65 2d 61 6e 64 2d 65 78 63 68 61 6e 67 65 rong.atomic.compare-and-exchange
96580 20 6f 70 65 72 61 74 69 6f 6e 2c 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 .operation,.returning.<code><spa
965a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-null">null</span></
965c0 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 code>.......if.the.current.value
965e0 20 69 73 20 6e 6f 74 20 74 68 65 20 67 69 76 65 6e 20 65 78 70 65 63 74 65 64 20 76 61 6c 75 65 .is.not.the.given.expected.value
96600 2e 20 49 74 27 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 74 68 69 73 20 63 6f ..It's.the.equivalent.of.this.co
96620 64 65 2c 0a 20 20 20 20 20 20 65 78 63 65 70 74 20 61 74 6f 6d 69 63 3a 0a 20 20 20 20 20 20 3c de,.......except.atomic:.......<
96640 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
96660 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
96680 3e 6e 6f 74 5f 61 74 6f 6d 69 63 5f 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 2e 7a 69 67 3c 2f 63 >not_atomic_cmpxchgStrong.zig</c
966a0 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 ite></figcaption><pre><code><spa
966c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e n.class="tok-kw">fn</span>.<span
966e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 42 75 74 .class="tok-fn">cmpxchgStrongBut
96700 4e 6f 74 41 74 6f 6d 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f NotAtomic</span>(<span.class="to
96720 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 k-kw">comptime</span>.T:.<span.c
96740 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 lass="tok-type">type</span>,.ptr
96760 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 6c :.*T,.expected_value:.T,.new_val
96780 75 65 3a 20 54 29 20 3f 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ue:.T).?T.{.....<span.class="tok
967a0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 20 3d 20 70 74 -kw">const</span>.old_value.=.pt
967c0 72 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 r.*;.....<span.class="tok-kw">if
967e0 3c 2f 73 70 61 6e 3e 20 28 6f 6c 64 5f 76 61 6c 75 65 20 3d 3d 20 65 78 70 65 63 74 65 64 5f 76 </span>.(old_value.==.expected_v
96800 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 70 74 72 2e 2a 20 3d 20 6e 65 77 5f 76 61 6c 75 alue).{.........ptr.*.=.new_valu
96820 65 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e e;.........<span.class="tok-kw">
96840 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e return</span>.<span.class="tok-n
96860 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c ull">null</span>;.....}.<span.cl
96880 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 ass="tok-kw">else</span>.{......
968a0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f ...<span.class="tok-kw">return</
968c0 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c span>.old_value;.....}.}</code><
968e0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 /pre></figure>.......<p>.......I
96900 66 20 79 6f 75 20 61 72 65 20 75 73 69 6e 67 20 63 6d 70 78 63 68 67 20 69 6e 20 61 20 72 65 74 f.you.are.using.cmpxchg.in.a.ret
96920 72 79 20 6c 6f 6f 70 2c 20 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e ry.loop,.<a.href="#cmpxchgWeak">
96940 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 20 69 73 20 74 68 65 20 62 65 74 74 65 72 20 63 @cmpxchgWeak</a>.is.the.better.c
96960 68 6f 69 63 65 2c 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 hoice,.because.it.can.be.impleme
96980 6e 74 65 64 0a 20 20 20 20 20 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 69 6e 20 6d nted.......more.efficiently.in.m
969a0 61 63 68 69 6e 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a achine.instructions........</p>.
969c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 6d ......<p>.......<code>T</code>.m
969e0 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ust.be.a.pointer,.a.<code><span.
96a00 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-type">bool</span></co
96a20 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f de>,.a.float,.......an.integer.o
96a40 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c r.an.enum........</p>.......<p><
96a60 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
96a80 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b typeInfo</span>(<span.class="tok
96aa0 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 29 2e 50 -builtin">@TypeOf</span>(ptr)).P
96ac0 6f 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 ointer.alignment</code>.must.be.
96ae0 3c 63 6f 64 65 3e 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 <code>&gt;=.<span.class="tok-bui
96b00 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 2e 3c 2f 63 6f 64 65 3e 3c ltin">@sizeOf</span>(T).</code><
96b20 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f /p>.......<p><code>AtomicOrder</
96b40 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 code>.can.be.found.with.<code><s
96b60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c pan.class="tok-builtin">@import<
96b80 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>(<span.class="tok-str">&qu
96ba0 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 41 74 6f ot;std&quot;</span>).builtin.Ato
96bc0 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 micOrder</code>.</p>.......<p>Se
96be0 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 e.also:</p><ul>.<li><a.href="#at
96c00 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e omicStore">@atomicStore</a></li>
96c20 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d .<li><a.href="#atomicLoad">@atom
96c40 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 icLoad</a></li>.<li><a.href="#at
96c60 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 omicRmw">@atomicRmw</a></li>.<li
96c80 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 ><a.href="#fence">@fence</a></li
96ca0 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d >.<li><a.href="#cmpxchgWeak">@cm
96cc0 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 pxchgWeak</a></li>.</ul>........
96ce0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 3c 61 20 ........<h3.id="cmpxchgWeak"><a.
96d00 68 72 65 66 3d 22 23 74 6f 63 2d 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 href="#toc-cmpxchgWeak">@cmpxchg
96d20 57 65 61 6b 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 Weak</a>.<a.class="hdr".href="#c
96d40 6d 70 78 63 68 67 57 65 61 6b 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c mpxchgWeak">..</a></h3>........<
96d60 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
96d80 69 6e 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c in">@cmpxchgWeak</span>(<span.cl
96da0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 ass="tok-kw">comptime</span>.T:.
96dc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 <span.class="tok-type">type</spa
96de0 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 n>,.ptr:.*T,.expected_value:.T,.
96e00 6e 65 77 5f 76 61 6c 75 65 3a 20 54 2c 20 73 75 63 63 65 73 73 5f 6f 72 64 65 72 3a 20 41 74 6f new_value:.T,.success_order:.Ato
96e20 6d 69 63 4f 72 64 65 72 2c 20 66 61 69 6c 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f 72 64 65 micOrder,.fail_order:.AtomicOrde
96e40 72 29 20 3f 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 r).?T</code></pre>.......<p>....
96e60 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 61 20 77 65 61 6b ...This.function.performs.a.weak
96e80 20 61 74 6f 6d 69 63 20 63 6f 6d 70 61 72 65 2d 61 6e 64 2d 65 78 63 68 61 6e 67 65 20 6f 70 65 .atomic.compare-and-exchange.ope
96ea0 72 61 74 69 6f 6e 2c 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ration,.returning.<code><span.cl
96ec0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-null">null</span></code
96ee0 3e 0a 20 20 20 20 20 20 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 69 73 20 >.......if.the.current.value.is.
96f00 6e 6f 74 20 74 68 65 20 67 69 76 65 6e 20 65 78 70 65 63 74 65 64 20 76 61 6c 75 65 2e 20 49 74 not.the.given.expected.value..It
96f20 27 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 74 68 69 73 20 63 6f 64 65 2c 0a 's.the.equivalent.of.this.code,.
96f40 20 20 20 20 20 20 65 78 63 65 70 74 20 61 74 6f 6d 69 63 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ......except.atomic:.......</p>.
96f60 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d ......<figure><figcaption.class=
96f80 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6d 70 "zig-cap"><cite.class="file">cmp
96fa0 78 63 68 67 57 65 61 6b 42 75 74 4e 6f 74 41 74 6f 6d 69 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 xchgWeakButNotAtomic</cite></fig
96fc0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><code><span.class="
96fe0 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tok-kw">fn</span>.<span.class="t
97000 6f 6b 2d 66 6e 22 3e 63 6d 70 78 63 68 67 57 65 61 6b 42 75 74 4e 6f 74 41 74 6f 6d 69 63 3c 2f ok-fn">cmpxchgWeakButNotAtomic</
97020 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 span>(<span.class="tok-kw">compt
97040 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ime</span>.T:.<span.class="tok-t
97060 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 ype">type</span>,.ptr:.*T,.expec
97080 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 54 29 20 3f 54 20 7b ted_value:.T,.new_value:.T).?T.{
970a0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
970c0 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 20 3d 20 70 74 72 2e 2a 3b 0a 20 20 20 20 3c 73 /span>.old_value.=.ptr.*;.....<s
970e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 6c pan.class="tok-kw">if</span>.(ol
97100 64 5f 76 61 6c 75 65 20 3d 3d 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 20 3c 73 70 61 6e 20 d_value.==.expected_value.<span.
97120 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 75 73 75 61 6c 6c class="tok-kw">and</span>.usuall
97140 79 54 72 75 65 42 75 74 53 6f 6d 65 74 69 6d 65 73 46 61 6c 73 65 28 29 29 20 7b 0a 20 20 20 20 yTrueButSometimesFalse()).{.....
97160 20 20 20 20 70 74 72 2e 2a 20 3d 20 6e 65 77 5f 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 3c ....ptr.*.=.new_value;.........<
97180 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e span.class="tok-kw">return</span
971a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 >.<span.class="tok-null">null</s
971c0 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>;.....}.<span.class="tok-kw"
971e0 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 >else</span>.{.........<span.cla
97200 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 ss="tok-kw">return</span>.old_va
97220 6c 75 65 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 lue;.....}.}</code></pre></figur
97240 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 61 72 65 20 75 73 e>.......<p>.......If.you.are.us
97260 69 6e 67 20 63 6d 70 78 63 68 67 20 69 6e 20 61 20 72 65 74 72 79 20 6c 6f 6f 70 2c 20 74 68 65 ing.cmpxchg.in.a.retry.loop,.the
97280 20 73 70 6f 72 61 64 69 63 20 66 61 69 6c 75 72 65 20 77 69 6c 6c 20 62 65 20 6e 6f 20 70 72 6f .sporadic.failure.will.be.no.pro
972a0 62 6c 65 6d 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 63 6f 64 blem,.and.<code>cmpxchgWeak</cod
972c0 65 3e 0a 20 20 20 20 20 20 69 73 20 74 68 65 20 62 65 74 74 65 72 20 63 68 6f 69 63 65 2c 20 62 e>.......is.the.better.choice,.b
972e0 65 63 61 75 73 65 20 69 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 6d 6f 72 ecause.it.can.be.implemented.mor
97300 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 69 6e 20 6d 61 63 68 69 6e 65 20 69 6e 73 74 72 75 63 e.efficiently.in.machine.instruc
97320 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 6e 65 65 64 tions........However.if.you.need
97340 20 61 20 73 74 72 6f 6e 67 65 72 20 67 75 61 72 61 6e 74 65 65 2c 20 75 73 65 20 3c 61 20 68 72 .a.stronger.guarantee,.use.<a.hr
97360 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f ef="#cmpxchgStrong">@cmpxchgStro
97380 6e 67 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ng</a>........</p>.......<p>....
973a0 20 20 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e ...<code>T</code>.must.be.a.poin
973c0 74 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ter,.a.<code><span.class="tok-ty
973e0 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c pe">bool</span></code>,.a.float,
97400 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 .......an.integer.or.an.enum....
97420 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ....</p>.......<p><code><span.cl
97440 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 ass="tok-builtin">@typeInfo</spa
97460 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 n>(<span.class="tok-builtin">@Ty
97480 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 29 2e 50 6f 69 6e 74 65 72 2e 61 6c 69 67 6e 6d peOf</span>(ptr)).Pointer.alignm
974a0 65 6e 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 63 6f 64 65 3e 26 67 74 3b 3d 20 3c ent</code>.must.be.<code>&gt;=.<
974c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 span.class="tok-builtin">@sizeOf
974e0 3c 2f 73 70 61 6e 3e 28 54 29 2e 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e </span>(T).</code></p>.......<p>
97500 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 <code>AtomicOrder</code>.can.be.
97520 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f found.with.<code><span.class="to
97540 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-builtin">@import</span>(<span.
97560 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c class="tok-str">&quot;std&quot;<
97580 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 /span>).builtin.AtomicOrder</cod
975a0 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 e>.</p>.......<p>See.also:</p><u
975c0 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 l>.<li><a.href="#atomicStore">@a
975e0 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d tomicStore</a></li>.<li><a.href=
97600 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c "#atomicLoad">@atomicLoad</a></l
97620 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f i>.<li><a.href="#atomicRmw">@ato
97640 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 micRmw</a></li>.<li><a.href="#fe
97660 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 nce">@fence</a></li>.<li><a.href
97680 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 ="#cmpxchgStrong">@cmpxchgStrong
976a0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </a></li>.</ul>................<
976c0 68 33 20 69 64 3d 22 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 h3.id="compileError"><a.href="#t
976e0 6f 63 2d 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f oc-compileError">@compileError</
97700 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 a>.<a.class="hdr".href="#compile
97720 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c Error">..</a></h3>........<pre><
97740 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
97760 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d compileError</span>(<span.class=
97780 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 73 67 3a 20 5b 5d "tok-kw">comptime</span>.msg:.[]
977a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
977c0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 >.<span.class="tok-type">u8</spa
977e0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 n>).<span.class="tok-type">noret
97800 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 urn</span></code></pre>.......<p
97820 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 65 6e 20 73 65 6d 61 >.......This.function,.when.sema
97840 6e 74 69 63 61 6c 6c 79 20 61 6e 61 6c 79 7a 65 64 2c 20 63 61 75 73 65 73 20 61 20 63 6f 6d 70 ntically.analyzed,.causes.a.comp
97860 69 6c 65 20 65 72 72 6f 72 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 6d 65 73 73 61 67 65 ile.error.with.the.......message
97880 20 3c 63 6f 64 65 3e 6d 73 67 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .<code>msg</code>........</p>...
978a0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 73 65 76 65 72 61 6c 20 ....<p>.......There.are.several.
978c0 77 61 79 73 20 74 68 61 74 20 63 6f 64 65 20 61 76 6f 69 64 73 20 62 65 69 6e 67 20 73 65 6d 61 ways.that.code.avoids.being.sema
978e0 6e 74 69 63 61 6c 6c 79 20 63 68 65 63 6b 65 64 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 ntically.checked,.such.as.......
97900 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 using.<code><span.class="tok-kw"
97920 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e >if</span></code>.or.<code><span
97940 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="tok-kw">switch</span></c
97960 6f 64 65 3e 20 77 69 74 68 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 73 ode>.with.compile.time.constants
97980 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ,...............and.<code><span.
979a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f class="tok-kw">comptime</span></
979c0 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 code>.functions........</p>.....
979e0 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 3c 61 ..........<h3.id="compileLog"><a
97a00 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 40 63 6f 6d 70 69 6c 65 .href="#toc-compileLog">@compile
97a20 4c 6f 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f Log</a>.<a.class="hdr".href="#co
97a40 6d 70 69 6c 65 4c 6f 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 mpileLog">..</a></h3>........<pr
97a60 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
97a80 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 2e 2e 2e 29 20 ">@compileLog</span>(args:....).
97aa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 <span.class="tok-type">void</spa
97ac0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n></code></pre>.......<p>.......
97ae0 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 73 20 74 68 65 20 61 72 67 75 6d 65 6e This.function.prints.the.argumen
97b00 74 73 20 70 61 73 73 65 64 20 74 6f 20 69 74 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e ts.passed.to.it.at.compile-time.
97b20 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 70 .......</p>.......<p>.......To.p
97b40 72 65 76 65 6e 74 20 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 6c 65 61 76 69 6e 67 20 63 6f 6d 70 revent.accidentally.leaving.comp
97b60 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 20 63 6f 64 65 62 61 73 65 ile.log.statements.in.a.codebase
97b80 2c 0a 20 20 20 20 20 20 61 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 65 72 72 6f 72 20 69 73 20 61 ,.......a.compilation.error.is.a
97ba0 64 64 65 64 20 74 6f 20 74 68 65 20 62 75 69 6c 64 2c 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 74 dded.to.the.build,.pointing.to.t
97bc0 68 65 20 63 6f 6d 70 69 6c 65 0a 20 20 20 20 20 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 2e 20 he.compile.......log.statement..
97be0 54 68 69 73 20 65 72 72 6f 72 20 70 72 65 76 65 6e 74 73 20 63 6f 64 65 20 66 72 6f 6d 20 62 65 This.error.prevents.code.from.be
97c00 69 6e 67 20 67 65 6e 65 72 61 74 65 64 2c 20 62 75 74 0a 20 20 20 20 20 20 64 6f 65 73 20 6e 6f ing.generated,.but.......does.no
97c20 74 20 6f 74 68 65 72 77 69 73 65 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 61 6e 61 6c 79 t.otherwise.interfere.with.analy
97c40 73 69 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 sis........</p>.......<p>.......
97c60 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 6f 20 This.function.can.be.used.to.do.
97c80 22 70 72 69 6e 74 66 20 64 65 62 75 67 67 69 6e 67 22 20 6f 6e 0a 20 20 20 20 20 20 63 6f 6d 70 "printf.debugging".on.......comp
97ca0 69 6c 65 2d 74 69 6d 65 20 65 78 65 63 75 74 69 6e 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c ile-time.executing.code........<
97cc0 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
97ce0 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
97d00 3e 74 65 73 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 >test_compileLog_builtin.zig</ci
97d20 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
97d40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 .class="tok-kw">const</span>.pri
97d60 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 nt.=.<span.class="tok-builtin">@
97d80 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 import</span>(<span.class="tok-s
97da0 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 tr">&quot;std&quot;</span>).debu
97dc0 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 g.print;..<span.class="tok-kw">c
97de0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 31 20 3d 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 3c 73 onst</span>.num1.=.blk:.{.....<s
97e00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 pan.class="tok-kw">var</span>.va
97e20 6c 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f l1:.<span.class="tok-type">i32</
97e40 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 span>.=.<span.class="tok-number"
97e60 3e 39 39 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >99</span>;.....<span.class="tok
97e80 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 -builtin">@compileLog</span>(<sp
97ea0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d an.class="tok-str">&quot;comptim
97ec0 65 20 76 61 6c 31 20 3d 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 31 29 3b 0a 20 e.val1.=.&quot;</span>,.val1);..
97ee0 20 20 20 76 61 6c 31 20 3d 20 76 61 6c 31 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ...val1.=.val1.+.<span.class="to
97f00 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c k-number">1</span>;.....<span.cl
97f20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 76 ass="tok-kw">break</span>.:blk.v
97f40 61 6c 31 3b 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 al1;.};..<span.class="tok-kw">te
97f60 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e st</span>.<span.class="tok-str">
97f80 26 71 75 6f 74 3b 6d 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 &quot;main&quot;</span>.{.....<s
97fa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 pan.class="tok-builtin">@compile
97fc0 4c 6f 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 Log</span>(<span.class="tok-str"
97fe0 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 >&quot;comptime.in.main&quot;</s
98000 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>);......print(<span.class="t
98020 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 52 75 6e 74 69 6d 65 20 69 6e 20 6d 61 69 6e 2c 20 6e ok-str">&quot;Runtime.in.main,.n
98040 75 6d 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 31 um1.=.{}.\n&quot;</span>,..{num1
98060 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 });.}</code></pre></figure><figu
98080 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 re><figcaption.class="shell-cap"
980a0 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 >Shell</figcaption><pre><samp>$.
980c0 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 5f 62 75 <kbd>zig.test.test_compileLog_bu
980e0 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 iltin.zig</kbd>.<span.class="sgr
98100 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 5f -1m">docgen_tmp/test_compileLog_
98120 62 75 69 6c 74 69 6e 2e 7a 69 67 3a 31 31 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 builtin.zig:11:5:.</span><span.c
98140 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 lass="sgr-31m">error:.</span><sp
98160 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 66 6f 75 6e 64 20 63 6f 6d 70 69 6c 65 20 an.class="sgr-1m">found.compile.
98180 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 40 63 6f 6d 70 69 6c log.statement.</span>....@compil
981a0 65 4c 6f 67 28 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 69 6e 26 71 75 6f 74 eLog(&quot;comptime.in.main&quot
981c0 3b 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e ;);.....<span.class="sgr-32m">^~
981e0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.</
98200 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e span><span.class="sgr-1m">docgen
98220 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 _tmp/test_compileLog_builtin.zig
98240 3a 35 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 :5:5:.</span><span.class="sgr-36
98260 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 m">note:.</span><span.class="sgr
98280 2d 31 6d 22 3e 61 6c 73 6f 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 40 63 6f 6d 70 69 -1m">also.here.</span>....@compi
982a0 6c 65 4c 6f 67 28 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 20 3d 20 26 71 75 6f leLog(&quot;comptime.val1.=.&quo
982c0 74 3b 2c 20 76 61 6c 31 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d t;,.val1);.....<span.class="sgr-
982e0 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 32m">^~~~~~~~~~~~~~~~~~~~~~~~~~~
98300 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 43 6f 6d 70 69 6c 65 20 4c 6f 67 20 4f ~~~~~~~~~~.</span>.Compile.Log.O
98320 75 74 70 75 74 3a 0a 40 61 73 28 2a 63 6f 6e 73 74 20 5b 31 36 3a 30 5d 75 38 2c 20 26 71 75 6f utput:.@as(*const.[16:0]u8,.&quo
98340 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 29 0a 40 61 73 28 2a 63 t;comptime.in.main&quot;).@as(*c
98360 6f 6e 73 74 20 5b 31 36 3a 30 5d 75 38 2c 20 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 onst.[16:0]u8,.&quot;comptime.va
98380 6c 31 20 3d 20 26 71 75 6f 74 3b 29 2c 20 40 61 73 28 69 33 32 2c 20 39 39 29 0a 3c 2f 73 61 6d l1.=.&quot;),.@as(i32,.99).</sam
983a0 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 p></pre></figure>...............
983c0 3c 68 33 20 69 64 3d 22 63 6f 6e 73 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 <h3.id="constCast"><a.href="#toc
983e0 2d 63 6f 6e 73 74 43 61 73 74 22 3e 40 63 6f 6e 73 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c -constCast">@constCast</a>.<a.cl
98400 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f 6e 73 74 43 61 73 74 22 3e c2 a7 3c 2f ass="hdr".href="#constCast">..</
98420 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 a></h3>........<pre><code><span.
98440 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6e 73 74 43 61 73 74 3c 2f class="tok-builtin">@constCast</
98460 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>(value:.<span.class="tok-kw
98480 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 63 6f 64 65 ">anytype</span>).DestType</code
984a0 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 6d 6f 76 65 20 3c ></pre>.......<p>.......Remove.<
984c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
984e0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 71 75 61 6c 69 66 69 65 72 20 66 72 6f 6d 20 61 20 70 /span></code>.qualifier.from.a.p
98500 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 ointer........</p>..............
98520 20 3c 68 33 20 69 64 3d 22 63 74 7a 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 74 7a 22 .<h3.id="ctz"><a.href="#toc-ctz"
98540 3e 40 63 74 7a 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 >@ctz</a>.<a.class="hdr".href="#
98560 63 74 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f ctz">..</a></h3>........<pre><co
98580 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 74 de><span.class="tok-builtin">@ct
985a0 7a 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 z</span>(operand:.<span.class="t
985c0 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">anytype</span>).<span.cla
985e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ss="tok-kw">anytype</span></code
98600 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ></pre>.......<p><code><span.cla
98620 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@TypeOf</span>(
98640 6f 70 65 72 61 6e 64 29 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 operand)</code>.must.be.an.integ
98660 65 72 20 74 79 70 65 20 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 76 65 63 74 6f 72 20 74 79 70 er.type.or.an.integer.vector.typ
98680 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 6f 70 65 72 61 6e 64 3c 2f 63 e.</p>.......<p><code>operand</c
986a0 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 ode>.may.be.an.<a.href="#Integer
986c0 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 s">integer</a>.or.<a.href="#Vect
986e0 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ors">vector</a>.</p>.......<p>..
98700 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 65 61 73 74 2d .....Counts.the.number.of.least-
98720 73 69 67 6e 69 66 69 63 61 6e 74 20 28 74 72 61 69 6c 69 6e 67 20 69 6e 20 61 20 62 69 67 2d 65 significant.(trailing.in.a.big-e
98740 6e 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 ndian.sense).zeroes.in.an.intege
98760 72 20 2d 20 22 63 6f 75 6e 74 20 74 72 61 69 6c 69 6e 67 20 7a 65 72 6f 65 73 22 2e 0a 20 20 20 r.-."count.trailing.zeroes".....
98780 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 ...</p>.......<p>.......If.<code
987a0 3e 6f 70 65 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 >operand</code>.is.a.<a.href="#c
987c0 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 69 6e 74 65 omptime">comptime</a>-known.inte
987e0 67 65 72 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 ger,.......the.return.type.is.<c
98800 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 ode><span.class="tok-type">compt
98820 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f 74 68 ime_int</span></code>........Oth
98840 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e erwise,.the.return.type.is.an.un
98860 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 69 signed.integer.or.vector.of.unsi
98880 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e gned.integers.with.the.minimum.n
988a0 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 umber.......of.bits.that.can.rep
988c0 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 resent.the.bit.count.of.the.inte
988e0 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ger.type........</p>.......<p>..
98900 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 6f 70 65 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 69 73 20 .....If.<code>operand</code>.is.
98920 7a 65 72 6f 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 zero,.<code><span.class="tok-bui
98940 6c 74 69 6e 22 3e 40 63 74 7a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 ltin">@ctz</span></code>.returns
98960 0a 20 20 20 20 20 20 74 68 65 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 69 6e 74 65 67 65 72 20 .......the.bit.width.of.integer.
98980 74 79 70 65 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a type.<code>T</code>........</p>.
989a0 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c ......<p>See.also:</p><ul>.<li><
989c0 61 20 68 72 65 66 3d 22 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e a.href="#clz">@clz</a></li>.<li>
989e0 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 <a.href="#popCount">@popCount</a
98a00 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 ></li>.</ul>................<h3.
98a20 69 64 3d 22 63 55 6e 64 65 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 55 6e 64 65 66 id="cUndef"><a.href="#toc-cUndef
98a40 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ">@cUndef</a>.<a.class="hdr".hre
98a60 66 3d 22 23 63 55 6e 64 65 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c f="#cUndef">..</a></h3>........<
98a80 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
98aa0 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@cUndef</span>(<span.class="
98ac0 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d tok-kw">comptime</span>.name:.[]
98ae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
98b00 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 >.<span.class="tok-type">u8</spa
98b20 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c n>).<span.class="tok-type">void<
98b40 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 /span></code></pre>.......<p>...
98b60 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 ....This.function.can.only.occur
98b80 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .inside.<code><span.class="tok-b
98ba0 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a uiltin">@cImport</span></code>..
98bc0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 ......</p>.......<p>.......This.
98be0 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 75 6e 64 65 66 20 24 6e 61 6d 65 3c 2f 63 6f 64 65 appends.<code>#undef.$name</code
98c00 3e 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >.to.the.<code><span.class="tok-
98c20 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a builtin">@cImport</span></code>.
98c40 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f ......temporary.buffer........</
98c60 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c p>.......<p>See.also:</p><ul>.<l
98c80 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 i><a.href="#Import-from-C-Header
98ca0 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 -File">Import.from.C.Header.File
98cc0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 </a></li>.<li><a.href="#cImport"
98ce0 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 >@cImport</a></li>.<li><a.href="
98d00 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e #cDefine">@cDefine</a></li>.<li>
98d20 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 <a.href="#cInclude">@cInclude</a
98d40 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 ></li>.</ul>................<h3.
98d60 69 64 3d 22 63 56 61 41 72 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 56 61 41 72 67 id="cVaArg"><a.href="#toc-cVaArg
98d80 22 3e 40 63 56 61 41 72 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ">@cVaArg</a>.<a.class="hdr".hre
98da0 66 3d 22 23 63 56 61 41 72 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c f="#cVaArg">..</a></h3>........<
98dc0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
98de0 69 6e 22 3e 40 63 56 61 41 72 67 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 2a 73 74 64 in">@cVaArg</span>(operand:.*std
98e00 2e 62 75 69 6c 74 69 6e 2e 56 61 4c 69 73 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .builtin.VaList,.<span.class="to
98e20 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 k-kw">comptime</span>.T:.<span.c
98e40 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 54 3c 2f lass="tok-type">type</span>).T</
98e60 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6d 70 6c code></pre>.......<p>.......Impl
98e80 65 6d 65 6e 74 73 20 74 68 65 20 43 20 6d 61 63 72 6f 20 3c 63 6f 64 65 3e 76 61 5f 61 72 67 3c ements.the.C.macro.<code>va_arg<
98ea0 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 /code>........</p>.......<p>See.
98ec0 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 43 also:</p><ul>.<li><a.href="#cVaC
98ee0 6f 70 79 22 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 opy">@cVaCopy</a></li>.<li><a.hr
98f00 65 66 3d 22 23 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c ef="#cVaEnd">@cVaEnd</a></li>.<l
98f20 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 74 61 72 74 3c i><a.href="#cVaStart">@cVaStart<
98f40 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 /a></li>.</ul>...............<h3
98f60 20 69 64 3d 22 63 56 61 43 6f 70 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 56 61 43 .id="cVaCopy"><a.href="#toc-cVaC
98f80 6f 70 79 22 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 opy">@cVaCopy</a>.<a.class="hdr"
98fa0 20 68 72 65 66 3d 22 23 63 56 61 43 6f 70 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 .href="#cVaCopy">..</a></h3>....
98fc0 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ....<pre><code><span.class="tok-
98fe0 62 75 69 6c 74 69 6e 22 3e 40 63 56 61 43 6f 70 79 3c 2f 73 70 61 6e 3e 28 73 72 63 3a 20 2a 73 builtin">@cVaCopy</span>(src:.*s
99000 74 64 2e 62 75 69 6c 74 69 6e 2e 56 61 4c 69 73 74 29 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 56 td.builtin.VaList).std.builtin.V
99020 61 4c 69 73 74 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 aList</code></pre>.......<p>....
99040 20 20 20 49 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 43 20 6d 61 63 72 6f 20 3c 63 6f 64 65 3e ...Implements.the.C.macro.<code>
99060 76 61 5f 63 6f 70 79 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 va_copy</code>........</p>......
99080 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 .<p>See.also:</p><ul>.<li><a.hre
990a0 66 3d 22 23 63 56 61 41 72 67 22 3e 40 63 56 61 41 72 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 f="#cVaArg">@cVaArg</a></li>.<li
990c0 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f 61 3e 3c 2f ><a.href="#cVaEnd">@cVaEnd</a></
990e0 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 li>.<li><a.href="#cVaStart">@cVa
99100 53 74 61 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 Start</a></li>.</ul>............
99120 20 20 20 3c 68 33 20 69 64 3d 22 63 56 61 45 6e 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ...<h3.id="cVaEnd"><a.href="#toc
99140 2d 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 -cVaEnd">@cVaEnd</a>.<a.class="h
99160 64 72 22 20 68 72 65 66 3d 22 23 63 56 61 45 6e 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a dr".href="#cVaEnd">..</a></h3>..
99180 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
991a0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 56 61 45 6e 64 3c 2f 73 70 61 6e 3e 28 73 72 63 3a 20 2a k-builtin">@cVaEnd</span>(src:.*
991c0 73 74 64 2e 62 75 69 6c 74 69 6e 2e 56 61 4c 69 73 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d std.builtin.VaList).<span.class=
991e0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 "tok-type">void</span></code></p
99200 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6d 70 6c 65 6d 65 6e 74 73 20 74 re>.......<p>.......Implements.t
99220 68 65 20 43 20 6d 61 63 72 6f 20 3c 63 6f 64 65 3e 76 61 5f 65 6e 64 3c 2f 63 6f 64 65 3e 2e 0a he.C.macro.<code>va_end</code>..
99240 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 ......</p>.......<p>See.also:</p
99260 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 41 72 67 22 3e 40 63 56 61 ><ul>.<li><a.href="#cVaArg">@cVa
99280 41 72 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 43 6f Arg</a></li>.<li><a.href="#cVaCo
992a0 70 79 22 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 py">@cVaCopy</a></li>.<li><a.hre
992c0 66 3d 22 23 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 61 3e 3c 2f 6c 69 3e f="#cVaStart">@cVaStart</a></li>
992e0 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 56 61 .</ul>...............<h3.id="cVa
99300 53 74 61 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 56 61 53 74 61 72 74 22 3e 40 Start"><a.href="#toc-cVaStart">@
99320 63 56 61 53 74 61 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 cVaStart</a>.<a.class="hdr".href
99340 3d 22 23 63 56 61 53 74 61 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ="#cVaStart">..</a></h3>........
99360 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
99380 74 69 6e 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 73 70 61 6e 3e 28 29 20 73 74 64 2e 62 75 69 6c tin">@cVaStart</span>().std.buil
993a0 74 69 6e 2e 56 61 4c 69 73 74 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 tin.VaList</code></pre>.......<p
993c0 3e 0a 20 20 20 20 20 20 49 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 43 20 6d 61 63 72 6f 20 3c >.......Implements.the.C.macro.<
993e0 63 6f 64 65 3e 76 61 5f 73 74 61 72 74 3c 2f 63 6f 64 65 3e 2e 20 4f 6e 6c 79 20 76 61 6c 69 64 code>va_start</code>..Only.valid
99400 20 69 6e 73 69 64 65 20 61 20 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 .inside.a.variadic.function.....
99420 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 ...</p>.......<p>See.also:</p><u
99440 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 41 72 67 22 3e 40 63 56 61 41 72 67 l>.<li><a.href="#cVaArg">@cVaArg
99460 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 56 61 43 6f 70 79 22 </a></li>.<li><a.href="#cVaCopy"
99480 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 >@cVaCopy</a></li>.<li><a.href="
994a0 23 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a #cVaEnd">@cVaEnd</a></li>.</ul>.
994c0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 45 78 61 63 74 22 ...............<h3.id="divExact"
994e0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 ><a.href="#toc-divExact">@divExa
99500 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 ct</a>.<a.class="hdr".href="#div
99520 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c Exact">..</a></h3>........<pre><
99540 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
99560 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 divExact</span>(numerator:.T,.de
99580 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 nominator:.T).T</code></pre>....
995a0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 63 74 20 64 69 76 69 73 69 6f 6e 2e 20 43 61 6c ...<p>.......Exact.division..Cal
995c0 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 ler.guarantees.<code>denominator
995e0 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f .!=.<span.class="tok-number">0</
99600 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 span></code>.and...........<code
99620 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 ><span.class="tok-builtin">@divT
99640 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 2c 20 64 65 6e 6f 6d 69 6e 61 74 runc</span>(numerator,.denominat
99660 6f 72 29 20 2a 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 6e 75 6d 65 72 61 74 6f 72 3c 2f or).*.denominator.==.numerator</
99680 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 code>........</p>.......<ul>....
996a0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .......<li><code><span.class="to
996c0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 k-builtin">@divExact</span>(<spa
996e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">6</span>,.<
99700 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e span.class="tok-number">3</span>
99720 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c ).==.<span.class="tok-number">2<
99740 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 /span></code></li>...........<li
99760 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 ><code><span.class="tok-builtin"
99780 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 20 3d 3d 20 61 >@divExact</span>(a,.b).*.b.==.a
997a0 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c </code></li>.......</ul>.......<
997c0 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 p>For.a.function.that.returns.a.
997e0 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c possible.error.code,.use.<code><
99800 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 span.class="tok-builtin">@import
99820 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
99840 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 45 78 uot;std&quot;</span>).math.divEx
99860 61 63 74 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 act</code>.</p>.......<p>See.als
99880 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e o:</p><ul>.<li><a.href="#divTrun
998a0 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 c">@divTrunc</a></li>.<li><a.hre
998c0 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e f="#divFloor">@divFloor</a></li>
998e0 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 .</ul>...............<h3.id="div
99900 46 6c 6f 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 69 76 46 6c 6f 6f 72 22 3e 40 Floor"><a.href="#toc-divFloor">@
99920 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 divFloor</a>.<a.class="hdr".href
99940 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ="#divFloor">..</a></h3>........
99960 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
99980 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a tin">@divFloor</span>(numerator:
999a0 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 .T,.denominator:.T).T</code></pr
999c0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6c 6f 6f 72 65 64 20 64 69 76 69 73 e>.......<p>.......Floored.divis
999e0 69 6f 6e 2e 20 52 6f 75 6e 64 73 20 74 6f 77 61 72 64 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 ion..Rounds.toward.negative.infi
99a00 6e 69 74 79 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 69 74 20 69 nity..For.unsigned.integers.it.i
99a20 73 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 63 6f 64 65 3e 6e 75 6d 65 72 61 s.......the.same.as.<code>numera
99a40 74 6f 72 20 2f 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 tor./.denominator</code>..Caller
99a60 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d .guarantees.<code>denominator.!=
99a80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 .<span.class="tok-number">0</spa
99aa0 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 n></code>.and...............<cod
99ac0 65 3e 21 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 e>!(<span.class="tok-builtin">@t
99ae0 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 20 3d 3d 20 2e 49 6e 74 20 3c 73 70 61 6e 20 ypeInfo</span>(T).==..Int.<span.
99b00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 54 2e 69 73 5f 73 class="tok-kw">and</span>.T.is_s
99b20 69 67 6e 65 64 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f igned.<span.class="tok-kw">and</
99b40 73 70 61 6e 3e 20 6e 75 6d 65 72 61 74 6f 72 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 span>.numerator.==.std.math.minI
99b60 6e 74 28 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f nt(T).<span.class="tok-kw">and</
99b80 73 70 61 6e 3e 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 span>.denominator.==.-<span.clas
99ba0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 2e s="tok-number">1</span>)</code>.
99bc0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 .......</p>.......<ul>..........
99be0 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c .<li><code><span.class="tok-buil
99c00 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 tin">@divFloor</span>(-<span.cla
99c20 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">5</span>,.<span.
99c40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 class="tok-number">3</span>).==.
99c60 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 -<span.class="tok-number">2</spa
99c80 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f n></code></li>...........<li><co
99ca0 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 de>(<span.class="tok-builtin">@d
99cc0 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 ivFloor</span>(a,.b).*.b).+.<spa
99ce0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e n.class="tok-builtin">@mod</span
99d00 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c >(a,.b).==.a</code></li>.......<
99d20 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 /ul>.......<p>For.a.function.tha
99d40 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 2c t.returns.a.possible.error.code,
99d60 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c .use.<code><span.class="tok-buil
99d80 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tin">@import</span>(<span.class=
99da0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;std&quot;</span>
99dc0 29 2e 6d 61 74 68 2e 64 69 76 46 6c 6f 6f 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 ).math.divFloor</code>.</p>.....
99de0 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ..<p>See.also:</p><ul>.<li><a.hr
99e00 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 ef="#divTrunc">@divTrunc</a></li
99e20 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 >.<li><a.href="#divExact">@divEx
99e40 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 act</a></li>.</ul>..............
99e60 20 3c 68 33 20 69 64 3d 22 64 69 76 54 72 75 6e 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 .<h3.id="divTrunc"><a.href="#toc
99e80 2d 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 -divTrunc">@divTrunc</a>.<a.clas
99ea0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e c2 a7 3c 2f 61 3e 3c s="hdr".href="#divTrunc">..</a><
99ec0 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /h3>........<pre><code><span.cla
99ee0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e ss="tok-builtin">@divTrunc</span
99f00 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 >(numerator:.T,.denominator:.T).
99f20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 T</code></pre>.......<p>.......T
99f40 72 75 6e 63 61 74 65 64 20 64 69 76 69 73 69 6f 6e 2e 20 52 6f 75 6e 64 73 20 74 6f 77 61 72 64 runcated.division..Rounds.toward
99f60 20 7a 65 72 6f 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 69 74 20 .zero..For.unsigned.integers.it.
99f80 69 73 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 63 6f 64 65 3e 6e 75 6d 65 72 is.......the.same.as.<code>numer
99fa0 61 74 6f 72 20 2f 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 ator./.denominator</code>..Calle
99fc0 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 r.guarantees.<code>denominator.!
99fe0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 =.<span.class="tok-number">0</sp
9a000 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f an></code>.and...............<co
9a020 64 65 3e 21 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 de>!(<span.class="tok-builtin">@
9a040 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 20 3d 3d 20 2e 49 6e 74 20 3c 73 70 61 6e typeInfo</span>(T).==..Int.<span
9a060 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 54 2e 69 73 5f .class="tok-kw">and</span>.T.is_
9a080 73 69 67 6e 65 64 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c signed.<span.class="tok-kw">and<
9a0a0 2f 73 70 61 6e 3e 20 6e 75 6d 65 72 61 74 6f 72 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e /span>.numerator.==.std.math.min
9a0c0 49 6e 74 28 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c Int(T).<span.class="tok-kw">and<
9a0e0 2f 73 70 61 6e 3e 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 /span>.denominator.==.-<span.cla
9a100 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e ss="tok-number">1</span>)</code>
9a120 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ........</p>.......<ul>.........
9a140 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ..<li><code><span.class="tok-bui
9a160 6c 74 69 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c ltin">@divTrunc</span>(-<span.cl
9a180 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">5</span>,.<span
9a1a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d .class="tok-number">3</span>).==
9a1c0 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 .-<span.class="tok-number">1</sp
9a1e0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 an></code></li>...........<li><c
9a200 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ode>(<span.class="tok-builtin">@
9a220 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 divTrunc</span>(a,.b).*.b).+.<sp
9a240 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 an.class="tok-builtin">@rem</spa
9a260 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 n>(a,.b).==.a</code></li>.......
9a280 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 </ul>.......<p>For.a.function.th
9a2a0 61 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 at.returns.a.possible.error.code
9a2c0 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ,.use.<code><span.class="tok-bui
9a2e0 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@import</span>(<span.class
9a300 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ="tok-str">&quot;std&quot;</span
9a320 3e 29 2e 6d 61 74 68 2e 64 69 76 54 72 75 6e 63 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 >).math.divTrunc</code>.</p>....
9a340 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 ...<p>See.also:</p><ul>.<li><a.h
9a360 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c ref="#divFloor">@divFloor</a></l
9a380 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 i>.<li><a.href="#divExact">@divE
9a3a0 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 xact</a></li>.</ul>.............
9a3c0 20 20 20 3c 68 33 20 69 64 3d 22 65 6d 62 65 64 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 ...<h3.id="embedFile"><a.href="#
9a3e0 74 6f 63 2d 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 20 3c 61 toc-embedFile">@embedFile</a>.<a
9a400 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 3e c2 .class="hdr".href="#embedFile">.
9a420 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 .</a></h3>........<pre><code><sp
9a440 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6d 62 65 64 46 69 6c an.class="tok-builtin">@embedFil
9a460 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f e</span>(<span.class="tok-kw">co
9a480 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 mptime</span>.path:.[]<span.clas
9a4a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c s="tok-kw">const</span>.<span.cl
9a4c0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 2a 3c 73 70 61 6e ass="tok-type">u8</span>).*<span
9a4e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 4e 3a .class="tok-kw">const</span>.[N:
9a500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e <span.class="tok-number">0</span
9a520 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 >]<span.class="tok-type">u8</spa
9a540 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n></code></pre>.......<p>.......
9a560 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 63 6f 6d 70 69 6c 65 20 This.function.returns.a.compile.
9a580 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 6e 75 6c 6c 2d 74 65 time.constant.pointer.to.null-te
9a5a0 72 6d 69 6e 61 74 65 64 2c 0a 20 20 20 20 20 20 66 69 78 65 64 2d 73 69 7a 65 20 61 72 72 61 79 rminated,.......fixed-size.array
9a5c0 20 77 69 74 68 20 6c 65 6e 67 74 68 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 62 79 74 65 20 63 .with.length.equal.to.the.byte.c
9a5e0 6f 75 6e 74 20 6f 66 20 74 68 65 20 66 69 6c 65 20 67 69 76 65 6e 20 62 79 0a 20 20 20 20 20 20 ount.of.the.file.given.by.......
9a600 3c 63 6f 64 65 3e 70 61 74 68 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 <code>path</code>..The.contents.
9a620 6f 66 20 74 68 65 20 61 72 72 61 79 20 61 72 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 of.the.array.are.the.contents.of
9a640 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c .the.file........This.is.equival
9a660 65 6e 74 20 74 6f 20 61 20 3c 61 20 68 72 65 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 ent.to.a.<a.href="#String-Litera
9a680 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 ls-and-Unicode-Code-Point-Litera
9a6a0 6c 73 22 3e 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 3c 2f 61 3e 0a 20 20 20 20 20 20 77 69 74 ls">string.literal</a>.......wit
9a6c0 68 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a h.the.file.contents........</p>.
9a6e0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 70 61 74 68 3c 2f 63 6f 64 65 ......<p>.......<code>path</code
9a700 3e 20 69 73 20 61 62 73 6f 6c 75 74 65 20 6f 72 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 >.is.absolute.or.relative.to.the
9a720 20 63 75 72 72 65 6e 74 20 66 69 6c 65 2c 20 6a 75 73 74 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c .current.file,.just.like.<code><
9a740 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 span.class="tok-builtin">@import
9a760 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 </span></code>........</p>......
9a780 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 .<p>See.also:</p><ul>.<li><a.hre
9a7a0 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 f="#import">@import</a></li>.</u
9a7c0 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 6e 75 6d 46 72 l>................<h3.id="enumFr
9a7e0 6f 6d 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 6e 75 6d 46 72 6f 6d 49 6e 74 omInt"><a.href="#toc-enumFromInt
9a800 22 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ">@enumFromInt</a>.<a.class="hdr
9a820 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ".href="#enumFromInt">..</a></h3
9a840 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d >........<pre><code><span.class=
9a860 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e "tok-builtin">@enumFromInt</span
9a880 3e 28 69 6e 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e >(integer:.<span.class="tok-kw">
9a8a0 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b anytype</span>).<span.class="tok
9a8c0 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e -kw">anytype</span></code></pre>
9a8e0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 .......<p>.......Converts.an.int
9a900 65 67 65 72 20 69 6e 74 6f 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 eger.into.an.<a.href="#enum">enu
9a920 6d 3c 2f 61 3e 20 76 61 6c 75 65 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 m</a>.value..The.return.type.is.
9a940 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 the.inferred.result.type........
9a960 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 </p>.......<p>.......Attempting.
9a980 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 77 68 69 63 68 20 72 65 70 72 to.convert.an.integer.which.repr
9a9a0 65 73 65 6e 74 73 20 6e 6f 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 63 68 6f 73 65 6e 20 65 6e esents.no.value.in.the.chosen.en
9a9c0 75 6d 20 74 79 70 65 20 69 6e 76 6f 6b 65 73 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 63 68 65 um.type.invokes.......safety-che
9a9e0 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f cked.<a.href="#Undefined-Behavio
9aa00 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 r">Undefined.Behavior</a>.......
9aa20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e .</p>.......<p>See.also:</p><ul>
9aa40 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 45 6e 75 6d 22 3e 40 69 6e 74 .<li><a.href="#intFromEnum">@int
9aa60 46 72 6f 6d 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a FromEnum</a></li>.</ul>.........
9aa80 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 3e 3c 61 20 .......<h3.id="errorFromInt"><a.
9aaa0 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 3e 40 65 72 72 6f 72 46 href="#toc-errorFromInt">@errorF
9aac0 72 6f 6d 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 romInt</a>.<a.class="hdr".href="
9aae0 23 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 #errorFromInt">..</a></h3>......
9ab00 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ..<pre><code><span.class="tok-bu
9ab20 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 iltin">@errorFromInt</span>(valu
9ab40 65 3a 20 73 74 64 2e 6d 65 74 61 2e 49 6e 74 28 2e 75 6e 73 69 67 6e 65 64 2c 20 3c 73 70 61 6e e:.std.meta.Int(.unsigned,.<span
9ab60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c .class="tok-builtin">@bitSizeOf<
9ab80 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e /span>(<span.class="tok-type">an
9aba0 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f yerror</span>))).<span.class="to
9abc0 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f k-type">anyerror</span></code></
9abe0 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 66 72 pre>.......<p>.......Converts.fr
9ac00 6f 6d 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 om.the.integer.representation.of
9ac20 20 61 6e 20 65 72 72 6f 72 20 69 6e 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f .an.error.into.<a.href="#The-Glo
9ac40 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 bal-Error-Set">The.Global.Error.
9ac60 53 65 74 3c 2f 61 3e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c Set</a>.type........</p>.......<
9ac80 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 p>.......It.is.generally.recomme
9aca0 6e 64 65 64 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 73 74 2c 20 61 nded.to.avoid.this.......cast,.a
9acc0 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 s.the.integer.representation.of.
9ace0 61 6e 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f 73 73 20 73 6f an.error.is.not.stable.across.so
9ad00 75 72 63 65 20 63 6f 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 urce.code.changes........</p>...
9ad20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 ....<p>.......Attempting.to.conv
9ad40 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 63 6f 72 ert.an.integer.that.does.not.cor
9ad60 72 65 73 70 6f 6e 64 20 74 6f 20 61 6e 79 20 65 72 72 6f 72 20 72 65 73 75 6c 74 73 20 69 6e 0a respond.to.any.error.results.in.
9ad80 20 20 20 20 20 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 3d 22 ......safety-protected.<a.href="
9ada0 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 #Undefined-Behavior">Undefined.B
9adc0 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ehavior</a>........</p>.......<p
9ade0 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 >See.also:</p><ul>.<li><a.href="
9ae00 23 69 6e 74 46 72 6f 6d 45 72 72 6f 72 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f 72 3c 2f 61 3e #intFromError">@intFromError</a>
9ae20 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 </li>.</ul>................<h3.i
9ae40 64 3d 22 65 72 72 6f 72 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f d="errorName"><a.href="#toc-erro
9ae60 72 4e 61 6d 65 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 rName">@errorName</a>.<a.class="
9ae80 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 hdr".href="#errorName">..</a></h
9aea0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3>........<pre><code><span.class
9aec0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e ="tok-builtin">@errorName</span>
9aee0 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 (err:.<span.class="tok-type">any
9af00 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b error</span>).[:<span.class="tok
9af20 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -number">0</span>]<span.class="t
9af40 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">const</span>.<span.class=
9af60 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 "tok-type">u8</span></code></pre
9af80 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 >.......<p>.......This.function.
9afa0 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f returns.the.string.representatio
9afc0 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 20 54 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 n.of.an.error..The.string.repres
9afe0 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c entation.......of.<code><span.cl
9b000 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d ass="tok-kw">error</span>.OutOfM
9b020 65 6d 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 em</code>.is.<code><span.class="
9b040 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4f 75 74 4f 66 4d 65 6d 26 71 75 6f 74 3b 3c 2f 73 tok-str">&quot;OutOfMem&quot;</s
9b060 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 pan></code>........</p>.......<p
9b080 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 63 61 6c 6c 73 20 74 6f >.......If.there.are.no.calls.to
9b0a0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .<code><span.class="tok-builtin"
9b0c0 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 61 6e 20 >@errorName</span></code>.in.an.
9b0e0 65 6e 74 69 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 6f 72 20 61 6c 6c entire.application,.......or.all
9b100 20 63 61 6c 6c 73 20 68 61 76 65 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e .calls.have.a.compile-time.known
9b120 20 76 61 6c 75 65 20 66 6f 72 20 3c 63 6f 64 65 3e 65 72 72 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 .value.for.<code>err</code>,.the
9b140 6e 20 6e 6f 0a 20 20 20 20 20 20 65 72 72 6f 72 20 6e 61 6d 65 20 74 61 62 6c 65 20 77 69 6c 6c n.no.......error.name.table.will
9b160 20 62 65 20 67 65 6e 65 72 61 74 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .be.generated........</p>.......
9b180 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 ........<h3.id="errorReturnTrace
9b1a0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 "><a.href="#toc-errorReturnTrace
9b1c0 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ">@errorReturnTrace</a>.<a.class
9b1e0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e ="hdr".href="#errorReturnTrace">
9b200 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ..</a></h3>........<pre><code><s
9b220 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 52 65 pan.class="tok-builtin">@errorRe
9b240 74 75 72 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3f 2a 62 75 69 6c 74 69 6e 2e 53 74 61 turnTrace</span>().?*builtin.Sta
9b260 63 6b 54 72 61 63 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ckTrace</code></pre>.......<p>..
9b280 20 20 20 20 20 49 66 20 74 68 65 20 62 69 6e 61 72 79 20 69 73 20 62 75 69 6c 74 20 77 69 74 68 .....If.the.binary.is.built.with
9b2a0 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 2c 20 61 6e 64 20 74 68 69 73 20 .error.return.tracing,.and.this.
9b2c0 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 76 6f 6b 65 64 20 69 6e 20 61 0a 20 20 20 20 20 20 66 function.is.invoked.in.a.......f
9b2e0 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 unction.that.calls.a.function.wi
9b300 74 68 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 72 65 74 75 72 th.an.error.or.error.union.retur
9b320 6e 20 74 79 70 65 2c 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 73 74 61 63 6b 20 74 72 n.type,.returns.a.......stack.tr
9b340 61 63 65 20 6f 62 6a 65 63 74 2e 20 4f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 61 ace.object..Otherwise.returns.<a
9b360 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f .href="#null">null</a>........</
9b380 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 6f 72 43 61 p>...............<h3.id="errorCa
9b3a0 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f 72 43 61 73 74 22 3e 40 65 72 st"><a.href="#toc-errorCast">@er
9b3c0 72 6f 72 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d rorCast</a>.<a.class="hdr".href=
9b3e0 22 23 65 72 72 6f 72 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 "#errorCast">..</a></h3>........
9b400 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
9b420 74 69 6e 22 3e 40 65 72 72 6f 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 tin">@errorCast</span>(value:.<s
9b440 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e pan.class="tok-kw">anytype</span
9b460 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c >).<span.class="tok-kw">anytype<
9b480 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 /span></code></pre>.......<p>...
9b4a0 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 72 72 6f 72 20 73 65 74 20 6f 72 20 65 72 72 ....Converts.an.error.set.or.err
9b4c0 6f 72 20 75 6e 69 6f 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 6f 6e 65 20 65 72 72 6f 72 20 73 65 or.union.value.from.one.error.se
9b4e0 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 65 72 72 6f 72 20 73 65 74 2e 20 54 68 65 20 72 65 74 75 t.to.another.error.set..The.retu
9b500 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 0a 09 09 09 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c rn.type.is.the....inferred.resul
9b520 74 20 74 79 70 65 2e 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e t.type..Attempting.to.convert.an
9b540 20 65 72 72 6f 72 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 69 6e 20 74 68 65 20 64 65 73 74 69 .error.which.is.not.in.the.desti
9b560 6e 61 74 69 6f 6e 20 65 72 72 6f 72 0a 09 09 09 73 65 74 20 72 65 73 75 6c 74 73 20 69 6e 20 73 nation.error....set.results.in.s
9b580 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 afety-protected.<a.href="#Undefi
9b5a0 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 ned-Behavior">Undefined.Behavior
9b5c0 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </a>........</p>...............<
9b5e0 68 33 20 69 64 3d 22 65 78 70 6f 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 70 h3.id="export"><a.href="#toc-exp
9b600 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 ort">@export</a>.<a.class="hdr".
9b620 68 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 href="#export">..</a></h3>......
9b640 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ..<pre><code><span.class="tok-bu
9b660 69 6c 74 69 6e 22 3e 40 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 64 65 63 6c 61 72 61 74 69 6f iltin">@export</span>(declaratio
9b680 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 n,.<span.class="tok-kw">comptime
9b6a0 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 45 78 70 </span>.options:.std.builtin.Exp
9b6c0 6f 72 74 4f 70 74 69 6f 6e 73 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ortOptions).<span.class="tok-typ
9b6e0 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 e">void</span></code></pre>.....
9b700 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 72 65 61 74 65 73 20 61 20 73 79 6d 62 6f 6c 20 69 6e 20 ..<p>.......Creates.a.symbol.in.
9b720 74 68 65 20 6f 75 74 70 75 74 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f the.output.object.file........</
9b740 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 64 65 63 6c 61 72 61 p>.......<p>.......<code>declara
9b760 74 69 6f 6e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 20 74 77 6f 20 74 tion</code>.must.be.one.of.two.t
9b780 68 69 6e 67 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 hings:.......</p>.......<ul>....
9b7a0 20 20 20 20 20 3c 6c 69 3e 41 6e 20 69 64 65 6e 74 69 66 69 65 72 20 28 3c 63 6f 64 65 3e 78 3c .....<li>An.identifier.(<code>x<
9b7c0 2f 63 6f 64 65 3e 29 20 69 64 65 6e 74 69 66 79 69 6e 67 20 61 20 3c 61 20 68 72 65 66 3d 22 23 /code>).identifying.a.<a.href="#
9b7e0 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 0a 20 20 20 Functions">function</a>.or.a....
9b800 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c .......<a.href="#Container-Level
9b820 2d 56 61 72 69 61 62 6c 65 73 22 3e 76 61 72 69 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 -Variables">variable</a>.</li>..
9b840 20 20 20 20 20 20 20 3c 6c 69 3e 46 69 65 6c 64 20 61 63 63 65 73 73 20 28 3c 63 6f 64 65 3e 78 .......<li>Field.access.(<code>x
9b860 2e 79 3c 2f 63 6f 64 65 3e 29 20 6c 6f 6f 6b 69 6e 67 20 75 70 20 61 20 3c 61 20 68 72 65 66 3d .y</code>).looking.up.a.<a.href=
9b880 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 0a 20 "#Functions">function</a>.or.a..
9b8a0 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 .........<a.href="#Container-Lev
9b8c0 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 76 61 72 69 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e el-Variables">variable</a>.</li>
9b8e0 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 .......</ul>.......<p>.......Thi
9b900 73 20 62 75 69 6c 74 69 6e 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 3c s.builtin.can.be.called.from.a.<
9b920 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 a.href="#comptime">comptime</a>.
9b940 62 6c 6f 63 6b 20 74 6f 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 65 78 70 6f 72 74 20 73 79 block.to.conditionally.export.sy
9b960 6d 62 6f 6c 73 2e 0a 20 20 20 20 20 20 57 68 65 6e 20 3c 63 6f 64 65 3e 64 65 63 6c 61 72 61 74 mbols........When.<code>declarat
9b980 69 6f 6e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 ion</code>.is.a.function.with.th
9b9a0 65 20 43 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 e.C.calling.convention.and......
9b9c0 20 3c 63 6f 64 65 3e 6f 70 74 69 6f 6e 73 2e 6c 69 6e 6b 61 67 65 3c 2f 63 6f 64 65 3e 20 69 73 .<code>options.linkage</code>.is
9b9e0 20 3c 63 6f 64 65 3e 53 74 72 6f 6e 67 3c 2f 63 6f 64 65 3e 2c 20 74 68 69 73 20 69 73 20 65 71 .<code>Strong</code>,.this.is.eq
9ba00 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 uivalent.to.......the.<code><spa
9ba20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-kw">export</span></
9ba40 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 75 73 65 64 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e code>.keyword.used.on.a.function
9ba60 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 :.......</p>.......<figure><figc
9ba80 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
9baa0 73 73 3d 22 66 69 6c 65 22 3e 65 78 70 6f 72 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 ss="file">export_builtin.zig</ci
9bac0 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
9bae0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 .class="tok-kw">comptime</span>.
9bb00 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e {.....<span.class="tok-builtin">
9bb20 40 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 69 6e 74 65 72 6e 61 6c 4e 61 6d 65 2c 20 2e 7b 20 @export</span>(internalName,..{.
9bb40 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 .name.=.<span.class="tok-str">&q
9bb60 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 6c 69 6e 6b 61 67 65 20 3d uot;foo&quot;</span>,..linkage.=
9bb80 20 2e 73 74 72 6f 6e 67 20 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ..strong.});.}..<span.class="tok
9bba0 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d -kw">fn</span>.<span.class="tok-
9bbc0 66 6e 22 3e 69 6e 74 65 72 6e 61 6c 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 fn">internalName</span>().<span.
9bbe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e class="tok-kw">callconv</span>(.
9bc00 43 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f C).<span.class="tok-type">void</
9bc20 73 70 61 6e 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 span>.{}</code></pre></figure><f
9bc40 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 igure><figcaption.class="shell-c
9bc60 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 ap">Shell</figcaption><pre><samp
9bc80 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 65 78 70 6f 72 74 5f 62 75 69 >$.<kbd>zig.build-obj.export_bui
9bca0 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 ltin.zig</kbd>.</samp></pre></fi
9bcc0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e gure>.......<p>This.is.equivalen
9bce0 74 20 74 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 t.to:</p>.......<figure><figcapt
9bd00 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
9bd20 22 66 69 6c 65 22 3e 65 78 70 6f 72 74 5f 62 75 69 6c 74 69 6e 5f 65 71 75 69 76 61 6c 65 6e 74 "file">export_builtin_equivalent
9bd40 5f 63 6f 64 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 _code.zig</cite></figcaption><pr
9bd60 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 e><code><span.class="tok-kw">exp
9bd80 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ort</span>.<span.class="tok-kw">
9bda0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 fn</span>.<span.class="tok-fn">f
9bdc0 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 oo</span>().<span.class="tok-typ
9bde0 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f e">void</span>.{}</code></pre></
9be00 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 figure><figure><figcaption.class
9be20 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ="shell-cap">Shell</figcaption><
9be40 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 65 pre><samp>$.<kbd>zig.build-obj.e
9be60 78 70 6f 72 74 5f 62 75 69 6c 74 69 6e 5f 65 71 75 69 76 61 6c 65 6e 74 5f 63 6f 64 65 2e 7a 69 xport_builtin_equivalent_code.zi
9be80 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 g</kbd>.</samp></pre></figure>..
9bea0 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 65 76 65 6e 20 77 68 65 6e 20 75 73 69 6e .....<p>Note.that.even.when.usin
9bec0 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 g.<code><span.class="tok-kw">exp
9bee0 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 3c 63 6f 64 65 3e 40 26 71 ort</span></code>,.the.<code>@&q
9bf00 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 66 6f 72 0a uot;foo&quot;</code>.syntax.for.
9bf20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e 69 64 65 ......<a.href="#Identifiers">ide
9bf40 6e 74 69 66 69 65 72 73 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 6f 6f ntifiers</a>.can.be.used.to.choo
9bf60 73 65 20 61 6e 79 20 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 6e 61 6d se.any.string.for.the.symbol.nam
9bf80 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e e:</p>.......<figure><figcaption
9bfa0 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="zig-cap"><cite.class="fi
9bfc0 6c 65 22 3e 65 78 70 6f 72 74 5f 61 6e 79 5f 73 79 6d 62 6f 6c 5f 6e 61 6d 65 2e 7a 69 67 3c 2f le">export_any_symbol_name.zig</
9bfe0 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 cite></figcaption><pre><code><sp
9c000 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">export</span>.
9c020 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
9c040 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 41 20 66 75 6e span.class="tok-fn">@&quot;A.fun
9c060 63 74 69 6f 6e 20 6e 61 6d 65 20 74 68 61 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 73 65 ction.name.that.is.a.complete.se
9c080 6e 74 65 6e 63 65 2e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 ntence.&quot;</span>().<span.cla
9c0a0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 63 6f ss="tok-type">void</span>.{}</co
9c0c0 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
9c0e0 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
9c100 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
9c120 62 75 69 6c 64 2d 6f 62 6a 20 65 78 70 6f 72 74 5f 61 6e 79 5f 73 79 6d 62 6f 6c 5f 6e 61 6d 65 build-obj.export_any_symbol_name
9c140 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 .zig</kbd>.</samp></pre></figure
9c160 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 6c 6f 6f 6b 69 6e 67 20 61 >.......<p>.......When.looking.a
9c180 74 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6f 62 6a 65 63 74 2c 20 79 6f 75 20 63 61 6e 20 t.the.resulting.object,.you.can.
9c1a0 73 65 65 20 74 68 65 20 73 79 6d 62 6f 6c 20 69 73 20 75 73 65 64 20 76 65 72 62 61 74 69 6d 3a see.the.symbol.is.used.verbatim:
9c1c0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 30 30 30 .......</p>.......<pre><code>000
9c1e0 30 30 30 30 30 30 30 30 30 30 31 66 30 20 54 20 41 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 00000000001f0.T.A.function.name.
9c200 74 68 61 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 73 65 6e 74 65 6e 63 65 2e 3c 2f 63 6f that.is.a.complete.sentence.</co
9c220 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e de></pre>.......<p>See.also:</p>
9c240 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 <ul>.<li><a.href="#Exporting-a-C
9c260 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c -Library">Exporting.a.C.Library<
9c280 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 /a></li>.</ul>................<h
9c2a0 33 20 69 64 3d 22 65 78 74 65 72 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 3.id="extern"><a.href="#toc-exte
9c2c0 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 rn">@extern</a>.<a.class="hdr".h
9c2e0 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ref="#extern">..</a></h3>.......
9c300 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
9c320 6c 74 69 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 28 54 3a 20 3c 73 70 61 6e 20 63 6c ltin">@extern</span>(T:.<span.cl
9c340 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ass="tok-type">type</span>,.<spa
9c360 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e n.class="tok-kw">comptime</span>
9c380 20 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 45 78 74 65 72 6e 4f 70 74 69 .options:.std.builtin.ExternOpti
9c3a0 6f 6e 73 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ons).T</code></pre>.......<p>...
9c3c0 20 20 20 20 43 72 65 61 74 65 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 6e 20 65 78 ....Creates.a.reference.to.an.ex
9c3e0 74 65 72 6e 61 6c 20 73 79 6d 62 6f 6c 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 20 6f 62 6a 65 ternal.symbol.in.the.output.obje
9c400 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 54 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 ct.file........T.must.be.a.point
9c420 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 er.type........</p>.......<p>See
9c440 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 70 .also:</p><ul>.<li><a.href="#exp
9c460 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 ort">@export</a></li>.</ul>.....
9c480 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 65 6e 63 65 22 3e 3c 61 20 68 72 65 ...........<h3.id="fence"><a.hre
9c4a0 66 3d 22 23 74 6f 63 2d 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 f="#toc-fence">@fence</a>.<a.cla
9c4c0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ss="hdr".href="#fence">..</a></h
9c4e0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3>........<pre><code><span.class
9c500 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 6f 72 64 ="tok-builtin">@fence</span>(ord
9c520 65 72 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er:.AtomicOrder).<span.class="to
9c540 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e k-type">void</span></code></pre>
9c560 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 66 65 6e 63 65 .......<p>.......The.<code>fence
9c580 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 69 6e 74 72 </code>.function.is.used.to.intr
9c5a0 6f 64 75 63 65 20 68 61 70 70 65 6e 73 2d 62 65 66 6f 72 65 20 65 64 67 65 73 20 62 65 74 77 65 oduce.happens-before.edges.betwe
9c5c0 65 6e 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 en.operations........</p>.......
9c5e0 3c 70 3e 3c 63 6f 64 65 3e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 <p><code>AtomicOrder</code>.can.
9c600 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d be.found.with.<code><span.class=
9c620 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@import</span>(<sp
9c640 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f an.class="tok-str">&quot;std&quo
9c660 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f t;</span>).builtin.AtomicOrder</
9c680 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 code>.</p>.......<p>See.also:</p
9c6a0 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 ><ul>.<li><a.href="#atomicStore"
9c6c0 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 >@atomicStore</a></li>.<li><a.hr
9c6e0 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e ef="#atomicLoad">@atomicLoad</a>
9c700 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 </li>.<li><a.href="#atomicRmw">@
9c720 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 atomicRmw</a></li>.<li><a.href="
9c740 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f #cmpxchgWeak">@cmpxchgWeak</a></
9c760 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 li>.<li><a.href="#cmpxchgStrong"
9c780 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a >@cmpxchgStrong</a></li>.</ul>..
9c7a0 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 69 65 6c 64 22 3e 3c 61 20 ..............<h3.id="field"><a.
9c7c0 68 72 65 66 3d 22 23 74 6f 63 2d 66 69 65 6c 64 22 3e 40 66 69 65 6c 64 3c 2f 61 3e 20 3c 61 20 href="#toc-field">@field</a>.<a.
9c7e0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 22 3e c2 a7 3c 2f 61 3e class="hdr".href="#field">..</a>
9c800 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </h3>........<pre><code><span.cl
9c820 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 ass="tok-builtin">@field</span>(
9c840 6c 68 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 lhs:.<span.class="tok-kw">anytyp
9c860 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 e</span>,.<span.class="tok-kw">c
9c880 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 omptime</span>.field_name:.[]<sp
9c8a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c an.class="tok-kw">const</span>.<
9c8c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 span.class="tok-type">u8</span>)
9c8e0 20 28 66 69 65 6c 64 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 50 .(field)</code></pre>.......<p>P
9c900 65 72 66 6f 72 6d 73 20 66 69 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 61 20 63 6f 6d 70 69 6c erforms.field.access.by.a.compil
9c920 65 2d 74 69 6d 65 20 73 74 72 69 6e 67 2e 20 57 6f 72 6b 73 20 6f 6e 20 62 6f 74 68 20 66 69 65 e-time.string..Works.on.both.fie
9c940 6c 64 73 20 61 6e 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e lds.and.declarations........</p>
9c960 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 .......<figure><figcaption.class
9c980 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 ="zig-cap"><cite.class="file">te
9c9a0 73 74 5f 66 69 65 6c 64 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 st_field_builtin.zig</cite></fig
9c9c0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><code><span.class="
9c9e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e tok-kw">const</span>.std.=.<span
9ca00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 .class="tok-builtin">@import</sp
9ca20 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>(<span.class="tok-str">&quot;
9ca40 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d std&quot;</span>);..<span.class=
9ca60 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 "tok-kw">const</span>.Point.=.<s
9ca80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e pan.class="tok-kw">struct</span>
9caa0 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 .{.....x:.<span.class="tok-type"
9cac0 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >u32</span>,.....y:.<span.class=
9cae0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 "tok-type">u32</span>,......<spa
9cb00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 n.class="tok-kw">pub</span>.<spa
9cb20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 7a 3a 20 3c n.class="tok-kw">var</span>.z:.<
9cb40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">u32</span>
9cb60 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 .=.<span.class="tok-number">1</s
9cb80 70 61 6e 3e 3b 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 pan>;.};..<span.class="tok-kw">t
9cba0 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 est</span>.<span.class="tok-str"
9cbc0 3e 26 71 75 6f 74 3b 66 69 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 26 71 75 >&quot;field.access.by.string&qu
9cbe0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
9cc00 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e k-kw">const</span>.expect.=.std.
9cc20 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d testing.expect;.....<span.class=
9cc40 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 50 6f 69 6e 74 7b 20 2e "tok-kw">var</span>.p.=.Point{..
9cc60 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f x.=.<span.class="tok-number">0</
9cc80 73 70 61 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d span>,..y.=.<span.class="tok-num
9cca0 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ber">0</span>.};......<span.clas
9ccc0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c s="tok-builtin">@field</span>(p,
9cce0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 .<span.class="tok-str">&quot;x&q
9cd00 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d uot;</span>).=.<span.class="tok-
9cd20 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 number">4</span>;.....<span.clas
9cd40 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c s="tok-builtin">@field</span>(p,
9cd60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 79 26 71 .<span.class="tok-str">&quot;y&q
9cd80 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d uot;</span>).=.<span.class="tok-
9cda0 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 builtin">@field</span>(p,.<span.
9cdc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 class="tok-str">&quot;x&quot;</s
9cde0 70 61 6e 3e 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 pan>).+.<span.class="tok-number"
9ce00 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >1</span>;......<span.class="tok
9ce20 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 -kw">try</span>.expect(<span.cla
9ce40 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 ss="tok-builtin">@field</span>(p
9ce60 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 ,.<span.class="tok-str">&quot;x&
9ce80 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f quot;</span>).==.<span.class="to
9cea0 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 k-number">4</span>);.....<span.c
9cec0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 lass="tok-kw">try</span>.expect(
9cee0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 <span.class="tok-builtin">@field
9cf00 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 </span>(p,.<span.class="tok-str"
9cf20 3e 26 71 75 6f 74 3b 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 >&quot;y&quot;</span>).==.<span.
9cf40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a class="tok-number">5</span>);.}.
9cf60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
9cf80 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 >.<span.class="tok-str">&quot;de
9cfa0 63 6c 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e cl.access.by.string&quot;</span>
9cfc0 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
9cfe0 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 t</span>.expect.=.std.testing.ex
9d000 70 65 63 74 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pect;......<span.class="tok-kw">
9d020 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 try</span>.expect(<span.class="t
9d040 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c ok-builtin">@field</span>(Point,
9d060 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 26 71 .<span.class="tok-str">&quot;z&q
9d080 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b uot;</span>).==.<span.class="tok
9d0a0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 -number">1</span>);......<span.c
9d0c0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e lass="tok-builtin">@field</span>
9d0e0 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 (Point,.<span.class="tok-str">&q
9d100 75 6f 74 3b 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 uot;z&quot;</span>).=.<span.clas
9d120 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 s="tok-number">2</span>;.....<sp
9d140 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 an.class="tok-kw">try</span>.exp
9d160 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 ect(<span.class="tok-builtin">@f
9d180 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ield</span>(Point,.<span.class="
9d1a0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d tok-str">&quot;z&quot;</span>).=
9d1c0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 =.<span.class="tok-number">2</sp
9d1e0 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 an>);.}</code></pre></figure><fi
9d200 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
9d220 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
9d240 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 69 65 6c 64 5f 62 75 69 6c 74 $.<kbd>zig.test.test_field_built
9d260 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 5f 66 69 65 6c 64 5f 62 75 69 6c in.zig</kbd>.1/2.test_field_buil
9d280 74 69 6e 2e 74 65 73 74 2e 66 69 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 2e tin.test.field.access.by.string.
9d2a0 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 5f 66 69 65 6c 64 5f 62 75 69 6c 74 69 6e 2e 74 65 73 ...OK.2/2.test_field_builtin.tes
9d2c0 74 2e 64 65 63 6c 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 2e 2e 2e 20 4f 4b 0a 41 6c t.decl.access.by.string....OK.Al
9d2e0 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c l.2.tests.passed..</samp></pre><
9d300 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 /figure>................<h3.id="
9d320 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 69 fieldParentPtr"><a.href="#toc-fi
9d340 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 eldParentPtr">@fieldParentPtr</a
9d360 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 50 61 72 >.<a.class="hdr".href="#fieldPar
9d380 65 6e 74 50 74 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e entPtr">..</a></h3>........<pre>
9d3a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
9d3c0 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 @fieldParentPtr</span>(<span.cla
9d3e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c ss="tok-kw">comptime</span>.fiel
9d400 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 d_name:.[]<span.class="tok-kw">c
9d420 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 onst</span>.<span.class="tok-typ
9d440 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 66 69 65 6c 64 5f 70 74 72 3a 20 2a 54 29 20 3c 73 70 e">u8</span>,.field_ptr:.*T).<sp
9d460 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e an.class="tok-kw">anytype</span>
9d480 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 47 69 </code></pre>.......<p>.......Gi
9d4a0 76 65 6e 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 66 69 65 6c 64 2c 20 72 65 74 75 72 6e ven.a.pointer.to.a.field,.return
9d4c0 73 20 74 68 65 20 62 61 73 65 20 70 6f 69 6e 74 65 72 20 6f 66 20 61 20 73 74 72 75 63 74 2e 0a s.the.base.pointer.of.a.struct..
9d4e0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d ......</p>...............<h3.id=
9d500 22 66 6c 6f 61 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 61 74 43 "floatCast"><a.href="#toc-floatC
9d520 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 ast">@floatCast</a>.<a.class="hd
9d540 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e r".href="#floatCast">..</a></h3>
9d560 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ........<pre><code><span.class="
9d580 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 76 tok-builtin">@floatCast</span>(v
9d5a0 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 alue:.<span.class="tok-kw">anyty
9d5c0 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pe</span>).<span.class="tok-kw">
9d5e0 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 anytype</span></code></pre>.....
9d600 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 20 66 72 6f 6d 20 6f 6e 65 20 66 6c 6f ..<p>.......Convert.from.one.flo
9d620 61 74 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 at.type.to.another..This.cast.is
9d640 20 73 61 66 65 2c 20 62 75 74 20 6d 61 79 20 63 61 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 6e .safe,.but.may.cause.the.......n
9d660 75 6d 65 72 69 63 20 76 61 6c 75 65 20 74 6f 20 6c 6f 73 65 20 70 72 65 63 69 73 69 6f 6e 2e 20 umeric.value.to.lose.precision..
9d680 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 The.return.type.is.the.inferred.
9d6a0 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a result.type........</p>.........
9d6c0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e 3c 61 20 68 ......<h3.id="floatFromInt"><a.h
9d6e0 72 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e 40 66 6c 6f 61 74 46 72 ref="#toc-floatFromInt">@floatFr
9d700 6f 6d 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 omInt</a>.<a.class="hdr".href="#
9d720 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 floatFromInt">..</a></h3>.......
9d740 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
9d760 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 69 6e 74 3a 20 ltin">@floatFromInt</span>(int:.
9d780 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 <span.class="tok-kw">anytype</sp
9d7a0 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 an>).<span.class="tok-kw">anytyp
9d7c0 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a e</span></code></pre>.......<p>.
9d7e0 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 74 68 65 ......Converts.an.integer.to.the
9d800 20 63 6c 6f 73 65 73 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 72 65 70 72 65 73 65 6e .closest.floating.point.represen
9d820 74 61 74 69 6f 6e 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 tation..The.return.type.is.the.i
9d840 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 09 09 09 54 6f 20 63 6f 6e 76 65 nferred.result.type.....To.conve
9d860 72 74 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 rt.the.other.way,.use.<a.href="#
9d880 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 61 3e 2e intFromFloat">@intFromFloat</a>.
9d8a0 20 54 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 6c 65 67 61 6c 0a 20 20 20 20 20 20 66 .This.operation.is.legal.......f
9d8c0 6f 72 20 61 6c 6c 20 76 61 6c 75 65 73 20 6f 66 20 61 6c 6c 20 69 6e 74 65 67 65 72 20 74 79 70 or.all.values.of.all.integer.typ
9d8e0 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 es........</p>...............<h3
9d900 20 69 64 3d 22 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 .id="frameAddress"><a.href="#toc
9d920 2d 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 72 61 6d 65 41 64 64 72 65 73 73 3c 2f 61 3e -frameAddress">@frameAddress</a>
9d940 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 72 61 6d 65 41 64 64 72 .<a.class="hdr".href="#frameAddr
9d960 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f ess">..</a></h3>........<pre><co
9d980 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 de><span.class="tok-builtin">@fr
9d9a0 61 6d 65 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ameAddress</span>().<span.class=
9d9c0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f "tok-type">usize</span></code></
9d9e0 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 pre>.......<p>.......This.functi
9da00 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 61 73 65 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 on.returns.the.base.pointer.of.t
9da20 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 20 3c 2f he.current.stack.frame........</
9da40 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 69 6d 70 6c 69 63 61 74 69 p>.......<p>.......The.implicati
9da60 6f 6e 73 20 6f 66 20 74 68 69 73 20 61 72 65 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 ons.of.this.are.target-specific.
9da80 61 6e 64 20 6e 6f 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 20 61 6c 6c 0a 20 20 and.not.consistent.across.all...
9daa0 20 20 20 20 70 6c 61 74 66 6f 72 6d 73 2e 20 54 68 65 20 66 72 61 6d 65 20 61 64 64 72 65 73 73 ....platforms..The.frame.address
9dac0 20 6d 61 79 20 6e 6f 74 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 72 65 6c 65 61 73 65 .may.not.be.available.in.release
9dae0 20 6d 6f 64 65 20 64 75 65 20 74 6f 0a 20 20 20 20 20 20 61 67 67 72 65 73 73 69 76 65 20 6f 70 .mode.due.to.......aggressive.op
9db00 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 timizations........</p>.......<p
9db20 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 76 61 >.......This.function.is.only.va
9db40 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 lid.within.function.scope.......
9db60 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 68 61 73 44 .</p>...............<h3.id="hasD
9db80 65 63 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 68 61 73 44 65 63 6c 22 3e 40 68 61 73 ecl"><a.href="#toc-hasDecl">@has
9dba0 44 65 63 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 68 Decl</a>.<a.class="hdr".href="#h
9dbc0 61 73 44 65 63 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e asDecl">..</a></h3>........<pre>
9dbe0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
9dc00 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b @hasDecl</span>(<span.class="tok
9dc20 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 43 6f 6e 74 61 69 6e 65 72 3a 20 -kw">comptime</span>.Container:.
9dc40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 <span.class="tok-type">type</spa
9dc60 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d n>,.<span.class="tok-kw">comptim
9dc80 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e</span>.name:.[]<span.class="to
9dca0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-kw">const</span>.<span.class="
9dcc0 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u8</span>).<span.class
9dce0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ="tok-type">bool</span></code></
9dd00 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 77 68 65 pre>.......<p>.......Returns.whe
9dd20 74 68 65 72 20 6f 72 20 6e 6f 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 ther.or.not.a.<a.href="#Containe
9dd40 72 73 22 3e 63 6f 6e 74 61 69 6e 65 72 3c 2f 61 3e 20 68 61 73 20 61 20 64 65 63 6c 61 72 61 74 rs">container</a>.has.a.declarat
9dd60 69 6f 6e 0a 20 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 3c 63 6f 64 65 3e 6e 61 6d 65 3c 2f 63 ion.......matching.<code>name</c
9dd80 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ode>........</p>.......<figure><
9dda0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 figcaption.class="zig-cap"><cite
9ddc0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 68 61 73 44 65 63 6c 5f 62 75 69 6c 74 .class="file">test_hasDecl_built
9dde0 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c in.zig</cite></figcaption><pre><
9de00 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
9de20 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.std.=.<span.class="tok-bu
9de40 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
9de60 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;std&quot;</spa
9de80 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c n>);.<span.class="tok-kw">const<
9dea0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 /span>.expect.=.std.testing.expe
9dec0 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c ct;..<span.class="tok-kw">const<
9dee0 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.Foo.=.<span.class="tok-kw
9df00 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6e 6f 70 65 3a 20 3c 73 70 61 ">struct</span>.{.....nope:.<spa
9df20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 0a n.class="tok-type">i32</span>,..
9df40 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 ....<span.class="tok-kw">pub</sp
9df60 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 an>.<span.class="tok-kw">var</sp
9df80 61 6e 3e 20 62 6c 61 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 an>.blah.=.<span.class="tok-str"
9dfa0 3e 26 71 75 6f 74 3b 78 78 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 >&quot;xxx&quot;</span>;.....<sp
9dfc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 an.class="tok-kw">const</span>.h
9dfe0 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f i.=.<span.class="tok-number">1</
9e000 73 70 61 6e 3e 3b 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>;.};..<span.class="tok-kw">
9e020 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 test</span>.<span.class="tok-str
9e040 22 3e 26 71 75 6f 74 3b 40 68 61 73 44 65 63 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a ">&quot;@hasDecl&quot;</span>.{.
9e060 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
9e080 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c an>.expect(<span.class="tok-buil
9e0a0 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 tin">@hasDecl</span>(Foo,.<span.
9e0c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 6c 61 68 26 71 75 6f 74 3b class="tok-str">&quot;blah&quot;
9e0e0 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>));......<span.class="tok
9e100 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 76 65 6e 20 74 68 6f 75 67 68 20 60 68 69 60 20 69 73 -comment">//.Even.though.`hi`.is
9e120 20 70 72 69 76 61 74 65 2c 20 40 68 61 73 44 65 63 6c 20 72 65 74 75 72 6e 73 20 74 72 75 65 20 .private,.@hasDecl.returns.true.
9e140 62 65 63 61 75 73 65 20 74 68 69 73 20 74 65 73 74 20 69 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 because.this.test.is</span>.....
9e160 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 <span.class="tok-comment">//.in.
9e180 74 68 65 20 73 61 6d 65 20 66 69 6c 65 20 73 63 6f 70 65 20 61 73 20 46 6f 6f 2e 20 49 74 20 77 the.same.file.scope.as.Foo..It.w
9e1a0 6f 75 6c 64 20 72 65 74 75 72 6e 20 66 61 6c 73 65 20 69 66 20 46 6f 6f 20 77 61 73 20 64 65 63 ould.return.false.if.Foo.was.dec
9e1c0 6c 61 72 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f lared</span>.....<span.class="to
9e1e0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c k-comment">//.in.a.different.fil
9e200 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e.</span>.....<span.class="tok-k
9e220 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 w">try</span>.expect(<span.class
9e240 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 ="tok-builtin">@hasDecl</span>(F
9e260 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b oo,.<span.class="tok-str">&quot;
9e280 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c hi&quot;</span>));......<span.cl
9e2a0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 68 61 73 44 65 63 6c 20 69 73 ass="tok-comment">//.@hasDecl.is
9e2c0 20 66 6f 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3b 20 6e 6f 74 20 66 69 65 6c 64 73 2e 3c 2f .for.declarations;.not.fields.</
9e2e0 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 span>.....<span.class="tok-kw">t
9e300 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ry</span>.expect(!<span.class="t
9e320 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c ok-builtin">@hasDecl</span>(Foo,
9e340 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 70 .<span.class="tok-str">&quot;nop
9e360 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 e&quot;</span>));.....<span.clas
9e380 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 3c 73 s="tok-kw">try</span>.expect(!<s
9e3a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c pan.class="tok-builtin">@hasDecl
9e3c0 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 </span>(Foo,.<span.class="tok-st
9e3e0 72 22 3e 26 71 75 6f 74 3b 6e 6f 70 65 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 r">&quot;nope1234&quot;</span>))
9e400 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
9e420 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 ><figcaption.class="shell-cap">S
9e440 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
9e460 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 68 61 73 44 65 63 6c 5f 62 75 69 6c 74 69 6e bd>zig.test.test_hasDecl_builtin
9e480 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 68 61 73 44 65 63 6c 5f 62 75 69 6c .zig</kbd>.1/1.test_hasDecl_buil
9e4a0 74 69 6e 2e 74 65 73 74 2e 40 68 61 73 44 65 63 6c 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 tin.test.@hasDecl....OK.All.1.te
9e4c0 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 sts.passed..</samp></pre></figur
9e4e0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c e>.......<p>See.also:</p><ul>.<l
9e500 69 3e 3c 61 20 68 72 65 66 3d 22 23 68 61 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c 64 3c i><a.href="#hasField">@hasField<
9e520 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 /a></li>.</ul>................<h
9e540 33 20 69 64 3d 22 68 61 73 46 69 65 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 68 61 3.id="hasField"><a.href="#toc-ha
9e560 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 sField">@hasField</a>.<a.class="
9e580 68 64 72 22 20 68 72 65 66 3d 22 23 68 61 73 46 69 65 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 hdr".href="#hasField">..</a></h3
9e5a0 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d >........<pre><code><span.class=
9e5c0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 3c "tok-builtin">@hasField</span>(<
9e5e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 span.class="tok-kw">comptime</sp
9e600 61 6e 3e 20 43 6f 6e 74 61 69 6e 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.Container:.<span.class="tok-
9e620 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">type</span>,.<span.class="
9e640 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d tok-kw">comptime</span>.name:.[]
9e660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
9e680 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 >.<span.class="tok-type">u8</spa
9e6a0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c n>).<span.class="tok-type">bool<
9e6c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 52 65 74 /span></code></pre>.......<p>Ret
9e6e0 75 72 6e 73 20 77 68 65 74 68 65 72 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 6f 66 20 61 urns.whether.the.field.name.of.a
9e700 20 73 74 72 75 63 74 2c 20 75 6e 69 6f 6e 2c 20 6f 72 20 65 6e 75 6d 20 65 78 69 73 74 73 2e 3c .struct,.union,.or.enum.exists.<
9e720 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 /p>.......<p>.......The.result.i
9e740 73 20 61 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 s.a.compile.time.constant.......
9e760 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 64 6f 65 73 20 6e 6f .</p>.......<p>.......It.does.no
9e780 74 20 69 6e 63 6c 75 64 65 20 66 75 6e 63 74 69 6f 6e 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 20 t.include.functions,.variables,.
9e7a0 6f 72 20 63 6f 6e 73 74 61 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c or.constants........</p>.......<
9e7c0 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d p>See.also:</p><ul>.<li><a.href=
9e7e0 22 23 68 61 73 44 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 "#hasDecl">@hasDecl</a></li>.</u
9e800 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6d 70 6f 72 74 l>................<h3.id="import
9e820 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c "><a.href="#toc-import">@import<
9e840 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 /a>.<a.class="hdr".href="#import
9e860 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e ">..</a></h3>........<pre><code>
9e880 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 <span.class="tok-builtin">@impor
9e8a0 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f t</span>(<span.class="tok-kw">co
9e8c0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 mptime</span>.path:.[]<span.clas
9e8e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c s="tok-kw">const</span>.<span.cl
9e900 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ass="tok-type">u8</span>).<span.
9e920 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-type">type</span></co
9e940 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 de></pre>.......<p>.......This.f
9e960 75 6e 63 74 69 6f 6e 20 66 69 6e 64 73 20 61 20 7a 69 67 20 66 69 6c 65 20 63 6f 72 72 65 73 70 unction.finds.a.zig.file.corresp
9e980 6f 6e 64 69 6e 67 20 74 6f 20 3c 63 6f 64 65 3e 70 61 74 68 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 onding.to.<code>path</code>.and.
9e9a0 61 64 64 73 20 69 74 20 74 6f 20 74 68 65 20 62 75 69 6c 64 2c 0a 20 20 20 20 20 20 69 66 20 69 adds.it.to.the.build,.......if.i
9e9c0 74 20 69 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 61 64 64 65 64 2e 0a 20 20 20 20 20 20 3c 2f t.is.not.already.added........</
9e9e0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 p>.......<p>.......Zig.source.fi
9ea00 6c 65 73 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 73 74 72 75 63 74 73 2c 20 77 69 74 68 les.are.implicitly.structs,.with
9ea20 20 61 20 6e 61 6d 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 66 69 6c 65 27 73 20 62 61 73 65 .a.name.equal.to.the.file's.base
9ea40 6e 61 6d 65 20 77 69 74 68 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 74 72 name.with.the.extension.......tr
9ea60 75 6e 63 61 74 65 64 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d uncated..<code><span.class="tok-
9ea80 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 builtin">@import</span></code>.r
9eaa0 65 74 75 72 6e 73 20 74 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 63 6f 72 72 65 73 70 6f 6e eturns.the.struct.type.correspon
9eac0 64 69 6e 67 20 74 6f 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ding.to.the.file........</p>....
9eae0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 65 63 6c 61 72 61 74 69 6f 6e 73 20 77 68 69 63 68 20 ...<p>.......Declarations.which.
9eb00 68 61 76 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d have.the.<code><span.class="tok-
9eb20 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6d 61 kw">pub</span></code>.keyword.ma
9eb40 79 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 64 69 66 66 65 72 65 6e 74 y.be.referenced.from.a.different
9eb60 0a 20 20 20 20 20 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 20 .......source.file.than.the.one.
9eb80 74 68 65 79 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 69 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e they.are.declared.in........</p>
9eba0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 70 61 74 68 3c 2f 63 6f 64 .......<p>.......<code>path</cod
9ebc0 65 3e 20 63 61 6e 20 62 65 20 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 20 6f 72 20 69 74 20 e>.can.be.a.relative.path.or.it.
9ebe0 63 61 6e 20 62 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 70 61 63 6b 61 67 65 2e 0a 20 20 can.be.the.name.of.a.package....
9ec00 20 20 20 20 49 66 20 69 74 20 69 73 20 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 2c 20 69 74 ....If.it.is.a.relative.path,.it
9ec20 20 69 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 74 68 61 74 20 63 6f .is.relative.to.the.file.that.co
9ec40 6e 74 61 69 6e 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ntains.the.<code><span.class="to
9ec60 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-builtin">@import</span></code>
9ec80 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .......function.call........</p>
9eca0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 .......<p>.......The.following.p
9ecc0 61 63 6b 61 67 65 73 20 61 72 65 20 61 6c 77 61 79 73 20 61 76 61 69 6c 61 62 6c 65 3a 0a 20 20 ackages.are.always.available:...
9ece0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c ....</p>.......<ul>...........<l
9ed00 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e i><code><span.class="tok-builtin
9ed20 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">@import</span>(<span.class="to
9ed40 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f k-str">&quot;std&quot;</span>)</
9ed60 63 6f 64 65 3e 20 2d 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 6c 69 code>.-.Zig.Standard.Library</li
9ed80 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 >...........<li><code><span.clas
9eda0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c s="tok-builtin">@import</span>(<
9edc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 span.class="tok-str">&quot;built
9ede0 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 20 2d 20 54 61 72 67 65 74 in&quot;</span>)</code>.-.Target
9ee00 2d 73 70 65 63 69 66 69 63 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 -specific.information...........
9ee20 20 20 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 3c 63 6f 64 65 3e 7a 69 67 20 62 75 69 6c 64 2d ....The.command.<code>zig.build-
9ee40 65 78 65 20 2d 2d 73 68 6f 77 2d 62 75 69 6c 74 69 6e 3c 2f 63 6f 64 65 3e 20 6f 75 74 70 75 74 exe.--show-builtin</code>.output
9ee60 73 20 74 68 65 20 73 6f 75 72 63 65 20 74 6f 20 73 74 64 6f 75 74 20 66 6f 72 20 72 65 66 65 72 s.the.source.to.stdout.for.refer
9ee80 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ence............</li>...........
9eea0 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 <li><code><span.class="tok-built
9eec0 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@import</span>(<span.class="
9eee0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 6f 6f 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e tok-str">&quot;root&quot;</span>
9ef00 29 3c 2f 63 6f 64 65 3e 20 2d 20 52 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 0a 20 20 20 20 )</code>.-.Root.source.file.....
9ef20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 75 61 6c 6c 79 20 3c 63 6f 64 65 3e ..........This.is.usually.<code>
9ef40 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 62 75 74 20 64 65 70 65 6e 64 73 20 src/main.zig</code>.but.depends.
9ef60 6f 6e 20 77 68 61 74 20 66 69 6c 65 20 69 73 20 62 75 69 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 on.what.file.is.built...........
9ef80 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 .</li>.......</ul>.......<p>See.
9efa0 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 also:</p><ul>.<li><a.href="#Comp
9efc0 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 ile-Variables">Compile.Variables
9efe0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6d 62 65 64 46 69 6c </a></li>.<li><a.href="#embedFil
9f000 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 e">@embedFile</a></li>.</ul>....
9f020 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 43 6f 6d 70 74 69 6d 65 22 3e ............<h3.id="inComptime">
9f040 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 43 6f 6d 70 74 69 6d 65 22 3e 40 69 6e 43 6f 6d <a.href="#toc-inComptime">@inCom
9f060 70 74 69 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ptime</a>.<a.class="hdr".href="#
9f080 69 6e 43 6f 6d 70 74 69 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c inComptime">..</a></h3>........<
9f0a0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pre><code><span.class="tok-built
9f0c0 69 6e 22 3e 40 69 6e 43 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 in">@inComptime</span>().<span.c
9f0e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-type">bool</span></cod
9f100 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 e></pre>.......<p>.......Returns
9f120 20 77 68 65 74 68 65 72 20 74 68 65 20 62 75 69 6c 74 69 6e 20 77 61 73 20 72 75 6e 20 69 6e 20 .whether.the.builtin.was.run.in.
9f140 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d a.<code><span.class="tok-kw">com
9f160 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 6e 74 65 78 74 2e 20 54 68 65 ptime</span></code>.context..The
9f180 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6e 73 74 61 .result.is.a.compile-time.consta
9f1a0 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 nt........</p>.......<p>.......T
9f1c0 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6c 74 65 72 his.can.be.used.to.provide.alter
9f1e0 6e 61 74 69 76 65 2c 20 63 6f 6d 70 74 69 6d 65 2d 66 72 69 65 6e 64 6c 79 20 69 6d 70 6c 65 6d native,.comptime-friendly.implem
9f200 65 6e 74 61 74 69 6f 6e 73 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 74 20 73 68 6f 75 6c entations.of.functions..It.shoul
9f220 64 20 6e 6f 74 20 62 65 20 75 73 65 64 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 74 6f 20 d.not.be.used,.for.instance,.to.
9f240 65 78 63 6c 75 64 65 20 63 65 72 74 61 69 6e 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 62 exclude.certain.functions.from.b
9f260 65 69 6e 67 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 74 69 6d 65 2e 0a 20 20 20 20 eing.evaluated.at.comptime......
9f280 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c ..</p>.......<p>See.also:</p><ul
9f2a0 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 >.<li><a.href="#comptime">compti
9f2c0 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 me</a></li>.</ul>...............
9f2e0 20 3c 68 33 20 69 64 3d 22 69 6e 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d .<h3.id="intCast"><a.href="#toc-
9f300 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 intCast">@intCast</a>.<a.class="
9f320 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e hdr".href="#intCast">..</a></h3>
9f340 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ........<pre><code><span.class="
9f360 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 69 6e 74 tok-builtin">@intCast</span>(int
9f380 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f :.<span.class="tok-kw">anytype</
9f3a0 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 span>).<span.class="tok-kw">anyt
9f3c0 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 ype</span></code></pre>.......<p
9f3e0 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 >.......Converts.an.integer.to.a
9f400 6e 6f 74 68 65 72 20 69 6e 74 65 67 65 72 20 77 68 69 6c 65 20 6b 65 65 70 69 6e 67 20 74 68 65 nother.integer.while.keeping.the
9f420 20 73 61 6d 65 20 6e 75 6d 65 72 69 63 61 6c 20 76 61 6c 75 65 2e 0a 09 09 09 54 68 65 20 72 65 .same.numerical.value.....The.re
9f440 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 turn.type.is.the.inferred.result
9f460 20 74 79 70 65 2e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 .type........Attempting.to.conve
9f480 72 74 20 61 20 6e 75 6d 62 65 72 20 77 68 69 63 68 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 rt.a.number.which.is.out.of.rang
9f4a0 65 20 6f 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 72 65 73 75 6c 74 e.of.the.destination.type.result
9f4c0 73 20 69 6e 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 s.in.......safety-protected.<a.h
9f4e0 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 ref="#Undefined-Behavior">Undefi
9f500 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ned.Behavior</a>........</p>....
9f520 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 ...<figure><figcaption.class="zi
9f540 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 g-cap"><cite.class="file">test_i
9f560 6e 74 43 61 73 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 ntCast_builtin.zig</cite></figca
9f580 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
9f5a0 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k-kw">test</span>.<span.class="t
9f5c0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 ok-str">&quot;integer.cast.panic
9f5e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>.{.....<span.class=
9f600 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">var</span>.a:.<span.cla
9f620 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">u16</span>.=.<span
9f640 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 62 63 64 3c 2f 73 70 61 6e .class="tok-number">0xabcd</span
9f660 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 >;.<span.class="tok-comment">//.
9f680 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d runtime-known</span>....._.=.&am
9f6a0 70 3b 61 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f p;a;.....<span.class="tok-kw">co
9f6c0 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 nst</span>.b:.<span.class="tok-t
9f6e0 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">u8</span>.=.<span.class="to
9f700 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 61 29 3b 0a 20 k-builtin">@intCast</span>(a);..
9f720 20 20 20 5f 20 3d 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ..._.=.b;.}</code></pre></figure
9f740 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c ><figure><figcaption.class="shel
9f760 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 l-cap">Shell</figcaption><pre><s
9f780 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 74 43 61 73 74 amp>$.<kbd>zig.test.test_intCast
9f7a0 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 69 6e 74 43 _builtin.zig</kbd>.1/1.test_intC
9f7c0 61 73 74 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 ast_builtin.test.integer.cast.pa
9f7e0 6e 69 63 2e 2e 2e 20 74 68 72 65 61 64 20 39 39 30 31 37 36 20 70 61 6e 69 63 3a 20 69 6e 74 65 nic....thread.990176.panic:.inte
9f800 67 65 72 20 63 61 73 74 20 74 72 75 6e 63 61 74 65 64 20 62 69 74 73 0a 2f 68 6f 6d 65 2f 63 69 ger.cast.truncated.bits./home/ci
9f820 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 /actions-runner/_work/zig-bootst
9f840 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 69 6e 74 43 61 73 74 5f rap/zig/docgen_tmp/test_intCast_
9f860 62 75 69 6c 74 69 6e 2e 7a 69 67 3a 34 3a 31 39 3a 20 30 78 31 30 33 38 65 38 32 20 69 6e 20 74 builtin.zig:4:19:.0x1038e82.in.t
9f880 65 73 74 2e 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 20 28 74 65 73 74 29 0a 20 20 est.integer.cast.panic.(test)...
9f8a0 20 20 63 6f 6e 73 74 20 62 3a 20 75 38 20 3d 20 40 69 6e 74 43 61 73 74 28 61 29 3b 0a 20 20 20 ..const.b:.u8.=.@intCast(a);....
9f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e ...............^./home/ci/action
9f8e0 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 s-runner/_work/zig-bootstrap/out
9f900 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e /host/lib/zig/compiler/test_runn
9f920 65 72 2e 7a 69 67 3a 31 35 38 3a 32 35 3a 20 30 78 31 30 34 34 32 38 32 20 69 6e 20 6d 61 69 6e er.zig:158:25:.0x1044282.in.main
9f940 54 65 72 6d 69 6e 61 6c 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 Terminal.(test).........if.(test
9f960 5f 66 6e 2e 66 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _fn.func()).|_|.{...............
9f980 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e ..........^./home/ci/actions-run
9f9a0 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 ner/_work/zig-bootstrap/out/host
9f9c0 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 /lib/zig/compiler/test_runner.zi
9f9e0 67 3a 33 35 3a 32 38 3a 20 30 78 31 30 33 61 32 36 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 g:35:28:.0x103a26b.in.main.(test
9fa00 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 29 3b ).........return.mainTerminal();
9fa20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 ............................^./h
9fa40 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d ome/ci/actions-runner/_work/zig-
9fa60 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 bootstrap/out/host/lib/zig/std/s
9fa80 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 39 33 61 39 20 69 6e 20 70 6f tart.zig:501:22:.0x10393a9.in.po
9faa0 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 sixCallMainAndExit.(test).......
9fac0 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ......root.main();..............
9fae0 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 ........^./home/ci/actions-runne
9fb00 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c r/_work/zig-bootstrap/out/host/l
9fb20 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 ib/zig/std/start.zig:253:5:.0x10
9fb40 33 38 66 31 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 0a 20 20 20 20 61 73 6d 20 76 38f11.in._start.(test).....asm.v
9fb60 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a olatile.(switch.(native_arch).{.
9fb80 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a ....^.???:?:?:.0x0.in.???.(???).
9fba0 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e error:.the.following.test.comman
9fbc0 64 20 63 72 61 73 68 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e d.crashed:./home/ci/actions-runn
9fbe0 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c er/_work/zig-bootstrap/out/zig-l
9fc00 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 32 36 39 32 61 66 65 32 32 33 63 37 62 36 32 65 30 64 36 ocal-cache/o/2692afe223c7b62e0d6
9fc20 39 39 38 38 32 66 38 63 34 62 31 35 61 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 99882f8c4b15a/test.</samp></pre>
9fc40 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 74 72 75 </figure>.......<p>.......To.tru
9fc60 6e 63 61 74 65 20 74 68 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 61 20 ncate.the.significant.bits.of.a.
9fc80 6e 75 6d 62 65 72 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 6f 66 20 74 68 65 20 64 65 73 74 69 number.out.of.range.of.the.desti
9fca0 6e 61 74 69 6f 6e 20 74 79 70 65 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 nation.type,.use.<a.href="#trunc
9fcc0 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ate">@truncate</a>........</p>..
9fce0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e .....<p>.......If.<code>T</code>
9fd00 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 .is.<code><span.class="tok-type"
9fd20 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 >comptime_int</span></code>,....
9fd40 20 20 20 74 68 65 6e 20 74 68 69 73 20 69 73 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 65 71 75 ...then.this.is.semantically.equ
9fd60 69 76 61 6c 65 6e 74 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 ivalent.to.<a.href="#Type-Coerci
9fd80 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 on">Type.Coercion</a>........</p
9fda0 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 46 72 6f 6d 42 >...............<h3.id="intFromB
9fdc0 6f 6f 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 46 72 6f 6d 42 6f 6f 6c 22 3e ool"><a.href="#toc-intFromBool">
9fde0 40 69 6e 74 46 72 6f 6d 42 6f 6f 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 @intFromBool</a>.<a.class="hdr".
9fe00 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 42 6f 6f 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a href="#intFromBool">..</a></h3>.
9fe20 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .......<pre><code><span.class="t
9fe40 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 42 6f 6f 6c 3c 2f 73 70 61 6e 3e 28 ok-builtin">@intFromBool</span>(
9fe60 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f value:.<span.class="tok-type">bo
9fe80 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ol</span>).<span.class="tok-type
9fea0 22 3e 75 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c ">u1</span></code></pre>.......<
9fec0 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c p>.......Converts.<code><span.cl
9fee0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-null">true</span></code
9ff00 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c >.to.<code><span.class="tok-buil
9ff20 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tin">@as</span>(<span.class="tok
9ff40 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -type">u1</span>,.<span.class="t
9ff60 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 ok-number">1</span>)</code>.and.
9ff80 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c <code><span.class="tok-null">fal
9ffa0 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 se</span></code>.to.............
9ffc0 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ......<code><span.class="tok-bui
9ffe0 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ltin">@as</span>(<span.class="to
a0000 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-type">u1</span>,.<span.class="
a0020 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 2e 0a 20 20 tok-number">0</span>)</code>....
a0040 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 ....</p>...............<h3.id="i
a0060 6e 74 46 72 6f 6d 45 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 46 72 6f ntFromEnum"><a.href="#toc-intFro
a0080 6d 45 6e 75 6d 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 mEnum">@intFromEnum</a>.<a.class
a00a0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 45 6e 75 6d 22 3e c2 a7 3c 2f 61 ="hdr".href="#intFromEnum">..</a
a00c0 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></h3>........<pre><code><span.c
a00e0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c lass="tok-builtin">@intFromEnum<
a0100 2f 73 70 61 6e 3e 28 65 6e 75 6d 5f 6f 72 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 3a 20 3c 73 70 /span>(enum_or_tagged_union:.<sp
a0120 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e an.class="tok-kw">anytype</span>
a0140 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f ).<span.class="tok-kw">anytype</
a0160 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 span></code></pre>.......<p>....
a0180 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 ...Converts.an.enumeration.value
a01a0 20 69 6e 74 6f 20 69 74 73 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2e 20 57 68 65 6e .into.its.integer.tag.type..When
a01c0 20 61 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 73 20 70 61 73 73 65 64 2c 0a 20 20 20 20 20 .a.tagged.union.is.passed,......
a01e0 20 74 68 65 20 74 61 67 20 76 61 6c 75 65 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 65 6e .the.tag.value.is.used.as.the.en
a0200 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 umeration.value........</p>.....
a0220 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6f 6e 6c 79 20 6f 6e 65 ..<p>.......If.there.is.only.one
a0240 20 70 6f 73 73 69 62 6c 65 20 65 6e 75 6d 20 76 61 6c 75 65 2c 20 74 68 65 20 72 65 73 75 6c 74 .possible.enum.value,.the.result
a0260 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 .is.a.<code><span.class="tok-typ
a0280 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 e">comptime_int</span></code>...
a02a0 20 20 20 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 ....known.at.<a.href="#comptime"
a02c0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 >comptime</a>........</p>.......
a02e0 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 <p>See.also:</p><ul>.<li><a.href
a0300 3d 22 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 61 3e ="#enumFromInt">@enumFromInt</a>
a0320 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 </li>.</ul>................<h3.i
a0340 64 3d 22 69 6e 74 46 72 6f 6d 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 d="intFromError"><a.href="#toc-i
a0360 6e 74 46 72 6f 6d 45 72 72 6f 72 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f 72 3c 2f 61 3e 20 3c ntFromError">@intFromError</a>.<
a0380 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 45 72 72 6f a.class="hdr".href="#intFromErro
a03a0 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 r">..</a></h3>........<pre><code
a03c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 ><span.class="tok-builtin">@intF
a03e0 72 6f 6d 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 romError</span>(err:.<span.class
a0400 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 73 74 64 2e 6d 65 ="tok-kw">anytype</span>).std.me
a0420 74 61 2e 49 6e 74 28 2e 75 6e 73 69 67 6e 65 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ta.Int(.unsigned,.<span.class="t
a0440 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 ok-builtin">@bitSizeOf</span>(<s
a0460 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 pan.class="tok-type">anyerror</s
a0480 70 61 6e 3e 29 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 pan>))</code></pre>.......<p>...
a04a0 20 20 20 20 53 75 70 70 6f 72 74 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 70 65 73 ....Supports.the.following.types
a04c0 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 :.......</p>.......<ul>.........
a04e0 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 ..<li><a.href="#The-Global-Error
a0500 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 3c 2f -Set">The.Global.Error.Set</a></
a0520 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f li>...........<li><a.href="#Erro
a0540 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f r-Set-Type">Error.Set.Type</a></
a0560 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f li>...........<li><a.href="#Erro
a0580 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f r-Union-Type">Error.Union.Type</
a05a0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 a></li>.......</ul>.......<p>...
a05c0 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 74 68 65 20 69 6e 74 ....Converts.an.error.to.the.int
a05e0 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e eger.representation.of.an.error.
a0600 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 .......</p>.......<p>.......It.i
a0620 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 61 76 6f 69 64 s.generally.recommended.to.avoid
a0640 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 73 74 2c 20 61 73 20 74 68 65 20 69 6e 74 65 67 65 72 .this.......cast,.as.the.integer
a0660 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 6e .representation.of.an.error.is.n
a0680 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f 73 73 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 68 61 ot.stable.across.source.code.cha
a06a0 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c nges........</p>.......<p>See.al
a06c0 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 72 72 6f 72 46 so:</p><ul>.<li><a.href="#errorF
a06e0 72 6f 6d 49 6e 74 22 3e 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c romInt">@errorFromInt</a></li>.<
a0700 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 46 /ul>................<h3.id="intF
a0720 72 6f 6d 46 6c 6f 61 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 46 72 6f 6d 46 romFloat"><a.href="#toc-intFromF
a0740 6c 6f 61 74 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 loat">@intFromFloat</a>.<a.class
a0760 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 22 3e c2 a7 3c 2f ="hdr".href="#intFromFloat">..</
a0780 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 a></h3>........<pre><code><span.
a07a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 class="tok-builtin">@intFromFloa
a07c0 74 3c 2f 73 70 61 6e 3e 28 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t</span>(float:.<span.class="tok
a07e0 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">anytype</span>).<span.class
a0800 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ="tok-kw">anytype</span></code><
a0820 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 74 /pre>.......<p>.......Converts.t
a0840 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f he.integer.part.of.a.floating.po
a0860 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c int.number.to.the.inferred.resul
a0880 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 t.type........</p>.......<p>....
a08a0 20 20 20 49 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 6f 66 20 74 68 65 20 66 6c ...If.the.integer.part.of.the.fl
a08c0 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 63 61 6e 6e 6f 74 20 66 69 74 20 69 oating.point.number.cannot.fit.i
a08e0 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 0a 20 20 20 20 20 20 69 74 n.the.destination.type,.......it
a0900 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d .invokes.safety-checked.<a.href=
a0920 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 "#Undefined-Behavior">Undefined.
a0940 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c Behavior</a>........</p>.......<
a0960 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d p>See.also:</p><ul>.<li><a.href=
a0980 22 23 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e 40 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 3c 2f 61 "#floatFromInt">@floatFromInt</a
a09a0 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 ></li>.</ul>................<h3.
a09c0 69 64 3d 22 69 6e 74 46 72 6f 6d 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e id="intFromPtr"><a.href="#toc-in
a09e0 74 46 72 6f 6d 50 74 72 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 tFromPtr">@intFromPtr</a>.<a.cla
a0a00 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 50 74 72 22 3e c2 a7 3c 2f ss="hdr".href="#intFromPtr">..</
a0a20 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 a></h3>........<pre><code><span.
a0a40 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c class="tok-builtin">@intFromPtr<
a0a60 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b /span>(value:.<span.class="tok-k
a0a80 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">anytype</span>).<span.class="
a0aa0 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 tok-type">usize</span></code></p
a0ac0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 3c 63 6f re>.......<p>.......Converts.<co
a0ae0 64 65 3e 76 61 6c 75 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e de>value</code>.to.a.<code><span
a0b00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-type">usize</span></
a0b20 63 6f 64 65 3e 20 77 68 69 63 68 20 69 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 code>.which.is.the.address.of.th
a0b40 65 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 76 61 6c 75 65 3c 2f 63 6f e.pointer........<code>value</co
a0b60 64 65 3e 20 63 61 6e 20 62 65 20 3c 63 6f 64 65 3e 2a 54 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 de>.can.be.<code>*T</code>.or.<c
a0b80 6f 64 65 3e 3f 2a 54 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ode>?*T</code>........</p>......
a0ba0 20 3c 70 3e 54 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 .<p>To.convert.the.other.way,.us
a0bc0 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e 40 70 74 72 46 72 6f 6d e.<a.href="#ptrFromInt">@ptrFrom
a0be0 49 6e 74 3c 2f 61 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 Int</a></p>...............<h3.id
a0c00 3d 22 6d 61 78 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 61 78 22 3e 40 6d 61 78 3c 2f ="max"><a.href="#toc-max">@max</
a0c20 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 61 78 22 3e c2 a7 a>.<a.class="hdr".href="#max">..
a0c40 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 </a></h3>........<pre><code><spa
a0c60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 61 78 3c 2f 73 70 61 6e n.class="tok-builtin">@max</span
a0c80 3e 28 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 >(a:.T,.b:.T).T</code></pre>....
a0ca0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6d 61 78 69 6d 75 6d ...<p>.......Returns.the.maximum
a0cc0 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f .value.of.<code>a</code>.and.<co
a0ce0 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 61 63 63 65 70 74 de>b</code>..This.builtin.accept
a0d00 73 20 69 6e 74 65 67 65 72 73 2c 20 66 6c 6f 61 74 73 2c 20 61 6e 64 20 76 65 63 74 6f 72 73 20 s.integers,.floats,.and.vectors.
a0d20 6f 66 20 65 69 74 68 65 72 2e 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 74 of.either..In.the.latter.case,.t
a0d40 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 65 6c 65 6d 65 6e he.operation.is.performed.elemen
a0d60 74 20 77 69 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 t.wise........</p>.......<p>....
a0d80 20 20 20 4e 61 4e 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 20 ...NaNs.are.handled.as.follows:.
a0da0 69 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 73 20 6f 66 20 61 20 28 70 61 69 if.one.of.the.operands.of.a.(pai
a0dc0 72 77 69 73 65 29 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 6f 74 68 rwise).operation.is.NaN,.the.oth
a0de0 65 72 20 6f 70 65 72 61 6e 64 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 49 66 20 62 6f 74 68 20 er.operand.is.returned..If.both.
a0e00 6f 70 65 72 61 6e 64 73 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 72 6e 65 operands.are.NaN,.NaN.is.returne
a0e20 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a d........</p>.......<p>See.also:
a0e40 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 69 6e 22 3e 40 6d 69 6e </p><ul>.<li><a.href="#min">@min
a0e60 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 </a></li>.<li><a.href="#Vectors"
a0e80 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a >Vectors</a></li>.</ul>.........
a0ea0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 65 6d 63 70 79 22 3e 3c 61 20 68 72 65 66 3d 22 .......<h3.id="memcpy"><a.href="
a0ec0 23 74 6f 63 2d 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 #toc-memcpy">@memcpy</a>.<a.clas
a0ee0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 65 6d 63 70 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 s="hdr".href="#memcpy">..</a></h
a0f00 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3>........<pre><code><span.class
a0f20 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 63 70 79 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@memcpy</span>(<s
a0f40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e pan.class="tok-kw">noalias</span
a0f60 3e 20 64 65 73 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 >.dest,.<span.class="tok-kw">noa
a0f80 6c 69 61 73 3c 2f 73 70 61 6e 3e 20 73 6f 75 72 63 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lias</span>.source).<span.class=
a0fa0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 "tok-type">void</span></code></p
a0fc0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 re>.......<p>This.function.copie
a0fe0 73 20 62 79 74 65 73 20 66 72 6f 6d 20 6f 6e 65 20 72 65 67 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 s.bytes.from.one.region.of.memor
a1000 79 20 74 6f 20 61 6e 6f 74 68 65 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 y.to.another.</p>.......<p><code
a1020 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 6d 75 74 61 62 6c 65 20 73 >dest</code>.must.be.a.mutable.s
a1040 6c 69 63 65 2c 20 61 20 6d 75 74 61 62 6c 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 lice,.a.mutable.pointer.to.an.ar
a1060 72 61 79 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 61 20 6d 75 74 61 62 6c 65 20 6d 61 6e 79 2d 69 ray,.or.........a.mutable.many-i
a1080 74 65 6d 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c tem.<a.href="#Pointers">pointer<
a10a0 2f 61 3e 2e 20 49 74 20 6d 61 79 20 68 61 76 65 20 61 6e 79 0a 20 20 20 20 20 20 20 20 61 6c 69 /a>..It.may.have.any.........ali
a10c0 67 6e 6d 65 6e 74 2c 20 61 6e 64 20 69 74 20 6d 61 79 20 68 61 76 65 20 61 6e 79 20 65 6c 65 6d gnment,.and.it.may.have.any.elem
a10e0 65 6e 74 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 73 6f 75 ent.type.</p>.......<p><code>sou
a1100 72 63 65 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 73 6c 69 63 65 2c 20 61 20 70 6f rce</code>.must.be.a.slice,.a.po
a1120 69 6e 74 65 72 20 74 6f 0a 20 20 20 20 20 20 20 20 61 6e 20 61 72 72 61 79 2c 20 6f 72 20 61 20 inter.to.........an.array,.or.a.
a1140 6d 61 6e 79 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f many-item.<a.href="#Pointers">po
a1160 69 6e 74 65 72 3c 2f 61 3e 2e 20 49 74 20 6d 61 79 0a 20 20 20 20 20 20 20 20 68 61 76 65 20 61 inter</a>..It.may.........have.a
a1180 6e 79 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 61 6e 64 20 69 74 20 6d 61 79 20 68 61 76 65 20 61 6e ny.alignment,.and.it.may.have.an
a11a0 79 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 y.element.type.</p>.......<p>The
a11c0 20 3c 63 6f 64 65 3e 73 6f 75 72 63 65 3c 2f 63 6f 64 65 3e 20 65 6c 65 6d 65 6e 74 20 74 79 70 .<code>source</code>.element.typ
a11e0 65 20 6d 75 73 74 20 73 75 70 70 6f 72 74 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f e.must.support.<a.href="#Type-Co
a1200 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 ercion">Type.Coercion</a>.......
a1220 20 20 69 6e 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 65 6c 65 ..into.the.<code>dest</code>.ele
a1240 6d 65 6e 74 20 74 79 70 65 2e 20 54 68 65 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 73 20 6d 61 79 ment.type..The.element.types.may
a1260 20 68 61 76 65 0a 20 20 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 74 20 41 42 49 20 73 69 7a 65 .have.........different.ABI.size
a1280 2c 20 68 6f 77 65 76 65 72 2c 20 74 68 61 74 20 6d 61 79 20 69 6e 63 75 72 20 61 20 70 65 72 66 ,.however,.that.may.incur.a.perf
a12a0 6f 72 6d 61 6e 63 65 20 70 65 6e 61 6c 74 79 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 69 ormance.penalty.</p>.......<p>Si
a12c0 6d 69 6c 61 72 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 20 milar.to.<a.href="#for">for</a>.
a12e0 6c 6f 6f 70 73 2c 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 66 20 3c 63 6f 64 65 3e 73 6f 75 loops,.at.least.one.of.<code>sou
a1300 72 63 65 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 64 65 73 rce</code>.and.........<code>des
a1320 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 70 72 6f 76 69 64 65 20 61 20 6c 65 6e 67 74 68 2c 20 t</code>.must.provide.a.length,.
a1340 61 6e 64 20 69 66 20 74 77 6f 20 6c 65 6e 67 74 68 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 2c and.if.two.lengths.are.provided,
a1360 0a 20 20 20 20 20 20 20 20 74 68 65 79 20 6d 75 73 74 20 62 65 20 65 71 75 61 6c 2e 3c 2f 70 3e .........they.must.be.equal.</p>
a1380 0a 20 20 20 20 20 20 3c 70 3e 46 69 6e 61 6c 6c 79 2c 20 74 68 65 20 74 77 6f 20 6d 65 6d 6f 72 .......<p>Finally,.the.two.memor
a13a0 79 20 72 65 67 69 6f 6e 73 20 6d 75 73 74 20 6e 6f 74 20 6f 76 65 72 6c 61 70 2e 3c 2f 70 3e 0a y.regions.must.not.overlap.</p>.
a13c0 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 65 6d 73 65 74 22 3e 3c 61 ..............<h3.id="memset"><a
a13e0 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 65 6d 73 65 74 22 3e 40 6d 65 6d 73 65 74 3c 2f 61 3e 20 .href="#toc-memset">@memset</a>.
a1400 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 65 6d 73 65 74 22 3e c2 a7 <a.class="hdr".href="#memset">..
a1420 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 </a></h3>........<pre><code><spa
a1440 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 73 65 74 3c 2f 73 n.class="tok-builtin">@memset</s
a1460 70 61 6e 3e 28 64 65 73 74 2c 20 65 6c 65 6d 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>(dest,.elem).<span.class="to
a1480 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e k-type">void</span></code></pre>
a14a0 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 61 6c 6c .......<p>This.function.sets.all
a14c0 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 61 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e .the.elements.of.a.memory.region
a14e0 20 74 6f 20 3c 63 6f 64 65 3e 65 6c 65 6d 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 .to.<code>elem</code>.</p>......
a1500 20 3c 70 3e 3c 63 6f 64 65 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 .<p><code>dest</code>.must.be.a.
a1520 6d 75 74 61 62 6c 65 20 73 6c 69 63 65 20 6f 72 20 61 20 6d 75 74 61 62 6c 65 20 70 6f 69 6e 74 mutable.slice.or.a.mutable.point
a1540 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 49 74 20 6d 61 79 20 68 61 76 er.to.an.array........It.may.hav
a1560 65 20 61 6e 79 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 61 6e 64 20 69 74 20 6d 61 79 20 68 61 76 65 e.any.alignment,.and.it.may.have
a1580 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .any.element.type.</p>.......<p>
a15a0 3c 63 6f 64 65 3e 65 6c 65 6d 3c 2f 63 6f 64 65 3e 20 69 73 20 63 6f 65 72 63 65 64 20 74 6f 20 <code>elem</code>.is.coerced.to.
a15c0 74 68 65 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 64 65 73 74 3c 2f the.element.type.of.<code>dest</
a15e0 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 73 65 63 75 72 65 6c 79 code>.</p>.......<p>For.securely
a1600 20 7a 65 72 6f 69 6e 67 20 6f 75 74 20 73 65 6e 73 69 74 69 76 65 20 63 6f 6e 74 65 6e 74 73 20 .zeroing.out.sensitive.contents.
a1620 66 72 6f 6d 20 6d 65 6d 6f 72 79 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 0a 20 20 20 20 from.memory,.you.should.use.....
a1640 20 20 3c 63 6f 64 65 3e 73 74 64 2e 63 72 79 70 74 6f 2e 75 74 69 6c 73 2e 73 65 63 75 72 65 5a ..<code>std.crypto.utils.secureZ
a1660 65 72 6f 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 ero</code></p>...............<h3
a1680 20 69 64 3d 22 6d 69 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 69 6e 22 3e 40 6d 69 .id="min"><a.href="#toc-min">@mi
a16a0 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 69 6e 22 n</a>.<a.class="hdr".href="#min"
a16c0 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c >..</a></h3>........<pre><code><
a16e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 69 6e 3c 2f 73 span.class="tok-builtin">@min</s
a1700 70 61 6e 3e 28 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a pan>(a:.T,.b:.T).T</code></pre>.
a1720 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6d 69 6e 69 ......<p>.......Returns.the.mini
a1740 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 mum.value.of.<code>a</code>.and.
a1760 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 61 63 63 <code>b</code>..This.builtin.acc
a1780 65 70 74 73 20 69 6e 74 65 67 65 72 73 2c 20 66 6c 6f 61 74 73 2c 20 61 6e 64 20 76 65 63 74 6f epts.integers,.floats,.and.vecto
a17a0 72 73 20 6f 66 20 65 69 74 68 65 72 2e 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 rs.of.either..In.the.latter.case
a17c0 2c 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 65 6c 65 ,.the.operation.is.performed.ele
a17e0 6d 65 6e 74 20 77 69 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ment.wise........</p>.......<p>.
a1800 20 20 20 20 20 20 4e 61 4e 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 61 73 20 66 6f 6c 6c 6f 77 ......NaNs.are.handled.as.follow
a1820 73 3a 20 69 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 73 20 6f 66 20 61 20 28 s:.if.one.of.the.operands.of.a.(
a1840 70 61 69 72 77 69 73 65 29 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 pairwise).operation.is.NaN,.the.
a1860 6f 74 68 65 72 20 6f 70 65 72 61 6e 64 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 49 66 20 62 6f other.operand.is.returned..If.bo
a1880 74 68 20 6f 70 65 72 61 6e 64 73 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 th.operands.are.NaN,.NaN.is.retu
a18a0 72 6e 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c rned........</p>.......<p>See.al
a18c0 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 61 78 22 3e 40 so:</p><ul>.<li><a.href="#max">@
a18e0 6d 61 78 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f max</a></li>.<li><a.href="#Vecto
a1900 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 rs">Vectors</a></li>.</ul>......
a1920 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 ..........<h3.id="wasmMemorySize
a1940 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e "><a.href="#toc-wasmMemorySize">
a1960 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 @wasmMemorySize</a>.<a.class="hd
a1980 72 22 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e c2 a7 3c 2f 61 3e r".href="#wasmMemorySize">..</a>
a19a0 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </h3>........<pre><code><span.cl
a19c0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a ass="tok-builtin">@wasmMemorySiz
a19e0 65 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e</span>(index:.<span.class="tok
a1a00 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">u32</span>).<span.class="
a1a20 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 tok-type">u32</span></code></pre
a1a40 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 >.......<p>.......This.function.
a1a60 72 65 74 75 72 6e 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 57 61 73 6d 20 6d 65 6d returns.the.size.of.the.Wasm.mem
a1a80 6f 72 79 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c 63 6f 64 65 3e 69 6e 64 65 78 3c 2f 63 ory.identified.by.<code>index</c
a1aa0 6f 64 65 3e 20 61 73 0a 20 20 20 20 20 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 ode>.as.......an.unsigned.value.
a1ac0 69 6e 20 75 6e 69 74 73 20 6f 66 20 57 61 73 6d 20 70 61 67 65 73 2e 20 4e 6f 74 65 20 74 68 61 in.units.of.Wasm.pages..Note.tha
a1ae0 74 20 65 61 63 68 20 57 61 73 6d 20 70 61 67 65 20 69 73 20 36 34 4b 42 20 69 6e 20 73 69 7a 65 t.each.Wasm.page.is.64KB.in.size
a1b00 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 ........</p>.......<p>.......Thi
a1b20 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 65 6c 20 69 6e 74 72 69 6e s.function.is.a.low.level.intrin
a1b40 73 69 63 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 20 75 73 sic.with.no.safety.mechanisms.us
a1b60 75 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 61 6c 6c 6f 63 61 74 6f 72 0a 20 20 20 20 20 ually.useful.for.allocator......
a1b80 20 64 65 73 69 67 6e 65 72 73 20 74 61 72 67 65 74 69 6e 67 20 57 61 73 6d 2e 20 53 6f 20 75 6e .designers.targeting.Wasm..So.un
a1ba0 6c 65 73 73 20 79 6f 75 20 61 72 65 20 77 72 69 74 69 6e 67 20 61 20 6e 65 77 20 61 6c 6c 6f 63 less.you.are.writing.a.new.alloc
a1bc0 61 74 6f 72 20 66 72 6f 6d 20 73 63 72 61 74 63 68 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 ator.from.scratch,.you.should.us
a1be0 65 0a 20 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 e.......something.like.<code><sp
a1c00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f an.class="tok-builtin">@import</
a1c20 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>(<span.class="tok-str">&quo
a1c40 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 68 65 61 70 2e 57 61 73 6d 50 61 67 t;std&quot;</span>).heap.WasmPag
a1c60 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 eAllocator</code>........</p>...
a1c80 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 ....<p>See.also:</p><ul>.<li><a.
a1ca0 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d 4d 65 6d 6f href="#wasmMemoryGrow">@wasmMemo
a1cc0 72 79 47 72 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 ryGrow</a></li>.</ul>...........
a1ce0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 3c 61 20 .....<h3.id="wasmMemoryGrow"><a.
a1d00 68 72 65 66 3d 22 23 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d href="#toc-wasmMemoryGrow">@wasm
a1d20 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 MemoryGrow</a>.<a.class="hdr".hr
a1d40 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ef="#wasmMemoryGrow">..</a></h3>
a1d60 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ........<pre><code><span.class="
a1d80 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 73 70 tok-builtin">@wasmMemoryGrow</sp
a1da0 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 an>(index:.<span.class="tok-type
a1dc0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 64 65 6c 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">u32</span>,.delta:.<span.class
a1de0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c ="tok-type">u32</span>).<span.cl
a1e00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ass="tok-type">i32</span></code>
a1e20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 </pre>.......<p>.......This.func
a1e40 74 69 6f 6e 20 69 6e 63 72 65 61 73 65 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 57 tion.increases.the.size.of.the.W
a1e60 61 73 6d 20 6d 65 6d 6f 72 79 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c 63 6f 64 65 3e 69 asm.memory.identified.by.<code>i
a1e80 6e 64 65 78 3c 2f 63 6f 64 65 3e 20 62 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 64 65 6c 74 61 ndex</code>.by.......<code>delta
a1ea0 3c 2f 63 6f 64 65 3e 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 6e 75 6d </code>.in.units.of.unsigned.num
a1ec0 62 65 72 20 6f 66 20 57 61 73 6d 20 70 61 67 65 73 2e 20 4e 6f 74 65 20 74 68 61 74 20 65 61 63 ber.of.Wasm.pages..Note.that.eac
a1ee0 68 20 57 61 73 6d 20 70 61 67 65 0a 20 20 20 20 20 20 69 73 20 36 34 4b 42 20 69 6e 20 73 69 7a h.Wasm.page.......is.64KB.in.siz
a1f00 65 2e 20 4f 6e 20 73 75 63 63 65 73 73 2c 20 72 65 74 75 72 6e 73 20 70 72 65 76 69 6f 75 73 20 e..On.success,.returns.previous.
a1f20 6d 65 6d 6f 72 79 20 73 69 7a 65 3b 20 6f 6e 20 66 61 69 6c 75 72 65 2c 20 69 66 20 74 68 65 20 memory.size;.on.failure,.if.the.
a1f40 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 73 2c 0a 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 allocation.fails,.......returns.
a1f60 2d 31 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 -1........</p>.......<p>.......T
a1f80 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 65 6c 20 69 6e 74 72 his.function.is.a.low.level.intr
a1fa0 69 6e 73 69 63 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 20 insic.with.no.safety.mechanisms.
a1fc0 75 73 75 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 61 6c 6c 6f 63 61 74 6f 72 0a 20 20 20 usually.useful.for.allocator....
a1fe0 20 20 20 64 65 73 69 67 6e 65 72 73 20 74 61 72 67 65 74 69 6e 67 20 57 61 73 6d 2e 20 53 6f 20 ...designers.targeting.Wasm..So.
a2000 75 6e 6c 65 73 73 20 79 6f 75 20 61 72 65 20 77 72 69 74 69 6e 67 20 61 20 6e 65 77 20 61 6c 6c unless.you.are.writing.a.new.all
a2020 6f 63 61 74 6f 72 20 66 72 6f 6d 20 73 63 72 61 74 63 68 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 ocator.from.scratch,.you.should.
a2040 75 73 65 0a 20 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c use.......something.like.<code><
a2060 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 span.class="tok-builtin">@import
a2080 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
a20a0 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 68 65 61 70 2e 57 61 73 6d 50 uot;std&quot;</span>).heap.WasmP
a20c0 61 67 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ageAllocator</code>........</p>.
a20e0 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d ......<figure><figcaption.class=
a2100 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 "zig-cap"><cite.class="file">tes
a2120 74 5f 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 t_wasmMemoryGrow_builtin.zig</ci
a2140 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
a2160 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 .class="tok-kw">const</span>.std
a2180 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d .=.<span.class="tok-builtin">@im
a21a0 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 port</span>(<span.class="tok-str
a21c0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e ">&quot;std&quot;</span>);.<span
a21e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 .class="tok-kw">const</span>.nat
a2200 69 76 65 5f 61 72 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ive_arch.=.<span.class="tok-buil
a2220 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tin">@import</span>(<span.class=
a2240 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 "tok-str">&quot;builtin&quot;</s
a2260 70 61 6e 3e 29 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 3b 0a 3c 73 70 61 6e 20 63 6c 61 pan>).target.cpu.arch;.<span.cla
a2280 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 ss="tok-kw">const</span>.expect.
a22a0 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 =.std.testing.expect;..<span.cla
a22c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">test</span>.<span.cl
a22e0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 77 61 73 6d 4d 65 6d 6f 72 79 47 ass="tok-str">&quot;@wasmMemoryG
a2300 72 6f 77 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 row&quot;</span>.{.....<span.cla
a2320 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 61 74 69 76 65 5f 61 72 ss="tok-kw">if</span>.(native_ar
a2340 63 68 20 21 3d 20 2e 77 61 73 6d 33 32 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ch.!=..wasm32).<span.class="tok-
a2360 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">return</span>.<span.class="t
a2380 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b ok-kw">error</span>.SkipZigTest;
a23a0 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ......<span.class="tok-kw">const
a23c0 3c 2f 73 70 61 6e 3e 20 70 72 65 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.prev.=.<span.class="tok-
a23e0 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 builtin">@wasmMemorySize</span>(
a2400 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e <span.class="tok-number">0</span
a2420 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 >);.....<span.class="tok-kw">try
a2440 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 72 65 76 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 </span>.expect(prev.==.<span.cla
a2460 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 ss="tok-builtin">@wasmMemoryGrow
a2480 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 </span>(<span.class="tok-number"
a24a0 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >0</span>,.<span.class="tok-numb
a24c0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">1</span>));.....<span.class=
a24e0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 72 65 76 20 "tok-kw">try</span>.expect(prev.
a2500 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 +.<span.class="tok-number">1</sp
a2520 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 an>.==.<span.class="tok-builtin"
a2540 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c >@wasmMemorySize</span>(<span.cl
a2560 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f ass="tok-number">0</span>));.}</
a2580 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 code></pre></figure><figure><fig
a25a0 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c caption.class="shell-cap">Shell<
a25c0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
a25e0 67 20 74 65 73 74 20 74 65 73 74 5f 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 5f 62 75 69 6c 74 g.test.test_wasmMemoryGrow_built
a2600 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 77 61 73 6d 4d 65 6d 6f 72 79 in.zig</kbd>.1/1.test_wasmMemory
a2620 47 72 6f 77 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f Grow_builtin.test.@wasmMemoryGro
a2640 77 2e 2e 2e 20 53 4b 49 50 0a 30 20 70 61 73 73 65 64 3b 20 31 20 73 6b 69 70 70 65 64 3b 20 30 w....SKIP.0.passed;.1.skipped;.0
a2660 20 66 61 69 6c 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .failed..</samp></pre></figure>.
a2680 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c ......<p>See.also:</p><ul>.<li><
a26a0 61 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e 40 77 61 73 6d 4d 65 a.href="#wasmMemorySize">@wasmMe
a26c0 6d 6f 72 79 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a morySize</a></li>.</ul>.........
a26e0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 6f 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .......<h3.id="mod"><a.href="#to
a2700 63 2d 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 c-mod">@mod</a>.<a.class="hdr".h
a2720 72 65 66 3d 22 23 6d 6f 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 ref="#mod">..</a></h3>........<p
a2740 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 re><code><span.class="tok-builti
a2760 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e n">@mod</span>(numerator:.T,.den
a2780 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 ominator:.T).T</code></pre>.....
a27a0 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 6f 64 75 6c 75 73 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f ..<p>.......Modulus.division..Fo
a27c0 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 74 68 69 73 20 69 73 20 74 68 65 20 r.unsigned.integers.this.is.the.
a27e0 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 6e 75 6d 65 72 61 74 6f 72 20 25 20 same.as.......<code>numerator.%.
a2800 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 denominator</code>..Caller.guara
a2820 6e 74 65 65 73 20 3c 63 6f 64 65 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 26 67 74 3b 20 3c 73 70 ntees.<code>denominator.&gt;.<sp
a2840 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-number">0</span></
a2860 63 6f 64 65 3e 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 0a 20 20 20 20 20 20 6f 70 65 72 61 code>,.otherwise.the.......opera
a2880 74 69 6f 6e 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 tion.will.result.in.a.<a.href="#
a28a0 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 Remainder-Division-by-Zero">Rema
a28c0 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 77 68 65 6e 20 inder.Division.by.Zero</a>.when.
a28e0 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 runtime.safety.checks.are.enable
a2900 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 d........</p>.......<ul>........
a2920 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ...<li><code><span.class="tok-bu
a2940 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d iltin">@mod</span>(-<span.class=
a2960 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">5</span>,.<span.cla
a2980 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 ss="tok-number">3</span>).==.<sp
a29a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-number">1</span></
a29c0 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 28 code></li>...........<li><code>(
a29e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c <span.class="tok-builtin">@divFl
a2a00 6f 6f 72 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c oor</span>(a,.b).*.b).+.<span.cl
a2a20 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 61 2c ass="tok-builtin">@mod</span>(a,
a2a40 20 62 29 20 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e .b).==.a</code></li>.......</ul>
a2a60 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 .......<p>For.a.function.that.re
a2a80 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 73 65 65 20 3c 63 6f 64 65 3e 3c turns.an.error.code,.see.<code><
a2aa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 span.class="tok-builtin">@import
a2ac0 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
a2ae0 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 6d 6f 64 3c 2f uot;std&quot;</span>).math.mod</
a2b00 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 code>.</p>.......<p>See.also:</p
a2b20 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 ><ul>.<li><a.href="#rem">@rem</a
a2b40 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 ></li>.</ul>................<h3.
a2b60 69 64 3d 22 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 id="mulWithOverflow"><a.href="#t
a2b80 6f 63 2d 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 oc-mulWithOverflow">@mulWithOver
a2ba0 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d flow</a>.<a.class="hdr".href="#m
a2bc0 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ulWithOverflow">..</a></h3>.....
a2be0 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ...<pre><code><span.class="tok-b
a2c00 75 69 6c 74 69 6e 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 uiltin">@mulWithOverflow</span>(
a2c20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c a:.<span.class="tok-kw">anytype<
a2c40 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e /span>,.b:.<span.class="tok-kw">
a2c60 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b anytype</span>).<span.class="tok
a2c80 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">struct</span>.{.<span.class
a2ca0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 2c ="tok-builtin">@TypeOf</span>(a,
a2cc0 20 62 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f .b),.<span.class="tok-type">u1</
a2ce0 73 70 61 6e 3e 20 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 span>.}</code></pre>.......<p>..
a2d00 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 61 20 2a 20 62 3c 2f 63 6f 64 65 3e .....Performs.<code>a.*.b</code>
a2d20 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 74 75 70 6c 65 20 77 69 74 68 20 74 68 65 20 72 65 .and.returns.a.tuple.with.the.re
a2d40 73 75 6c 74 20 61 6e 64 20 61 20 70 6f 73 73 69 62 6c 65 20 6f 76 65 72 66 6c 6f 77 20 62 69 74 sult.and.a.possible.overflow.bit
a2d60 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 ........</p>...............<h3.i
a2d80 64 3d 22 70 61 6e 69 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 61 6e 69 63 22 3e 40 d="panic"><a.href="#toc-panic">@
a2da0 70 61 6e 69 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 panic</a>.<a.class="hdr".href="#
a2dc0 70 61 6e 69 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c panic">..</a></h3>........<pre><
a2de0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
a2e00 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 6d 65 73 73 61 67 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c panic</span>(message:.[]<span.cl
a2e20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ass="tok-kw">const</span>.<span.
a2e40 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 class="tok-type">u8</span>).<spa
a2e60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 n.class="tok-type">noreturn</spa
a2e80 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 n></code></pre>.......<p>.......
a2ea0 49 6e 76 6f 6b 65 73 20 74 68 65 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 Invokes.the.panic.handler.functi
a2ec0 6f 6e 2e 20 42 79 20 64 65 66 61 75 6c 74 20 74 68 65 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 on..By.default.the.panic.handler
a2ee0 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 63 61 6c 6c 73 20 74 68 65 20 70 75 62 6c 69 63 .function.......calls.the.public
a2f00 20 3c 63 6f 64 65 3e 70 61 6e 69 63 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 .<code>panic</code>.function.exp
a2f20 6f 73 65 64 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 6f 72 osed.in.the.root.source.file,.or
a2f40 0a 20 20 20 20 20 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 74 20 6f 6e 65 20 73 70 65 63 69 .......if.there.is.not.one.speci
a2f60 66 69 65 64 2c 20 74 68 65 20 3c 63 6f 64 65 3e 73 74 64 2e 62 75 69 6c 74 69 6e 2e 64 65 66 61 fied,.the.<code>std.builtin.defa
a2f80 75 6c 74 5f 70 61 6e 69 63 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 ult_panic</code>.......function.
a2fa0 66 72 6f 6d 20 3c 63 6f 64 65 3e 73 74 64 2f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 6f 64 65 from.<code>std/builtin.zig</code
a2fc0 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 47 65 6e 65 72 61 6c 6c 79 >........</p>.......<p>Generally
a2fe0 20 69 74 20 69 73 20 62 65 74 74 65 72 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .it.is.better.to.use.<code><span
a3000 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 .class="tok-builtin">@import</sp
a3020 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>(<span.class="tok-str">&quot;
a3040 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 61 6e 69 63 3c 2f 63 std&quot;</span>).debug.panic</c
a3060 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 3c 63 6f 64 65 3e 3c ode>............However,.<code><
a3080 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c span.class="tok-builtin">@panic<
a30a0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 /span></code>.can.be.useful.for.
a30c0 32 20 73 63 65 6e 61 72 69 6f 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 2.scenarios:.......</p>.......<u
a30e0 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 72 6f 6d 20 6c 69 62 72 61 72 79 20 63 6f 64 65 l>.........<li>From.library.code
a3100 2c 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 27 73 20 70 61 6e 69 63 ,.calling.the.programmer's.panic
a3120 20 66 75 6e 63 74 69 6f 6e 20 69 66 20 74 68 65 79 20 65 78 70 6f 73 65 64 20 6f 6e 65 20 69 6e .function.if.they.exposed.one.in
a3140 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 .the.root.source.file.</li>.....
a3160 20 20 20 20 3c 6c 69 3e 57 68 65 6e 20 6d 69 78 69 6e 67 20 43 20 61 6e 64 20 5a 69 67 20 63 6f ....<li>When.mixing.C.and.Zig.co
a3180 64 65 2c 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 63 61 6e 6f 6e 69 63 61 6c 20 70 61 6e 69 63 20 de,.calling.the.canonical.panic.
a31a0 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 63 72 6f 73 73 20 6d 75 6c 74 69 70 6c 65 20 2e implementation.across.multiple..
a31c0 6f 20 66 69 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 o.files.</li>.......</ul>.......
a31e0 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 <p>See.also:</p><ul>.<li><a.href
a3200 3d 22 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 ="#Root-Source-File">Root.Source
a3220 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 .File</a></li>.</ul>............
a3240 20 20 20 20 3c 68 33 20 69 64 3d 22 70 6f 70 43 6f 75 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 ....<h3.id="popCount"><a.href="#
a3260 74 6f 63 2d 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 20 3c 61 20 63 toc-popCount">@popCount</a>.<a.c
a3280 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e c2 a7 3c 2f lass="hdr".href="#popCount">..</
a32a0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 a></h3>........<pre><code><span.
a32c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 73 class="tok-builtin">@popCount</s
a32e0 70 61 6e 3e 28 6f 70 65 72 61 6e 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b pan>(operand:.<span.class="tok-k
a3300 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">anytype</span>).<span.class="
a3320 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 tok-kw">anytype</span></code></p
a3340 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 re>.......<p><code><span.class="
a3360 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 tok-builtin">@TypeOf</span>(oper
a3380 61 6e 64 29 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 74 and)</code>.must.be.an.integer.t
a33a0 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 6f 70 65 72 61 6e 64 3c ype.</p>.......<p><code>operand<
a33c0 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 /code>.may.be.an.<a.href="#Integ
a33e0 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 ers">integer</a>.or.<a.href="#Ve
a3400 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ctors">vector</a>.</p>.......<p>
a3420 0a 20 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 .......Counts.the.number.of.bits
a3440 20 73 65 74 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 20 2d 20 22 70 6f 70 75 6c 61 74 69 6f 6e .set.in.an.integer.-."population
a3460 20 63 6f 75 6e 74 22 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 .count"........</p>.......<p>...
a3480 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 6f 70 65 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 69 73 20 61 ....If.<code>operand</code>.is.a
a34a0 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 .<a.href="#comptime">comptime</a
a34c0 3e 2d 6b 6e 6f 77 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 >-known.integer,.......the.retur
a34e0 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n.type.is.<code><span.class="tok
a3500 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 -type">comptime_int</span></code
a3520 3e 2e 0a 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 >........Otherwise,.the.return.t
a3540 79 70 65 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 72 20 76 65 ype.is.an.unsigned.integer.or.ve
a3560 63 74 6f 72 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 74 ctor.of.unsigned.integers.with.t
a3580 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 he.minimum.number.......of.bits.
a35a0 74 68 61 74 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 that.can.represent.the.bit.count
a35c0 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .of.the.integer.type........</p>
a35e0 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e .......<p>See.also:</p><ul>.<li>
a3600 3c 61 20 68 72 65 66 3d 22 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 <a.href="#ctz">@ctz</a></li>.<li
a3620 3e 3c 61 20 68 72 65 66 3d 22 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f ><a.href="#clz">@clz</a></li>.</
a3640 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 72 65 66 65 ul>................<h3.id="prefe
a3660 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 72 65 66 65 74 63 68 22 3e 40 70 72 tch"><a.href="#toc-prefetch">@pr
a3680 65 66 65 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 efetch</a>.<a.class="hdr".href="
a36a0 23 70 72 65 66 65 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 #prefetch">..</a></h3>........<p
a36c0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 re><code><span.class="tok-builti
a36e0 6e 22 3e 40 70 72 65 66 65 74 63 68 3c 2f 73 70 61 6e 3e 28 70 74 72 3a 20 3c 73 70 61 6e 20 63 n">@prefetch</span>(ptr:.<span.c
a3700 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 lass="tok-kw">anytype</span>,.<s
a3720 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 pan.class="tok-kw">comptime</spa
a3740 6e 3e 20 6f 70 74 69 6f 6e 73 3a 20 50 72 65 66 65 74 63 68 4f 70 74 69 6f 6e 73 29 20 3c 73 70 n>.options:.PrefetchOptions).<sp
a3760 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c an.class="tok-type">void</span><
a3780 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 /code></pre>.......<p>.......Thi
a37a0 73 20 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 s.builtin.tells.the.compiler.to.
a37c0 65 6d 69 74 20 61 20 70 72 65 66 65 74 63 68 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 69 66 20 73 emit.a.prefetch.instruction.if.s
a37e0 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 74 61 72 67 65 74 20 43 50 55 upported.by.the.......target.CPU
a3800 2e 20 49 66 20 74 68 65 20 74 61 72 67 65 74 20 43 50 55 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 ..If.the.target.CPU.does.not.sup
a3820 70 6f 72 74 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 70 72 65 66 65 74 63 68 20 69 6e 73 74 port.the.requested.prefetch.inst
a3840 72 75 63 74 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 69 73 20 62 75 69 6c 74 69 6e 20 69 73 20 61 ruction,.......this.builtin.is.a
a3860 20 6e 6f 2d 6f 70 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 6e 6f 20 65 66 66 .no-op..This.function.has.no.eff
a3880 65 63 74 20 6f 6e 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 65 20 70 72 6f 67 72 ect.on.the.behavior.of.the.progr
a38a0 61 6d 2c 0a 20 20 20 20 20 20 6f 6e 6c 79 20 6f 6e 20 74 68 65 20 70 65 72 66 6f 72 6d 61 6e 63 am,.......only.on.the.performanc
a38c0 65 20 63 68 61 72 61 63 74 65 72 69 73 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 e.characteristics........</p>...
a38e0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 70 74 72 3c 2f 63 6f 64 ....<p>.......The.<code>ptr</cod
a3900 65 3e 20 61 72 67 75 6d 65 6e 74 20 6d 61 79 20 62 65 20 61 6e 79 20 70 6f 69 6e 74 65 72 20 74 e>.argument.may.be.any.pointer.t
a3920 79 70 65 20 61 6e 64 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 6d 65 6d 6f 72 79 0a 20 20 ype.and.determines.the.memory...
a3940 20 20 20 20 61 64 64 72 65 73 73 20 74 6f 20 70 72 65 66 65 74 63 68 2e 20 54 68 69 73 20 66 75 ....address.to.prefetch..This.fu
a3960 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 64 65 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 nction.does.not.dereference.the.
a3980 70 6f 69 6e 74 65 72 2c 20 69 74 20 69 73 20 70 65 72 66 65 63 74 6c 79 20 6c 65 67 61 6c 0a 20 pointer,.it.is.perfectly.legal..
a39a0 20 20 20 20 20 74 6f 20 70 61 73 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 69 6e 76 61 6c 69 .....to.pass.a.pointer.to.invali
a39c0 64 20 6d 65 6d 6f 72 79 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 6f d.memory.to.this.function.and.no
a39e0 20 69 6c 6c 65 67 61 6c 20 62 65 68 61 76 69 6f 72 20 77 69 6c 6c 20 72 65 73 75 6c 74 2e 0a 20 .illegal.behavior.will.result...
a3a00 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 50 72 65 66 65 74 63 .....</p>.......<p><code>Prefetc
a3a20 68 4f 70 74 69 6f 6e 73 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 hOptions</code>.can.be.found.wit
a3a40 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e h.<code><span.class="tok-builtin
a3a60 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">@import</span>(<span.class="to
a3a80 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 k-str">&quot;std&quot;</span>).b
a3aa0 75 69 6c 74 69 6e 2e 50 72 65 66 65 74 63 68 4f 70 74 69 6f 6e 73 3c 2f 63 6f 64 65 3e 2e 3c 2f uiltin.PrefetchOptions</code>.</
a3ac0 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 74 72 43 61 73 74 p>...............<h3.id="ptrCast
a3ae0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 "><a.href="#toc-ptrCast">@ptrCas
a3b00 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 74 72 43 t</a>.<a.class="hdr".href="#ptrC
a3b20 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f ast">..</a></h3>........<pre><co
a3b40 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 de><span.class="tok-builtin">@pt
a3b60 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d rCast</span>(value:.<span.class=
a3b80 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 "tok-kw">anytype</span>).<span.c
a3ba0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f lass="tok-kw">anytype</span></co
a3bc0 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 de></pre>.......<p>.......Conver
a3be0 74 73 20 61 20 70 6f 69 6e 74 65 72 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 20 70 6f ts.a.pointer.of.one.type.to.a.po
a3c00 69 6e 74 65 72 20 6f 66 20 61 6e 6f 74 68 65 72 20 74 79 70 65 2e 20 54 68 65 20 72 65 74 75 72 inter.of.another.type..The.retur
a3c20 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 n.type.is.the.inferred.result.ty
a3c40 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c pe........</p>.......<p>.......<
a3c60 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 a.href="#Optional-Pointers">Opti
a3c80 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 61 72 65 20 61 6c 6c 6f 77 65 64 2e 20 43 onal.Pointers</a>.are.allowed..C
a3ca0 61 73 74 69 6e 67 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 77 68 69 63 68 asting.an.optional.pointer.which
a3cc0 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 0a 20 20 20 .is.<a.href="#null">null</a>....
a3ce0 20 20 20 74 6f 20 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 69 6e 76 ...to.a.non-optional.pointer.inv
a3d00 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e okes.safety-checked.<a.href="#Un
a3d20 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 defined-Behavior">Undefined.Beha
a3d40 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 vior</a>........</p>.......<p>..
a3d60 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c .....<code><span.class="tok-buil
a3d80 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 6e tin">@ptrCast</span></code>.cann
a3da0 6f 74 20 62 65 20 75 73 65 64 20 66 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ot.be.used.for:.......</p>......
a3dc0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 6d 6f 76 69 6e 67 20 3c 63 6f .<ul>...........<li>Removing.<co
a3de0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
a3e00 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 71 75 61 6c 69 66 69 65 72 2c 20 75 73 65 20 3c 61 20 68 72 pan></code>.qualifier,.use.<a.hr
a3e20 65 66 3d 22 23 63 6f 6e 73 74 43 61 73 74 22 3e 40 63 6f 6e 73 74 43 61 73 74 3c 2f 61 3e 2e 3c ef="#constCast">@constCast</a>.<
a3e40 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 6d 6f 76 69 6e 67 20 3c 63 6f 64 /li>...........<li>Removing.<cod
a3e60 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c e><span.class="tok-kw">volatile<
a3e80 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 71 75 61 6c 69 66 69 65 72 2c 20 75 73 65 20 3c 61 20 /span></code>.qualifier,.use.<a.
a3ea0 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 43 61 73 74 22 3e 40 76 6f 6c 61 74 69 6c 65 43 61 href="#volatileCast">@volatileCa
a3ec0 73 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 68 61 6e 67 st</a>.</li>...........<li>Chang
a3ee0 69 6e 67 20 70 6f 69 6e 74 65 72 20 61 64 64 72 65 73 73 20 73 70 61 63 65 2c 20 75 73 65 20 3c ing.pointer.address.space,.use.<
a3f00 61 20 68 72 65 66 3d 22 23 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e 40 61 64 64 72 53 70 61 a.href="#addrSpaceCast">@addrSpa
a3f20 63 65 43 61 73 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 ceCast</a>.</li>...........<li>I
a3f40 6e 63 72 65 61 73 69 6e 67 20 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 75 73 65 ncreasing.pointer.alignment,.use
a3f60 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 .<a.href="#alignCast">@alignCast
a3f80 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 73 74 69 6e 67 </a>.</li>...........<li>Casting
a3fa0 20 61 20 6e 6f 6e 2d 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 6c 69 63 65 2c .a.non-slice.pointer.to.a.slice,
a3fc0 20 75 73 65 20 73 6c 69 63 69 6e 67 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 70 74 72 5b 73 74 .use.slicing.syntax.<code>ptr[st
a3fe0 61 72 74 2e 2e 65 6e 64 5d 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 art..end]</code>.</li>.......</u
a4000 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 74 72 46 72 6f 6d l>...............<h3.id="ptrFrom
a4020 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 74 72 46 72 6f 6d 49 6e 74 22 3e 40 Int"><a.href="#toc-ptrFromInt">@
a4040 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ptrFromInt</a>.<a.class="hdr".hr
a4060 65 66 3d 22 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 ef="#ptrFromInt">..</a></h3>....
a4080 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ....<pre><code><span.class="tok-
a40a0 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 61 64 64 72 builtin">@ptrFromInt</span>(addr
a40c0 65 73 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a ess:.<span.class="tok-type">usiz
a40e0 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 e</span>).<span.class="tok-kw">a
a4100 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 nytype</span></code></pre>......
a4120 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 .<p>.......Converts.an.integer.t
a4140 6f 20 61 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c o.a.<a.href="#Pointers">pointer<
a4160 2f 61 3e 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 6e 66 65 /a>..The.return.type.is.the.infe
a4180 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 09 09 09 54 6f 20 63 6f 6e 76 65 72 74 20 rred.result.type.....To.convert.
a41a0 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 the.other.way,.use.<a.href="#int
a41c0 46 72 6f 6d 50 74 72 22 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 61 3e 2e 20 43 61 73 74 69 6e FromPtr">@intFromPtr</a>..Castin
a41e0 67 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 30 20 74 6f 20 61 20 64 65 73 74 69 6e 61 74 69 g.an.address.of.0.to.a.destinati
a4200 6f 6e 20 74 79 70 65 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 6e 20 6e 6f 74 20 3c 61 20 68 72 on.type.......which.in.not.<a.hr
a4220 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 6f 70 74 69 6f 6e 61 6c ef="#Optional-Pointers">optional
a4240 3c 2f 61 3e 20 61 6e 64 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 3c 63 6f 64 65 </a>.and.does.not.have.the.<code
a4260 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c ><span.class="tok-kw">allowzero<
a4280 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 74 72 69 62 75 74 65 20 77 69 6c 6c 20 72 65 73 /span></code>.attribute.will.res
a42a0 75 6c 74 20 69 6e 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 ult.in.a.......<a.href="#Pointer
a42c0 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 -Cast-Invalid-Null">Pointer.Cast
a42e0 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e 20 70 61 6e 69 63 20 77 68 65 6e 20 72 75 6e .Invalid.Null</a>.panic.when.run
a4300 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a time.safety.checks.are.enabled..
a4320 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 ......</p>.......<p>.......If.th
a4340 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 64 6f 65 73 20 e.destination.pointer.type.does.
a4360 6e 6f 74 20 61 6c 6c 6f 77 20 61 64 64 72 65 73 73 20 7a 65 72 6f 20 61 6e 64 20 3c 63 6f 64 65 not.allow.address.zero.and.<code
a4380 3e 61 64 64 72 65 73 73 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 7a 65 72 6f 2c 20 74 >address</code>.......is.zero,.t
a43a0 68 69 73 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 his.invokes.safety-checked.<a.hr
a43c0 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e ef="#Undefined-Behavior">Undefin
a43e0 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ed.Behavior</a>........</p>.....
a4400 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 72 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 ..........<h3.id="rem"><a.href="
a4420 23 74 6f 63 2d 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 #toc-rem">@rem</a>.<a.class="hdr
a4440 22 20 68 72 65 66 3d 22 23 72 65 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ".href="#rem">..</a></h3>.......
a4460 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
a4480 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 ltin">@rem</span>(numerator:.T,.
a44a0 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 denominator:.T).T</code></pre>..
a44c0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 6d 61 69 6e 64 65 72 20 64 69 76 69 73 69 6f .....<p>.......Remainder.divisio
a44e0 6e 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 74 68 69 73 20 69 73 n..For.unsigned.integers.this.is
a4500 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 6e 75 6d 65 72 61 74 .the.same.as.......<code>numerat
a4520 6f 72 20 25 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 or.%.denominator</code>..Caller.
a4540 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 26 67 74 guarantees.<code>denominator.&gt
a4560 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 ;.<span.class="tok-number">0</sp
a4580 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 0a 20 20 20 20 20 20 an></code>,.otherwise.the.......
a45a0 6f 70 65 72 61 74 69 6f 6e 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 61 20 3c 61 20 68 72 operation.will.result.in.a.<a.hr
a45c0 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 ef="#Remainder-Division-by-Zero"
a45e0 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 >Remainder.Division.by.Zero</a>.
a4600 77 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 when.runtime.safety.checks.are.e
a4620 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 nabled........</p>.......<ul>...
a4640 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ........<li><code><span.class="t
a4660 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 ok-builtin">@rem</span>(-<span.c
a4680 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">5</span>,.<spa
a46a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d n.class="tok-number">3</span>).=
a46c0 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 =.-<span.class="tok-number">2</s
a46e0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c pan></code></li>...........<li><
a4700 63 6f 64 65 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e code>(<span.class="tok-builtin">
a4720 40 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 @divTrunc</span>(a,.b).*.b).+.<s
a4740 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 pan.class="tok-builtin">@rem</sp
a4760 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 an>(a,.b).==.a</code></li>......
a4780 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 .</ul>.......<p>For.a.function.t
a47a0 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 73 65 65 20 3c hat.returns.an.error.code,.see.<
a47c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
a47e0 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 import</span>(<span.class="tok-s
a4800 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 tr">&quot;std&quot;</span>).math
a4820 2e 72 65 6d 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c .rem</code>.</p>.......<p>See.al
a4840 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 6f 64 22 3e 40 so:</p><ul>.<li><a.href="#mod">@
a4860 6d 6f 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 mod</a></li>.</ul>..............
a4880 20 20 3c 68 33 20 69 64 3d 22 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 3c 61 20 68 72 65 66 ..<h3.id="returnAddress"><a.href
a48a0 3d 22 23 74 6f 63 2d 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 40 72 65 74 75 72 6e 41 64 64 ="#toc-returnAddress">@returnAdd
a48c0 72 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 ress</a>.<a.class="hdr".href="#r
a48e0 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 eturnAddress">..</a></h3>.......
a4900 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
a4920 6c 74 69 6e 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 ltin">@returnAddress</span>().<s
a4940 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e pan.class="tok-type">usize</span
a4960 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 ></code></pre>.......<p>.......T
a4980 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 64 64 72 65 73 73 his.function.returns.the.address
a49a0 20 6f 66 20 74 68 65 20 6e 65 78 74 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 69 6e 73 74 72 75 .of.the.next.machine.code.instru
a49c0 63 74 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 0a 20 20 20 20 ction.that.will.be.executed.....
a49e0 20 20 77 68 65 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 ..when.the.current.function.retu
a4a00 72 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 rns........</p>.......<p>.......
a4a20 54 68 65 20 69 6d 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 61 72 65 20 74 61 72 The.implications.of.this.are.tar
a4a40 67 65 74 2d 73 70 65 63 69 66 69 63 20 61 6e 64 20 6e 6f 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 get-specific.and.not.consistent.
a4a60 61 63 72 6f 73 73 0a 20 20 20 20 20 20 61 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 across.......all.platforms......
a4a80 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 ..</p>.......<p>.......This.func
a4aa0 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 tion.is.only.valid.within.functi
a4ac0 6f 6e 20 73 63 6f 70 65 2e 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 69 on.scope..If.the.function.gets.i
a4ae0 6e 6c 69 6e 65 64 20 69 6e 74 6f 0a 20 20 20 20 20 20 61 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 nlined.into.......a.calling.func
a4b00 74 69 6f 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 tion,.the.returned.address.will.
a4b20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 apply.to.the.calling.function...
a4b40 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 .....</p>...............<h3.id="
a4b60 73 65 6c 65 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 6c 65 63 74 22 3e 40 73 select"><a.href="#toc-select">@s
a4b80 65 6c 65 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 elect</a>.<a.class="hdr".href="#
a4ba0 73 65 6c 65 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e select">..</a></h3>........<pre>
a4bc0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
a4be0 40 73 65 6c 65 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @select</span>(<span.class="tok-
a4c00 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 kw">comptime</span>.T:.<span.cla
a4c20 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 72 65 64 3a ss="tok-type">type</span>,.pred:
a4c40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 .<span.class="tok-builtin">@Vect
a4c60 6f 72 3c 2f 73 70 61 6e 3e 28 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d or</span>(len,.<span.class="tok-
a4c80 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 2c 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 type">bool</span>),.a:.<span.cla
a4ca0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@Vector</span>(
a4cc0 6c 65 6e 2c 20 54 29 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 len,.T),.b:.<span.class="tok-bui
a4ce0 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6c 65 6e 2c 20 54 29 29 20 3c 73 ltin">@Vector</span>(len,.T)).<s
a4d00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c pan.class="tok-builtin">@Vector<
a4d20 2f 73 70 61 6e 3e 28 6c 65 6e 2c 20 54 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 /span>(len,.T)</code></pre>.....
a4d40 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 6c 65 63 74 73 20 76 61 6c 75 65 73 20 65 6c 65 6d 65 ..<p>.......Selects.values.eleme
a4d60 6e 74 2d 77 69 73 65 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c nt-wise.from.<code>a</code>.or.<
a4d80 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 62 61 73 65 64 20 6f 6e 20 3c 63 6f 64 65 3e 70 72 65 code>b</code>.based.on.<code>pre
a4da0 64 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 3c 63 6f 64 65 3e 70 72 65 64 5b 69 5d 3c 2f 63 6f 64 65 d</code>..If.<code>pred[i]</code
a4dc0 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c >.is.<code><span.class="tok-null
a4de0 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 63 6f 72 72 65 73 ">true</span></code>,.the.corres
a4e00 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 20 77 69 ponding.element.in.the.result.wi
a4e20 6c 6c 20 62 65 20 3c 63 6f 64 65 3e 61 5b 69 5d 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 6f 74 68 65 ll.be.<code>a[i]</code>.and.othe
a4e40 72 77 69 73 65 20 3c 63 6f 64 65 3e 62 5b 69 5d 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c rwise.<code>b[i]</code>........<
a4e60 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c /p>.......<p>See.also:</p><ul>.<
a4e80 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 li><a.href="#Vectors">Vectors</a
a4ea0 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 ></li>.</ul>................<h3.
a4ec0 69 64 3d 22 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 id="setAlignStack"><a.href="#toc
a4ee0 2d 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f -setAlignStack">@setAlignStack</
a4f00 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 41 6c 69 67 a>.<a.class="hdr".href="#setAlig
a4f20 6e 53 74 61 63 6b 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e nStack">..</a></h3>........<pre>
a4f40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
a4f60 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 @setAlignStack</span>(<span.clas
a4f80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e s="tok-kw">comptime</span>.align
a4fa0 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 39 ment:.<span.class="tok-type">u29
a4fc0 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>).<span.class="tok-type">
a4fe0 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c void</span></code></pre>.......<
a5000 70 3e 0a 20 20 20 20 20 20 45 6e 73 75 72 65 73 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e p>.......Ensures.that.a.function
a5020 20 77 69 6c 6c 20 68 61 76 65 20 61 20 73 74 61 63 6b 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 .will.have.a.stack.alignment.of.
a5040 61 74 20 6c 65 61 73 74 20 3c 63 6f 64 65 3e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 63 6f 64 65 3e 20 at.least.<code>alignment</code>.
a5060 62 79 74 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 bytes........</p>...............
a5080 3c 68 33 20 69 64 3d 22 73 65 74 43 6f 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 <h3.id="setCold"><a.href="#toc-s
a50a0 65 74 43 6f 6c 64 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 etCold">@setCold</a>.<a.class="h
a50c0 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 43 6f 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a dr".href="#setCold">..</a></h3>.
a50e0 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .......<pre><code><span.class="t
a5100 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 ok-builtin">@setCold</span>(<spa
a5120 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e n.class="tok-kw">comptime</span>
a5140 20 69 73 5f 63 6f 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 .is_cold:.<span.class="tok-type"
a5160 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >bool</span>).<span.class="tok-t
a5180 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ype">void</span></code></pre>...
a51a0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 65 6c 6c 73 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 ....<p>.......Tells.the.optimize
a51c0 72 20 74 68 61 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 28 r.that.the.current.function.is.(
a51e0 6f 72 20 69 73 20 6e 6f 74 29 20 72 61 72 65 6c 79 20 63 61 6c 6c 65 64 2e 0a 0a 20 20 20 20 20 or.is.not).rarely.called........
a5200 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 20 77 69 74 .This.function.is.only.valid.wit
a5220 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 hin.function.scope........</p>..
a5240 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 45 76 61 6c 42 72 61 6e .............<h3.id="setEvalBran
a5260 63 68 51 75 6f 74 61 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 45 76 61 6c 42 72 chQuota"><a.href="#toc-setEvalBr
a5280 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f anchQuota">@setEvalBranchQuota</
a52a0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c a>.<a.class="hdr".href="#setEval
a52c0 42 72 61 6e 63 68 51 75 6f 74 61 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 BranchQuota">..</a></h3>........
a52e0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c <pre><code><span.class="tok-buil
a5300 74 69 6e 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e 28 tin">@setEvalBranchQuota</span>(
a5320 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 <span.class="tok-kw">comptime</s
a5340 70 61 6e 3e 20 6e 65 77 5f 71 75 6f 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>.new_quota:.<span.class="tok
a5360 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">u32</span>).<span.class="
a5380 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 tok-type">void</span></code></pr
a53a0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 63 72 65 61 73 65 20 74 68 65 20 e>.......<p>.......Increase.the.
a53c0 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 62 61 63 6b 77 61 72 64 73 20 62 72 61 6e maximum.number.of.backwards.bran
a53e0 63 68 65 73 20 74 68 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 64 65 0a 20 20 20 20 ches.that.compile-time.code.....
a5400 20 20 65 78 65 63 75 74 69 6f 6e 20 63 61 6e 20 75 73 65 20 62 65 66 6f 72 65 20 67 69 76 69 6e ..execution.can.use.before.givin
a5420 67 20 75 70 20 61 6e 64 20 6d 61 6b 69 6e 67 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e g.up.and.making.a.compile.error.
a5440 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 .......</p>.......<p>.......If.t
a5460 68 65 20 3c 63 6f 64 65 3e 6e 65 77 5f 71 75 6f 74 61 3c 2f 63 6f 64 65 3e 20 69 73 20 73 6d 61 he.<code>new_quota</code>.is.sma
a5480 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 71 75 6f 74 61 20 28 3c 63 6f ller.than.the.default.quota.(<co
a54a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 de><span.class="tok-number">1000
a54c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 6f 72 0a 20 20 20 20 20 20 61 20 70 72 65 76 69 </span></code>).or.......a.previ
a54e0 6f 75 73 6c 79 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74 20 71 75 6f 74 61 2c 20 69 74 20 69 ously.explicitly.set.quota,.it.i
a5500 73 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a s.ignored........</p>.......<p>.
a5520 20 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ......Example:.......</p>.......
a5540 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
a5560 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 69 74 68 ap"><cite.class="file">test_with
a5580 6f 75 74 5f 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 5f 62 75 69 6c 74 69 6e 2e 7a out_setEvalBranchQuota_builtin.z
a55a0 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
a55c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e ><span.class="tok-kw">test</span
a55e0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f >.<span.class="tok-str">&quot;fo
a5600 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 o&quot;</span>.{.....<span.class
a5620 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ="tok-kw">comptime</span>.{.....
a5640 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 ....<span.class="tok-kw">var</sp
a5660 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>.i.=.<span.class="tok-number"
a5680 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >0</span>;.........<span.class="
a56a0 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 tok-kw">while</span>.(i.&lt;.<sp
a56c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e an.class="tok-number">1001</span
a56e0 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >).:.(i.+=.<span.class="tok-numb
a5700 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c er">1</span>).{}.....}.}</code><
a5720 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f /pre></figure><figure><figcaptio
a5740 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 n.class="shell-cap">Shell</figca
a5760 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 ption><pre><samp>$.<kbd>zig.test
a5780 20 74 65 73 74 5f 77 69 74 68 6f 75 74 5f 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 .test_without_setEvalBranchQuota
a57a0 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 _builtin.zig</kbd>.<span.class="
a57c0 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 77 69 74 68 6f 75 74 5f sgr-1m">docgen_tmp/test_without_
a57e0 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3a 34 setEvalBranchQuota_builtin.zig:4
a5800 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 :9:.</span><span.class="sgr-31m"
a5820 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d >error:.</span><span.class="sgr-
a5840 31 6d 22 3e 65 76 61 6c 75 61 74 69 6f 6e 20 65 78 63 65 65 64 65 64 20 31 30 30 30 20 62 61 63 1m">evaluation.exceeded.1000.bac
a5860 6b 77 61 72 64 73 20 62 72 61 6e 63 68 65 73 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 77 kwards.branches.</span>........w
a5880 68 69 6c 65 20 28 69 20 26 6c 74 3b 20 31 30 30 31 29 20 3a 20 28 69 20 2b 3d 20 31 29 20 7b 7d hile.(i.&lt;.1001).:.(i.+=.1).{}
a58a0 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e .........<span.class="sgr-32m">^
a58c0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.</
a58e0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e span><span.class="sgr-1m">docgen
a5900 5f 74 6d 70 2f 74 65 73 74 5f 77 69 74 68 6f 75 74 5f 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 _tmp/test_without_setEvalBranchQ
a5920 75 6f 74 61 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3a 34 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 uota_builtin.zig:4:9:.</span><sp
a5940 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e an.class="sgr-36m">note:.</span>
a5960 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 73 65 20 40 73 65 74 45 76 61 <span.class="sgr-1m">use.@setEva
a5980 6c 42 72 61 6e 63 68 51 75 6f 74 61 28 29 20 74 6f 20 72 61 69 73 65 20 74 68 65 20 62 72 61 6e lBranchQuota().to.raise.the.bran
a59a0 63 68 20 6c 69 6d 69 74 20 66 72 6f 6d 20 31 30 30 30 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d ch.limit.from.1000.</span>.</sam
a59c0 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 77 20 77 p></pre></figure>.......<p>Now.w
a59e0 65 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 e.use.<code><span.class="tok-bui
a5a00 6c 74 69 6e 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e ltin">@setEvalBranchQuota</span>
a5a20 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 </code>:</p>.......<figure><figc
a5a40 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
a5a60 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 ss="file">test_setEvalBranchQuot
a5a80 61 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e a_builtin.zig</cite></figcaption
a5aa0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
a5ac0 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >test</span>.<span.class="tok-st
a5ae0 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 r">&quot;foo&quot;</span>.{.....
a5b00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 <span.class="tok-kw">comptime</s
a5b20 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.{.........<span.class="tok-
a5b40 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 builtin">@setEvalBranchQuota</sp
a5b60 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 an>(<span.class="tok-number">100
a5b80 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1</span>);.........<span.class="
a5ba0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 tok-kw">var</span>.i.=.<span.cla
a5bc0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 ss="tok-number">0</span>;.......
a5be0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 ..<span.class="tok-kw">while</sp
a5c00 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d an>.(i.&lt;.<span.class="tok-num
a5c20 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 ber">1001</span>).:.(i.+=.<span.
a5c40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 0a class="tok-number">1</span>).{}.
a5c60 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 ....}.}</code></pre></figure><fi
a5c80 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
a5ca0 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
a5cc0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 65 74 45 76 61 6c 42 72 61 6e $.<kbd>zig.test.test_setEvalBran
a5ce0 63 68 51 75 6f 74 61 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 chQuota_builtin.zig</kbd>.1/1.te
a5d00 73 74 5f 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 5f 62 75 69 6c 74 69 6e 2e 74 65 st_setEvalBranchQuota_builtin.te
a5d20 73 74 2e 66 6f 6f 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e st.foo....OK.All.1.tests.passed.
a5d40 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c .</samp></pre></figure>........<
a5d60 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d p>See.also:</p><ul>.<li><a.href=
a5d80 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f "#comptime">comptime</a></li>.</
a5da0 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 46 6c ul>................<h3.id="setFl
a5dc0 6f 61 74 4d 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 46 6c 6f 61 74 4d oatMode"><a.href="#toc-setFloatM
a5de0 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ode">@setFloatMode</a>.<a.class=
a5e00 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e c2 a7 3c 2f 61 "hdr".href="#setFloatMode">..</a
a5e20 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></h3>........<pre><code><span.c
a5e40 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 lass="tok-builtin">@setFloatMode
a5e60 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d </span>(<span.class="tok-kw">com
a5e80 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 3a 20 46 6c 6f 61 74 4d 6f 64 65 29 20 3c 73 ptime</span>.mode:.FloatMode).<s
a5ea0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e pan.class="tok-type">void</span>
a5ec0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 43 68 61 6e 67 65 73 20 74 </code></pre>.......<p>Changes.t
a5ee0 68 65 20 63 75 72 72 65 6e 74 20 73 63 6f 70 65 27 73 20 72 75 6c 65 73 20 61 62 6f 75 74 20 68 he.current.scope's.rules.about.h
a5f00 6f 77 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 ow.floating.point.operations.are
a5f20 20 64 65 66 69 6e 65 64 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 .defined.</p>.......<ul>........
a5f40 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 53 74 72 69 63 74 3c 2f .<li>.............<code>Strict</
a5f60 63 6f 64 65 3e 20 28 64 65 66 61 75 6c 74 29 20 2d 20 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 code>.(default).-.Floating.point
a5f80 20 6f 70 65 72 61 74 69 6f 6e 73 20 66 6f 6c 6c 6f 77 20 73 74 72 69 63 74 20 49 45 45 45 20 63 .operations.follow.strict.IEEE.c
a5fa0 6f 6d 70 6c 69 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ompliance..........</li>........
a5fc0 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 4f 70 74 69 6d 69 7a 65 .<li>.............<code>Optimize
a5fe0 64 3c 2f 63 6f 64 65 3e 20 2d 20 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 d</code>.-.Floating.point.operat
a6000 69 6f 6e 73 20 6d 61 79 20 64 6f 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ions.may.do.all.of.the.following
a6020 3a 0a 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 :...........<ul>.............<li
a6040 3e 41 73 73 75 6d 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 72 65 73 75 6c 74 >Assume.the.arguments.and.result
a6060 20 61 72 65 20 6e 6f 74 20 4e 61 4e 2e 20 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 .are.not.NaN..Optimizations.are.
a6080 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 74 61 69 6e 20 64 65 66 69 6e 65 64 20 62 65 68 61 76 required.to.retain.defined.behav
a60a0 69 6f 72 20 6f 76 65 72 20 4e 61 4e 73 2c 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 ior.over.NaNs,.but.the.value.of.
a60c0 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 3c 2f 6c 69 3e 0a 20 20 the.result.is.undefined.</li>...
a60e0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 73 73 75 6d 65 20 74 68 65 20 61 72 67 75 6d 65 6e ..........<li>Assume.the.argumen
a6100 74 73 20 61 6e 64 20 72 65 73 75 6c 74 20 61 72 65 20 6e 6f 74 20 2b 2f 2d 49 6e 66 2e 20 4f 70 ts.and.result.are.not.+/-Inf..Op
a6120 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 74 61 timizations.are.required.to.reta
a6140 69 6e 20 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 6f 76 65 72 20 2b 2f 2d 49 6e 66 2c in.defined.behavior.over.+/-Inf,
a6160 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 .but.the.value.of.the.result.is.
a6180 75 6e 64 65 66 69 6e 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e undefined.</li>.............<li>
a61a0 54 72 65 61 74 20 74 68 65 20 73 69 67 6e 20 6f 66 20 61 20 7a 65 72 6f 20 61 72 67 75 6d 65 6e Treat.the.sign.of.a.zero.argumen
a61c0 74 20 6f 72 20 72 65 73 75 6c 74 20 61 73 20 69 6e 73 69 67 6e 69 66 69 63 61 6e 74 2e 3c 2f 6c t.or.result.as.insignificant.</l
a61e0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 72 65 63 69 70 i>.............<li>Use.the.recip
a6200 72 6f 63 61 6c 20 6f 66 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 72 61 74 68 65 72 20 74 68 61 6e rocal.of.an.argument.rather.than
a6220 20 70 65 72 66 6f 72 6d 20 64 69 76 69 73 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .perform.division.</li>.........
a6240 20 20 20 20 3c 6c 69 3e 50 65 72 66 6f 72 6d 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 63 ....<li>Perform.floating-point.c
a6260 6f 6e 74 72 61 63 74 69 6f 6e 20 28 65 2e 67 2e 20 66 75 73 69 6e 67 20 61 20 6d 75 6c 74 69 70 ontraction.(e.g..fusing.a.multip
a6280 6c 79 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 20 61 64 64 69 74 69 6f 6e 20 69 6e 74 6f 20 ly.followed.by.an.addition.into.
a62a0 61 20 66 75 73 65 64 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 a.fused.multiply-add).</li>.....
a62c0 20 20 20 20 20 20 20 20 3c 6c 69 3e 50 65 72 66 6f 72 6d 20 61 6c 67 65 62 72 61 69 63 61 6c 6c ........<li>Perform.algebraicall
a62e0 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 74 68 61 y.equivalent.transformations.tha
a6300 74 20 6d 61 79 20 63 68 61 6e 67 65 20 72 65 73 75 6c 74 73 20 69 6e 20 66 6c 6f 61 74 69 6e 67 t.may.change.results.in.floating
a6320 20 70 6f 69 6e 74 20 28 65 2e 67 2e 20 72 65 61 73 73 6f 63 69 61 74 65 29 2e 3c 2f 6c 69 3e 0a .point.(e.g..reassociate).</li>.
a6340 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 ..........</ul>...........This.i
a6360 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 2d 66 66 61 73 74 2d 6d 61 74 s.equivalent.to.<code>-ffast-mat
a6380 68 3c 2f 63 6f 64 65 3e 20 69 6e 20 47 43 43 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 h</code>.in.GCC..........</li>..
a63a0 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 .....</ul>.......<p>.......The.f
a63c0 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 69 73 20 69 6e 68 65 72 69 74 65 64 20 loating.point.mode.is.inherited.
a63e0 62 79 20 63 68 69 6c 64 20 73 63 6f 70 65 73 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 6f 76 65 72 by.child.scopes,.and.can.be.over
a6400 72 69 64 64 65 6e 20 69 6e 20 61 6e 79 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 ridden.in.any.scope........You.c
a6420 61 6e 20 73 65 74 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 69 an.set.the.floating.point.mode.i
a6440 6e 20 61 20 73 74 72 75 63 74 20 6f 72 20 6d 6f 64 75 6c 65 20 73 63 6f 70 65 20 62 79 20 75 73 n.a.struct.or.module.scope.by.us
a6460 69 6e 67 20 61 20 63 6f 6d 70 74 69 6d 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ing.a.comptime.block........</p>
a6480 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 46 6c 6f 61 74 4d 6f 64 65 3c 2f 63 6f 64 65 3e .......<p><code>FloatMode</code>
a64a0 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .can.be.found.with.<code><span.c
a64c0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e lass="tok-builtin">@import</span
a64e0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
a6500 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 46 6c 6f 61 74 4d 6f 64 d&quot;</span>).builtin.FloatMod
a6520 65 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a e</code>.</p>.......<p>See.also:
a6540 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d </p><ul>.<li><a.href="#Floating-
a6560 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 69 6e 67 20 50 6f 69 6e 74 Point-Operations">Floating.Point
a6580 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 .Operations</a></li>.</ul>......
a65a0 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 ..........<h3.id="setRuntimeSafe
a65c0 74 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 ty"><a.href="#toc-setRuntimeSafe
a65e0 74 79 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 ty">@setRuntimeSafety</a>.<a.cla
a6600 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 ss="hdr".href="#setRuntimeSafety
a6620 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e ">..</a></h3>........<pre><code>
a6640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 <span.class="tok-builtin">@setRu
a6660 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ntimeSafety</span>(<span.class="
a6680 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 73 61 66 65 74 79 5f 6f tok-kw">comptime</span>.safety_o
a66a0 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f n:.<span.class="tok-type">bool</
a66c0 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f span>).<span.class="tok-type">vo
a66e0 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e id</span></code></pre>.......<p>
a6700 0a 20 20 20 20 20 20 53 65 74 73 20 77 68 65 74 68 65 72 20 72 75 6e 74 69 6d 65 20 73 61 66 65 .......Sets.whether.runtime.safe
a6720 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 66 6f 72 20 74 68 65 20 73 63 ty.checks.are.enabled.for.the.sc
a6740 6f 70 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 ope.that.contains.the.function.c
a6760 61 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 all........</p>.......<figure><f
a6780 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 igcaption.class="zig-cap"><cite.
a67a0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 class="file">test_setRuntimeSafe
a67c0 74 79 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f ty_builtin.zig</cite></figcaptio
a67e0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
a6800 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ">test</span>.<span.class="tok-s
a6820 74 72 22 3e 26 71 75 6f 74 3b 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 26 71 75 6f 74 tr">&quot;@setRuntimeSafety&quot
a6840 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>.{.....<span.class="tok-
a6860 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 62 75 69 6c 74 69 6e 20 61 70 70 6c 69 65 73 20 comment">//.The.builtin.applies.
a6880 74 6f 20 74 68 65 20 73 63 6f 70 65 20 74 68 61 74 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 69 to.the.scope.that.it.is.called.i
a68a0 6e 2e 20 53 6f 20 68 65 72 65 2c 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 n..So.here,.integer.overflow</sp
a68c0 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 an>.....<span.class="tok-comment
a68e0 22 3e 2f 2f 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 63 61 75 67 68 74 20 69 6e 20 52 65 6c 65 61 ">//.will.not.be.caught.in.Relea
a6900 73 65 46 61 73 74 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 3a 3c 2f seFast.and.ReleaseSmall.modes:</
a6920 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 span>.....<span.class="tok-comme
a6940 6e 74 22 3e 2f 2f 20 76 61 72 20 78 3a 20 75 38 20 3d 20 32 35 35 3b 3c 2f 73 70 61 6e 3e 0a 20 nt">//.var.x:.u8.=.255;</span>..
a6960 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 ...<span.class="tok-comment">//.
a6980 78 20 2b 3d 20 31 3b 20 2f 2f 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e x.+=.1;.//.undefined.behavior.in
a69a0 20 52 65 6c 65 61 73 65 46 61 73 74 2f 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 2e .ReleaseFast/ReleaseSmall.modes.
a69c0 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 </span>.....{.........<span.clas
a69e0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 6f 77 65 76 65 72 20 74 68 69 73 20 s="tok-comment">//.However.this.
a6a00 62 6c 6f 63 6b 20 68 61 73 20 73 61 66 65 74 79 20 65 6e 61 62 6c 65 64 2c 20 73 6f 20 73 61 66 block.has.safety.enabled,.so.saf
a6a20 65 74 79 20 63 68 65 63 6b 73 20 68 61 70 70 65 6e 20 68 65 72 65 2c 3c 2f 73 70 61 6e 3e 0a 20 ety.checks.happen.here,</span>..
a6a40 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 .......<span.class="tok-comment"
a6a60 3e 2f 2f 20 65 76 65 6e 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 20 61 6e 64 20 52 65 6c 65 >//.even.in.ReleaseFast.and.Rele
a6a80 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c aseSmall.modes.</span>.........<
a6aa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e span.class="tok-builtin">@setRun
a6ac0 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 timeSafety</span>(<span.class="t
a6ae0 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c ok-null">true</span>);.........<
a6b00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 span.class="tok-kw">var</span>.x
a6b20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 :.<span.class="tok-type">u8</spa
a6b40 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 n>.=.<span.class="tok-number">25
a6b60 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 5</span>;.........x.+=.<span.cla
a6b80 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 20 ss="tok-number">1</span>;.......
a6ba0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ...{.............<span.class="to
a6bc0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 6f k-comment">//.The.value.can.be.o
a6be0 76 65 72 72 69 64 64 65 6e 20 61 74 20 61 6e 79 20 73 63 6f 70 65 2e 20 53 6f 20 68 65 72 65 20 verridden.at.any.scope..So.here.
a6c00 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 integer.overflow</span>.........
a6c20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f ....<span.class="tok-comment">//
a6c40 20 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 61 75 67 68 74 20 69 6e 20 61 6e 79 20 62 75 69 6c .would.not.be.caught.in.any.buil
a6c60 64 20 6d 6f 64 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e d.mode.</span>.............<span
a6c80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 .class="tok-builtin">@setRuntime
a6ca0 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e Safety</span>(<span.class="tok-n
a6cc0 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ull">false</span>);.............
a6ce0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 <span.class="tok-comment">//.var
a6d00 20 78 3a 20 75 38 20 3d 20 32 35 35 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 .x:.u8.=.255;</span>............
a6d20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 .<span.class="tok-comment">//.x.
a6d40 2b 3d 20 31 3b 20 2f 2f 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e 20 61 +=.1;.//.undefined.behavior.in.a
a6d60 6c 6c 20 62 75 69 6c 64 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 7d ll.build.modes.</span>.........}
a6d80 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 .....}.}</code></pre></figure><f
a6da0 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 igure><figcaption.class="shell-c
a6dc0 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 ap">Shell</figcaption><pre><samp
a6de0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 65 74 52 75 6e 74 69 6d 65 >$.<kbd>zig.test.test_setRuntime
a6e00 53 61 66 65 74 79 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 20 2d 4f 52 65 6c 65 61 73 65 46 61 73 74 Safety_builtin.zig.-OReleaseFast
a6e20 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 </kbd>.1/1.test_setRuntimeSafety
a6e40 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 2e _builtin.test.@setRuntimeSafety.
a6e60 2e 2e 20 74 68 72 65 61 64 20 39 39 30 32 37 32 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 ...thread.990272.panic:.integer.
a6e80 6f 76 65 72 66 6c 6f 77 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 overflow./home/ci/actions-runner
a6ea0 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f /_work/zig-bootstrap/zig/docgen_
a6ec0 74 6d 70 2f 74 65 73 74 5f 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 5f 62 75 69 6c 74 69 tmp/test_setRuntimeSafety_builti
a6ee0 6e 2e 7a 69 67 3a 31 31 3a 31 31 3a 20 30 78 31 30 30 39 38 63 34 20 69 6e 20 74 65 73 74 2e 40 n.zig:11:11:.0x10098c4.in.test.@
a6f00 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 setRuntimeSafety.(test).........
a6f20 78 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 x.+=.1;...........^./home/ci/act
a6f40 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
a6f60 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 out/host/lib/zig/compiler/test_r
a6f80 75 6e 6e 65 72 2e 7a 69 67 3a 31 35 38 3a 32 35 3a 20 30 78 31 30 30 61 38 31 64 20 69 6e 20 6d unner.zig:158:25:.0x100a81d.in.m
a6fa0 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 ain.(test).........if.(test_fn.f
a6fc0 75 6e 63 28 29 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 unc()).|_|.{....................
a6fe0 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f .....^./home/ci/actions-runner/_
a7000 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f work/zig-bootstrap/out/host/lib/
a7020 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 30 39 zig/std/start.zig:501:22:.0x1009
a7040 39 61 36 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 9a6.in.posixCallMainAndExit.(tes
a7060 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 t).............root.main();.....
a7080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 .................^./home/ci/acti
a70a0 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f ons-runner/_work/zig-bootstrap/o
a70c0 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 ut/host/lib/zig/std/start.zig:25
a70e0 33 3a 35 3a 20 30 78 31 30 30 39 38 65 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 0a 3:5:.0x10098e1.in._start.(test).
a7100 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 ....asm.volatile.(switch.(native
a7120 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f _arch).{.....^.???:?:?:.0x0.in.?
a7140 3f 3f 20 28 3f 3f 3f 29 0a 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 ??.(???).error:.the.following.te
a7160 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 st.command.crashed:./home/ci/act
a7180 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
a71a0 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 37 62 66 33 65 63 61 32 32 61 out/zig-local-cache/o/7bf3eca22a
a71c0 34 66 64 64 37 32 35 32 35 65 66 30 37 31 38 34 63 31 38 64 63 39 2f 74 65 73 74 0a 3c 2f 73 61 4fdd72525ef07184c18dc9/test.</sa
a71e0 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 mp></pre></figure>.......<p>Note
a7200 3a 20 69 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e :.it.is.<a.href="https://github.
a7220 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 39 37 38 22 3e 70 6c 61 6e com/ziglang/zig/issues/978">plan
a7240 6e 65 64 3c 2f 61 3e 20 74 6f 20 72 65 70 6c 61 63 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c ned</a>.to.replace.......<code><
a7260 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e span.class="tok-builtin">@setRun
a7280 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 3c 63 timeSafety</span></code>.with.<c
a72a0 6f 64 65 3e 40 6f 70 74 69 6d 69 7a 65 46 6f 72 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 0a 20 20 20 ode>@optimizeFor</code></p>.....
a72c0 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 6c 45 78 61 63 74 22 3e 3c 61 20 ...........<h3.id="shlExact"><a.
a72e0 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f href="#toc-shlExact">@shlExact</
a7300 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 a>.<a.class="hdr".href="#shlExac
a7320 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 t">..</a></h3>........<pre><code
a7340 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 ><span.class="tok-builtin">@shlE
a7360 78 61 63 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 3a xact</span>(value:.T,.shift_amt:
a7380 20 4c 6f 67 32 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e .Log2T).T</code></pre>.......<p>
a73a0 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 74 68 65 20 6c 65 66 74 20 73 68 69 66 74 20 6f .......Performs.the.left.shift.o
a73c0 70 65 72 61 74 69 6f 6e 20 28 3c 63 6f 64 65 3e 26 6c 74 3b 26 6c 74 3b 3c 2f 63 6f 64 65 3e 29 peration.(<code>&lt;&lt;</code>)
a73e0 2e 0a 20 20 20 20 20 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 2c 20 74 ........For.unsigned.integers,.t
a7400 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 he.result.is.<a.href="#undefined
a7420 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 69 66 20 61 6e 79 20 31 20 62 69 74 73 0a 20 20 ">undefined</a>.if.any.1.bits...
a7440 20 20 20 20 61 72 65 20 73 68 69 66 74 65 64 20 6f 75 74 2e 20 46 6f 72 20 73 69 67 6e 65 64 20 ....are.shifted.out..For.signed.
a7460 69 6e 74 65 67 65 72 73 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d integers,.the.result.is.<a.href=
a7480 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 69 66 0a 20 20 "#undefined">undefined</a>.if...
a74a0 20 20 20 20 61 6e 79 20 62 69 74 73 20 74 68 61 74 20 64 69 73 61 67 72 65 65 20 77 69 74 68 20 ....any.bits.that.disagree.with.
a74c0 74 68 65 20 72 65 73 75 6c 74 61 6e 74 20 73 69 67 6e 20 62 69 74 20 61 72 65 20 73 68 69 66 74 the.resultant.sign.bit.are.shift
a74e0 65 64 20 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ed.out........</p>.......<p>....
a7500 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 73 68 69 66 74 5f 61 6d 74 3c 2f ...The.type.of.<code>shift_amt</
a7520 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 77 69 74 code>.is.an.unsigned.integer.wit
a7540 68 20 3c 63 6f 64 65 3e 6c 6f 67 32 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 h.<code>log2(<span.class="tok-bu
a7560 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 iltin">@typeInfo</span>(T).Int.b
a7580 69 74 73 29 3c 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 its)</code>.bits................
a75a0 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 73 68 69 66 74 5f 61 6d 74 20 This.is.because.<code>shift_amt.
a75c0 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e &gt;=.<span.class="tok-builtin">
a75e0 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 3c 2f 63 6f @typeInfo</span>(T).Int.bits</co
a7600 64 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 de>.is.undefined.behavior.......
a7620 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 .</p>.......<p>.......<code><spa
a7640 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c n.class="tok-type">comptime_int<
a7660 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6d 6f 64 65 6c 65 64 20 61 73 20 61 6e 20 69 /span></code>.is.modeled.as.an.i
a7680 6e 74 65 67 65 72 20 77 69 74 68 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 6e 75 6d 62 65 72 20 6f nteger.with.an.infinite.number.o
a76a0 66 20 62 69 74 73 2c 0a 20 20 20 20 20 20 6d 65 61 6e 69 6e 67 20 74 68 61 74 20 69 6e 20 73 75 f.bits,.......meaning.that.in.su
a76c0 63 68 20 63 61 73 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ch.case,.<code><span.class="tok-
a76e0 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e builtin">@shlExact</span></code>
a7700 20 61 6c 77 61 79 73 20 70 72 6f 64 75 63 65 73 20 61 20 72 65 73 75 6c 74 20 61 6e 64 0a 20 20 .always.produces.a.result.and...
a7720 20 20 20 20 63 61 6e 6e 6f 74 20 70 72 6f 64 75 63 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 ....cannot.produce.a.compile.err
a7740 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f or........</p>.......<p>See.also
a7760 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 :</p><ul>.<li><a.href="#shrExact
a7780 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 ">@shrExact</a></li>.<li><a.href
a77a0 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 ="#shlWithOverflow">@shlWithOver
a77c0 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 flow</a></li>.</ul>.............
a77e0 20 20 20 3c 68 33 20 69 64 3d 22 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 ...<h3.id="shlWithOverflow"><a.h
a7800 72 65 66 3d 22 23 74 6f 63 2d 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 ref="#toc-shlWithOverflow">@shlW
a7820 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ithOverflow</a>.<a.class="hdr".h
a7840 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ref="#shlWithOverflow">..</a></h
a7860 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3>........<pre><code><span.class
a7880 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c ="tok-builtin">@shlWithOverflow<
a78a0 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 /span>(a:.<span.class="tok-kw">a
a78c0 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 73 68 69 66 74 5f 61 6d 74 3a 20 4c 6f 67 32 54 29 nytype</span>,.shift_amt:.Log2T)
a78e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 .<span.class="tok-kw">struct</sp
a7900 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e an>.{.<span.class="tok-builtin">
a7920 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 @TypeOf</span>(a),.<span.class="
a7940 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 20 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 tok-type">u1</span>.}</code></pr
a7960 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 e>.......<p>.......Performs.<cod
a7980 65 3e 61 20 26 6c 74 3b 26 6c 74 3b 20 62 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e e>a.&lt;&lt;.b</code>.and.return
a79a0 73 20 61 20 74 75 70 6c 65 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 61 6e 64 20 61 20 s.a.tuple.with.the.result.and.a.
a79c0 70 6f 73 73 69 62 6c 65 20 6f 76 65 72 66 6c 6f 77 20 62 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 possible.overflow.bit........</p
a79e0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 >.......<p>.......The.type.of.<c
a7a00 6f 64 65 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 ode>shift_amt</code>.is.an.unsig
a7a20 6e 65 64 20 69 6e 74 65 67 65 72 20 77 69 74 68 20 3c 63 6f 64 65 3e 6c 6f 67 32 28 3c 73 70 61 ned.integer.with.<code>log2(<spa
a7a40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c n.class="tok-builtin">@typeInfo<
a7a60 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 /span>(<span.class="tok-builtin"
a7a80 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 29 29 2e 49 6e 74 2e 62 69 74 73 29 3c 2f 63 >@TypeOf</span>(a)).Int.bits)</c
a7aa0 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 ode>.bits................This.is
a7ac0 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 3c .because.<code>shift_amt.&gt;=.<
a7ae0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e span.class="tok-builtin">@typeIn
a7b00 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 fo</span>(<span.class="tok-built
a7b20 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 29 29 2e 49 6e 74 2e 62 69 74 73 3c in">@TypeOf</span>(a)).Int.bits<
a7b40 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 /code>.is.undefined.behavior....
a7b60 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c ....</p>.......<p>See.also:</p><
a7b80 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c ul>.<li><a.href="#shlExact">@shl
a7ba0 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 72 Exact</a></li>.<li><a.href="#shr
a7bc0 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a Exact">@shrExact</a></li>.</ul>.
a7be0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 72 45 78 61 63 74 22 ...............<h3.id="shrExact"
a7c00 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 ><a.href="#toc-shrExact">@shrExa
a7c20 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 72 ct</a>.<a.class="hdr".href="#shr
a7c40 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c Exact">..</a></h3>........<pre><
a7c60 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
a7c80 73 68 72 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 54 2c 20 73 68 69 66 74 5f shrExact</span>(value:.T,.shift_
a7ca0 61 6d 74 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 amt:.Log2T).T</code></pre>......
a7cc0 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 74 68 65 20 72 69 67 68 74 20 73 68 .<p>.......Performs.the.right.sh
a7ce0 69 66 74 20 6f 70 65 72 61 74 69 6f 6e 20 28 3c 63 6f 64 65 3e 26 67 74 3b 26 67 74 3b 3c 2f 63 ift.operation.(<code>&gt;&gt;</c
a7d00 6f 64 65 3e 29 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 0a 20 20 20 20 20 20 74 ode>)..Caller.guarantees.......t
a7d20 68 61 74 20 74 68 65 20 73 68 69 66 74 20 77 69 6c 6c 20 6e 6f 74 20 73 68 69 66 74 20 61 6e 79 hat.the.shift.will.not.shift.any
a7d40 20 31 20 62 69 74 73 20 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 .1.bits.out........</p>.......<p
a7d60 3e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 73 68 69 66 74 5f >.......The.type.of.<code>shift_
a7d80 61 6d 74 3c 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 amt</code>.is.an.unsigned.intege
a7da0 72 20 77 69 74 68 20 3c 63 6f 64 65 3e 6c 6f 67 32 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 r.with.<code>log2(<span.class="t
a7dc0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e ok-builtin">@typeInfo</span>(T).
a7de0 49 6e 74 2e 62 69 74 73 29 3c 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 Int.bits)</code>.bits...........
a7e00 20 20 20 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 73 68 69 66 74 .....This.is.because.<code>shift
a7e20 5f 61 6d 74 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c _amt.&gt;=.<span.class="tok-buil
a7e40 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 tin">@typeInfo</span>(T).Int.bit
a7e60 73 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 0a s</code>.is.undefined.behavior..
a7e80 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 ......</p>.......<p>See.also:</p
a7ea0 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e 40 73 ><ul>.<li><a.href="#shlExact">@s
a7ec0 68 6c 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 hlExact</a></li>.<li><a.href="#s
a7ee0 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 hlWithOverflow">@shlWithOverflow
a7f00 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </a></li>.</ul>................<
a7f20 68 33 20 69 64 3d 22 73 68 75 66 66 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 h3.id="shuffle"><a.href="#toc-sh
a7f40 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 uffle">@shuffle</a>.<a.class="hd
a7f60 72 22 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a r".href="#shuffle">..</a></h3>..
a7f80 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
a7fa0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e k-builtin">@shuffle</span>(<span
a7fc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 .class="tok-kw">comptime</span>.
a7fe0 45 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f E:.<span.class="tok-type">type</
a8000 73 70 61 6e 3e 2c 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 span>,.a:.<span.class="tok-built
a8020 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 61 5f 6c 65 6e 2c 20 45 29 2c 20 62 3a in">@Vector</span>(a_len,.E),.b:
a8040 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 .<span.class="tok-builtin">@Vect
a8060 6f 72 3c 2f 73 70 61 6e 3e 28 62 5f 6c 65 6e 2c 20 45 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 or</span>(b_len,.E),.<span.class
a8080 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 3a 20 ="tok-kw">comptime</span>.mask:.
a80a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f <span.class="tok-builtin">@Vecto
a80c0 72 3c 2f 73 70 61 6e 3e 28 6d 61 73 6b 5f 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r</span>(mask_len,.<span.class="
a80e0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 tok-type">i32</span>)).<span.cla
a8100 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@Vector</span>(
a8120 6d 61 73 6b 5f 6c 65 6e 2c 20 45 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 mask_len,.E)</code></pre>.......
a8140 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 73 74 72 75 63 74 73 20 61 20 6e 65 77 20 3c 61 20 68 72 <p>.......Constructs.a.new.<a.hr
a8160 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 20 62 79 20 73 65 6c 65 ef="#Vectors">vector</a>.by.sele
a8180 63 74 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 cting.elements.from.<code>a</cod
a81a0 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 62 61 73 65 e>.and.......<code>b</code>.base
a81c0 64 20 6f 6e 20 3c 63 6f 64 65 3e 6d 61 73 6b 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f d.on.<code>mask</code>........</
a81e0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 p>.......<p>.......Each.element.
a8200 69 6e 20 3c 63 6f 64 65 3e 6d 61 73 6b 3c 2f 63 6f 64 65 3e 20 73 65 6c 65 63 74 73 20 61 6e 20 in.<code>mask</code>.selects.an.
a8220 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 69 74 68 65 72 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 element.from.either.<code>a</cod
a8240 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 2e 20 50 6f 73 69 e>.or.......<code>b</code>..Posi
a8260 74 69 76 65 20 6e 75 6d 62 65 72 73 20 73 65 6c 65 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 61 tive.numbers.select.from.<code>a
a8280 3c 2f 63 6f 64 65 3e 20 73 74 61 72 74 69 6e 67 20 61 74 20 30 2e 0a 20 20 20 20 20 20 4e 65 67 </code>.starting.at.0........Neg
a82a0 61 74 69 76 65 20 76 61 6c 75 65 73 20 73 65 6c 65 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 62 ative.values.select.from.<code>b
a82c0 3c 2f 63 6f 64 65 3e 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 3c 63 6f 64 65 3e 2d 3c 73 70 61 </code>,.starting.at.<code>-<spa
a82e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 n.class="tok-number">1</span></c
a8300 6f 64 65 3e 20 61 6e 64 20 67 6f 69 6e 67 20 64 6f 77 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 73 ode>.and.going.down........It.is
a8320 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 7e 3c .recommended.to.use.the.<code>~<
a8340 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 66 6f 72 20 69 6e 64 65 78 65 73 20 66 72 6f 6d /code>.operator.for.indexes.from
a8360 20 3c 63 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 73 6f 20 74 68 61 74 20 62 6f .<code>b</code>.......so.that.bo
a8380 74 68 20 69 6e 64 65 78 65 73 20 63 61 6e 20 73 74 61 72 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e th.indexes.can.start.from.<code>
a83a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e <span.class="tok-number">0</span
a83c0 3e 3c 2f 63 6f 64 65 3e 20 28 69 2e 65 2e 20 3c 63 6f 64 65 3e 7e 3c 73 70 61 6e 20 63 6c 61 73 ></code>.(i.e..<code>~<span.clas
a83e0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e s="tok-builtin">@as</span>(<span
a8400 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-type">i32</span>,.<s
a8420 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">0</span>)
a8440 3c 2f 63 6f 64 65 3e 20 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 2d 3c 73 70 61 6e 20 63 6c </code>.is.......<code>-<span.cl
a8460 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ass="tok-number">1</span></code>
a8480 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f )........</p>.......<p>.......Fo
a84a0 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 3c 63 6f 64 65 3e 6d 61 73 6b 3c 2f 63 6f r.each.element.of.<code>mask</co
a84c0 64 65 3e 2c 20 69 66 20 69 74 20 6f 72 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 76 61 6c 75 65 de>,.if.it.or.the.selected.value
a84e0 20 66 72 6f 6d 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 .from.......<code>a</code>.or.<c
a8500 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ode>b</code>.is.<code><span.clas
a8520 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-null">undefined</span></c
a8540 6f 64 65 3e 2c 0a 20 20 20 20 20 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 65 ode>,.......then.the.resulting.e
a8560 6c 65 6d 65 6e 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lement.is.<code><span.class="tok
a8580 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a -null">undefined</span></code>..
a85a0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 ......</p>.......<p>.......<code
a85c0 3e 61 5f 6c 65 6e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 62 5f 6c 65 6e 3c 2f 63 >a_len</code>.and.<code>b_len</c
a85e0 6f 64 65 3e 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 6c 65 6e 67 74 68 2e 20 4f 75 74 2d 6f ode>.may.differ.in.length..Out-o
a8600 66 2d 62 6f 75 6e 64 73 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 20 69 6e 64 65 78 65 73 20 69 f-bounds.element.......indexes.i
a8620 6e 20 3c 63 6f 64 65 3e 6d 61 73 6b 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 20 69 6e 20 63 6f n.<code>mask</code>.result.in.co
a8640 6d 70 69 6c 65 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c mpile.errors........</p>.......<
a8660 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 61 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 p>.......If.<code>a</code>.or.<c
a8680 6f 64 65 3e 62 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ode>b</code>.is.<code><span.clas
a86a0 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-null">undefined</span></c
a86c0 6f 64 65 3e 2c 20 69 74 0a 20 20 20 20 20 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 ode>,.it.......is.equivalent.to.
a86e0 61 20 76 65 63 74 6f 72 20 6f 66 20 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 a.vector.of.all.<code><span.clas
a8700 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-null">undefined</span></c
a8720 6f 64 65 3e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 20 61 73 20 74 68 65 ode>.with.the.same.length.as.the
a8740 20 6f 74 68 65 72 20 76 65 63 74 6f 72 2e 0a 20 20 20 20 20 20 49 66 20 62 6f 74 68 20 76 65 63 .other.vector........If.both.vec
a8760 74 6f 72 73 20 61 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d tors.are.<code><span.class="tok-
a8780 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c null">undefined</span></code>,.<
a87a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
a87c0 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 0a 20 20 shuffle</span></code>.returns...
a87e0 20 20 20 20 61 20 76 65 63 74 6f 72 20 77 69 74 68 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 3c ....a.vector.with.all.elements.<
a8800 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 code><span.class="tok-null">unde
a8820 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a fined</span></code>........</p>.
a8840 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 45 3c 2f 63 6f 64 65 3e 20 6d ......<p>.......<code>E</code>.m
a8860 75 73 74 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e ust.be.an.<a.href="#Integers">in
a8880 74 65 67 65 72 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f teger</a>,.<a.href="#Floats">flo
a88a0 61 74 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 at</a>,.......<a.href="#Pointers
a88c0 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ">pointer</a>,.or.<code><span.cl
a88e0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ass="tok-type">bool</span></code
a8900 3e 2e 20 54 68 65 20 6d 61 73 6b 20 6d 61 79 20 62 65 20 61 6e 79 20 76 65 63 74 6f 72 20 6c 65 >..The.mask.may.be.any.vector.le
a8920 6e 67 74 68 2c 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 20 6c 65 6e 67 74 68 20 64 65 74 65 72 ngth,.and.its.......length.deter
a8940 6d 69 6e 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 3c mines.the.result.length........<
a8960 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
a8980 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
a89a0 3e 74 65 73 74 5f 73 68 75 66 66 6c 65 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e >test_shuffle_builtin.zig</cite>
a89c0 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><code><span.cl
a89e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 ass="tok-kw">const</span>.std.=.
a8a00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 <span.class="tok-builtin">@impor
a8a20 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>(<span.class="tok-str">&
a8a40 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c quot;std&quot;</span>);.<span.cl
a8a60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 ass="tok-kw">const</span>.expect
a8a80 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c .=.std.testing.expect;..<span.cl
a8aa0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ass="tok-kw">test</span>.<span.c
a8ac0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 68 75 lass="tok-str">&quot;vector.@shu
a8ae0 66 66 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c ffle&quot;</span>.{.....<span.cl
a8b00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 ass="tok-kw">const</span>.a.=.<s
a8b20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c pan.class="tok-builtin">@Vector<
a8b40 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e /span>(<span.class="tok-number">
a8b60 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 7</span>,.<span.class="tok-type"
a8b80 3e 75 38 3c 2f 73 70 61 6e 3e 29 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >u8</span>){.<span.class="tok-st
a8ba0 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">'o'</span>,.<span.class="tok-
a8bc0 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f str">'l'</span>,.<span.class="to
a8be0 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-str">'h'</span>,.<span.class="
a8c00 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-str">'e'</span>,.<span.class
a8c20 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 72 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ="tok-str">'r'</span>,.<span.cla
a8c40 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7a 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ss="tok-str">'z'</span>,.<span.c
a8c60 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 lass="tok-str">'w'</span>.};....
a8c80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
a8ca0 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 n>.b.=.<span.class="tok-builtin"
a8cc0 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@Vector</span>(<span.class="tok
a8ce0 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">4</span>,.<span.class="
a8d00 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 7b 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">u8</span>){.<span.clas
a8d20 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-str">'w'</span>,.<span.cl
a8d40 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 64 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ass="tok-str">'d'</span>,.<span.
a8d60 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 21 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 class="tok-str">'!'</span>,.<spa
a8d80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 78 27 3c 2f 73 70 61 6e 3e 20 7d 3b 0a n.class="tok-str">'x'</span>.};.
a8da0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .....<span.class="tok-comment">/
a8dc0 2f 20 54 6f 20 73 68 75 66 66 6c 65 20 77 69 74 68 69 6e 20 61 20 73 69 6e 67 6c 65 20 76 65 63 /.To.shuffle.within.a.single.vec
a8de0 74 6f 72 2c 20 70 61 73 73 20 75 6e 64 65 66 69 6e 65 64 20 61 73 20 74 68 65 20 73 65 63 6f 6e tor,.pass.undefined.as.the.secon
a8e00 64 20 61 72 67 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 d.argument.</span>.....<span.cla
a8e20 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 74 69 63 65 20 74 68 61 74 20 ss="tok-comment">//.Notice.that.
a8e40 77 65 20 63 61 6e 20 72 65 2d 6f 72 64 65 72 2c 20 64 75 70 6c 69 63 61 74 65 2c 20 6f 72 20 6f we.can.re-order,.duplicate,.or.o
a8e60 6d 69 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 76 65 63 74 6f 72 mit.elements.of.the.input.vector
a8e80 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 </span>.....<span.class="tok-kw"
a8ea0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 >const</span>.mask1.=.<span.clas
a8ec0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c s="tok-builtin">@Vector</span>(<
a8ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e span.class="tok-number">5</span>
a8f00 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 ,.<span.class="tok-type">i32</sp
a8f20 61 6e 3e 29 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 an>){.<span.class="tok-number">2
a8f40 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>,.<span.class="tok-number
a8f60 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">3</span>,.<span.class="tok-num
a8f80 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">1</span>,.<span.class="tok-
a8fa0 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>,.<span.class="t
a8fc0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e ok-number">0</span>.};.....<span
a8fe0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 .class="tok-kw">const</span>.res
a9000 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 1:.<span.class="tok-builtin">@Ve
a9020 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ctor</span>(<span.class="tok-num
a9040 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">5</span>,.<span.class="tok-
a9060 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">u8</span>).=.<span.class="
a9080 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 tok-builtin">@shuffle</span>(<sp
a90a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 an.class="tok-type">u8</span>,.a
a90c0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e ,.<span.class="tok-null">undefin
a90e0 65 64 3c 2f 73 70 61 6e 3e 2c 20 6d 61 73 6b 31 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ed</span>,.mask1);.....<span.cla
a9100 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 ss="tok-kw">try</span>.expect(st
a9120 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 d.mem.eql(<span.class="tok-type"
a9140 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >u8</span>,.&amp;<span.class="to
a9160 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 3c 73 70 61 6e 20 63 6c 61 k-builtin">@as</span>([<span.cla
a9180 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 ss="tok-number">5</span>]<span.c
a91a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 31 29 lass="tok-type">u8</span>,.res1)
a91c0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 ,.<span.class="tok-str">&quot;he
a91e0 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 llo&quot;</span>));......<span.c
a9200 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 62 69 6e 69 6e 67 20 lass="tok-comment">//.Combining.
a9220 74 77 6f 20 76 65 63 74 6f 72 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 two.vectors</span>.....<span.cla
a9240 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 32 20 3d ss="tok-kw">const</span>.mask2.=
a9260 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 .<span.class="tok-builtin">@Vect
a9280 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 or</span>(<span.class="tok-numbe
a92a0 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 r">6</span>,.<span.class="tok-ty
a92c0 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pe">i32</span>){.-<span.class="t
a92e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">1</span>,.<span.class
a9300 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">0</span>,.<span.cl
a9320 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">4</span>,.<span
a9340 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c .class="tok-number">1</span>,.-<
a9360 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e span.class="tok-number">2</span>
a9380 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 ,.-<span.class="tok-number">3</s
a93a0 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>.};.....<span.class="tok-kw"
a93c0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.res2:.<span.class=
a93e0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@Vector</span>(<sp
a9400 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">6</span>,.
a9420 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e <span.class="tok-type">u8</span>
a9440 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 ).=.<span.class="tok-builtin">@s
a9460 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 huffle</span>(<span.class="tok-t
a9480 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 2c 20 6d 61 73 6b 32 29 3b 0a 20 20 ype">u8</span>,.a,.b,.mask2);...
a94a0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
a94c0 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 >.expect(std.mem.eql(<span.class
a94e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 3c 73 70 61 ="tok-type">u8</span>,.&amp;<spa
a9500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e n.class="tok-builtin">@as</span>
a9520 28 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 ([<span.class="tok-number">6</sp
a9540 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>]<span.class="tok-type">u8</s
a9560 70 61 6e 3e 2c 20 72 65 73 32 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 pan>,.res2),.<span.class="tok-st
a9580 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 21 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a r">&quot;world!&quot;</span>));.
a95a0 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
a95c0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
a95e0 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
a9600 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 68 75 66 66 6c 65 5f 62 75 69 6c 74 69 6e 2e 7a >zig.test.test_shuffle_builtin.z
a9620 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 68 75 66 66 6c 65 5f 62 75 69 6c 74 69 ig</kbd>.1/1.test_shuffle_builti
a9640 6e 2e 74 65 73 74 2e 76 65 63 74 6f 72 20 40 73 68 75 66 66 6c 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c n.test.vector.@shuffle....OK.All
a9660 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f .1.tests.passed..</samp></pre></
a9680 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 figure>.......<p>See.also:</p><u
a96a0 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 l>.<li><a.href="#Vectors">Vector
a96c0 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 s</a></li>.</ul>................
a96e0 3c 68 33 20 69 64 3d 22 73 69 7a 65 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 69 <h3.id="sizeOf"><a.href="#toc-si
a9700 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 zeOf">@sizeOf</a>.<a.class="hdr"
a9720 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 .href="#sizeOf">..</a></h3>.....
a9740 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ...<pre><code><span.class="tok-b
a9760 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 uiltin">@sizeOf</span>(<span.cla
a9780 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c ss="tok-kw">comptime</span>.T:.<
a97a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e span.class="tok-type">type</span
a97c0 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 >).<span.class="tok-type">compti
a97e0 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 me_int</span></code></pre>......
a9800 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 .<p>.......This.function.returns
a9820 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 69 74 20 74 61 6b 65 73 20 74 6f .the.number.of.bytes.it.takes.to
a9840 20 73 74 6f 72 65 20 3c 63 6f 64 65 3e 54 3c 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 79 2e .store.<code>T</code>.in.memory.
a9860 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 .......The.result.is.a.target-sp
a9880 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 ecific.compile.time.constant....
a98a0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 73 69 ....</p>.......<p>.......This.si
a98c0 7a 65 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 70 61 64 64 69 6e 67 20 62 79 74 65 73 2e 20 49 66 ze.may.contain.padding.bytes..If
a98e0 20 74 68 65 72 65 20 77 65 72 65 20 74 77 6f 20 63 6f 6e 73 65 63 75 74 69 76 65 20 54 20 69 6e .there.were.two.consecutive.T.in
a9900 20 6d 65 6d 6f 72 79 2c 20 74 68 65 20 70 61 64 64 69 6e 67 20 77 6f 75 6c 64 20 62 65 20 74 68 .memory,.the.padding.would.be.th
a9920 65 20 6f 66 66 73 65 74 0a 20 20 20 20 20 20 69 6e 20 62 79 74 65 73 20 62 65 74 77 65 65 6e 20 e.offset.......in.bytes.between.
a9940 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 78 20 30 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 element.at.index.0.and.the.eleme
a9960 6e 74 20 61 74 20 69 6e 64 65 78 20 31 2e 20 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 nt.at.index.1..For.<a.href="#Int
a9980 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 63 6f 6e 73 69 64 egers">integer</a>,.......consid
a99a0 65 72 20 77 68 65 74 68 65 72 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 er.whether.you.want.to.use.<code
a99c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 ><span.class="tok-builtin">@size
a99e0 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f Of</span>(T)</code>.or.......<co
a9a00 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 de><span.class="tok-builtin">@ty
a9a20 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 3c 2f 63 6f 64 65 3e peInfo</span>(T).Int.bits</code>
a9a40 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 ........</p>.......<p>.......Thi
a9a60 73 20 66 75 6e 63 74 69 6f 6e 20 6d 65 61 73 75 72 65 73 20 74 68 65 20 73 69 7a 65 20 61 74 20 s.function.measures.the.size.at.
a9a80 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 74 79 70 65 73 20 74 68 61 74 20 61 72 65 20 64 69 73 61 runtime..For.types.that.are.disa
a9aa0 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 llowed.at.runtime,.such.as......
a9ac0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f .<code><span.class="tok-type">co
a9ae0 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f mptime_int</span></code>.and.<co
a9b00 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f de><span.class="tok-type">type</
a9b20 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 63 6f 64 span></code>,.the.result.is.<cod
a9b40 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 e><span.class="tok-number">0</sp
a9b60 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e an></code>........</p>.......<p>
a9b80 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 See.also:</p><ul>.<li><a.href="#
a9ba0 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c bitSizeOf">@bitSizeOf</a></li>.<
a9bc0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f li><a.href="#typeInfo">@typeInfo
a9be0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </a></li>.</ul>................<
a9c00 68 33 20 69 64 3d 22 73 70 6c 61 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 70 6c 61 h3.id="splat"><a.href="#toc-spla
a9c20 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 t">@splat</a>.<a.class="hdr".hre
a9c40 66 3d 22 23 73 70 6c 61 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 f="#splat">..</a></h3>........<p
a9c60 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 re><code><span.class="tok-builti
a9c80 6e 22 3e 40 73 70 6c 61 74 3c 2f 73 70 61 6e 3e 28 73 63 61 6c 61 72 3a 20 3c 73 70 61 6e 20 63 n">@splat</span>(scalar:.<span.c
a9ca0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 lass="tok-kw">anytype</span>).<s
a9cc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e pan.class="tok-kw">anytype</span
a9ce0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 ></code></pre>.......<p>.......P
a9d00 72 6f 64 75 63 65 73 20 61 20 76 65 63 74 6f 72 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d roduces.a.vector.where.each.elem
a9d20 65 6e 74 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e 73 63 61 6c 61 72 3c 2f 63 ent.is.the.value.<code>scalar</c
a9d40 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 61 6e 64 20 ode>........The.return.type.and.
a9d60 74 68 75 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 76 65 63 74 6f 72 20 69 73 thus.the.length.of.the.vector.is
a9d80 20 69 6e 66 65 72 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 .inferred........</p>.......<fig
a9da0 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e ure><figcaption.class="zig-cap">
a9dc0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 70 6c 61 74 5f 62 75 <cite.class="file">test_splat_bu
a9de0 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 iltin.zig</cite></figcaption><pr
a9e00 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
a9e20 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.std.=.<span.class="tok
a9e40 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@import</span>(<span.c
a9e60 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;std&quot;</
a9e80 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e span>);.<span.class="tok-kw">con
a9ea0 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 st</span>.expect.=.std.testing.e
a9ec0 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 xpect;..<span.class="tok-kw">tes
a9ee0 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>.<span.class="tok-str">&
a9f00 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 70 6c 61 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 quot;vector.@splat&quot;</span>.
a9f20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 {.....<span.class="tok-kw">const
a9f40 3c 2f 73 70 61 6e 3e 20 73 63 61 6c 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.scalar:.<span.class="tok
a9f60 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">u32</span>.=.<span.class=
a9f80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e "tok-number">5</span>;.....<span
a9fa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 .class="tok-kw">const</span>.res
a9fc0 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ult:.<span.class="tok-builtin">@
a9fe0 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e Vector</span>(<span.class="tok-n
aa000 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">4</span>,.<span.class="to
aa020 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 k-type">u32</span>).=.<span.clas
aa040 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c 2f 73 70 61 6e 3e 28 73 63 s="tok-builtin">@splat</span>(sc
aa060 61 6c 61 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e alar);.....<span.class="tok-kw">
aa080 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 try</span>.expect(std.mem.eql(<s
aa0a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-type">u32</span>,
aa0c0 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e .&amp;<span.class="tok-builtin">
aa0e0 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d @as</span>([<span.class="tok-num
aa100 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ber">4</span>]<span.class="tok-t
aa120 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 2c 20 26 61 6d 70 3b 5b ype">u32</span>,.result),.&amp;[
aa140 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 _]<span.class="tok-type">u32</sp
aa160 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c an>{.<span.class="tok-number">5<
aa180 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
aa1a0 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >5</span>,.<span.class="tok-numb
aa1c0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">5</span>,.<span.class="tok-n
aa1e0 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 umber">5</span>.}));.}</code></p
aa200 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 re></figure><figure><figcaption.
aa220 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 class="shell-cap">Shell</figcapt
aa240 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
aa260 65 73 74 5f 73 70 6c 61 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 est_splat_builtin.zig</kbd>.1/1.
aa280 74 65 73 74 5f 73 70 6c 61 74 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 76 65 63 74 6f 72 20 40 test_splat_builtin.test.vector.@
aa2a0 73 70 6c 61 74 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a splat....OK.All.1.tests.passed..
aa2c0 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </samp></pre></figure>.......<p>
aa2e0 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 63 61 6c 61 72 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 .......<code>scalar</code>.must.
aa300 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 be.an.<a.href="#Integers">intege
aa320 72 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 r</a>,.<a.href="#Primitive-Types
aa340 22 3e 62 6f 6f 6c 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 ">bool</a>,.......<a.href="#Floa
aa360 74 73 22 3e 66 6c 6f 61 74 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e ts">float</a>,.or.<a.href="#Poin
aa380 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ters">pointer</a>........</p>...
aa3a0 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 ....<p>See.also:</p><ul>.<li><a.
aa3c0 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e href="#Vectors">Vectors</a></li>
aa3e0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 .<li><a.href="#shuffle">@shuffle
aa400 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </a></li>.</ul>................<
aa420 68 33 20 69 64 3d 22 72 65 64 75 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 72 65 64 h3.id="reduce"><a.href="#toc-red
aa440 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 uce">@reduce</a>.<a.class="hdr".
aa460 68 72 65 66 3d 22 23 72 65 64 75 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 href="#reduce">..</a></h3>......
aa480 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ..<pre><code><span.class="tok-bu
aa4a0 69 6c 74 69 6e 22 3e 40 72 65 64 75 63 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@reduce</span>(<span.clas
aa4c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 73 s="tok-kw">comptime</span>.op:.s
aa4e0 74 64 2e 62 75 69 6c 74 69 6e 2e 52 65 64 75 63 65 4f 70 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 td.builtin.ReduceOp,.value:.<spa
aa500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 n.class="tok-kw">anytype</span>)
aa520 20 45 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 .E</code></pre>.......<p>.......
aa540 54 72 61 6e 73 66 6f 72 6d 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e Transforms.a.<a.href="#Vectors">
aa560 76 65 63 74 6f 72 3c 2f 61 3e 20 69 6e 74 6f 20 61 20 73 63 61 6c 61 72 20 76 61 6c 75 65 20 28 vector</a>.into.a.scalar.value.(
aa580 6f 66 20 74 79 70 65 20 3c 63 6f 64 65 3e 45 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 20 20 62 79 of.type.<code>E</code>).......by
aa5a0 20 70 65 72 66 6f 72 6d 69 6e 67 20 61 20 73 65 71 75 65 6e 74 69 61 6c 20 68 6f 72 69 7a 6f 6e .performing.a.sequential.horizon
aa5c0 74 61 6c 20 72 65 64 75 63 74 69 6f 6e 20 6f 66 20 69 74 73 20 65 6c 65 6d 65 6e 74 73 20 75 73 tal.reduction.of.its.elements.us
aa5e0 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 6f 70 65 72 61 74 6f 72 ing.the.......specified.operator
aa600 20 3c 63 6f 64 65 3e 6f 70 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .<code>op</code>........</p>....
aa620 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 20 65 76 65 72 79 20 6f 70 65 72 61 74 6f 72 20 ...<p>.......Not.every.operator.
aa640 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 65 76 65 72 79 20 76 65 63 74 6f 72 20 65 6c is.available.for.every.vector.el
aa660 65 6d 65 6e 74 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c ement.type:.......</p>.......<ul
aa680 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 76 65 72 79 20 6f 70 65 72 61 74 6f 72 20 69 >...........<li>Every.operator.i
aa6a0 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 s.available.for.<a.href="#Intege
aa6c0 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 76 65 63 74 6f 72 73 2e 3c 2f 6c 69 3e 0a 20 20 rs">integer</a>.vectors.</li>...
aa6e0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 2e 41 6e 64 3c 2f 63 6f 64 65 3e 2c 20 3c ........<li><code>.And</code>,.<
aa700 63 6f 64 65 3e 2e 4f 72 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f code>.Or</code>,.............<co
aa720 64 65 3e 2e 58 6f 72 3c 2f 63 6f 64 65 3e 20 61 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 de>.Xor</code>.are.additionally.
aa740 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e available.for.............<code>
aa760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 <span.class="tok-type">bool</spa
aa780 6e 3e 3c 2f 63 6f 64 65 3e 20 76 65 63 74 6f 72 73 2c 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 n></code>.vectors,</li>.........
aa7a0 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 2e 4d 69 6e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 2e ..<li><code>.Min</code>,.<code>.
aa7c0 4d 61 78 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 2e 41 Max</code>,.............<code>.A
aa7e0 64 64 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 2e 4d 75 6c 3c 2f 63 6f 64 65 3e 20 61 72 65 dd</code>,.<code>.Mul</code>.are
aa800 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 61 76 61 69 6c 61 .............additionally.availa
aa820 62 6c 65 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 69 ble.for.<a.href="#Floats">floati
aa840 6e 67 20 70 6f 69 6e 74 3c 2f 61 3e 20 76 65 63 74 6f 72 73 2c 3c 2f 6c 69 3e 0a 20 20 20 20 20 ng.point</a>.vectors,</li>......
aa860 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 .</ul>.......<p>.......Note.that
aa880 20 3c 63 6f 64 65 3e 2e 41 64 64 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 2e 4d 75 .<code>.Add</code>.and.<code>.Mu
aa8a0 6c 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 72 65 64 75 63 74 69 6f 6e 73 20 6f 6e 20 69 6e 74 l</code>.......reductions.on.int
aa8c0 65 67 72 61 6c 20 74 79 70 65 73 20 61 72 65 20 77 72 61 70 70 69 6e 67 3b 20 77 68 65 6e 20 61 egral.types.are.wrapping;.when.a
aa8e0 70 70 6c 69 65 64 20 6f 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 74 pplied.on.floating.point.......t
aa900 79 70 65 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 69 76 69 74 79 ypes.the.operation.associativity
aa920 20 69 73 20 70 72 65 73 65 72 76 65 64 2c 20 75 6e 6c 65 73 73 20 74 68 65 20 66 6c 6f 61 74 20 .is.preserved,.unless.the.float.
aa940 6d 6f 64 65 20 69 73 0a 20 20 20 20 20 20 73 65 74 20 74 6f 20 3c 63 6f 64 65 3e 4f 70 74 69 6d mode.is.......set.to.<code>Optim
aa960 69 7a 65 64 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 ized</code>........</p>.......<f
aa980 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 igure><figcaption.class="zig-cap
aa9a0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 72 65 64 75 63 65 "><cite.class="file">test_reduce
aa9c0 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e _builtin.zig</cite></figcaption>
aa9e0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
aaa00 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.std.=.<span.class="
aaa20 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@import</span>(<spa
aaa40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 n.class="tok-str">&quot;std&quot
aaa60 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ;</span>);.<span.class="tok-kw">
aaa80 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e const</span>.expect.=.std.testin
aaaa0 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e g.expect;..<span.class="tok-kw">
aaac0 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 test</span>.<span.class="tok-str
aaae0 22 3e 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 72 65 64 75 63 65 26 71 75 6f 74 3b 3c 2f 73 70 ">&quot;vector.@reduce&quot;</sp
aab00 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 an>.{.....<span.class="tok-kw">c
aab20 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b onst</span>.V.=.<span.class="tok
aab40 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@Vector</span>(<span.c
aab60 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">4</span>,.<spa
aab80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a n.class="tok-type">i32</span>);.
aaba0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ....<span.class="tok-kw">const</
aabc0 73 70 61 6e 3e 20 76 61 6c 75 65 20 3d 20 56 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.value.=.V{.<span.class="to
aabe0 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">1</span>,.-<span.class
aac00 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ="tok-number">1</span>,.<span.cl
aac20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 ass="tok-number">1</span>,.-<spa
aac40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b n.class="tok-number">1</span>.};
aac60 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
aac80 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 76 61 6c 75 65 20 26 67 74 3b 20 3c 73 70 61 6e /span>.result.=.value.&gt;.<span
aaca0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 .class="tok-builtin">@as</span>(
aacc0 56 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 V,.<span.class="tok-builtin">@sp
aace0 6c 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 lat</span>(<span.class="tok-numb
aad00 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">0</span>));.....<span.class=
aad20 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 65 73 75 6c 74 20 69 73 20 7b 20 74 72 75 "tok-comment">//.result.is.{.tru
aad40 65 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 2c 20 66 61 6c 73 65 20 7d 3b 3c 2f 73 70 61 6e 3e 0a e,.false,.true,.false.};</span>.
aad60 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
aad80 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d an>.<span.class="tok-kw">comptim
aada0 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e</span>.expect(<span.class="tok
aadc0 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 29 -builtin">@TypeOf</span>(result)
aade0 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 .==.<span.class="tok-builtin">@V
aae00 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ector</span>(<span.class="tok-nu
aae20 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">4</span>,.<span.class="tok
aae40 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 -type">bool</span>));.....<span.
aae60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 61 class="tok-kw">const</span>.is_a
aae80 6c 6c 5f 74 72 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ll_true.=.<span.class="tok-built
aaea0 69 6e 22 3e 40 72 65 64 75 63 65 3c 2f 73 70 61 6e 3e 28 2e 41 6e 64 2c 20 72 65 73 75 6c 74 29 in">@reduce</span>(.And,.result)
aaec0 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
aaee0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 span>.<span.class="tok-kw">compt
aaf00 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ime</span>.expect(<span.class="t
aaf20 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 69 73 5f 61 6c ok-builtin">@TypeOf</span>(is_al
aaf40 6c 5f 74 72 75 65 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 l_true).==.<span.class="tok-type
aaf60 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">bool</span>);.....<span.class=
aaf80 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 73 5f 61 6c "tok-kw">try</span>.expect(is_al
aafa0 6c 5f 74 72 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 l_true.==.<span.class="tok-null"
aafc0 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f >false</span>);.}</code></pre></
aafe0 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 figure><figure><figcaption.class
ab000 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ="shell-cap">Shell</figcaption><
ab020 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 72 pre><samp>$.<kbd>zig.test.test_r
ab040 65 64 75 63 65 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 educe_builtin.zig</kbd>.1/1.test
ab060 5f 72 65 64 75 63 65 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 76 65 63 74 6f 72 20 40 72 65 64 _reduce_builtin.test.vector.@red
ab080 75 63 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f uce....OK.All.1.tests.passed..</
ab0a0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 samp></pre></figure>.......<p>Se
ab0c0 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 e.also:</p><ul>.<li><a.href="#Ve
ab0e0 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 ctors">Vectors</a></li>.<li><a.h
ab100 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 ref="#setFloatMode">@setFloatMod
ab120 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 e</a></li>.</ul>................
ab140 3c 68 33 20 69 64 3d 22 73 72 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 72 63 22 3e <h3.id="src"><a.href="#toc-src">
ab160 40 73 72 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 @src</a>.<a.class="hdr".href="#s
ab180 72 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 rc">..</a></h3>........<pre><cod
ab1a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 72 63 e><span.class="tok-builtin">@src
ab1c0 3c 2f 73 70 61 6e 3e 28 29 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 53 6f 75 72 63 65 4c 6f 63 61 </span>().std.builtin.SourceLoca
ab1e0 74 69 6f 6e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 tion</code></pre>.......<p>.....
ab200 20 20 52 65 74 75 72 6e 73 20 61 20 3c 63 6f 64 65 3e 53 6f 75 72 63 65 4c 6f 63 61 74 69 6f 6e ..Returns.a.<code>SourceLocation
ab220 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 </code>.struct.representing.the.
ab240 66 75 6e 63 74 69 6f 6e 27 73 20 6e 61 6d 65 20 61 6e 64 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 function's.name.and.location.in.
ab260 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 63 61 the.source.code..This.must.be.ca
ab280 6c 6c 65 64 20 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 lled.in.a.function........</p>..
ab2a0 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 .....<figure><figcaption.class="
ab2c0 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 zig-cap"><cite.class="file">test
ab2e0 5f 73 72 63 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 _src_builtin.zig</cite></figcapt
ab300 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
ab320 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 kw">const</span>.std.=.<span.cla
ab340 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@import</span>(
ab360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 <span.class="tok-str">&quot;std&
ab380 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d quot;</span>);.<span.class="tok-
ab3a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 kw">const</span>.expect.=.std.te
ab3c0 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d sting.expect;..<span.class="tok-
ab3e0 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b kw">test</span>.<span.class="tok
ab400 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 73 72 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a -str">&quot;@src&quot;</span>.{.
ab420 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 ....<span.class="tok-kw">try</sp
ab440 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>.doTheTest();.}..<span.class=
ab460 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "tok-kw">fn</span>.<span.class="
ab480 74 6f 6b 2d 66 6e 22 3e 64 6f 54 68 65 54 65 73 74 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 tok-fn">doTheTest</span>().!<spa
ab4a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b n.class="tok-type">void</span>.{
ab4c0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
ab4e0 2f 73 70 61 6e 3e 20 73 72 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.src.=.<span.class="tok-bu
ab500 69 6c 74 69 6e 22 3e 40 73 72 63 3c 2f 73 70 61 6e 3e 28 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e iltin">@src</span>();......<span
ab520 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 .class="tok-kw">try</span>.expec
ab540 74 28 73 72 63 2e 6c 69 6e 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e t(src.line.==.<span.class="tok-n
ab560 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 umber">9</span>);.....<span.clas
ab580 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 72 63 s="tok-kw">try</span>.expect(src
ab5a0 2e 63 6f 6c 75 6d 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 .column.==.<span.class="tok-numb
ab5c0 65 72 22 3e 31 37 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">17</span>);.....<span.class=
ab5e0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d "tok-kw">try</span>.expect(std.m
ab600 65 6d 2e 65 6e 64 73 57 69 74 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 em.endsWith(<span.class="tok-typ
ab620 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 72 63 2e 66 6e 5f 6e 61 6d 65 2c 20 3c 73 70 61 6e e">u8</span>,.src.fn_name,.<span
ab640 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 54 68 65 54 65 73 74 .class="tok-str">&quot;doTheTest
ab660 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 &quot;</span>));.....<span.class
ab680 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e ="tok-kw">try</span>.expect(std.
ab6a0 6d 65 6d 2e 65 6e 64 73 57 69 74 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 mem.endsWith(<span.class="tok-ty
ab6c0 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 72 63 2e 66 69 6c 65 2c 20 3c 73 70 61 6e 20 63 pe">u8</span>,.src.file,.<span.c
ab6e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 5f 73 72 63 5f 62 75 lass="tok-str">&quot;test_src_bu
ab700 69 6c 74 69 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 iltin.zig&quot;</span>));.}</cod
ab720 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 e></pre></figure><figure><figcap
ab740 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 tion.class="shell-cap">Shell</fi
ab760 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
ab780 65 73 74 20 74 65 73 74 5f 73 72 63 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 est.test_src_builtin.zig</kbd>.1
ab7a0 2f 31 20 74 65 73 74 5f 73 72 63 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 40 73 72 63 2e 2e 2e /1.test_src_builtin.test.@src...
ab7c0 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c .OK.All.1.tests.passed..</samp><
ab7e0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 /pre></figure>..............<h3.
ab800 69 64 3d 22 73 71 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 71 72 74 22 3e 40 73 id="sqrt"><a.href="#toc-sqrt">@s
ab820 71 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 71 qrt</a>.<a.class="hdr".href="#sq
ab840 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 rt">..</a></h3>........<pre><cod
ab860 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 71 72 e><span.class="tok-builtin">@sqr
ab880 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t</span>(value:.<span.class="tok
ab8a0 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">anytype</span>).<span.class
ab8c0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 ="tok-builtin">@TypeOf</span>(va
ab8e0 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 lue)</code></pre>.......<p>.....
ab900 20 20 50 65 72 66 6f 72 6d 73 20 74 68 65 20 73 71 75 61 72 65 20 72 6f 6f 74 20 6f 66 20 61 20 ..Performs.the.square.root.of.a.
ab920 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 floating.point.number..Uses.a.de
ab940 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 dicated.hardware.instruction....
ab960 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ...when.available........</p>...
ab980 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 ....<p>.......Supports.<a.href="
ab9a0 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d #Floats">Floats</a>.and.<a.href=
ab9c0 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 "#Vectors">Vectors</a>.of.floats
ab9e0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ........</p>..............<h3.id
aba00 3d 22 73 69 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 69 6e 22 3e 40 73 69 6e 3c 2f ="sin"><a.href="#toc-sin">@sin</
aba20 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 69 6e 22 3e c2 a7 a>.<a.class="hdr".href="#sin">..
aba40 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 </a></h3>........<pre><code><spa
aba60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 6e 3c 2f 73 70 61 6e n.class="tok-builtin">@sin</span
aba80 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e >(value:.<span.class="tok-kw">an
abaa0 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ytype</span>).<span.class="tok-b
abac0 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 uiltin">@TypeOf</span>(value)</c
abae0 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 69 6e 65 20 ode></pre>.......<p>.......Sine.
abb00 74 72 69 67 6f 6e 6f 6d 65 74 72 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 trigonometric.function.on.a.floa
abb20 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 69 6e 20 72 61 64 69 61 6e 73 2e 20 55 73 ting.point.number.in.radians..Us
abb40 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 es.a.dedicated.hardware.instruct
abb60 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 ion.......when.available........
abb80 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 </p>.......<p>.......Supports.<a
abba0 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c .href="#Floats">Floats</a>.and.<
abbc0 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 a.href="#Vectors">Vectors</a>.of
abbe0 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 .floats........</p>.............
abc00 20 20 3c 68 33 20 69 64 3d 22 63 6f 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 73 ..<h3.id="cos"><a.href="#toc-cos
abc20 22 3e 40 63 6f 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ">@cos</a>.<a.class="hdr".href="
abc40 23 63 6f 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 #cos">..</a></h3>........<pre><c
abc60 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 ode><span.class="tok-builtin">@c
abc80 6f 73 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f os</span>(value:.<span.class="to
abca0 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">anytype</span>).<span.clas
abcc0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 s="tok-builtin">@TypeOf</span>(v
abce0 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 alue)</code></pre>.......<p>....
abd00 20 20 20 43 6f 73 69 6e 65 20 74 72 69 67 6f 6e 6f 6d 65 74 72 69 63 20 66 75 6e 63 74 69 6f 6e ...Cosine.trigonometric.function
abd20 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 69 6e 20 72 .on.a.floating.point.number.in.r
abd40 61 64 69 61 6e 73 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 adians..Uses.a.dedicated.hardwar
abd60 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 e.instruction.......when.availab
abd80 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 le........</p>.......<p>.......S
abda0 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 upports.<a.href="#Floats">Floats
abdc0 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 </a>.and.<a.href="#Vectors">Vect
abde0 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ors</a>.of.floats........</p>...
abe00 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 61 6e 22 3e 3c 61 20 68 72 65 66 ............<h3.id="tan"><a.href
abe20 3d 22 23 74 6f 63 2d 74 61 6e 22 3e 40 74 61 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ="#toc-tan">@tan</a>.<a.class="h
abe40 64 72 22 20 68 72 65 66 3d 22 23 74 61 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 dr".href="#tan">..</a></h3>.....
abe60 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ...<pre><code><span.class="tok-b
abe80 75 69 6c 74 69 6e 22 3e 40 74 61 6e 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e uiltin">@tan</span>(value:.<span
abea0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 .class="tok-kw">anytype</span>).
abec0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f <span.class="tok-builtin">@TypeO
abee0 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 f</span>(value)</code></pre>....
abf00 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 61 6e 67 65 6e 74 20 74 72 69 67 6f 6e 6f 6d 65 74 72 ...<p>.......Tangent.trigonometr
abf20 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 ic.function.on.a.floating.point.
abf40 6e 75 6d 62 65 72 20 69 6e 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 number.in.radians........Uses.a.
abf60 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 dedicated.hardware.instruction.w
abf80 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 hen.available........</p>.......
abfa0 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f <p>.......Supports.<a.href="#Flo
abfc0 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 ats">Floats</a>.and.<a.href="#Ve
abfe0 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 ctors">Vectors</a>.of.floats....
ac000 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 ....</p>...............<h3.id="e
ac020 78 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e 20 xp"><a.href="#toc-exp">@exp</a>.
ac040 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 70 22 3e c2 a7 3c 2f 61 <a.class="hdr".href="#exp">..</a
ac060 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></h3>........<pre><code><span.c
ac080 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 78 70 3c 2f 73 70 61 6e 3e 28 76 lass="tok-builtin">@exp</span>(v
ac0a0 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 alue:.<span.class="tok-kw">anyty
ac0c0 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pe</span>).<span.class="tok-buil
ac0e0 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 tin">@TypeOf</span>(value)</code
ac100 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 61 73 65 2d 65 20 65 ></pre>.......<p>.......Base-e.e
ac120 78 70 6f 6e 65 6e 74 69 61 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e xponential.function.on.a.floatin
ac140 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 g.point.number..Uses.a.dedicated
ac160 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e .hardware.instruction.......when
ac180 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .available........</p>.......<p>
ac1a0 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 .......Supports.<a.href="#Floats
ac1c0 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f ">Floats</a>.and.<a.href="#Vecto
ac1e0 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 rs">Vectors</a>.of.floats.......
ac200 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 70 32 22 .</p>..............<h3.id="exp2"
ac220 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 70 32 22 3e 40 65 78 70 32 3c 2f 61 3e 20 3c ><a.href="#toc-exp2">@exp2</a>.<
ac240 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 70 32 22 3e c2 a7 3c 2f 61 a.class="hdr".href="#exp2">..</a
ac260 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></h3>........<pre><code><span.c
ac280 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 78 70 32 3c 2f 73 70 61 6e 3e 28 lass="tok-builtin">@exp2</span>(
ac2a0 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 value:.<span.class="tok-kw">anyt
ac2c0 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ype</span>).<span.class="tok-bui
ac2e0 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 ltin">@TypeOf</span>(value)</cod
ac300 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 61 73 65 2d 32 20 e></pre>.......<p>.......Base-2.
ac320 65 78 70 6f 6e 65 6e 74 69 61 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 exponential.function.on.a.floati
ac340 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 ng.point.number..Uses.a.dedicate
ac360 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 d.hardware.instruction.......whe
ac380 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 n.available........</p>.......<p
ac3a0 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 >.......Supports.<a.href="#Float
ac3c0 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 s">Floats</a>.and.<a.href="#Vect
ac3e0 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 ors">Vectors</a>.of.floats......
ac400 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 22 ..</p>..............<h3.id="log"
ac420 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 22 3e 40 6c 6f 67 3c 2f 61 3e 20 3c 61 20 ><a.href="#toc-log">@log</a>.<a.
ac440 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 22 3e c2 a7 3c 2f 61 3e 3c 2f class="hdr".href="#log">..</a></
ac460 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 h3>........<pre><code><span.clas
ac480 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 s="tok-builtin">@log</span>(valu
ac4a0 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c e:.<span.class="tok-kw">anytype<
ac4c0 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e /span>).<span.class="tok-builtin
ac4e0 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f ">@TypeOf</span>(value)</code></
ac500 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 pre>.......<p>.......Returns.the
ac520 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 .natural.logarithm.of.a.floating
ac540 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 .point.number..Uses.a.dedicated.
ac560 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 hardware.instruction.......when.
ac580 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a available........</p>.......<p>.
ac5a0 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 ......Supports.<a.href="#Floats"
ac5c0 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 >Floats</a>.and.<a.href="#Vector
ac5e0 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 s">Vectors</a>.of.floats........
ac600 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 32 22 3e </p>..............<h3.id="log2">
ac620 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 20 3c 61 <a.href="#toc-log2">@log2</a>.<a
ac640 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 32 22 3e c2 a7 3c 2f 61 3e .class="hdr".href="#log2">..</a>
ac660 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </h3>........<pre><code><span.cl
ac680 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 32 3c 2f 73 70 61 6e 3e 28 76 ass="tok-builtin">@log2</span>(v
ac6a0 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 alue:.<span.class="tok-kw">anyty
ac6c0 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pe</span>).<span.class="tok-buil
ac6e0 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 tin">@TypeOf</span>(value)</code
ac700 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 ></pre>.......<p>.......Returns.
ac720 74 68 65 20 6c 6f 67 61 72 69 74 68 6d 20 74 6f 20 74 68 65 20 62 61 73 65 20 32 20 6f 66 20 61 the.logarithm.to.the.base.2.of.a
ac740 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 .floating.point.number..Uses.a.d
ac760 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 edicated.hardware.instruction...
ac780 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ....when.available........</p>..
ac7a0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d .....<p>.......Supports.<a.href=
ac7c0 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 "#Floats">Floats</a>.and.<a.href
ac7e0 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 ="#Vectors">Vectors</a>.of.float
ac800 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 s........</p>..............<h3.i
ac820 64 3d 22 6c 6f 67 31 30 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 31 30 22 3e 40 d="log10"><a.href="#toc-log10">@
ac840 6c 6f 67 31 30 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 log10</a>.<a.class="hdr".href="#
ac860 6c 6f 67 31 30 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c log10">..</a></h3>........<pre><
ac880 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 code><span.class="tok-builtin">@
ac8a0 6c 6f 67 31 30 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d log10</span>(value:.<span.class=
ac8c0 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 "tok-kw">anytype</span>).<span.c
ac8e0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e lass="tok-builtin">@TypeOf</span
ac900 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a >(value)</code></pre>.......<p>.
ac920 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6c 6f 67 61 72 69 74 68 6d 20 74 6f 20 74 ......Returns.the.logarithm.to.t
ac940 68 65 20 62 61 73 65 20 31 30 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e he.base.10.of.a.floating.point.n
ac960 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 umber..Uses.a.dedicated.hardware
ac980 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c .instruction.......when.availabl
ac9a0 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 e........</p>.......<p>.......Su
ac9c0 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c pports.<a.href="#Floats">Floats<
ac9e0 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f /a>.and.<a.href="#Vectors">Vecto
aca00 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 rs</a>.of.floats........</p>....
aca20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 62 73 22 3e 3c 61 20 68 72 65 66 3d 22 ..........<h3.id="abs"><a.href="
aca40 23 74 6f 63 2d 61 62 73 22 3e 40 61 62 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 #toc-abs">@abs</a>.<a.class="hdr
aca60 22 20 68 72 65 66 3d 22 23 61 62 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ".href="#abs">..</a></h3>.......
aca80 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
acaa0 6c 74 69 6e 22 3e 40 61 62 73 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 ltin">@abs</span>(value:.<span.c
acac0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 lass="tok-kw">anytype</span>).<s
acae0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e pan.class="tok-kw">anytype</span
acb00 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 ></code></pre>.......<p>.......R
acb20 65 74 75 72 6e 73 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 eturns.the.absolute.value.of.an.
acb40 69 6e 74 65 67 65 72 20 6f 72 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 integer.or.a.floating.point.numb
acb60 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e er..Uses.a.dedicated.hardware.in
acb80 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a struction.......when.available..
acba0 0a 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6c 77 61 79 73 .......The.return.type.is.always
acbc0 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 66 20 74 68 65 20 73 61 6d 65 .an.unsigned.integer.of.the.same
acbe0 20 62 69 74 20 77 69 64 74 68 20 61 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 74 68 65 .bit.width.as.the.operand.if.the
acc00 20 6f 70 65 72 61 6e 64 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 55 6e .operand.is.an.integer........Un
acc20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 70 65 72 61 6e 64 73 20 61 72 65 20 73 75 70 70 signed.integer.operands.are.supp
acc40 6f 72 74 65 64 2e 20 54 68 65 20 62 75 69 6c 74 69 6e 20 63 61 6e 6e 6f 74 20 6f 76 65 72 66 6c orted..The.builtin.cannot.overfl
acc60 6f 77 20 66 6f 72 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 70 65 72 61 6e 64 73 2e 0a ow.for.signed.integer.operands..
acc80 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f ......</p>.......<p>.......Suppo
acca0 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e rts.<a.href="#Floats">Floats</a>
accc0 2c 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f ,.<a.href="#Integers">Integers</
acce0 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 a>.and.<a.href="#Vectors">Vector
acd00 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 20 6f 72 20 69 6e 74 65 67 65 72 73 2e 0a 20 20 20 s</a>.of.floats.or.integers.....
acd20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 6c 6f ...</p>..............<h3.id="flo
acd40 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 6f 72 22 3e 40 66 6c 6f 6f 72 3c or"><a.href="#toc-floor">@floor<
acd60 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 6f 72 22 /a>.<a.class="hdr".href="#floor"
acd80 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c >..</a></h3>........<pre><code><
acda0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 6f 72 3c span.class="tok-builtin">@floor<
acdc0 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b /span>(value:.<span.class="tok-k
acde0 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">anytype</span>).<span.class="
ace00 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 tok-builtin">@TypeOf</span>(valu
ace20 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 e)</code></pre>.......<p>.......
ace40 52 65 74 75 72 6e 73 20 74 68 65 20 6c 61 72 67 65 73 74 20 69 6e 74 65 67 72 61 6c 20 76 61 6c Returns.the.largest.integral.val
ace60 75 65 20 6e 6f 74 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 66 6c ue.not.greater.than.the.given.fl
ace80 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 55 73 65 73 20 oating.point.number........Uses.
acea0 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e a.dedicated.hardware.instruction
acec0 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .when.available........</p>.....
acee0 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 ..<p>.......Supports.<a.href="#F
acf00 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 loats">Floats</a>.and.<a.href="#
acf20 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a Vectors">Vectors</a>.of.floats..
acf40 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 ......</p>..............<h3.id="
acf60 63 65 69 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 65 69 6c 22 3e 40 63 65 69 6c 3c ceil"><a.href="#toc-ceil">@ceil<
acf80 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 65 69 6c 22 3e /a>.<a.class="hdr".href="#ceil">
acfa0 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ..</a></h3>........<pre><code><s
acfc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 pan.class="tok-builtin">@ceil</s
acfe0 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>(value:.<span.class="tok-kw"
ad000 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >anytype</span>).<span.class="to
ad020 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 k-builtin">@TypeOf</span>(value)
ad040 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 </code></pre>.......<p>.......Re
ad060 74 75 72 6e 73 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 turns.the.smallest.integral.valu
ad080 65 20 6e 6f 74 20 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 e.not.less.than.the.given.floati
ad0a0 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 ng.point.number........Uses.a.de
ad0c0 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 dicated.hardware.instruction.whe
ad0e0 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 n.available........</p>.......<p
ad100 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 >.......Supports.<a.href="#Float
ad120 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 s">Floats</a>.and.<a.href="#Vect
ad140 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 ors">Vectors</a>.of.floats......
ad160 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 72 75 6e ..</p>..............<h3.id="trun
ad180 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f c"><a.href="#toc-trunc">@trunc</
ad1a0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 75 6e 63 22 3e a>.<a.class="hdr".href="#trunc">
ad1c0 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ..</a></h3>........<pre><code><s
ad1e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 3c 2f pan.class="tok-builtin">@trunc</
ad200 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>(value:.<span.class="tok-kw
ad220 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">anytype</span>).<span.class="t
ad240 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 ok-builtin">@TypeOf</span>(value
ad260 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 )</code></pre>.......<p>.......R
ad280 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e ounds.the.given.floating.point.n
ad2a0 75 6d 62 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 74 6f 77 61 72 64 73 20 7a 65 72 umber.to.an.integer,.towards.zer
ad2c0 6f 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 o........Uses.a.dedicated.hardwa
ad2e0 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 re.instruction.when.available...
ad300 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 .....</p>.......<p>.......Suppor
ad320 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 ts.<a.href="#Floats">Floats</a>.
ad340 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f and.<a.href="#Vectors">Vectors</
ad360 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a a>.of.floats........</p>........
ad380 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 72 6f 75 6e 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ......<h3.id="round"><a.href="#t
ad3a0 6f 63 2d 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 oc-round">@round</a>.<a.class="h
ad3c0 64 72 22 20 68 72 65 66 3d 22 23 72 6f 75 6e 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 dr".href="#round">..</a></h3>...
ad3e0 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .....<pre><code><span.class="tok
ad400 2d 62 75 69 6c 74 69 6e 22 3e 40 72 6f 75 6e 64 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c -builtin">@round</span>(value:.<
ad420 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 span.class="tok-kw">anytype</spa
ad440 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 n>).<span.class="tok-builtin">@T
ad460 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ypeOf</span>(value)</code></pre>
ad480 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 .......<p>.......Rounds.the.give
ad4a0 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 61 6e 20 69 6e n.floating.point.number.to.an.in
ad4c0 74 65 67 65 72 2c 20 61 77 61 79 20 66 72 6f 6d 20 7a 65 72 6f 2e 20 55 73 65 73 20 61 20 64 65 teger,.away.from.zero..Uses.a.de
ad4e0 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 dicated.hardware.instruction....
ad500 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ...when.available........</p>...
ad520 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 ....<p>.......Supports.<a.href="
ad540 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d #Floats">Floats</a>.and.<a.href=
ad560 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 "#Vectors">Vectors</a>.of.floats
ad580 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 ........</p>...............<h3.i
ad5a0 64 3d 22 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f d="subWithOverflow"><a.href="#to
ad5c0 63 2d 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 c-subWithOverflow">@subWithOverf
ad5e0 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 75 low</a>.<a.class="hdr".href="#su
ad600 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 bWithOverflow">..</a></h3>......
ad620 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ..<pre><code><span.class="tok-bu
ad640 69 6c 74 69 6e 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 61 iltin">@subWithOverflow</span>(a
ad660 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f :.<span.class="tok-kw">anytype</
ad680 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 span>,.b:.<span.class="tok-kw">a
ad6a0 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nytype</span>).<span.class="tok-
ad6c0 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">struct</span>.{.<span.class=
ad6e0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 2c 20 "tok-builtin">@TypeOf</span>(a,.
ad700 62 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 b),.<span.class="tok-type">u1</s
ad720 70 61 6e 3e 20 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 pan>.}</code></pre>.......<p>...
ad740 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 61 20 2d 20 62 3c 2f 63 6f 64 65 3e 20 ....Performs.<code>a.-.b</code>.
ad760 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 74 75 70 6c 65 20 77 69 74 68 20 74 68 65 20 72 65 73 and.returns.a.tuple.with.the.res
ad780 75 6c 74 20 61 6e 64 20 61 20 70 6f 73 73 69 62 6c 65 20 6f 76 65 72 66 6c 6f 77 20 62 69 74 2e ult.and.a.possible.overflow.bit.
ad7a0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 .......</p>...............<h3.id
ad7c0 3d 22 74 61 67 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 61 67 4e 61 6d 65 ="tagName"><a.href="#toc-tagName
ad7e0 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ">@tagName</a>.<a.class="hdr".hr
ad800 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ef="#tagName">..</a></h3>.......
ad820 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .<pre><code><span.class="tok-bui
ad840 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 ltin">@tagName</span>(value:.<sp
ad860 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e an.class="tok-kw">anytype</span>
ad880 29 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f ).[:<span.class="tok-number">0</
ad8a0 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 span>]<span.class="tok-kw">const
ad8c0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 </span>.<span.class="tok-type">u
ad8e0 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 8</span></code></pre>.......<p>.
ad900 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 20 6f 72 20 ......Converts.an.enum.value.or.
ad920 75 6e 69 6f 6e 20 76 61 6c 75 65 20 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 union.value.to.a.string.literal.
ad940 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6e 61 6d 65 2e 3c 2f 70 3e 3c 70 3e 49 66 20 representing.the.name.</p><p>If.
ad960 74 68 65 20 65 6e 75 6d 20 69 73 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 61 6e 64 20 74 the.enum.is.non-exhaustive.and.t
ad980 68 65 20 74 61 67 20 76 61 6c 75 65 20 64 6f 65 73 20 6e 6f 74 20 6d 61 70 20 74 6f 20 61 20 6e he.tag.value.does.not.map.to.a.n
ad9a0 61 6d 65 2c 20 69 74 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c ame,.it.invokes.safety-checked.<
ad9c0 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 a.href="#Undefined-Behavior">Und
ad9e0 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a efined.Behavior</a>........</p>.
ada00 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 69 73 22 3e 3c 61 20 68 ..............<h3.id="This"><a.h
ada20 72 65 66 3d 22 23 74 6f 63 2d 54 68 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 ref="#toc-This">@This</a>.<a.cla
ada40 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 69 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ss="hdr".href="#This">..</a></h3
ada60 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d >........<pre><code><span.class=
ada80 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 "tok-builtin">@This</span>().<sp
adaa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c an.class="tok-type">type</span><
adac0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 /code></pre>.......<p>.......Ret
adae0 75 72 6e 73 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 73 74 72 75 63 74 2c 20 65 6e 75 6d 2c urns.the.innermost.struct,.enum,
adb00 20 6f 72 20 75 6e 69 6f 6e 20 74 68 61 74 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c .or.union.that.this.function.cal
adb20 6c 20 69 73 20 69 6e 73 69 64 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 l.is.inside........This.can.be.u
adb40 73 65 66 75 6c 20 66 6f 72 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 74 68 seful.for.an.anonymous.struct.th
adb60 61 74 20 6e 65 65 64 73 20 74 6f 20 72 65 66 65 72 20 74 6f 20 69 74 73 65 6c 66 3a 0a 20 20 20 at.needs.to.refer.to.itself:....
adb80 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f ...</p>.......<figure><figcaptio
adba0 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 n.class="zig-cap"><cite.class="f
adbc0 69 6c 65 22 3e 74 65 73 74 5f 74 68 69 73 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 ile">test_this_builtin.zig</cite
adbe0 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></figcaption><pre><code><span.c
adc00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d lass="tok-kw">const</span>.std.=
adc20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f .<span.class="tok-builtin">@impo
adc40 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e rt</span>(<span.class="tok-str">
adc60 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 &quot;std&quot;</span>);.<span.c
adc80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 lass="tok-kw">const</span>.expec
adca0 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 t.=.std.testing.expect;..<span.c
adcc0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 lass="tok-kw">test</span>.<span.
adce0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 54 68 69 73 28 29 26 71 75 class="tok-str">&quot;@This()&qu
add00 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ot;</span>.{.....<span.class="to
add20 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 k-kw">var</span>.items.=.[_]<spa
add40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c n.class="tok-type">i32</span>{.<
add60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e span.class="tok-number">1</span>
add80 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 ,.<span.class="tok-number">2</sp
adda0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c an>,.<span.class="tok-number">3<
addc0 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
adde0 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >4</span>.};.....<span.class="to
ade00 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 20 3d 20 4c 69 73 74 28 3c k-kw">const</span>.list.=.List(<
ade20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">i32</span>
ade40 29 7b 20 2e 69 74 65 6d 73 20 3d 20 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ){..items.=.items[<span.class="t
ade60 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 20 7d 3b 0a 20 20 20 20 3c 73 ok-number">0</span>..].};.....<s
ade80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 pan.class="tok-kw">try</span>.ex
adea0 70 65 63 74 28 6c 69 73 74 2e 6c 65 6e 67 74 68 28 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 pect(list.length().==.<span.clas
adec0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 s="tok-number">4</span>);.}..<sp
adee0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 an.class="tok-kw">fn</span>.<spa
adf00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 n.class="tok-fn">List</span>(<sp
adf20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e an.class="tok-kw">comptime</span
adf40 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 >.T:.<span.class="tok-type">type
adf60 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>).<span.class="tok-type">
adf80 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type</span>.{.....<span.class="t
adfa0 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">return</span>.<span.class
adfc0 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 ="tok-kw">struct</span>.{.......
adfe0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ..<span.class="tok-kw">const</sp
ae000 61 6e 3e 20 53 65 6c 66 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c an>.Self.=.<span.class="tok-buil
ae020 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 74 tin">@This</span>();..........it
ae040 65 6d 73 3a 20 5b 5d 54 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ems:.[]T,..........<span.class="
ae060 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tok-kw">fn</span>.<span.class="t
ae080 6f 6b 2d 66 6e 22 3e 6c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 53 65 6c 66 29 ok-fn">length</span>(self:.Self)
ae0a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 .<span.class="tok-type">usize</s
ae0c0 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.{.............<span.class="
ae0e0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 69 74 65 6d 73 tok-kw">return</span>.self.items
ae100 2e 6c 65 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c .len;.........}.....};.}</code><
ae120 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f /pre></figure><figure><figcaptio
ae140 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 n.class="shell-cap">Shell</figca
ae160 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 ption><pre><samp>$.<kbd>zig.test
ae180 20 74 65 73 74 5f 74 68 69 73 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 .test_this_builtin.zig</kbd>.1/1
ae1a0 20 74 65 73 74 5f 74 68 69 73 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 40 54 68 69 73 28 29 2e .test_this_builtin.test.@This().
ae1c0 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 ...OK.All.1.tests.passed..</samp
ae1e0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ></pre></figure>.......<p>......
ae200 20 57 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .When.<code><span.class="tok-bui
ae220 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 3c 2f 63 6f 64 65 3e 20 69 73 20 75 ltin">@This</span>()</code>.is.u
ae240 73 65 64 20 61 74 20 66 69 6c 65 20 73 63 6f 70 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 sed.at.file.scope,.it.returns.a.
ae260 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 73 74 72 75 63 74 20 74 68 reference.to.the.......struct.th
ae280 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 at.corresponds.to.the.current.fi
ae2a0 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 le........</p>...............<h3
ae2c0 20 69 64 3d 22 74 72 61 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 61 70 22 3e 40 .id="trap"><a.href="#toc-trap">@
ae2e0 74 72 61 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 trap</a>.<a.class="hdr".href="#t
ae300 72 61 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f rap">..</a></h3>........<pre><co
ae320 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 de><span.class="tok-builtin">@tr
ae340 61 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ap</span>().<span.class="tok-typ
ae360 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a e">noreturn</span></code></pre>.
ae380 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e ......<p>.......This.function.in
ae3a0 73 65 72 74 73 20 61 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63 20 74 72 61 70 2f 6a serts.a.platform-specific.trap/j
ae3c0 61 6d 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 64 am.instruction.which.can.be.used
ae3e0 20 74 6f 20 65 78 69 74 20 74 68 65 20 70 72 6f 67 72 61 6d 20 61 62 6e 6f 72 6d 61 6c 6c 79 2e .to.exit.the.program.abnormally.
ae400 0a 20 20 20 20 20 20 54 68 69 73 20 6d 61 79 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 .......This.may.be.implemented.b
ae420 79 20 65 78 70 6c 69 63 69 74 6c 79 20 65 6d 69 74 74 69 6e 67 20 61 6e 20 69 6e 76 61 6c 69 64 y.explicitly.emitting.an.invalid
ae440 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 69 63 68 20 6d 61 79 20 63 61 75 73 65 20 61 6e 20 .instruction.which.may.cause.an.
ae460 69 6c 6c 65 67 61 6c 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 66 illegal.instruction.exception.of
ae480 20 73 6f 6d 65 20 73 6f 72 74 2e 0a 20 20 20 20 20 20 55 6e 6c 69 6b 65 20 66 6f 72 20 3c 63 6f .some.sort........Unlike.for.<co
ae4a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 72 de><span.class="tok-builtin">@br
ae4c0 65 61 6b 70 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 29 3c 2f 63 6f 64 65 3e 2c 20 65 78 65 63 75 74 eakpoint</span>()</code>,.execut
ae4e0 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 69 6e 75 65 20 61 66 74 65 72 20 74 68 69 73 ion.does.not.continue.after.this
ae500 20 70 6f 69 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .point........</p>.......<p>....
ae520 20 20 20 4f 75 74 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2c 20 74 68 69 73 20 ...Outside.function.scope,.this.
ae540 62 75 69 6c 74 69 6e 20 63 61 75 73 65 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a builtin.causes.a.compile.error..
ae560 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 ......</p>.......<p>See.also:</p
ae580 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 72 65 61 6b 70 6f 69 6e 74 22 3e ><ul>.<li><a.href="#breakpoint">
ae5a0 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 @breakpoint</a></li>.</ul>......
ae5c0 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 72 75 6e 63 61 74 65 22 3e 3c 61 20 68 ..........<h3.id="truncate"><a.h
ae5e0 72 65 66 3d 22 23 74 6f 63 2d 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 ref="#toc-truncate">@truncate</a
ae600 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 >.<a.class="hdr".href="#truncate
ae620 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e ">..</a></h3>........<pre><code>
ae640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 <span.class="tok-builtin">@trunc
ae660 61 74 65 3c 2f 73 70 61 6e 3e 28 69 6e 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ate</span>(integer:.<span.class=
ae680 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 "tok-kw">anytype</span>).<span.c
ae6a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f lass="tok-kw">anytype</span></co
ae6c0 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 de></pre>.......<p>.......This.f
ae6e0 75 6e 63 74 69 6f 6e 20 74 72 75 6e 63 61 74 65 73 20 62 69 74 73 20 66 72 6f 6d 20 61 6e 20 69 unction.truncates.bits.from.an.i
ae700 6e 74 65 67 65 72 20 74 79 70 65 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 73 6d 61 6c nteger.type,.resulting.in.a.smal
ae720 6c 65 72 0a 20 20 20 20 20 20 6f 72 20 73 61 6d 65 2d 73 69 7a 65 64 20 69 6e 74 65 67 65 72 20 ler.......or.same-sized.integer.
ae740 74 79 70 65 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 74 68 65 20 69 6e 66 type..The.return.type.is.the.inf
ae760 65 72 72 65 64 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 erred.result.type........</p>...
ae780 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6c 77 61 ....<p>.......This.function.alwa
ae7a0 79 73 20 74 72 75 6e 63 61 74 65 73 20 74 68 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 ys.truncates.the.significant.bit
ae7c0 73 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 2c 20 72 65 67 61 72 64 6c 65 73 73 0a 20 20 20 s.of.the.integer,.regardless....
ae7e0 20 20 20 6f 66 20 65 6e 64 69 61 6e 6e 65 73 73 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 ...of.endianness.on.the.target.p
ae800 6c 61 74 66 6f 72 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 latform........</p>.......<p>...
ae820 20 20 20 20 43 61 6c 6c 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ....Calling.<code><span.class="t
ae840 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-builtin">@truncate</span></co
ae860 64 65 3e 20 6f 6e 20 61 20 6e 75 6d 62 65 72 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 6f 66 20 de>.on.a.number.out.of.range.of.
ae880 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 77 65 6c 6c 20 64 65 66 the.destination.type.is.well.def
ae8a0 69 6e 65 64 20 61 6e 64 20 77 6f 72 6b 69 6e 67 20 63 6f 64 65 3a 0a 20 20 20 20 20 20 3c 2f 70 ined.and.working.code:.......</p
ae8c0 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
ae8e0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 s="zig-cap"><cite.class="file">t
ae900 65 73 74 5f 74 72 75 6e 63 61 74 65 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c est_truncate_builtin.zig</cite><
ae920 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><code><span.cla
ae940 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c ss="tok-kw">const</span>.std.=.<
ae960 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 span.class="tok-builtin">@import
ae980 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
ae9a0 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 uot;std&quot;</span>);.<span.cla
ae9c0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 ss="tok-kw">const</span>.expect.
ae9e0 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 =.std.testing.expect;..<span.cla
aea00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ss="tok-kw">test</span>.<span.cl
aea20 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 74 72 75 6e ass="tok-str">&quot;integer.trun
aea40 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 cation&quot;</span>.{.....<span.
aea60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c class="tok-kw">const</span>.a:.<
aea80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e span.class="tok-type">u16</span>
aeaa0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 62 .=.<span.class="tok-number">0xab
aeac0 63 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d cd</span>;.....<span.class="tok-
aeae0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">const</span>.b:.<span.class=
aeb00 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">u8</span>.=.<span.cla
aeb20 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e ss="tok-builtin">@truncate</span
aeb40 3e 28 61 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 >(a);.....<span.class="tok-kw">t
aeb60 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ry</span>.expect(b.==.<span.clas
aeb80 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 63 64 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f s="tok-number">0xcd</span>);.}</
aeba0 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 code></pre></figure><figure><fig
aebc0 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c caption.class="shell-cap">Shell<
aebe0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
aec00 67 20 74 65 73 74 20 74 65 73 74 5f 74 72 75 6e 63 61 74 65 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 g.test.test_truncate_builtin.zig
aec20 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 74 72 75 6e 63 61 74 65 5f 62 75 69 6c 74 69 6e </kbd>.1/1.test_truncate_builtin
aec40 2e 74 65 73 74 2e 69 6e 74 65 67 65 72 20 74 72 75 6e 63 61 74 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 .test.integer.truncation....OK.A
aec60 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ll.1.tests.passed..</samp></pre>
aec80 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 3c 61 </figure>.......<p>.......Use.<a
aeca0 20 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 74 6f .href="#intCast">@intCast</a>.to
aecc0 20 63 6f 6e 76 65 72 74 20 6e 75 6d 62 65 72 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 66 .convert.numbers.guaranteed.to.f
aece0 69 74 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c it.the.destination.type........<
aed00 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 22 3e /p>...............<h3.id="Type">
aed20 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 20 3c 61 <a.href="#toc-Type">@Type</a>.<a
aed40 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e c2 a7 3c 2f 61 3e .class="hdr".href="#Type">..</a>
aed60 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </h3>........<pre><code><span.cl
aed80 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 3c 2f 73 70 61 6e 3e 28 3c ass="tok-builtin">@Type</span>(<
aeda0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 span.class="tok-kw">comptime</sp
aedc0 61 6e 3e 20 69 6e 66 6f 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 54 79 70 65 29 20 3c 73 70 61 an>.info:.std.builtin.Type).<spa
aede0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">type</span></
aee00 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 code></pre>.......<p>.......This
aee20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 69 6e 76 65 72 73 65 20 6f 66 20 3c 61 20 68 .function.is.the.inverse.of.<a.h
aee40 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 2e 20 49 ref="#typeInfo">@typeInfo</a>..I
aee60 74 20 72 65 69 66 69 65 73 20 74 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 t.reifies.type.information......
aee80 20 69 6e 74 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .into.a.<code><span.class="tok-t
aeea0 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c ype">type</span></code>........<
aeec0 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 61 76 61 69 6c 61 /p>.......<p>.......It.is.availa
aeee0 62 6c 65 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 70 65 73 3a 0a 20 20 20 ble.for.the.following.types:....
aef00 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ...</p>.......<ul>...........<li
aef20 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 ><code><span.class="tok-type">ty
aef40 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 pe</span></code></li>...........
aef60 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 <li><code><span.class="tok-type"
aef80 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 >noreturn</span></code></li>....
aefa0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .......<li><code><span.class="to
aefc0 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a k-type">void</span></code></li>.
aefe0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..........<li><code><span.class=
af000 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c "tok-type">bool</span></code></l
af020 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 i>...........<li><a.href="#Integ
af040 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 2d 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 ers">Integers</a>.-.The.maximum.
af060 62 69 74 20 63 6f 75 6e 74 20 66 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 bit.count.for.an.integer.type.is
af080 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .<code><span.class="tok-number">
af0a0 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 65535</span></code>.</li>.......
af0c0 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 ....<li><a.href="#Floats">Floats
af0e0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d </a></li>...........<li><a.href=
af100 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 "#Pointers">Pointers</a></li>...
af120 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ........<li><code><span.class="t
af140 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-type">comptime_int</span></co
af160 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 de></li>...........<li><code><sp
af180 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f an.class="tok-type">comptime_flo
af1a0 61 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 at</span></code></li>...........
af1c0 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 <li><code><span.class="tok-built
af1e0 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@TypeOf</span>(<span.class="
af200 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 tok-null">undefined</span>)</cod
af220 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 e></li>...........<li><code><spa
af240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 n.class="tok-builtin">@TypeOf</s
af260 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c pan>(<span.class="tok-null">null
af280 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c </span>)</code></li>...........<
af2a0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c li><a.href="#Arrays">Arrays</a><
af2c0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 /li>...........<li><a.href="#Opt
af2e0 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ionals">Optionals</a></li>......
af300 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 .....<li><a.href="#Error-Set-Typ
af320 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 e">Error.Set.Type</a></li>......
af340 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 .....<li><a.href="#Error-Union-T
af360 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 ype">Error.Union.Type</a></li>..
af380 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e .........<li><a.href="#Vectors">
af3a0 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c Vectors</a></li>...........<li><
af3c0 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e a.href="#opaque">opaque</a></li>
af3e0 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ...........<li><code><span.class
af400 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ="tok-kw">anyframe</span></code>
af420 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 74 </li>...........<li><a.href="#st
af440 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ruct">struct</a></li>...........
af460 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 <li><a.href="#enum">enum</a></li
af480 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c >...........<li><a.href="#Enum-L
af4a0 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a iterals">Enum.Literals</a></li>.
af4c0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 ..........<li><a.href="#union">u
af4e0 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 nion</a></li>...........<li><a.h
af500 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f ref="#Functions">Functions</a></
af520 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 li>.......</ul>..............<h3
af540 20 69 64 3d 22 74 79 70 65 49 6e 66 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 79 70 .id="typeInfo"><a.href="#toc-typ
af560 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 eInfo">@typeInfo</a>.<a.class="h
af580 64 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e dr".href="#typeInfo">..</a></h3>
af5a0 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ........<pre><code><span.class="
af5c0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 tok-builtin">@typeInfo</span>(<s
af5e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 pan.class="tok-kw">comptime</spa
af600 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 n>.T:.<span.class="tok-type">typ
af620 65 3c 2f 73 70 61 6e 3e 29 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 54 79 70 65 3c 2f 63 6f 64 65 e</span>).std.builtin.Type</code
af640 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 6f 76 69 64 65 73 ></pre>.......<p>.......Provides
af660 20 74 79 70 65 20 72 65 66 6c 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .type.reflection........</p>....
af680 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 ...<p>.......Type.information.of
af6a0 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 .<a.href="#struct">structs</a>,.
af6c0 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 <a.href="#union">unions</a>,.<a.
af6e0 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 73 3c 2f 61 3e 2c 20 61 6e 64 0a 20 20 20 20 href="#enum">enums</a>,.and.....
af700 20 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 65 72 72 6f ..<a.href="#Error-Set-Type">erro
af720 72 20 73 65 74 73 3c 2f 61 3e 20 68 61 73 20 66 69 65 6c 64 73 20 77 68 69 63 68 20 61 72 65 20 r.sets</a>.has.fields.which.are.
af740 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 guaranteed.to.be.in.the.same....
af760 20 20 20 6f 72 64 65 72 20 61 73 20 61 70 70 65 61 72 61 6e 63 65 20 69 6e 20 74 68 65 20 73 6f ...order.as.appearance.in.the.so
af780 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a urce.file........</p>.......<p>.
af7a0 20 20 20 20 20 20 54 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 3c 61 20 68 72 65 ......Type.information.of.<a.hre
af7c0 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 f="#struct">structs</a>,.<a.href
af7e0 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 ="#union">unions</a>,.<a.href="#
af800 65 6e 75 6d 22 3e 65 6e 75 6d 73 3c 2f 61 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 enum">enums</a>,.and.......<a.hr
af820 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 73 3c 2f 61 3e 20 68 61 73 20 64 65 63 ef="#opaque">opaques</a>.has.dec
af840 6c 61 72 61 74 69 6f 6e 73 2c 20 77 68 69 63 68 20 61 72 65 20 61 6c 73 6f 20 67 75 61 72 61 6e larations,.which.are.also.guaran
af860 74 65 65 64 20 74 6f 20 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 6f 72 64 teed.to.be.in.the.same.......ord
af880 65 72 20 61 73 20 61 70 70 65 61 72 61 6e 63 65 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 er.as.appearance.in.the.source.f
af8a0 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 ile........</p>...............<h
af8c0 33 20 69 64 3d 22 74 79 70 65 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 79 3.id="typeName"><a.href="#toc-ty
af8e0 70 65 4e 61 6d 65 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 peName">@typeName</a>.<a.class="
af900 68 64 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 hdr".href="#typeName">..</a></h3
af920 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d >........<pre><code><span.class=
af940 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 "tok-builtin">@typeName</span>(T
af960 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 :.<span.class="tok-type">type</s
af980 70 61 6e 3e 29 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 pan>).*<span.class="tok-kw">cons
af9a0 74 3c 2f 73 70 61 6e 3e 20 5b 4e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d t</span>.[N:<span.class="tok-num
af9c0 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ber">0</span>]<span.class="tok-t
af9e0 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 ype">u8</span></code></pre>.....
afa00 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e ..<p>.......This.function.return
afa20 73 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 s.the.string.representation.of.a
afa40 20 74 79 70 65 2c 20 61 73 0a 20 20 20 20 20 20 61 6e 20 61 72 72 61 79 2e 20 49 74 20 69 73 20 .type,.as.......an.array..It.is.
afa60 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 6f equivalent.to.a.string.literal.o
afa80 66 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 f.the.type.name........The.retur
afaa0 6e 65 64 20 74 79 70 65 20 6e 61 6d 65 20 69 73 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 69 65 64 ned.type.name.is.fully.qualified
afac0 20 77 69 74 68 20 74 68 65 20 70 61 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 20 69 6e 63 6c 75 .with.the.parent.namespace.inclu
afae0 64 65 64 0a 20 20 20 20 20 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 74 79 70 65 20 6e 61 ded.......as.part.of.the.type.na
afb00 6d 65 20 77 69 74 68 20 61 20 73 65 72 69 65 73 20 6f 66 20 64 6f 74 73 2e 0a 20 20 20 20 20 20 me.with.a.series.of.dots........
afb20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 4f </p>...............<h3.id="TypeO
afb40 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 4f 66 22 3e 40 54 79 70 65 4f 66 f"><a.href="#toc-TypeOf">@TypeOf
afb60 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 4f </a>.<a.class="hdr".href="#TypeO
afb80 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 f">..</a></h3>........<pre><code
afba0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 ><span.class="tok-builtin">@Type
afbc0 4f 66 3c 2f 73 70 61 6e 3e 28 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d Of</span>(...).<span.class="tok-
afbe0 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 type">type</span></code></pre>..
afc00 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .....<p>.......<code><span.class
afc20 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-builtin">@TypeOf</span></c
afc40 6f 64 65 3e 20 69 73 20 61 20 73 70 65 63 69 61 6c 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 ode>.is.a.special.builtin.functi
afc60 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 6e 79 20 28 6e 6f 6e 7a 65 72 6f 29 20 6e 75 6d 62 on.that.takes.any.(nonzero).numb
afc80 65 72 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20 20 20 61 73 20 70 61 72 61 6d er.of.expressions.......as.param
afca0 65 74 65 72 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 eters.and.returns.the.type.of.th
afcc0 65 20 72 65 73 75 6c 74 2c 20 75 73 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 e.result,.using.<a.href="#Peer-T
afce0 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 ype-Resolution">Peer.Type.Resolu
afd00 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 tion</a>........</p>.......<p>..
afd20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 65 76 61 6c 75 61 74 .....The.expressions.are.evaluat
afd40 65 64 2c 20 68 6f 77 65 76 65 72 20 74 68 65 79 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 ed,.however.they.are.guaranteed.
afd60 74 6f 20 68 61 76 65 20 6e 6f 20 3c 65 6d 3e 72 75 6e 74 69 6d 65 3c 2f 65 6d 3e 20 73 69 64 65 to.have.no.<em>runtime</em>.side
afd80 2d 65 66 66 65 63 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 -effects:.......</p>.......<figu
afda0 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
afdc0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 54 79 70 65 4f 66 5f 62 75 cite.class="file">test_TypeOf_bu
afde0 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 iltin.zig</cite></figcaption><pr
afe00 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
afe20 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.std.=.<span.class="tok
afe40 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@import</span>(<span.c
afe60 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;std&quot;</
afe80 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e span>);.<span.class="tok-kw">con
afea0 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 st</span>.expect.=.std.testing.e
afec0 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 xpect;..<span.class="tok-kw">tes
afee0 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>.<span.class="tok-str">&
aff00 71 75 6f 74 3b 6e 6f 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 26 71 75 6f quot;no.runtime.side.effects&quo
aff20 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b t;</span>.{.....<span.class="tok
aff40 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 61 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">var</span>.data:.<span.clas
aff60 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 s="tok-type">i32</span>.=.<span.
aff80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 class="tok-number">0</span>;....
affa0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
affc0 6e 3e 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 n>.T.=.<span.class="tok-builtin"
affe0 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d >@TypeOf</span>(foo(<span.class=
b0000 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 64 61 74 61 "tok-type">i32</span>,.&amp;data
b0020 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ));.....<span.class="tok-kw">try
b0040 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d </span>.<span.class="tok-kw">com
b0060 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 54 20 3d 3d 20 3c 73 70 61 6e 20 63 ptime</span>.expect(T.==.<span.c
b0080 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 lass="tok-type">i32</span>);....
b00a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">try</span>
b00c0 20 65 78 70 65 63 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .expect(data.==.<span.class="tok
b00e0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 -number">0</span>);.}..<span.cla
b0100 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ss="tok-kw">fn</span>.<span.clas
b0120 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 s="tok-fn">foo</span>(<span.clas
b0140 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 s="tok-kw">comptime</span>.T:.<s
b0160 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e pan.class="tok-type">type</span>
b0180 2c 20 70 74 72 3a 20 2a 54 29 20 54 20 7b 0a 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 ,.ptr:.*T).T.{.....ptr.*.+=.<spa
b01a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 n.class="tok-number">1</span>;..
b01c0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f ...<span.class="tok-kw">return</
b01e0 73 70 61 6e 3e 20 70 74 72 2e 2a 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 span>.ptr.*;.}</code></pre></fig
b0200 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 ure><figure><figcaption.class="s
b0220 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 hell-cap">Shell</figcaption><pre
b0240 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 54 79 70 65 ><samp>$.<kbd>zig.test.test_Type
b0260 4f 66 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 54 79 Of_builtin.zig</kbd>.1/1.test_Ty
b0280 70 65 4f 66 5f 62 75 69 6c 74 69 6e 2e 74 65 73 74 2e 6e 6f 20 72 75 6e 74 69 6d 65 20 73 69 64 peOf_builtin.test.no.runtime.sid
b02a0 65 20 65 66 66 65 63 74 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 e.effects....OK.All.1.tests.pass
b02c0 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 ed..</samp></pre></figure>......
b02e0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 75 6e 69 6f 6e 49 6e 69 74 22 3e 3c 61 20 68 .........<h3.id="unionInit"><a.h
b0300 72 65 66 3d 22 23 74 6f 63 2d 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c ref="#toc-unionInit">@unionInit<
b0320 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 49 /a>.<a.class="hdr".href="#unionI
b0340 6e 69 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f nit">..</a></h3>........<pre><co
b0360 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 75 6e de><span.class="tok-builtin">@un
b0380 69 6f 6e 49 6e 69 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ionInit</span>(<span.class="tok-
b03a0 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 55 6e 69 6f 6e 3a 20 3c 73 70 61 6e kw">comptime</span>.Union:.<span
b03c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c .class="tok-type">type</span>,.<
b03e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 span.class="tok-kw">comptime</sp
b0400 61 6e 3e 20 61 63 74 69 76 65 5f 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 an>.active_field_name:.[]<span.c
b0420 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e lass="tok-kw">const</span>.<span
b0440 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 69 6e 69 .class="tok-type">u8</span>,.ini
b0460 74 5f 65 78 70 72 29 20 55 6e 69 6f 6e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 t_expr).Union</code></pre>......
b0480 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e .<p>.......This.is.the.same.thin
b04a0 67 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 g.as.<a.href="#union">union</a>.
b04c0 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 79 6e 74 61 78 2c 20 65 78 63 65 70 74 20 74 68 initialization.syntax,.except.th
b04e0 61 74 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 69 73 20 61 0a 20 20 20 20 20 20 3c 61 20 at.the.field.name.is.a.......<a.
b0500 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e href="#comptime">comptime</a>-kn
b0520 6f 77 6e 20 76 61 6c 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 6e 20 69 64 65 6e 74 69 66 own.value.rather.than.an.identif
b0540 69 65 72 20 74 6f 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ier.token........</p>.......<p>.
b0560 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ......<code><span.class="tok-bui
b0580 6c 74 69 6e 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 ltin">@unionInit</span></code>.f
b05a0 6f 72 77 61 72 64 73 20 69 74 73 20 3c 61 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 orwards.its.<a.href="#Result-Loc
b05c0 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e ation-Semantics">result.location
b05e0 3c 2f 61 3e 20 74 6f 20 3c 63 6f 64 65 3e 69 6e 69 74 5f 65 78 70 72 3c 2f 63 6f 64 65 3e 2e 0a </a>.to.<code>init_expr</code>..
b0600 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ......</p>................<h3.id
b0620 3d 22 56 65 63 74 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 56 65 63 74 6f 72 22 3e ="Vector"><a.href="#toc-Vector">
b0640 40 56 65 63 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d @Vector</a>.<a.class="hdr".href=
b0660 22 23 56 65 63 74 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 "#Vector">..</a></h3>........<pr
b0680 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
b06a0 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ">@Vector</span>(len:.<span.clas
b06c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e s="tok-type">comptime_int</span>
b06e0 2c 20 45 6c 65 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ,.Element:.<span.class="tok-type
b0700 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">type</span>).<span.class="tok-
b0720 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 type">type</span></code></pre>..
b0740 20 20 20 20 20 3c 70 3e 43 72 65 61 74 65 73 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 .....<p>Creates.<a.href="#Vector
b0760 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 s">Vectors</a>.</p>.............
b0780 20 20 3c 68 33 20 69 64 3d 22 76 6f 6c 61 74 69 6c 65 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d ..<h3.id="volatileCast"><a.href=
b07a0 22 23 74 6f 63 2d 76 6f 6c 61 74 69 6c 65 43 61 73 74 22 3e 40 76 6f 6c 61 74 69 6c 65 43 61 73 "#toc-volatileCast">@volatileCas
b07c0 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 76 6f 6c 61 t</a>.<a.class="hdr".href="#vola
b07e0 74 69 6c 65 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 tileCast">..</a></h3>........<pr
b0800 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e e><code><span.class="tok-builtin
b0820 22 3e 40 76 6f 6c 61 74 69 6c 65 43 61 73 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 ">@volatileCast</span>(value:.<s
b0840 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e pan.class="tok-kw">anytype</span
b0860 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c >).DestType</code></pre>.......<
b0880 70 3e 0a 20 20 20 20 20 20 52 65 6d 6f 76 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 p>.......Remove.<code><span.clas
b08a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 s="tok-kw">volatile</span></code
b08c0 3e 20 71 75 61 6c 69 66 69 65 72 20 66 72 6f 6d 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 >.qualifier.from.a.pointer......
b08e0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 6f 72 ..</p>...............<h3.id="wor
b0900 6b 47 72 6f 75 70 49 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 6f 72 6b 47 72 6f 75 kGroupId"><a.href="#toc-workGrou
b0920 70 49 64 22 3e 40 77 6f 72 6b 47 72 6f 75 70 49 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 pId">@workGroupId</a>.<a.class="
b0940 68 64 72 22 20 68 72 65 66 3d 22 23 77 6f 72 6b 47 72 6f 75 70 49 64 22 3e c2 a7 3c 2f 61 3e 3c hdr".href="#workGroupId">..</a><
b0960 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /h3>........<pre><code><span.cla
b0980 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 6f 72 6b 47 72 6f 75 70 49 64 3c 2f 73 ss="tok-builtin">@workGroupId</s
b09a0 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 pan>(<span.class="tok-kw">compti
b09c0 6d 65 3c 2f 73 70 61 6e 3e 20 64 69 6d 65 6e 73 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 me</span>.dimension:.<span.class
b09e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c ="tok-type">u32</span>).<span.cl
b0a00 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ass="tok-type">u32</span></code>
b0a20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 </pre>.......<p>.......Returns.t
b0a40 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 67 72 6f 75 70 20 69 6e 20 74 68 he.index.of.the.work.group.in.th
b0a60 65 20 63 75 72 72 65 6e 74 20 6b 65 72 6e 65 6c 20 69 6e 76 6f 63 61 74 69 6f 6e 20 69 6e 20 64 e.current.kernel.invocation.in.d
b0a80 69 6d 65 6e 73 69 6f 6e 20 3c 63 6f 64 65 3e 64 69 6d 65 6e 73 69 6f 6e 3c 2f 63 6f 64 65 3e 2e imension.<code>dimension</code>.
b0aa0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 .......</p>...............<h3.id
b0ac0 3d 22 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 ="workGroupSize"><a.href="#toc-w
b0ae0 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 3e 40 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 3c 2f 61 3e orkGroupSize">@workGroupSize</a>
b0b00 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 6f 72 6b 47 72 6f 75 70 .<a.class="hdr".href="#workGroup
b0b20 53 69 7a 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 Size">..</a></h3>........<pre><c
b0b40 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 ode><span.class="tok-builtin">@w
b0b60 6f 72 6b 47 72 6f 75 70 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d orkGroupSize</span>(<span.class=
b0b80 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 64 69 6d 65 6e 73 69 "tok-kw">comptime</span>.dimensi
b0ba0 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f on:.<span.class="tok-type">u32</
b0bc0 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 span>).<span.class="tok-type">u3
b0be0 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 2</span></code></pre>.......<p>.
b0c00 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 77 6f 72 6b ......Returns.the.number.of.work
b0c20 20 69 74 65 6d 73 20 74 68 61 74 20 61 20 77 6f 72 6b 20 67 72 6f 75 70 20 68 61 73 20 69 6e 20 .items.that.a.work.group.has.in.
b0c40 64 69 6d 65 6e 73 69 6f 6e 20 3c 63 6f 64 65 3e 64 69 6d 65 6e 73 69 6f 6e 3c 2f 63 6f 64 65 3e dimension.<code>dimension</code>
b0c60 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 ........</p>...............<h3.i
b0c80 64 3d 22 77 6f 72 6b 49 74 65 6d 49 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 6f 72 d="workItemId"><a.href="#toc-wor
b0ca0 6b 49 74 65 6d 49 64 22 3e 40 77 6f 72 6b 49 74 65 6d 49 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 kItemId">@workItemId</a>.<a.clas
b0cc0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 6f 72 6b 49 74 65 6d 49 64 22 3e c2 a7 3c 2f 61 s="hdr".href="#workItemId">..</a
b0ce0 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ></h3>........<pre><code><span.c
b0d00 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 6f 72 6b 49 74 65 6d 49 64 3c 2f lass="tok-builtin">@workItemId</
b0d20 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 span>(<span.class="tok-kw">compt
b0d40 69 6d 65 3c 2f 73 70 61 6e 3e 20 64 69 6d 65 6e 73 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ime</span>.dimension:.<span.clas
b0d60 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-type">u32</span>).<span.c
b0d80 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 lass="tok-type">u32</span></code
b0da0 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 ></pre>.......<p>.......Returns.
b0dc0 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 69 74 65 6d 20 69 6e 20 74 68 the.index.of.the.work.item.in.th
b0de0 65 20 77 6f 72 6b 20 67 72 6f 75 70 20 69 6e 20 64 69 6d 65 6e 73 69 6f 6e 20 3c 63 6f 64 65 3e e.work.group.in.dimension.<code>
b0e00 64 69 6d 65 6e 73 69 6f 6e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 dimension</code>..This.function.
b0e20 72 65 74 75 72 6e 73 20 76 61 6c 75 65 73 20 62 65 74 77 65 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 returns.values.between.<code><sp
b0e40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-number">0</span></
b0e60 63 6f 64 65 3e 20 28 69 6e 63 6c 75 73 69 76 65 29 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 code>.(inclusive).and.<code><spa
b0e80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 6f 72 6b 47 72 6f 75 70 n.class="tok-builtin">@workGroup
b0ea0 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 64 69 6d 65 6e 73 69 6f 6e 29 3c 2f 63 6f 64 65 3e 20 28 65 Size</span>(dimension)</code>.(e
b0ec0 78 63 6c 75 73 69 76 65 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 xclusive)........</p>...........
b0ee0 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 42 75 69 6c 64 2d 4d 6f 64 65 22 3e ............<h2.id="Build-Mode">
b0f00 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 <a.href="#toc-Build-Mode">Build.
b0f20 4d 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 Mode</a>.<a.class="hdr".href="#B
b0f40 75 69 6c 64 2d 4d 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 uild-Mode">..</a></h2>........<p
b0f60 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 66 6f 75 72 20 62 75 69 6c 64 20 6d 6f 64 65 73 >.......Zig.has.four.build.modes
b0f80 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 :.......</p>.......<ul>.........
b0fa0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 28 <li><a.href="#Debug">Debug</a>.(
b0fc0 64 65 66 61 75 6c 74 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 default)</li>.........<li><a.hre
b0fe0 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e f="#ReleaseFast">ReleaseFast</a>
b1000 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 </li>.........<li><a.href="#Rele
b1020 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 aseSafe">ReleaseSafe</a></li>...
b1040 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c ......<li><a.href="#ReleaseSmall
b1060 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f ">ReleaseSmall</a></li>.......</
b1080 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 61 64 64 20 73 74 61 6e 64 ul>.......<p>.......To.add.stand
b10a0 61 72 64 20 62 75 69 6c 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 61 20 3c 63 6f 64 65 20 63 6c 61 ard.build.options.to.a.<code.cla
b10c0 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 3a ss="file">build.zig</code>.file:
b10e0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 .......</p>.......<figure><figca
b1100 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 ption.class="zig-cap"><cite.clas
b1120 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 s="file">build.zig</cite></figca
b1140 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ption><pre><code><span.class="to
b1160 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 k-kw">const</span>.std.=.<span.c
b1180 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e lass="tok-builtin">@import</span
b11a0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
b11c0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 d&quot;</span>);..<span.class="t
b11e0 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ok-kw">pub</span>.<span.class="t
b1200 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ok-kw">fn</span>.<span.class="to
b1220 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 73 74 64 2e 42 75 69 6c 64 k-fn">build</span>(b:.*std.Build
b1240 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 ).<span.class="tok-type">void</s
b1260 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
b1280 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6d 69 7a 65 20 3d 20 62 2e 73 74 61 6e 64 61 const</span>.optimize.=.b.standa
b12a0 72 64 4f 70 74 69 6d 69 7a 65 4f 70 74 69 6f 6e 28 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e rdOptimizeOption(.{});.....<span
b12c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 65 .class="tok-kw">const</span>.exe
b12e0 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6e .=.b.addExecutable(.{..........n
b1300 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f ame.=.<span.class="tok-str">&quo
b1320 74 3b 65 78 61 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 t;example&quot;</span>,.........
b1340 2e 72 6f 6f 74 5f 73 6f 75 72 63 65 5f 66 69 6c 65 20 3d 20 2e 7b 20 2e 70 61 74 68 20 3d 20 3c .root_source_file.=..{..path.=.<
b1360 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 61 6d 70 span.class="tok-str">&quot;examp
b1380 6c 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 20 20 20 20 2e le.zig&quot;</span>.},..........
b13a0 6f 70 74 69 6d 69 7a 65 20 3d 20 6f 70 74 69 6d 69 7a 65 2c 0a 20 20 20 20 7d 29 3b 0a 20 20 20 optimize.=.optimize,.....});....
b13c0 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 65 78 .b.default_step.dependOn(&amp;ex
b13e0 65 2e 73 74 65 70 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e e.step);.}</code></pre></figure>
b1400 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 65 .......<p>.......This.causes.the
b1420 73 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 3a 0a 20 20 20 20 se.options.to.be.available:.....
b1440 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b ..</p>.......<dl>.........<dt><k
b1460 62 64 3e 2d 44 6f 70 74 69 6d 69 7a 65 3d 44 65 62 75 67 3c 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 bd>-Doptimize=Debug</kbd></dt><d
b1480 64 3e 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f 66 66 20 61 6e 64 20 73 61 66 65 74 79 20 6f d>Optimizations.off.and.safety.o
b14a0 6e 20 28 64 65 66 61 75 6c 74 29 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b 62 n.(default)</dd>.........<dt><kb
b14c0 64 3e 2d 44 6f 70 74 69 6d 69 7a 65 3d 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 6b 62 64 3e 3c 2f d>-Doptimize=ReleaseSafe</kbd></
b14e0 64 74 3e 3c 64 64 3e 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 dt><dd>Optimizations.on.and.safe
b1500 74 79 20 6f 6e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 6f 70 ty.on</dd>.........<dt><kbd>-Dop
b1520 74 69 6d 69 7a 65 3d 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 64 timize=ReleaseFast</kbd></dt><dd
b1540 3e 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 66 66 >Optimizations.on.and.safety.off
b1560 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 6f 70 74 69 6d 69 7a </dd>.........<dt><kbd>-Doptimiz
b1580 65 3d 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 64 3e 53 69 7a e=ReleaseSmall</kbd></dt><dd>Siz
b15a0 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 66 e.optimizations.on.and.safety.of
b15c0 66 3c 2f 64 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d f</dd>.......</dl>.......<h3.id=
b15e0 22 44 65 62 75 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 65 62 75 67 22 3e 44 65 62 "Debug"><a.href="#toc-Debug">Deb
b1600 75 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 62 ug</a>.<a.class="hdr".href="#Deb
b1620 75 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ug">..</a></h3>........<figure><
b1640 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
b1660 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
b1680 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e >zig.build-exe.example.zig</kbd>
b16a0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 .</samp></pre></figure>.......<u
b16c0 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 73 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 l>.........<li>Fast.compilation.
b16e0 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 speed</li>.........<li>Safety.ch
b1700 65 63 6b 73 20 65 6e 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c ecks.enabled</li>.........<li>Sl
b1720 6f 77 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 ow.runtime.performance</li>.....
b1740 20 20 20 20 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 ....<li>Large.binary.size</li>..
b1760 20 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 20 72 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 .......<li>No.reproducible.build
b1780 20 72 65 71 75 69 72 65 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 .requirement</li>.......</ul>...
b17a0 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6c 65 61 73 65 46 61 73 74 22 3e ...........<h3.id="ReleaseFast">
b17c0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 <a.href="#toc-ReleaseFast">Relea
b17e0 73 65 46 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 seFast</a>.<a.class="hdr".href="
b1800 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 #ReleaseFast">..</a></h3>.......
b1820 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c .<figure><figcaption.class="shel
b1840 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 l-cap">Shell</figcaption><pre><s
b1860 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 amp>$.<kbd>zig.build-exe.example
b1880 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 .zig.-O.ReleaseFast</kbd>.</samp
b18a0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ></pre></figure>.......<ul>.....
b18c0 20 20 20 20 3c 6c 69 3e 46 61 73 74 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 ....<li>Fast.runtime.performance
b18e0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 </li>.........<li>Safety.checks.
b1900 64 69 73 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 63 disabled</li>.........<li>Slow.c
b1920 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c ompilation.speed</li>.........<l
b1940 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 i>Large.binary.size</li>........
b1960 20 3c 6c 69 3e 52 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 3e 0a 20 20 20 .<li>Reproducible.build</li>....
b1980 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 ...</ul>..............<h3.id="Re
b19a0 6c 65 61 73 65 53 61 66 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 61 73 65 leaseSafe"><a.href="#toc-Release
b19c0 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 Safe">ReleaseSafe</a>.<a.class="
b19e0 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e c2 a7 3c 2f 61 3e 3c hdr".href="#ReleaseSafe">..</a><
b1a00 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 /h3>........<figure><figcaption.
b1a20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 class="shell-cap">Shell</figcapt
b1a40 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d ion><pre><samp>$.<kbd>zig.build-
b1a60 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 65 53 61 66 65 3c 2f exe.example.zig.-O.ReleaseSafe</
b1a80 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 kbd>.</samp></pre></figure>.....
b1aa0 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 65 64 69 75 6d 20 72 75 6e 74 69 6d ..<ul>.........<li>Medium.runtim
b1ac0 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 e.performance</li>.........<li>S
b1ae0 61 66 65 74 79 20 63 68 65 63 6b 73 20 65 6e 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 afety.checks.enabled</li>.......
b1b00 20 20 3c 6c 69 3e 53 6c 6f 77 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 ..<li>Slow.compilation.speed</li
b1b20 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c >.........<li>Large.binary.size<
b1b40 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 /li>.........<li>Reproducible.bu
b1b60 69 6c 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 ild</li>.......</ul>............
b1b80 20 20 3c 68 33 20 69 64 3d 22 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d ..<h3.id="ReleaseSmall"><a.href=
b1ba0 22 23 74 6f 63 2d 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c "#toc-ReleaseSmall">ReleaseSmall
b1bc0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 </a>.<a.class="hdr".href="#Relea
b1be0 73 65 53 6d 61 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 seSmall">..</a></h3>........<fig
b1c00 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 ure><figcaption.class="shell-cap
b1c20 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
b1c40 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 20 .<kbd>zig.build-exe.example.zig.
b1c60 2d 4f 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 -O.ReleaseSmall</kbd>.</samp></p
b1c80 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 re></figure>.......<ul>.........
b1ca0 3c 6c 69 3e 4d 65 64 69 75 6d 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f <li>Medium.runtime.performance</
b1cc0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 64 69 li>.........<li>Safety.checks.di
b1ce0 73 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 63 6f 6d sabled</li>.........<li>Slow.com
b1d00 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e pilation.speed</li>.........<li>
b1d20 53 6d 61 6c 6c 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c Small.binary.size</li>.........<
b1d40 6c 69 3e 52 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 li>Reproducible.build</li>......
b1d60 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a .</ul>..............<p>See.also:
b1d80 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 </p><ul>.<li><a.href="#Compile-V
b1da0 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c ariables">Compile.Variables</a><
b1dc0 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 /li>.<li><a.href="#Zig-Build-Sys
b1de0 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c tem">Zig.Build.System</a></li>.<
b1e00 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 li><a.href="#Undefined-Behavior"
b1e20 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 >Undefined.Behavior</a></li>.</u
b1e40 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 69 6e 67 6c 65 l>................<h2.id="Single
b1e60 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d -Threaded-Builds"><a.href="#toc-
b1e80 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 53 69 6e 67 6c 65 20 54 Single-Threaded-Builds">Single.T
b1ea0 68 72 65 61 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 hreaded.Builds</a>.<a.class="hdr
b1ec0 22 20 68 72 65 66 3d 22 23 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 ".href="#Single-Threaded-Builds"
b1ee0 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 68 61 73 20 61 >..</a></h2>........<p>Zig.has.a
b1f00 20 63 6f 6d 70 69 6c 65 20 6f 70 74 69 6f 6e 20 3c 6b 62 64 3e 2d 66 73 69 6e 67 6c 65 2d 74 68 .compile.option.<kbd>-fsingle-th
b1f20 72 65 61 64 65 64 3c 2f 6b 62 64 3e 20 77 68 69 63 68 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f readed</kbd>.which.has.the.follo
b1f40 77 69 6e 67 20 65 66 66 65 63 74 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 wing.effects:</p>.......<ul>....
b1f60 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 3c 61 20 68 72 65 66 3d 22 23 54 68 72 65 61 64 2d 4c 6f .....<li>All.<a.href="#Thread-Lo
b1f80 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 69 cal-Variables">Thread.Local.Vari
b1fa0 61 62 6c 65 73 3c 2f 61 3e 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 72 65 67 75 6c 61 72 ables</a>.are.treated.as.regular
b1fc0 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 .<a.href="#Container-Level-Varia
b1fe0 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e 65 72 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c bles">Container.Level.Variables<
b2000 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 6f 76 65 72 68 65 /a>.</li>.........<li>The.overhe
b2020 61 64 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 ad.of.<a.href="#Async-Functions"
b2040 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 62 65 63 6f 6d 65 73 20 65 71 75 >Async.Functions</a>.becomes.equ
b2060 69 76 61 6c 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 6f 76 65 72 68 65 61 ivalent.to.function.call.overhea
b2080 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 3c 63 6f 64 65 3e 3c 73 d.</li>.........<li>The.<code><s
b20a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c pan.class="tok-builtin">@import<
b20c0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>(<span.class="tok-str">&qu
b20e0 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 73 69 6e 67 6c 65 5f ot;builtin&quot;</span>).single_
b2100 74 68 72 65 61 64 65 64 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 20 3c 63 6f 64 65 3e 3c 73 threaded</code>.becomes.<code><s
b2120 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e pan.class="tok-null">true</span>
b2140 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 </code>...........and.therefore.
b2160 76 61 72 69 6f 75 73 20 75 73 65 72 6c 61 6e 64 20 41 50 49 73 20 77 68 69 63 68 20 72 65 61 64 various.userland.APIs.which.read
b2180 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 62 65 63 6f 6d 65 20 6d 6f 72 65 20 65 66 66 69 63 .this.variable.become.more.effic
b21a0 69 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 3c 63 6f 64 ient............For.example.<cod
b21c0 65 3e 73 74 64 2e 4d 75 74 65 78 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 0a 20 20 20 20 20 e>std.Mutex</code>.becomes......
b21e0 20 20 20 20 20 61 6e 20 65 6d 70 74 79 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 61 6e 64 .....an.empty.data.structure.and
b2200 20 61 6c 6c 20 6f 66 20 69 74 73 20 66 75 6e 63 74 69 6f 6e 73 20 62 65 63 6f 6d 65 20 6e 6f 2d .all.of.its.functions.become.no-
b2220 6f 70 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 ops.</li>.......</ul>...........
b2240 20 20 20 20 3c 68 32 20 69 64 3d 22 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e ....<h2.id="Undefined-Behavior">
b2260 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 <a.href="#toc-Undefined-Behavior
b2280 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 ">Undefined.Behavior</a>.<a.clas
b22a0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f s="hdr".href="#Undefined-Behavio
b22c0 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 r">..</a></h2>........<p>.......
b22e0 5a 69 67 20 68 61 73 20 6d 61 6e 79 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 75 6e 64 65 66 69 Zig.has.many.instances.of.undefi
b2300 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 20 49 66 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 ned.behavior..If.undefined.behav
b2320 69 6f 72 20 69 73 0a 20 20 20 20 20 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 ior.is.......detected.at.compile
b2340 2d 74 69 6d 65 2c 20 5a 69 67 20 65 6d 69 74 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 -time,.Zig.emits.a.compile.error
b2360 20 61 6e 64 20 72 65 66 75 73 65 73 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 0a 20 20 20 20 20 20 .and.refuses.to.continue........
b2380 4d 6f 73 74 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 74 68 61 74 20 63 61 6e Most.undefined.behavior.that.can
b23a0 6e 6f 74 20 62 65 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 not.be.detected.at.compile-time.
b23c0 63 61 6e 20 62 65 20 64 65 74 65 63 74 65 64 0a 20 20 20 20 20 20 61 74 20 72 75 6e 74 69 6d 65 can.be.detected.......at.runtime
b23e0 2e 20 49 6e 20 74 68 65 73 65 20 63 61 73 65 73 2c 20 5a 69 67 20 68 61 73 20 73 61 66 65 74 79 ..In.these.cases,.Zig.has.safety
b2400 20 63 68 65 63 6b 73 2e 20 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 63 61 6e 20 62 65 20 64 69 .checks..Safety.checks.can.be.di
b2420 73 61 62 6c 65 64 0a 20 20 20 20 20 20 6f 6e 20 61 20 70 65 72 2d 62 6c 6f 63 6b 20 62 61 73 69 sabled.......on.a.per-block.basi
b2440 73 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 s.with.<a.href="#setRuntimeSafet
b2460 79 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 2e 20 54 68 65 20 3c 61 y">@setRuntimeSafety</a>..The.<a
b2480 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 .href="#ReleaseFast">ReleaseFast
b24a0 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 </a>.......and.<a.href="#Release
b24c0 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 62 75 69 6c 64 20 6d 6f Small">ReleaseSmall</a>.build.mo
b24e0 64 65 73 20 64 69 73 61 62 6c 65 20 61 6c 6c 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 28 65 des.disable.all.safety.checks.(e
b2500 78 63 65 70 74 20 77 68 65 72 65 20 6f 76 65 72 72 69 64 64 65 6e 0a 20 20 20 20 20 20 62 79 20 xcept.where.overridden.......by.
b2520 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 74 <a.href="#setRuntimeSafety">@set
b2540 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 29 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 RuntimeSafety</a>).in.order.to.f
b2560 61 63 69 6c 69 74 61 74 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c acilitate.optimizations........<
b2580 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 73 61 66 65 74 /p>.......<p>.......When.a.safet
b25a0 79 20 63 68 65 63 6b 20 66 61 69 6c 73 2c 20 5a 69 67 20 63 72 61 73 68 65 73 20 77 69 74 68 20 y.check.fails,.Zig.crashes.with.
b25c0 61 20 73 74 61 63 6b 20 74 72 61 63 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 a.stack.trace,.like.this:.......
b25e0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
b2600 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
b2620 22 3e 74 65 73 74 5f 75 6e 64 65 66 69 6e 65 64 5f 62 65 68 61 76 69 6f 72 2e 7a 69 67 3c 2f 63 ">test_undefined_behavior.zig</c
b2640 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 ite></figcaption><pre><code><spa
b2660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 n.class="tok-kw">test</span>.<sp
b2680 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 61 66 65 74 79 20 an.class="tok-str">&quot;safety.
b26a0 63 68 65 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 check&quot;</span>.{.....<span.c
b26c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e lass="tok-kw">unreachable</span>
b26e0 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
b2700 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 ><figcaption.class="shell-cap">S
b2720 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
b2740 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 75 6e 64 65 66 69 6e 65 64 5f 62 65 68 61 76 bd>zig.test.test_undefined_behav
b2760 69 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 75 6e 64 65 66 69 6e 65 64 ior.zig</kbd>.1/1.test_undefined
b2780 5f 62 65 68 61 76 69 6f 72 2e 74 65 73 74 2e 73 61 66 65 74 79 20 63 68 65 63 6b 2e 2e 2e 20 74 _behavior.test.safety.check....t
b27a0 68 72 65 61 64 20 39 39 30 35 31 34 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 hread.990514.panic:.reached.unre
b27c0 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 achable.code./home/ci/actions-ru
b27e0 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 nner/_work/zig-bootstrap/zig/doc
b2800 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 75 6e 64 65 66 69 6e 65 64 5f 62 65 68 61 76 69 6f 72 2e gen_tmp/test_undefined_behavior.
b2820 7a 69 67 3a 32 3a 35 3a 20 30 78 31 30 33 38 65 35 30 20 69 6e 20 74 65 73 74 2e 73 61 66 65 74 zig:2:5:.0x1038e50.in.test.safet
b2840 79 20 63 68 65 63 6b 20 28 74 65 73 74 29 0a 20 20 20 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 0a y.check.(test).....unreachable;.
b2860 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 ....^./home/ci/actions-runner/_w
b2880 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a ork/zig-bootstrap/out/host/lib/z
b28a0 69 67 2f 63 6f 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 35 38 3a ig/compiler/test_runner.zig:158:
b28c0 32 35 3a 20 30 78 31 30 34 34 32 35 32 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 28 74 25:.0x1044252.in.mainTerminal.(t
b28e0 65 73 74 29 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 29 est).........if.(test_fn.func())
b2900 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e .|_|.{.........................^
b2920 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a ./home/ci/actions-runner/_work/z
b2940 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 63 6f ig-bootstrap/out/host/lib/zig/co
b2960 6d 70 69 6c 65 72 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 35 3a 32 38 3a 20 30 78 mpiler/test_runner.zig:35:28:.0x
b2980 31 30 33 61 32 33 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 72 103a23b.in.main.(test).........r
b29a0 65 74 75 72 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 eturn.mainTerminal();...........
b29c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 .................^./home/ci/acti
b29e0 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f ons-runner/_work/zig-bootstrap/o
b2a00 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 ut/host/lib/zig/std/start.zig:50
b2a20 31 3a 32 32 3a 20 30 78 31 30 33 39 33 37 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 1:22:.0x1039379.in.posixCallMain
b2a40 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e AndExit.(test).............root.
b2a60 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f main();......................^./
b2a80 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 home/ci/actions-runner/_work/zig
b2aa0 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f -bootstrap/out/host/lib/zig/std/
b2ac0 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 38 65 65 31 20 69 6e 20 5f 73 start.zig:253:5:.0x1038ee1.in._s
b2ae0 74 61 72 74 20 28 74 65 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 tart.(test).....asm.volatile.(sw
b2b00 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f itch.(native_arch).{.....^.???:?
b2b20 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 65 72 72 6f 72 3a 20 74 68 65 20 :?:.0x0.in.???.(???).error:.the.
b2b40 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 0a following.test.command.crashed:.
b2b60 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 /home/ci/actions-runner/_work/zi
b2b80 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f g-bootstrap/out/zig-local-cache/
b2ba0 6f 2f 32 62 39 31 63 65 34 33 66 63 39 34 65 65 35 34 35 33 61 66 32 63 39 65 31 30 35 33 37 35 o/2b91ce43fc94ee5453af2c9e105375
b2bc0 66 63 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 fc/test.</samp></pre></figure>..
b2be0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c .....<h3.id="Reaching-Unreachabl
b2c00 65 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 e-Code"><a.href="#toc-Reaching-U
b2c20 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 52 65 61 63 68 69 6e 67 20 55 6e 72 65 61 63 nreachable-Code">Reaching.Unreac
b2c40 68 61 62 6c 65 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 hable.Code</a>.<a.class="hdr".hr
b2c60 65 66 3d 22 23 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e ef="#Reaching-Unreachable-Code">
b2c80 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 ..</a></h3>........<p>At.compile
b2ca0 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 -time:</p>.......<figure><figcap
b2cc0 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 tion.class="zig-cap"><cite.class
b2ce0 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 ="file">test_comptime_reaching_u
b2d00 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f nreachable.zig</cite></figcaptio
b2d20 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
b2d40 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 3c ">comptime</span>.{.....assert(<
b2d60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 span.class="tok-null">false</spa
b2d80 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f n>);.}.<span.class="tok-kw">fn</
b2da0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 73 73 65 72 span>.<span.class="tok-fn">asser
b2dc0 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 t</span>(ok:.<span.class="tok-ty
b2de0 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">bool</span>).<span.class="to
b2e00 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 k-type">void</span>.{.....<span.
b2e20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 6f 6b 29 20 3c class="tok-kw">if</span>.(!ok).<
b2e40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c span.class="tok-kw">unreachable<
b2e60 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 /span>;.<span.class="tok-comment
b2e80 22 3e 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 0a 7d 3c ">//.assertion.failure</span>.}<
b2ea0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 /code></pre></figure><figure><fi
b2ec0 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c gcaption.class="shell-cap">Shell
b2ee0 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
b2f00 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 ig.test.test_comptime_reaching_u
b2f20 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 nreachable.zig</kbd>.<span.class
b2f40 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 ="sgr-1m">docgen_tmp/test_compti
b2f60 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3a 35 3a 31 34 me_reaching_unreachable.zig:5:14
b2f80 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 :.</span><span.class="sgr-31m">e
b2fa0 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d rror:.</span><span.class="sgr-1m
b2fc0 22 3e 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 3c 2f 73 70 61 ">reached.unreachable.code.</spa
b2fe0 6e 3e 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 n>....if.(!ok).unreachable;.//.a
b3000 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 ssertion.failure..............<s
b3020 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a pan.class="sgr-32m">^~~~~~~~~~~.
b3040 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 </span><span.class="sgr-1m">docg
b3060 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e en_tmp/test_comptime_reaching_un
b3080 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3a 32 3a 31 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e reachable.zig:2:11:.</span><span
b30a0 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 .class="sgr-36m">note:.</span><s
b30c0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 pan.class="sgr-1m">called.from.h
b30e0 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 0a 20 20 ere.</span>....assert(false);...
b3100 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 5e 7e ..<span.class="sgr-32m">~~~~~~^~
b3120 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 ~~~~~.</span>.</samp></pre></fig
b3140 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 ure>.......<p>At.runtime:</p>...
b3160 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a ....<figure><figcaption.class="z
b3180 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 ig-cap"><cite.class="file">runti
b31a0 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 me_reaching_unreachable.zig</cit
b31c0 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e></figcaption><pre><code><span.
b31e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 class="tok-kw">const</span>.std.
b3200 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 =.<span.class="tok-builtin">@imp
b3220 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ort</span>(<span.class="tok-str"
b3240 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e >&quot;std&quot;</span>);..<span
b3260 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e .class="tok-kw">pub</span>.<span
b3280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 .class="tok-kw">fn</span>.<span.
b32a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 class="tok-fn">main</span>().<sp
b32c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 an.class="tok-type">void</span>.
b32e0 7b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 {.....std.debug.assert(<span.cla
b3300 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f ss="tok-null">false</span>);.}</
b3320 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 code></pre></figure><figure><fig
b3340 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c caption.class="shell-cap">Shell<
b3360 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
b3380 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 g.build-exe.runtime_reaching_unr
b33a0 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 eachable.zig</kbd>.$.<kbd>./runt
b33c0 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 6b 62 64 3e 0a 74 ime_reaching_unreachable</kbd>.t
b33e0 68 72 65 61 64 20 39 39 30 35 35 34 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 hread.990554.panic:.reached.unre
b3400 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 achable.code./home/ci/actions-ru
b3420 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 nner/_work/zig-bootstrap/out/hos
b3440 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 34 30 33 3a 31 34 3a 20 t/lib/zig/std/debug.zig:403:14:.
b3460 30 78 31 30 33 35 37 66 64 20 69 6e 20 61 73 73 65 72 74 20 28 72 75 6e 74 69 6d 65 5f 72 65 61 0x10357fd.in.assert.(runtime_rea
b3480 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 29 0a 20 20 20 20 69 66 20 28 21 6f 6b 29 20 ching_unreachable).....if.(!ok).
b34a0 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 unreachable;.//.assertion.failur
b34c0 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e e..............^./home/ci/action
b34e0 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 s-runner/_work/zig-bootstrap/zig
b3500 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 /docgen_tmp/runtime_reaching_unr
b3520 65 61 63 68 61 62 6c 65 2e 7a 69 67 3a 34 3a 32 31 3a 20 30 78 31 30 33 33 62 62 61 20 69 6e 20 eachable.zig:4:21:.0x1033bba.in.
b3540 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 main.(runtime_reaching_unreachab
b3560 6c 65 29 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b le).....std.debug.assert(false);
b3580 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f .....................^./home/ci/
b35a0 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 actions-runner/_work/zig-bootstr
b35c0 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 ap/out/host/lib/zig/std/start.zi
b35e0 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 33 34 36 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c g:501:22:.0x1033469.in.posixCall
b3600 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e MainAndExit.(runtime_reaching_un
b3620 72 65 61 63 68 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e reachable).............root.main
b3640 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 ();......................^./home
b3660 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f /ci/actions-runner/_work/zig-boo
b3680 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 tstrap/out/host/lib/zig/std/star
b36a0 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 32 66 64 31 20 69 6e 20 5f 73 74 61 72 74 t.zig:253:5:.0x1032fd1.in._start
b36c0 20 28 72 75 6e 74 69 6d 65 5f 72 65 61 63 68 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 29 0a .(runtime_reaching_unreachable).
b36e0 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 ....asm.volatile.(switch.(native
b3700 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f _arch).{.....^.???:?:?:.0x0.in.?
b3720 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 ??.(???).(process.terminated.by.
b3740 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 signal).</samp></pre></figure>..
b3760 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 ............<h3.id="Index-out-of
b3780 2d 42 6f 75 6e 64 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 64 65 78 2d 6f 75 74 -Bounds"><a.href="#toc-Index-out
b37a0 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e 49 6e 64 65 78 20 6f 75 74 20 6f 66 20 42 6f 75 6e 64 73 3c -of-Bounds">Index.out.of.Bounds<
b37c0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 64 65 78 2d /a>.<a.class="hdr".href="#Index-
b37e0 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 out-of-Bounds">..</a></h3>......
b3800 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 ..<p>At.compile-time:</p>.......
b3820 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
b3840 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 ap"><cite.class="file">test_comp
b3860 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 63 69 time_index_out_of_bounds.zig</ci
b3880 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
b38a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 .class="tok-kw">comptime</span>.
b38c0 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 {.....<span.class="tok-kw">const
b38e0 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.array:.[<span.class="tok
b3900 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -number">5</span>]<span.class="t
b3920 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">u8</span>.=.<span.class
b3940 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 ="tok-str">&quot;hello&quot;</sp
b3960 61 6e 3e 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e an>.*;.....<span.class="tok-kw">
b3980 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 67 61 72 62 61 67 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 const</span>.garbage.=.array[<sp
b39a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b an.class="tok-number">5</span>];
b39c0 0a 20 20 20 20 5f 20 3d 20 67 61 72 62 61 67 65 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ....._.=.garbage;.}</code></pre>
b39e0 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 </figure><figure><figcaption.cla
b3a00 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e ss="shell-cap">Shell</figcaption
b3a20 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 ><pre><samp>$.<kbd>zig.test.test
b3a40 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 _comptime_index_out_of_bounds.zi
b3a60 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 g</kbd>.<span.class="sgr-1m">doc
b3a80 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f gen_tmp/test_comptime_index_out_
b3aa0 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3a 33 3a 32 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e of_bounds.zig:3:27:.</span><span
b3ac0 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c .class="sgr-31m">error:.</span><
b3ae0 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 69 6e 64 65 78 20 35 20 6f 75 74 73 span.class="sgr-1m">index.5.outs
b3b00 69 64 65 20 61 72 72 61 79 20 6f 66 20 6c 65 6e 67 74 68 20 35 0a 3c 2f 73 70 61 6e 3e 20 20 20 ide.array.of.length.5.</span>...
b3b20 20 63 6f 6e 73 74 20 67 61 72 62 61 67 65 20 3d 20 61 72 72 61 79 5b 35 5d 3b 0a 20 20 20 20 20 .const.garbage.=.array[5];......
b3b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .....................<span.class
b3b60 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 ="sgr-32m">^.</span>.</samp></pr
b3b80 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a e></figure>.......<p>At.runtime:
b3ba0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
b3bc0 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
b3be0 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 ">runtime_index_out_of_bounds.zi
b3c00 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e g</cite></figcaption><pre><code>
b3c20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">pub</span>.
b3c40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
b3c60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 span.class="tok-fn">main</span>(
b3c80 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 ).<span.class="tok-type">void</s
b3ca0 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
b3cc0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 const</span>.x.=.foo(<span.class
b3ce0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 ="tok-str">&quot;hello&quot;</sp
b3d00 61 6e 3e 29 3b 0a 20 20 20 20 5f 20 3d 20 78 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>);....._.=.x;.}..<span.class=
b3d20 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "tok-kw">fn</span>.<span.class="
b3d40 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c tok-fn">foo</span>(x:.[]<span.cl
b3d60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ass="tok-kw">const</span>.<span.
b3d80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 class="tok-type">u8</span>).<spa
b3da0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 n.class="tok-type">u8</span>.{..
b3dc0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f ...<span.class="tok-kw">return</
b3de0 73 70 61 6e 3e 20 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 span>.x[<span.class="tok-number"
b3e00 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 >5</span>];.}</code></pre></figu
b3e20 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
b3e40 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
b3e60 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 <samp>$.<kbd>zig.build-exe.runti
b3e80 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 6b 62 64 3e me_index_out_of_bounds.zig</kbd>
b3ea0 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 .$.<kbd>./runtime_index_out_of_b
b3ec0 6f 75 6e 64 73 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 39 39 30 35 39 34 20 70 61 6e 69 63 3a ounds</kbd>.thread.990594.panic:
b3ee0 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 3a 20 69 6e 64 65 78 20 35 2c 20 6c .index.out.of.bounds:.index.5,.l
b3f00 65 6e 20 35 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f en.5./home/ci/actions-runner/_wo
b3f20 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f rk/zig-bootstrap/zig/docgen_tmp/
b3f40 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3a runtime_index_out_of_bounds.zig:
b3f60 37 3a 31 33 3a 20 30 78 31 30 33 35 63 37 39 20 69 6e 20 66 6f 6f 20 28 72 75 6e 74 69 6d 65 5f 7:13:.0x1035c79.in.foo.(runtime_
b3f80 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 29 0a 20 20 20 20 72 65 74 75 72 6e 20 index_out_of_bounds).....return.
b3fa0 78 5b 35 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 x[5];.............^./home/ci/act
b3fc0 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
b3fe0 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 zig/docgen_tmp/runtime_index_out
b4000 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3a 32 3a 31 38 3a 20 30 78 31 30 33 33 62 65 36 20 69 _of_bounds.zig:2:18:.0x1033be6.i
b4020 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 n.main.(runtime_index_out_of_bou
b4040 6e 64 73 29 0a 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c nds).....const.x.=.foo(&quot;hel
b4060 6c 6f 26 71 75 6f 74 3b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 lo&quot;);..................^./h
b4080 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d ome/ci/actions-runner/_work/zig-
b40a0 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 bootstrap/out/host/lib/zig/std/s
b40c0 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 33 34 38 39 20 69 6e 20 70 6f tart.zig:501:22:.0x1033489.in.po
b40e0 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 64 65 sixCallMainAndExit.(runtime_inde
b4100 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f x_out_of_bounds).............roo
b4120 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e t.main();......................^
b4140 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a ./home/ci/actions-runner/_work/z
b4160 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 ig-bootstrap/out/host/lib/zig/st
b4180 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 32 66 66 31 20 69 6e 20 d/start.zig:253:5:.0x1032ff1.in.
b41a0 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 _start.(runtime_index_out_of_bou
b41c0 6e 64 73 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e nds).....asm.volatile.(switch.(n
b41e0 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 ative_arch).{.....^.???:?:?:.0x0
b4200 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 .in.???.(???).(process.terminate
b4220 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 d.by.signal).</samp></pre></figu
b4240 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 61 73 74 2d 4e 65 re>..............<h3.id="Cast-Ne
b4260 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 gative-Number-to-Unsigned-Intege
b4280 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e r"><a.href="#toc-Cast-Negative-N
b42a0 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e 43 61 73 74 20 umber-to-Unsigned-Integer">Cast.
b42c0 4e 65 67 61 74 69 76 65 20 4e 75 6d 62 65 72 20 74 6f 20 55 6e 73 69 67 6e 65 64 20 49 6e 74 65 Negative.Number.to.Unsigned.Inte
b42e0 67 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 ger</a>.<a.class="hdr".href="#Ca
b4300 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 st-Negative-Number-to-Unsigned-I
b4320 6e 74 65 67 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 nteger">..</a></h3>........<p>At
b4340 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 .compile-time:</p>.......<figure
b4360 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 ><figcaption.class="zig-cap"><ci
b4380 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e te.class="file">test_comptime_in
b43a0 76 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f valid_cast.zig</cite></figcaptio
b43c0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
b43e0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c ">comptime</span>.{.....<span.cl
b4400 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a ass="tok-kw">const</span>.value:
b4420 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 .<span.class="tok-type">i32</spa
b4440 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 n>.=.-<span.class="tok-number">1
b4460 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>;.....<span.class="tok-kw
b4480 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 73 69 67 6e 65 64 3a 20 3c 73 70 61 6e 20 63 ">const</span>.unsigned:.<span.c
b44a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">u32</span>.=.<sp
b44c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c an.class="tok-builtin">@intCast<
b44e0 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3b 0a 20 20 20 20 5f 20 3d 20 75 6e 73 69 67 6e 65 64 3b /span>(value);....._.=.unsigned;
b4500 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
b4520 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 <figcaption.class="shell-cap">Sh
b4540 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
b4560 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 d>zig.test.test_comptime_invalid
b4580 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 _cast.zig</kbd>.<span.class="sgr
b45a0 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e -1m">docgen_tmp/test_comptime_in
b45c0 76 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3a 33 3a 33 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 valid_cast.zig:3:36:.</span><spa
b45e0 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e n.class="sgr-31m">error:.</span>
b4600 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 74 79 70 65 20 27 75 33 32 27 20 <span.class="sgr-1m">type.'u32'.
b4620 63 61 6e 6e 6f 74 20 72 65 70 72 65 73 65 6e 74 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 27 cannot.represent.integer.value.'
b4640 2d 31 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 3a 20 75 -1'.</span>....const.unsigned:.u
b4660 33 32 20 3d 20 40 69 6e 74 43 61 73 74 28 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 32.=.@intCast(value);...........
b4680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 .........................<span.c
b46a0 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 lass="sgr-32m">^~~~~.</span>.</s
b46c0 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 amp></pre></figure>.......<p>At.
b46e0 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 runtime:</p>.......<figure><figc
b4700 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
b4720 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 2e 7a ss="file">runtime_invalid_cast.z
b4740 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
b4760 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
b4780 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 n>.std.=.<span.class="tok-builti
b47a0 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">@import</span>(<span.class="t
b47c0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b ok-str">&quot;std&quot;</span>);
b47e0 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e ..<span.class="tok-kw">pub</span
b4800 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">fn</span>
b4820 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e .<span.class="tok-fn">main</span
b4840 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c >().<span.class="tok-type">void<
b4860 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
b4880 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">var</span>.value:.<span.class=
b48a0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 "tok-type">i32</span>.=.-<span.c
b48c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 lass="tok-number">1</span>;.<spa
b48e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 75 6e 74 69 6d 65 n.class="tok-comment">//.runtime
b4900 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 76 61 6c 75 65 -known</span>....._.=.&amp;value
b4920 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ;.....<span.class="tok-kw">const
b4940 3c 2f 73 70 61 6e 3e 20 75 6e 73 69 67 6e 65 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>.unsigned:.<span.class="t
b4960 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">u32</span>.=.<span.clas
b4980 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 s="tok-builtin">@intCast</span>(
b49a0 76 61 6c 75 65 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 value);.....std.debug.print(<spa
b49c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b n.class="tok-str">&quot;value:.{
b49e0 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 75 6e 73 69 67 6e 65 64 7d 29 3b 0a }\n&quot;</span>,..{unsigned});.
b4a00 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
b4a20 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
b4a40 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
b4a60 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 >zig.build-exe.runtime_invalid_c
b4a80 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 69 ast.zig</kbd>.$.<kbd>./runtime_i
b4aa0 6e 76 61 6c 69 64 5f 63 61 73 74 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 39 39 30 36 33 35 20 nvalid_cast</kbd>.thread.990635.
b4ac0 70 61 6e 69 63 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 63 61 73 74 20 6e 65 67 61 74 69 76 65 20 panic:.attempt.to.cast.negative.
b4ae0 76 61 6c 75 65 20 74 6f 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 0a 2f 68 6f 6d 65 2f value.to.unsigned.integer./home/
b4b00 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 ci/actions-runner/_work/zig-boot
b4b20 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 strap/zig/docgen_tmp/runtime_inv
b4b40 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3a 36 3a 32 37 3a 20 30 78 31 30 33 33 64 32 32 20 69 6e alid_cast.zig:6:27:.0x1033d22.in
b4b60 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 29 0a 20 20 20 .main.(runtime_invalid_cast)....
b4b80 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 3a 20 75 33 32 20 3d 20 40 69 6e 74 43 61 73 74 28 .const.unsigned:.u32.=.@intCast(
b4ba0 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 value);.........................
b4bc0 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 ..^./home/ci/actions-runner/_wor
b4be0 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 k/zig-bootstrap/out/host/lib/zig
b4c00 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 33 35 38 39 /std/start.zig:501:22:.0x1033589
b4c20 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d .in.posixCallMainAndExit.(runtim
b4c40 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 e_invalid_cast).............root
b4c60 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a .main();......................^.
b4c80 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 /home/ci/actions-runner/_work/zi
b4ca0 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 g-bootstrap/out/host/lib/zig/std
b4cc0 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 33 30 66 31 20 69 6e 20 5f /start.zig:253:5:.0x10330f1.in._
b4ce0 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 29 0a 20 20 20 start.(runtime_invalid_cast)....
b4d00 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 .asm.volatile.(switch.(native_ar
b4d20 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 ch).{.....^.???:?:?:.0x0.in.???.
b4d40 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 (???).(process.terminated.by.sig
b4d60 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 nal).</samp></pre></figure>.....
b4d80 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 6d 61 78 69 6d 75 ..<p>.......To.obtain.the.maximu
b4da0 6d 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2c 20 m.value.of.an.unsigned.integer,.
b4dc0 75 73 65 20 3c 63 6f 64 65 3e 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3c 2f 63 6f 64 65 3e use.<code>std.math.maxInt</code>
b4de0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ........</p>..............<h3.id
b4e00 3d 22 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 3c 61 20 68 72 65 66 3d 22 ="Cast-Truncates-Data"><a.href="
b4e20 23 74 6f 63 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 43 61 73 74 20 54 #toc-Cast-Truncates-Data">Cast.T
b4e40 72 75 6e 63 61 74 65 73 20 44 61 74 61 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 runcates.Data</a>.<a.class="hdr"
b4e60 20 68 72 65 66 3d 22 23 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e c2 a7 3c .href="#Cast-Truncates-Data">..<
b4e80 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 /a></h3>........<p>At.compile-ti
b4ea0 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f me:</p>.......<figure><figcaptio
b4ec0 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 n.class="zig-cap"><cite.class="f
b4ee0 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 5f ile">test_comptime_invalid_cast_
b4f00 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e truncate.zig</cite></figcaption>
b4f20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
b4f40 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 comptime</span>.{.....<span.clas
b4f60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 70 61 72 74 61 6e 5f s="tok-kw">const</span>.spartan_
b4f80 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 count:.<span.class="tok-type">u1
b4fa0 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 6</span>.=.<span.class="tok-numb
b4fc0 65 72 22 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d er">300</span>;.....<span.class=
b4fe0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 "tok-kw">const</span>.byte:.<spa
b5000 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c n.class="tok-type">u8</span>.=.<
b5020 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 span.class="tok-builtin">@intCas
b5040 74 3c 2f 73 70 61 6e 3e 28 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 0a 20 20 20 20 5f 20 3d t</span>(spartan_count);....._.=
b5060 20 62 79 74 65 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 .byte;.}</code></pre></figure><f
b5080 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 igure><figcaption.class="shell-c
b50a0 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 ap">Shell</figcaption><pre><samp
b50c0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 >$.<kbd>zig.test.test_comptime_i
b50e0 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c nvalid_cast_truncate.zig</kbd>.<
b5100 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 span.class="sgr-1m">docgen_tmp/t
b5120 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e 63 61 est_comptime_invalid_cast_trunca
b5140 74 65 2e 7a 69 67 3a 33 3a 33 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d te.zig:3:31:.</span><span.class=
b5160 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c "sgr-31m">error:.</span><span.cl
b5180 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 74 79 70 65 20 27 75 38 27 20 63 61 6e 6e 6f 74 20 72 65 ass="sgr-1m">type.'u8'.cannot.re
b51a0 70 72 65 73 65 6e 74 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 27 33 30 30 27 0a 3c 2f 73 70 present.integer.value.'300'.</sp
b51c0 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 62 79 74 65 3a 20 75 38 20 3d 20 40 69 6e 74 43 61 73 74 an>....const.byte:.u8.=.@intCast
b51e0 28 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (spartan_count);................
b5200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d ...............<span.class="sgr-
b5220 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 32m">^~~~~~~~~~~~~.</span>.</sam
b5240 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 p></pre></figure>.......<p>At.ru
b5260 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 ntime:</p>.......<figure><figcap
b5280 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 tion.class="zig-cap"><cite.class
b52a0 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 ="file">runtime_invalid_cast_tru
b52c0 6e 63 61 74 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 ncate.zig</cite></figcaption><pr
b52e0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
b5300 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.std.=.<span.class="tok
b5320 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@import</span>(<span.c
b5340 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;std&quot;</
b5360 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 span>);..<span.class="tok-kw">pu
b5380 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e b</span>.<span.class="tok-kw">fn
b53a0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 </span>.<span.class="tok-fn">mai
b53c0 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n</span>().<span.class="tok-type
b53e0 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">void</span>.{.....<span.class=
b5400 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e "tok-kw">var</span>.spartan_coun
b5420 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 t:.<span.class="tok-type">u16</s
b5440 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e pan>.=.<span.class="tok-number">
b5460 33 30 30 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 300</span>;.<span.class="tok-com
b5480 6d 65 6e 74 22 3e 2f 2f 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 ment">//.runtime-known</span>...
b54a0 20 20 5f 20 3d 20 26 61 6d 70 3b 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 3b 0a 20 20 20 20 3c 73 .._.=.&amp;spartan_count;.....<s
b54c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
b54e0 62 79 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c byte:.<span.class="tok-type">u8<
b5500 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 /span>.=.<span.class="tok-builti
b5520 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 n">@intCast</span>(spartan_count
b5540 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 );.....std.debug.print(<span.cla
b5560 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 ss="tok-str">&quot;value:.{}\n&q
b5580 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c uot;</span>,..{byte});.}</code><
b55a0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f /pre></figure><figure><figcaptio
b55c0 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 n.class="shell-cap">Shell</figca
b55e0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c ption><pre><samp>$.<kbd>zig.buil
b5600 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e 63 d-exe.runtime_invalid_cast_trunc
b5620 61 74 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 69 ate.zig</kbd>.$.<kbd>./runtime_i
b5640 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e 63 61 74 65 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 nvalid_cast_truncate</kbd>.threa
b5660 64 20 39 39 30 36 37 35 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 63 61 73 74 20 74 72 75 d.990675.panic:.integer.cast.tru
b5680 6e 63 61 74 65 64 20 62 69 74 73 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e ncated.bits./home/ci/actions-run
b56a0 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 ner/_work/zig-bootstrap/zig/docg
b56c0 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e en_tmp/runtime_invalid_cast_trun
b56e0 63 61 74 65 2e 7a 69 67 3a 36 3a 32 32 3a 20 30 78 31 30 33 33 64 62 63 20 69 6e 20 6d 61 69 6e cate.zig:6:22:.0x1033dbc.in.main
b5700 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e 63 61 74 65 29 .(runtime_invalid_cast_truncate)
b5720 0a 20 20 20 20 63 6f 6e 73 74 20 62 79 74 65 3a 20 75 38 20 3d 20 40 69 6e 74 43 61 73 74 28 73 .....const.byte:.u8.=.@intCast(s
b5740 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 partan_count);..................
b5760 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 ....^./home/ci/actions-runner/_w
b5780 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a ork/zig-bootstrap/out/host/lib/z
b57a0 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 33 36 ig/std/start.zig:501:22:.0x10336
b57c0 31 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 19.in.posixCallMainAndExit.(runt
b57e0 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e 63 61 74 65 29 0a 20 20 20 20 20 ime_invalid_cast_truncate)......
b5800 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......root.main();.............
b5820 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e .........^./home/ci/actions-runn
b5840 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f er/_work/zig-bootstrap/out/host/
b5860 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 lib/zig/std/start.zig:253:5:.0x1
b5880 30 33 33 31 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 033181.in._start.(runtime_invali
b58a0 64 5f 63 61 73 74 5f 74 72 75 6e 63 61 74 65 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c d_cast_truncate).....asm.volatil
b58c0 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a e.(switch.(native_arch).{.....^.
b58e0 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 ???:?:?:.0x0.in.???.(???).(proce
b5900 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e ss.terminated.by.signal).</samp>
b5920 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 </pre></figure>.......<p>.......
b5940 54 6f 20 74 72 75 6e 63 61 74 65 20 62 69 74 73 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 To.truncate.bits,.use.<a.href="#
b5960 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c truncate">@truncate</a>........<
b5980 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 65 67 65 72 /p>..............<h3.id="Integer
b59a0 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 65 67 65 72 -Overflow"><a.href="#toc-Integer
b59c0 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 -Overflow">Integer.Overflow</a>.
b59e0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4f 76 <a.class="hdr".href="#Integer-Ov
b5a00 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 erflow">..</a></h3>........<h4.i
b5a20 64 3d 22 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 d="Default-Operations"><a.href="
b5a40 23 74 6f 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 44 65 66 61 75 6c 74 #toc-Default-Operations">Default
b5a60 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 .Operations</a>.<a.class="hdr".h
b5a80 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e ref="#Default-Operations">..</a>
b5aa0 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 </h4>........<p>The.following.op
b5ac0 65 72 61 74 6f 72 73 20 63 61 6e 20 63 61 75 73 65 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c erators.can.cause.integer.overfl
b5ae0 6f 77 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ow:</p>.......<ul>...........<li
b5b00 3e 3c 63 6f 64 65 3e 2b 3c 2f 63 6f 64 65 3e 20 28 61 64 64 69 74 69 6f 6e 29 3c 2f 6c 69 3e 0a ><code>+</code>.(addition)</li>.
b5b20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 2d 3c 2f 63 6f 64 65 3e 20 28 73 75 ..........<li><code>-</code>.(su
b5b40 62 74 72 61 63 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 btraction)</li>...........<li><c
b5b60 6f 64 65 3e 2d 3c 2f 63 6f 64 65 3e 20 28 6e 65 67 61 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 ode>-</code>.(negation)</li>....
b5b80 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 2a 3c 2f 63 6f 64 65 3e 20 28 6d 75 6c 74 69 .......<li><code>*</code>.(multi
b5ba0 70 6c 69 63 61 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 plication)</li>...........<li><c
b5bc0 6f 64 65 3e 2f 3c 2f 63 6f 64 65 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 ode>/</code>.(division)</li>....
b5be0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 .....<li><a.href="#divTrunc">@di
b5c00 76 54 72 75 6e 63 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 vTrunc</a>.(division)</li>......
b5c20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 ...<li><a.href="#divFloor">@divF
b5c40 6c 6f 6f 72 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 loor</a>.(division)</li>........
b5c60 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 .<li><a.href="#divExact">@divExa
b5c80 63 74 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 ct</a>.(division)</li>.......</u
b5ca0 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 45 78 61 6d 70 6c 65 20 77 69 74 68 20 61 64 64 69 74 69 6f l>.......<p>Example.with.additio
b5cc0 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 n.at.compile-time:</p>.......<fi
b5ce0 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
b5d00 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d ><cite.class="file">test_comptim
b5d20 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f e_overflow.zig</cite></figcaptio
b5d40 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
b5d60 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c ">comptime</span>.{.....<span.cl
b5d80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 ass="tok-kw">var</span>.byte:.<s
b5da0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d pan.class="tok-type">u8</span>.=
b5dc0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 .<span.class="tok-number">255</s
b5de0 70 61 6e 3e 3b 0a 20 20 20 20 62 79 74 65 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>;.....byte.+=.<span.class="t
b5e00 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 ok-number">1</span>;.}</code></p
b5e20 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 re></figure><figure><figcaption.
b5e40 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 class="shell-cap">Shell</figcapt
b5e60 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 ion><pre><samp>$.<kbd>zig.test.t
b5e80 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a est_comptime_overflow.zig</kbd>.
b5ea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f <span.class="sgr-1m">docgen_tmp/
b5ec0 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 33 3a 31 30 3a test_comptime_overflow.zig:3:10:
b5ee0 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 .</span><span.class="sgr-31m">er
b5f00 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 ror:.</span><span.class="sgr-1m"
b5f20 3e 6f 76 65 72 66 6c 6f 77 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 27 75 38 27 20 77 >overflow.of.integer.type.'u8'.w
b5f40 69 74 68 20 76 61 6c 75 65 20 27 32 35 36 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 62 79 74 65 20 ith.value.'256'.</span>....byte.
b5f60 2b 3d 20 31 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e +=.1;.....<span.class="sgr-32m">
b5f80 7e 7e 7e 7e 7e 5e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ~~~~~^~~~.</span>.</samp></pre><
b5fa0 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 /figure>.......<p>At.runtime:</p
b5fc0 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
b5fe0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 s="zig-cap"><cite.class="file">r
b6000 75 6e 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 untime_overflow.zig</cite></figc
b6020 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
b6040 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.std.=.<span.
b6060 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 class="tok-builtin">@import</spa
b6080 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 n>(<span.class="tok-str">&quot;s
b60a0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 td&quot;</span>);..<span.class="
b60c0 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tok-kw">pub</span>.<span.class="
b60e0 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tok-kw">fn</span>.<span.class="t
b6100 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-fn">main</span>().<span.class
b6120 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ="tok-type">void</span>.{.....<s
b6140 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 pan.class="tok-kw">var</span>.by
b6160 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 te:.<span.class="tok-type">u8</s
b6180 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e pan>.=.<span.class="tok-number">
b61a0 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 62 79 74 65 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 255</span>;.....byte.+=.<span.cl
b61c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 73 ass="tok-number">1</span>;.....s
b61e0 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d td.debug.print(<span.class="tok-
b6200 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 str">&quot;value:.{}\n&quot;</sp
b6220 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 an>,..{byte});.}</code></pre></f
b6240 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d igure><figure><figcaption.class=
b6260 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 "shell-cap">Shell</figcaption><p
b6280 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 re><samp>$.<kbd>zig.build-exe.ru
b62a0 6e 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e ntime_overflow.zig</kbd>.$.<kbd>
b62c0 2e 2f 72 75 6e 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 ./runtime_overflow</kbd>.thread.
b62e0 39 39 30 37 31 35 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 0a 2f 990715.panic:.integer.overflow./
b6300 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 home/ci/actions-runner/_work/zig
b6320 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d -bootstrap/zig/docgen_tmp/runtim
b6340 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 35 3a 31 30 3a 20 30 78 31 30 33 33 64 39 65 20 69 e_overflow.zig:5:10:.0x1033d9e.i
b6360 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 29 0a 20 20 20 20 62 79 n.main.(runtime_overflow).....by
b6380 74 65 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 te.+=.1;..........^./home/ci/act
b63a0 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
b63c0 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 out/host/lib/zig/std/start.zig:5
b63e0 30 31 3a 32 32 3a 20 30 78 31 30 33 33 36 31 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 01:22:.0x1033619.in.posixCallMai
b6400 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 29 0a 20 20 20 20 nAndExit.(runtime_overflow).....
b6420 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ........root.main();............
b6440 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e ..........^./home/ci/actions-run
b6460 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 ner/_work/zig-bootstrap/out/host
b6480 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 /lib/zig/std/start.zig:253:5:.0x
b64a0 31 30 33 33 31 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 6f 76 65 72 66 1033181.in._start.(runtime_overf
b64c0 6c 6f 77 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e low).....asm.volatile.(switch.(n
b64e0 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 ative_arch).{.....^.???:?:?:.0x0
b6500 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 .in.???.(???).(process.terminate
b6520 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 d.by.signal).</samp></pre></figu
b6540 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 53 74 61 6e 64 61 72 re>..............<h4.id="Standar
b6560 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 d-Library-Math-Functions"><a.hre
b6580 66 3d 22 23 74 6f 63 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 f="#toc-Standard-Library-Math-Fu
b65a0 6e 63 74 69 6f 6e 73 22 3e 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 4d 61 74 68 20 46 nctions">Standard.Library.Math.F
b65c0 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 unctions</a>.<a.class="hdr".href
b65e0 3d 22 23 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f ="#Standard-Library-Math-Functio
b6600 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 ns">..</a></h4>........<p>These.
b6620 66 75 6e 63 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 73 74 61 6e 64 61 functions.provided.by.the.standa
b6640 72 64 20 6c 69 62 72 61 72 79 20 72 65 74 75 72 6e 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 rd.library.return.possible.error
b6660 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e s.</p>.......<ul>...........<li>
b6680 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
b66a0 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @import</span>(<span.class="tok-
b66c0 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 str">&quot;std&quot;</span>).mat
b66e0 68 2e 61 64 64 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e h.add</code></li>...........<li>
b6700 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
b6720 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @import</span>(<span.class="tok-
b6740 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 str">&quot;std&quot;</span>).mat
b6760 68 2e 73 75 62 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e h.sub</code></li>...........<li>
b6780 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
b67a0 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @import</span>(<span.class="tok-
b67c0 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 str">&quot;std&quot;</span>).mat
b67e0 68 2e 6d 75 6c 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e h.mul</code></li>...........<li>
b6800 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
b6820 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @import</span>(<span.class="tok-
b6840 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 str">&quot;std&quot;</span>).mat
b6860 68 2e 64 69 76 54 72 75 6e 63 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 h.divTrunc</code></li>..........
b6880 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c .<li><code><span.class="tok-buil
b68a0 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tin">@import</span>(<span.class=
b68c0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;std&quot;</span>
b68e0 29 2e 6d 61 74 68 2e 64 69 76 46 6c 6f 6f 72 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ).math.divFloor</code></li>.....
b6900 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ......<li><code><span.class="tok
b6920 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@import</span>(<span.c
b6940 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;std&quot;</
b6960 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 45 78 61 63 74 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e span>).math.divExact</code></li>
b6980 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ...........<li><code><span.class
b69a0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@import</span>(<s
b69c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 pan.class="tok-str">&quot;std&qu
b69e0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 73 68 6c 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e ot;</span>).math.shl</code></li>
b6a00 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 45 78 61 6d 70 6c 65 20 6f 66 .......</ul>.......<p>Example.of
b6a20 20 63 61 74 63 68 69 6e 67 20 61 6e 20 6f 76 65 72 66 6c 6f 77 20 66 6f 72 20 61 64 64 69 74 69 .catching.an.overflow.for.additi
b6a40 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f on:</p>.......<figure><figcaptio
b6a60 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 n.class="zig-cap"><cite.class="f
b6a80 69 6c 65 22 3e 6d 61 74 68 5f 61 64 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 ile">math_add.zig</cite></figcap
b6aa0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
b6ac0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 74 68 20 3d 20 3c 73 70 61 6e 20 63 -kw">const</span>.math.=.<span.c
b6ae0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e lass="tok-builtin">@import</span
b6b00 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
b6b20 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 d&quot;</span>).math;.<span.clas
b6b40 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 s="tok-kw">const</span>.print.=.
b6b60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 <span.class="tok-builtin">@impor
b6b80 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>(<span.class="tok-str">&
b6ba0 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 quot;std&quot;</span>).debug.pri
b6bc0 6e 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 nt;.<span.class="tok-kw">pub</sp
b6be0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 an>.<span.class="tok-kw">fn</spa
b6c00 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 n>.<span.class="tok-fn">main</sp
b6c20 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f an>().!<span.class="tok-type">vo
b6c40 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b id</span>.{.....<span.class="tok
b6c60 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">var</span>.byte:.<span.clas
b6c80 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 s="tok-type">u8</span>.=.<span.c
b6ca0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 lass="tok-number">255</span>;...
b6cc0 20 20 20 62 79 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 ...byte.=.<span.class="tok-kw">i
b6ce0 66 3c 2f 73 70 61 6e 3e 20 28 6d 61 74 68 2e 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 f</span>.(math.add(<span.class="
b6d00 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 2c 20 3c 73 70 61 6e tok-type">u8</span>,.byte,.<span
b6d20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 20 7c .class="tok-number">1</span>)).|
b6d40 72 65 73 75 6c 74 7c 20 72 65 73 75 6c 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d result|.result.<span.class="tok-
b6d60 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 kw">else</span>.|err|.{.........
b6d80 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f print(<span.class="tok-str">&quo
b6da0 74 3b 75 6e 61 62 6c 65 20 74 6f 20 61 64 64 20 6f 6e 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b t;unable.to.add.one:.{s}\n&quot;
b6dc0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c </span>,..{<span.class="tok-buil
b6de0 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 0a 20 tin">@errorName</span>(err)});..
b6e00 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 .......<span.class="tok-kw">retu
b6e20 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 70 72 69 6e 74 rn</span>.err;.....};......print
b6e40 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 73 (<span.class="tok-str">&quot;res
b6e60 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 ult:.{}\n&quot;</span>,..{byte})
b6e80 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
b6ea0 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 ><figcaption.class="shell-cap">S
b6ec0 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
b6ee0 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 6d 61 74 68 5f 61 64 64 2e 7a 69 67 3c 2f 6b bd>zig.build-exe.math_add.zig</k
b6f00 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 6d 61 74 68 5f 61 64 64 3c 2f 6b 62 64 3e 0a 75 6e 61 62 bd>.$.<kbd>./math_add</kbd>.unab
b6f20 6c 65 20 74 6f 20 61 64 64 20 6f 6e 65 3a 20 4f 76 65 72 66 6c 6f 77 0a 65 72 72 6f 72 3a 20 4f le.to.add.one:.Overflow.error:.O
b6f40 76 65 72 66 6c 6f 77 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f verflow./home/ci/actions-runner/
b6f60 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 _work/zig-bootstrap/out/host/lib
b6f80 2f 7a 69 67 2f 73 74 64 2f 6d 61 74 68 2e 7a 69 67 3a 36 31 39 3a 32 31 3a 20 30 78 31 30 33 33 /zig/std/math.zig:619:21:.0x1033
b6fa0 64 66 35 20 69 6e 20 61 64 64 5f 5f 61 6e 6f 6e 5f 32 36 35 30 20 28 6d 61 74 68 5f 61 64 64 29 df5.in.add__anon_2650.(math_add)
b6fc0 0a 20 20 20 20 69 66 20 28 6f 76 5b 31 5d 20 21 3d 20 30 29 20 72 65 74 75 72 6e 20 65 72 72 6f .....if.(ov[1].!=.0).return.erro
b6fe0 72 2e 4f 76 65 72 66 6c 6f 77 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.Overflow;.....................
b7000 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f ^./home/ci/actions-runner/_work/
b7020 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 6d 61 74 zig-bootstrap/zig/docgen_tmp/mat
b7040 68 5f 61 64 64 2e 7a 69 67 3a 38 3a 39 3a 20 30 78 31 30 33 33 64 39 33 20 69 6e 20 6d 61 69 6e h_add.zig:8:9:.0x1033d93.in.main
b7060 20 28 6d 61 74 68 5f 61 64 64 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 3b 0a .(math_add).........return.err;.
b7080 20 20 20 20 20 20 20 20 5e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e ........^.</samp></pre></figure>
b70a0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 42 75 69 6c 74 69 6e 2d 4f 76 ..............<h4.id="Builtin-Ov
b70c0 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d erflow-Functions"><a.href="#toc-
b70e0 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c Builtin-Overflow-Functions">Buil
b7100 74 69 6e 20 4f 76 65 72 66 6c 6f 77 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c tin.Overflow.Functions</a>.<a.cl
b7120 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f ass="hdr".href="#Builtin-Overflo
b7140 77 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 w-Functions">..</a></h4>........
b7160 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 62 75 69 6c 74 69 6e 73 20 72 65 74 75 72 6e 20 <p>.......These.builtins.return.
b7180 61 20 74 75 70 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 74 68 65 72 65 a.tuple.containing.whether.there
b71a0 20 77 61 73 20 61 6e 20 6f 76 65 72 66 6c 6f 77 0a 20 20 20 20 20 20 28 61 73 20 61 20 3c 63 6f .was.an.overflow.......(as.a.<co
b71c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 de><span.class="tok-type">u1</sp
b71e0 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 6e 64 20 74 68 65 20 70 6f 73 73 69 62 6c 79 20 6f 76 65 an></code>).and.the.possibly.ove
b7200 72 66 6c 6f 77 65 64 20 62 69 74 73 20 6f 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 3a 0a 20 rflowed.bits.of.the.operation:..
b7220 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c .....</p>.......<ul>...........<
b7240 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 li><a.href="#addWithOverflow">@a
b7260 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ddWithOverflow</a></li>.........
b7280 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 ..<li><a.href="#subWithOverflow"
b72a0 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 >@subWithOverflow</a></li>......
b72c0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c .....<li><a.href="#mulWithOverfl
b72e0 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ow">@mulWithOverflow</a></li>...
b7300 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 ........<li><a.href="#shlWithOve
b7320 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e rflow">@shlWithOverflow</a></li>
b7340 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 .......</ul>.......<p>.......Exa
b7360 6d 70 6c 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f mple.of.<a.href="#addWithOverflo
b7380 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c w">@addWithOverflow</a>:.......<
b73a0 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
b73c0 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
b73e0 3e 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 >addWithOverflow_builtin.zig</ci
b7400 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
b7420 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 .class="tok-kw">const</span>.pri
b7440 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 nt.=.<span.class="tok-builtin">@
b7460 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 import</span>(<span.class="tok-s
b7480 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 tr">&quot;std&quot;</span>).debu
b74a0 67 2e 70 72 69 6e 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 g.print;.<span.class="tok-kw">pu
b74c0 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e b</span>.<span.class="tok-kw">fn
b74e0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 </span>.<span.class="tok-fn">mai
b7500 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n</span>().<span.class="tok-type
b7520 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">void</span>.{.....<span.class=
b7540 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 "tok-kw">const</span>.byte:.<spa
b7560 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c n.class="tok-type">u8</span>.=.<
b7580 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 span.class="tok-number">255</spa
b75a0 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>;......<span.class="tok-kw">co
b75c0 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b nst</span>.ov.=.<span.class="tok
b75e0 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e -builtin">@addWithOverflow</span
b7600 3e 28 62 79 74 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 >(byte,.<span.class="tok-number"
b7620 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >10</span>);.....<span.class="to
b7640 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">if</span>.(ov[<span.class=
b7660 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 21 3d 20 3c 73 70 61 6e 20 "tok-number">1</span>].!=.<span.
b7680 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 class="tok-number">0</span>).{..
b76a0 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 .......print(<span.class="tok-st
b76c0 72 22 3e 26 71 75 6f 74 3b 6f 76 65 72 66 6c 6f 77 65 64 20 72 65 73 75 6c 74 3a 20 7b 7d 5c 6e r">&quot;overflowed.result:.{}\n
b76e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;</span>,..{ov[<span.class=
b7700 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 0a 20 20 20 20 7d 20 "tok-number">0</span>]});.....}.
b7720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e <span.class="tok-kw">else</span>
b7740 20 7b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .{.........print(<span.class="to
b7760 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 73 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c k-str">&quot;result:.{}\n&quot;<
b7780 2f 73 70 61 6e 3e 2c 20 2e 7b 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 /span>,..{ov[<span.class="tok-nu
b77a0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 mber">0</span>]});.....}.}</code
b77c0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 ></pre></figure><figure><figcapt
b77e0 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 ion.class="shell-cap">Shell</fig
b7800 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 caption><pre><samp>$.<kbd>zig.bu
b7820 69 6c 64 2d 65 78 65 20 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 5f 62 75 69 6c 74 69 6e 2e ild-exe.addWithOverflow_builtin.
b7840 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 61 64 64 57 69 74 68 4f 76 65 72 66 6c zig</kbd>.$.<kbd>./addWithOverfl
b7860 6f 77 5f 62 75 69 6c 74 69 6e 3c 2f 6b 62 64 3e 0a 6f 76 65 72 66 6c 6f 77 65 64 20 72 65 73 75 ow_builtin</kbd>.overflowed.resu
b7880 6c 74 3a 20 39 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 lt:.9.</samp></pre></figure>....
b78a0 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 ..........<h4.id="Wrapping-Opera
b78c0 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 72 61 70 70 69 6e 67 2d 4f 70 tions"><a.href="#toc-Wrapping-Op
b78e0 65 72 61 74 69 6f 6e 73 22 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 erations">Wrapping.Operations</a
b7900 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 >.<a.class="hdr".href="#Wrapping
b7920 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 -Operations">..</a></h4>........
b7940 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 68 61 76 65 20 <p>.......These.operations.have.
b7960 67 75 61 72 61 6e 74 65 65 64 20 77 72 61 70 61 72 6f 75 6e 64 20 73 65 6d 61 6e 74 69 63 73 2e guaranteed.wraparound.semantics.
b7980 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 .......</p>.......<ul>..........
b79a0 20 3c 6c 69 3e 3c 63 6f 64 65 3e 2b 25 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 .<li><code>+%</code>.(wraparound
b79c0 20 61 64 64 69 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 .addition)</li>...........<li><c
b79e0 6f 64 65 3e 2d 25 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 73 75 62 74 72 61 ode>-%</code>.(wraparound.subtra
b7a00 63 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e ction)</li>...........<li><code>
b7a20 2d 25 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 6e 65 67 61 74 69 6f 6e 29 3c -%</code>.(wraparound.negation)<
b7a40 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 2a 25 3c 2f 63 6f 64 /li>...........<li><code>*%</cod
b7a60 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 29 3c 2f e>.(wraparound.multiplication)</
b7a80 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 li>.......</ul>.......<figure><f
b7aa0 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 igcaption.class="zig-cap"><cite.
b7ac0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 72 61 70 61 72 6f 75 6e 64 5f 73 65 6d class="file">test_wraparound_sem
b7ae0 61 6e 74 69 63 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 antics.zig</cite></figcaption><p
b7b00 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f re><code><span.class="tok-kw">co
b7b20 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nst</span>.std.=.<span.class="to
b7b40 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-builtin">@import</span>(<span.
b7b60 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c class="tok-str">&quot;std&quot;<
b7b80 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f /span>);.<span.class="tok-kw">co
b7ba0 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e nst</span>.expect.=.std.testing.
b7bc0 65 78 70 65 63 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e expect;.<span.class="tok-kw">con
b7be0 73 74 3c 2f 73 70 61 6e 3e 20 6d 69 6e 49 6e 74 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 st</span>.minInt.=.std.math.minI
b7c00 6e 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f nt;.<span.class="tok-kw">const</
b7c20 73 70 61 6e 3e 20 6d 61 78 49 6e 74 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3b 0a span>.maxInt.=.std.math.maxInt;.
b7c40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e .<span.class="tok-kw">test</span
b7c60 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 72 >.<span.class="tok-str">&quot;wr
b7c80 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 20 61 6e 64 20 73 75 62 74 72 61 63 74 69 6f aparound.addition.and.subtractio
b7ca0 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 n&quot;</span>.{.....<span.class
b7cc0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 ="tok-kw">const</span>.x:.<span.
b7ce0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 6d 61 class="tok-type">i32</span>.=.ma
b7d00 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c xInt(<span.class="tok-type">i32<
b7d20 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>);.....<span.class="tok-kw
b7d40 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 69 6e 5f 76 61 6c 20 3d 20 78 20 2b 25 20 3c 73 ">const</span>.min_val.=.x.+%.<s
b7d60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b pan.class="tok-number">1</span>;
b7d80 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
b7da0 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 69 6e 5f 76 61 6c 20 3d 3d 20 6d 69 6e 49 6e 74 28 3c 73 pan>.expect(min_val.==.minInt(<s
b7dc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 pan.class="tok-type">i32</span>)
b7de0 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 );.....<span.class="tok-kw">cons
b7e00 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 5f 76 61 6c 20 3d 20 6d 69 6e 5f 76 61 6c 20 2d 25 20 3c 73 t</span>.max_val.=.min_val.-%.<s
b7e20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b pan.class="tok-number">1</span>;
b7e40 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
b7e60 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 78 5f 76 61 6c 20 3d 3d 20 6d 61 78 49 6e 74 28 3c 73 pan>.expect(max_val.==.maxInt(<s
b7e80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 pan.class="tok-type">i32</span>)
b7ea0 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 );.}</code></pre></figure><figur
b7ec0 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e e><figcaption.class="shell-cap">
b7ee0 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c Shell</figcaption><pre><samp>$.<
b7f00 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 72 61 70 61 72 6f 75 6e 64 5f 73 65 6d kbd>zig.test.test_wraparound_sem
b7f20 61 6e 74 69 63 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 77 72 61 70 61 72 antics.zig</kbd>.1/1.test_wrapar
b7f40 6f 75 6e 64 5f 73 65 6d 61 6e 74 69 63 73 2e 74 65 73 74 2e 77 72 61 70 61 72 6f 75 6e 64 20 61 ound_semantics.test.wraparound.a
b7f60 64 64 69 74 69 6f 6e 20 61 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c ddition.and.subtraction....OK.Al
b7f80 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c l.1.tests.passed..</samp></pre><
b7fa0 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 /figure>.....................<h3
b7fc0 20 69 64 3d 22 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e .id="Exact-Left-Shift-Overflow">
b7fe0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f <a.href="#toc-Exact-Left-Shift-O
b8000 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 4c 65 66 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c verflow">Exact.Left.Shift.Overfl
b8020 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 ow</a>.<a.class="hdr".href="#Exa
b8040 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f ct-Left-Shift-Overflow">..</a></
b8060 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f h3>........<p>At.compile-time:</
b8080 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 p>.......<figure><figcaption.cla
b80a0 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e ss="zig-cap"><cite.class="file">
b80c0 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 77 6c 6f 77 2e test_comptime_shlExact_overwlow.
b80e0 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 zig</cite></figcaption><pre><cod
b8100 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c e><span.class="tok-kw">comptime<
b8120 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
b8140 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">const</span>.x.=.<span.class="
b8160 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 tok-builtin">@shlExact</span>(<s
b8180 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 pan.class="tok-builtin">@as</spa
b81a0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 n>(<span.class="tok-type">u8</sp
b81c0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 an>,.<span.class="tok-number">0b
b81e0 30 31 30 31 30 31 30 31 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 01010101</span>),.<span.class="t
b8200 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 5f 20 3d 20 78 3b ok-number">2</span>);....._.=.x;
b8220 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
b8240 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 <figcaption.class="shell-cap">Sh
b8260 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
b8280 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 73 68 6c 45 78 61 63 d>zig.test.test_comptime_shlExac
b82a0 74 5f 6f 76 65 72 77 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t_overwlow.zig</kbd>.<span.class
b82c0 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 ="sgr-1m">docgen_tmp/test_compti
b82e0 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 77 6c 6f 77 2e 7a 69 67 3a 32 3a 31 35 3a 20 3c me_shlExact_overwlow.zig:2:15:.<
b8300 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f /span><span.class="sgr-31m">erro
b8320 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f r:.</span><span.class="sgr-1m">o
b8340 70 65 72 61 74 69 6f 6e 20 63 61 75 73 65 64 20 6f 76 65 72 66 6c 6f 77 0a 3c 2f 73 70 61 6e 3e peration.caused.overflow.</span>
b8360 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 40 73 68 6c 45 78 61 63 74 28 40 61 73 28 75 38 2c 20 ....const.x.=.@shlExact(@as(u8,.
b8380 30 62 30 31 30 31 30 31 30 31 29 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 0b01010101),.2);...............<
b83a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e span.class="sgr-32m">^~~~~~~~~~~
b83c0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c ~~~~~~~~~~~~~~~~~~~~~~.</span>.<
b83e0 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 /samp></pre></figure>.......<p>A
b8400 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 t.runtime:</p>.......<figure><fi
b8420 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 gcaption.class="zig-cap"><cite.c
b8440 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 lass="file">runtime_shlExact_ove
b8460 72 66 6c 6f 77 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 rflow.zig</cite></figcaption><pr
b8480 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
b84a0 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.std.=.<span.class="tok
b84c0 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@import</span>(<span.c
b84e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;std&quot;</
b8500 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 span>);..<span.class="tok-kw">pu
b8520 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e b</span>.<span.class="tok-kw">fn
b8540 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 </span>.<span.class="tok-fn">mai
b8560 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n</span>().<span.class="tok-type
b8580 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">void</span>.{.....<span.class=
b85a0 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">var</span>.x:.<span.cla
b85c0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 ss="tok-type">u8</span>.=.<span.
b85e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 31 30 31 3c 2f 73 class="tok-number">0b01010101</s
b8600 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e pan>;.<span.class="tok-comment">
b8620 2f 2f 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 //.runtime-known</span>....._.=.
b8640 26 61 6d 70 3b 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 &amp;x;.....<span.class="tok-kw"
b8660 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.y.=.<span.class="t
b8680 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 78 2c 20 ok-builtin">@shlExact</span>(x,.
b86a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e <span.class="tok-number">2</span
b86c0 3e 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c >);.....std.debug.print(<span.cl
b86e0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 ass="tok-str">&quot;value:.{}\n&
b8700 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 quot;</span>,..{y});.}</code></p
b8720 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 re></figure><figure><figcaption.
b8740 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 class="shell-cap">Shell</figcapt
b8760 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d ion><pre><samp>$.<kbd>zig.build-
b8780 65 78 65 20 72 75 6e 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 exe.runtime_shlExact_overflow.zi
b87a0 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 73 68 6c 45 78 61 63 g</kbd>.$.<kbd>./runtime_shlExac
b87c0 74 5f 6f 76 65 72 66 6c 6f 77 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 39 39 30 38 33 36 20 70 t_overflow</kbd>.thread.990836.p
b87e0 61 6e 69 63 3a 20 6c 65 66 74 20 73 68 69 66 74 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 anic:.left.shift.overflowed.bits
b8800 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a ./home/ci/actions-runner/_work/z
b8820 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 ig-bootstrap/zig/docgen_tmp/runt
b8840 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 36 3a 35 3a 20 30 ime_shlExact_overflow.zig:6:5:.0
b8860 78 31 30 33 33 64 64 64 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 73 68 6c 45 78 61 x1033ddd.in.main.(runtime_shlExa
b8880 63 74 5f 6f 76 65 72 66 6c 6f 77 29 0a 20 20 20 20 63 6f 6e 73 74 20 79 20 3d 20 40 73 68 6c 45 ct_overflow).....const.y.=.@shlE
b88a0 78 61 63 74 28 78 2c 20 32 29 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f xact(x,.2);.....^./home/ci/actio
b88c0 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 ns-runner/_work/zig-bootstrap/ou
b88e0 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 t/host/lib/zig/std/start.zig:501
b8900 3a 32 32 3a 20 30 78 31 30 33 33 36 33 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 :22:.0x1033639.in.posixCallMainA
b8920 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f ndExit.(runtime_shlExact_overflo
b8940 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 w).............root.main();.....
b8960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 .................^./home/ci/acti
b8980 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f ons-runner/_work/zig-bootstrap/o
b89a0 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 ut/host/lib/zig/std/start.zig:25
b89c0 33 3a 35 3a 20 30 78 31 30 33 33 31 61 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 3:5:.0x10331a1.in._start.(runtim
b89e0 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c e_shlExact_overflow).....asm.vol
b8a00 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 atile.(switch.(native_arch).{...
b8a20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 ..^.???:?:?:.0x0.in.???.(???).(p
b8a40 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 rocess.terminated.by.signal).</s
b8a60 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 amp></pre></figure>.............
b8a80 20 3c 68 33 20 69 64 3d 22 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 .<h3.id="Exact-Right-Shift-Overf
b8aa0 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 63 74 2d 52 69 67 68 74 2d 53 low"><a.href="#toc-Exact-Right-S
b8ac0 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 74 hift-Overflow">Exact.Right.Shift
b8ae0 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 .Overflow</a>.<a.class="hdr".hre
b8b00 66 3d 22 23 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e f="#Exact-Right-Shift-Overflow">
b8b20 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 ..</a></h3>........<p>At.compile
b8b40 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 -time:</p>.......<figure><figcap
b8b60 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 tion.class="zig-cap"><cite.class
b8b80 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f ="file">test_comptime_shrExact_o
b8ba0 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c verflow.zig</cite></figcaption><
b8bc0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
b8be0 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 omptime</span>.{.....<span.class
b8c00 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e ="tok-kw">const</span>.x.=.<span
b8c20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 72 45 78 61 63 74 3c 2f .class="tok-builtin">@shrExact</
b8c40 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e span>(<span.class="tok-builtin">
b8c60 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 @as</span>(<span.class="tok-type
b8c80 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ">u8</span>,.<span.class="tok-nu
b8ca0 6d 62 65 72 22 3e 30 62 31 30 31 30 31 30 31 30 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 mber">0b10101010</span>),.<span.
b8cc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 class="tok-number">2</span>);...
b8ce0 20 20 5f 20 3d 20 78 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e .._.=.x;.}</code></pre></figure>
b8d00 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
b8d20 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 -cap">Shell</figcaption><pre><sa
b8d40 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 mp>$.<kbd>zig.test.test_comptime
b8d60 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 _shrExact_overflow.zig</kbd>.<sp
b8d80 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 an.class="sgr-1m">docgen_tmp/tes
b8da0 74 5f 63 6f 6d 70 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 t_comptime_shrExact_overflow.zig
b8dc0 3a 32 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 :2:15:.</span><span.class="sgr-3
b8de0 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 1m">error:.</span><span.class="s
b8e00 67 72 2d 31 6d 22 3e 65 78 61 63 74 20 73 68 69 66 74 20 73 68 69 66 74 65 64 20 6f 75 74 20 31 gr-1m">exact.shift.shifted.out.1
b8e20 20 62 69 74 73 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 40 73 68 72 45 .bits.</span>....const.x.=.@shrE
b8e40 78 61 63 74 28 40 61 73 28 75 38 2c 20 30 62 31 30 31 30 31 30 31 30 29 2c 20 32 29 3b 0a 20 20 xact(@as(u8,.0b10101010),.2);...
b8e60 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d ............<span.class="sgr-32m
b8e80 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ">^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
b8ea0 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ~~~.</span>.</samp></pre></figur
b8ec0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 e>.......<p>At.runtime:</p>.....
b8ee0 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 ..<figure><figcaption.class="zig
b8f00 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 -cap"><cite.class="file">runtime
b8f20 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 _shrExact_overflow.zig</cite></f
b8f40 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><code><span.class
b8f60 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 ="tok-kw">const</span>.std.=.<sp
b8f80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f an.class="tok-builtin">@import</
b8fa0 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>(<span.class="tok-str">&quo
b8fc0 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 t;std&quot;</span>);..<span.clas
b8fe0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 s="tok-kw">pub</span>.<span.clas
b9000 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="tok-kw">fn</span>.<span.class
b9020 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c ="tok-fn">main</span>().<span.cl
b9040 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 ass="tok-type">void</span>.{....
b9060 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">var</span>
b9080 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 .x:.<span.class="tok-type">u8</s
b90a0 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e pan>.=.<span.class="tok-number">
b90c0 30 62 31 30 31 30 31 30 31 30 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 0b10101010</span>;.<span.class="
b90e0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 tok-comment">//.runtime-known</s
b9100 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 pan>....._.=.&amp;x;.....<span.c
b9120 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c lass="tok-kw">const</span>.y.=.<
b9140 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 72 45 78 61 span.class="tok-builtin">@shrExa
b9160 63 74 3c 2f 73 70 61 6e 3e 28 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ct</span>(x,.<span.class="tok-nu
b9180 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 mber">2</span>);.....std.debug.p
b91a0 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 rint(<span.class="tok-str">&quot
b91c0 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d 29 ;value:.{}\n&quot;</span>,..{y})
b91e0 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
b9200 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 ><figcaption.class="shell-cap">S
b9220 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
b9240 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 bd>zig.build-exe.runtime_shrExac
b9260 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 t_overflow.zig</kbd>.$.<kbd>./ru
b9280 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 3c 2f 6b 62 64 3e 0a 74 68 ntime_shrExact_overflow</kbd>.th
b92a0 72 65 61 64 20 39 39 30 38 37 36 20 70 61 6e 69 63 3a 20 72 69 67 68 74 20 73 68 69 66 74 20 6f read.990876.panic:.right.shift.o
b92c0 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d verflowed.bits./home/ci/actions-
b92e0 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 runner/_work/zig-bootstrap/zig/d
b9300 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 ocgen_tmp/runtime_shrExact_overf
b9320 6c 6f 77 2e 7a 69 67 3a 36 3a 35 3a 20 30 78 31 30 33 33 64 64 39 20 69 6e 20 6d 61 69 6e 20 28 low.zig:6:5:.0x1033dd9.in.main.(
b9340 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 29 0a 20 20 20 20 63 runtime_shrExact_overflow).....c
b9360 6f 6e 73 74 20 79 20 3d 20 40 73 68 72 45 78 61 63 74 28 78 2c 20 32 29 3b 0a 20 20 20 20 5e 0a onst.y.=.@shrExact(x,.2);.....^.
b9380 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 /home/ci/actions-runner/_work/zi
b93a0 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 g-bootstrap/out/host/lib/zig/std
b93c0 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 33 36 33 39 20 69 6e 20 /start.zig:501:22:.0x1033639.in.
b93e0 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 73 68 posixCallMainAndExit.(runtime_sh
b9400 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f rExact_overflow).............roo
b9420 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e t.main();......................^
b9440 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a ./home/ci/actions-runner/_work/z
b9460 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 ig-bootstrap/out/host/lib/zig/st
b9480 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 33 31 61 31 20 69 6e 20 d/start.zig:253:5:.0x10331a1.in.
b94a0 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f _start.(runtime_shrExact_overflo
b94c0 77 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 w).....asm.volatile.(switch.(nat
b94e0 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 ive_arch).{.....^.???:?:?:.0x0.i
b9500 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 n.???.(???).(process.terminated.
b9520 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 by.signal).</samp></pre></figure
b9540 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 69 76 69 73 69 6f 6e 2d >..............<h3.id="Division-
b9560 62 79 2d 5a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 69 76 69 73 69 6f 6e 2d by-Zero"><a.href="#toc-Division-
b9580 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 3c 61 by-Zero">Division.by.Zero</a>.<a
b95a0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d .class="hdr".href="#Division-by-
b95c0 5a 65 72 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 Zero">..</a></h3>........<p>At.c
b95e0 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ompile-time:</p>.......<figure><
b9600 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 figcaption.class="zig-cap"><cite
b9620 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 64 69 76 69 .class="file">test_comptime_divi
b9640 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 sion_by_zero.zig</cite></figcapt
b9660 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
b9680 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 kw">comptime</span>.{.....<span.
b96a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c class="tok-kw">const</span>.a:.<
b96c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">i32</span>
b96e0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 .=.<span.class="tok-number">1</s
b9700 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pan>;.....<span.class="tok-kw">c
b9720 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d onst</span>.b:.<span.class="tok-
b9740 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">i32</span>.=.<span.class="
b9760 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 tok-number">0</span>;.....<span.
b9780 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 class="tok-kw">const</span>.c.=.
b97a0 61 20 2f 20 62 3b 0a 20 20 20 20 5f 20 3d 20 63 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e a./.b;....._.=.c;.}</code></pre>
b97c0 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 </figure><figure><figcaption.cla
b97e0 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e ss="shell-cap">Shell</figcaption
b9800 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 ><pre><samp>$.<kbd>zig.test.test
b9820 5f 63 6f 6d 70 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3c 2f _comptime_division_by_zero.zig</
b9840 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e kbd>.<span.class="sgr-1m">docgen
b9860 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a _tmp/test_comptime_division_by_z
b9880 65 72 6f 2e 7a 69 67 3a 34 3a 31 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ero.zig:4:19:.</span><span.class
b98a0 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 ="sgr-31m">error:.</span><span.c
b98c0 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 20 68 lass="sgr-1m">division.by.zero.h
b98e0 65 72 65 20 63 61 75 73 65 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 0a 3c 2f ere.causes.undefined.behavior.</
b9900 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 61 20 2f 20 62 3b 0a 20 20 20 20 20 20 span>....const.c.=.a./.b;.......
b9920 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d ............<span.class="sgr-32m
b9940 22 3e 5e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ">^.</span>.</samp></pre></figur
b9960 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 e>.......<p>At.runtime:</p>.....
b9980 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 ..<figure><figcaption.class="zig
b99a0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 -cap"><cite.class="file">runtime
b99c0 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 _division_by_zero.zig</cite></fi
b99e0 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><code><span.class=
b9a00 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 "tok-kw">const</span>.std.=.<spa
b9a20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 n.class="tok-builtin">@import</s
b9a40 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>(<span.class="tok-str">&quot
b9a60 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ;std&quot;</span>);..<span.class
b9a80 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ="tok-kw">pub</span>.<span.class
b9aa0 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="tok-kw">fn</span>.<span.class=
b9ac0 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-fn">main</span>().<span.cla
b9ae0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ss="tok-type">void</span>.{.....
b9b00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">var</span>.
b9b20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 a:.<span.class="tok-type">u32</s
b9b40 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e pan>.=.<span.class="tok-number">
b9b60 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 1</span>;.....<span.class="tok-k
b9b80 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.b:.<span.class="to
b9ba0 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">u32</span>.=.<span.class
b9bc0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 ="tok-number">0</span>;....._.=.
b9be0 2e 7b 20 26 61 6d 70 3b 61 2c 20 26 61 6d 70 3b 62 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 .{.&amp;a,.&amp;b.};.....<span.c
b9c00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 lass="tok-kw">const</span>.c.=.a
b9c20 20 2f 20 62 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 ./.b;.....std.debug.print(<span.
b9c40 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c class="tok-str">&quot;value:.{}\
b9c60 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c n&quot;</span>,..{c});.}</code><
b9c80 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f /pre></figure><figure><figcaptio
b9ca0 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 n.class="shell-cap">Shell</figca
b9cc0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c ption><pre><samp>$.<kbd>zig.buil
b9ce0 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a d-exe.runtime_division_by_zero.z
b9d00 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 ig</kbd>.$.<kbd>./runtime_divisi
b9d20 6f 6e 5f 62 79 5f 7a 65 72 6f 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 39 39 30 39 31 36 20 70 on_by_zero</kbd>.thread.990916.p
b9d40 61 6e 69 63 3a 20 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 0a 2f 68 6f 6d 65 2f 63 69 2f anic:.division.by.zero./home/ci/
b9d60 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 actions-runner/_work/zig-bootstr
b9d80 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 ap/zig/docgen_tmp/runtime_divisi
b9da0 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3a 37 3a 31 37 3a 20 30 78 31 30 33 33 64 33 36 20 69 on_by_zero.zig:7:17:.0x1033d36.i
b9dc0 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f n.main.(runtime_division_by_zero
b9de0 29 0a 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 61 20 2f 20 62 3b 0a 20 20 20 20 20 20 20 20 20 ).....const.c.=.a./.b;..........
b9e00 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 .......^./home/ci/actions-runner
b9e20 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 /_work/zig-bootstrap/out/host/li
b9e40 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 b/zig/std/start.zig:501:22:.0x10
b9e60 33 33 35 38 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 72 33589.in.posixCallMainAndExit.(r
b9e80 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 29 0a 20 20 20 20 20 20 20 untime_division_by_zero)........
b9ea0 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....root.main();...............
b9ec0 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 .......^./home/ci/actions-runner
b9ee0 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 /_work/zig-bootstrap/out/host/li
b9f00 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 b/zig/std/start.zig:253:5:.0x103
b9f20 33 30 66 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 30f1.in._start.(runtime_division
b9f40 5f 62 79 5f 7a 65 72 6f 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 _by_zero).....asm.volatile.(swit
b9f60 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f ch.(native_arch).{.....^.???:?:?
b9f80 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d :.0x0.in.???.(???).(process.term
b9fa0 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c inated.by.signal).</samp></pre><
b9fc0 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 /figure>..............<h3.id="Re
b9fe0 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 3c 61 20 68 72 65 mainder-Division-by-Zero"><a.hre
ba000 66 3d 22 23 74 6f 63 2d 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 f="#toc-Remainder-Division-by-Ze
ba020 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f ro">Remainder.Division.by.Zero</
ba040 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 a>.<a.class="hdr".href="#Remaind
ba060 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e er-Division-by-Zero">..</a></h3>
ba080 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a ........<p>At.compile-time:</p>.
ba0a0 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d ......<figure><figcaption.class=
ba0c0 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 "zig-cap"><cite.class="file">tes
ba0e0 74 5f 63 6f 6d 70 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 t_comptime_remainder_division_by
ba100 5f 7a 65 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 _zero.zig</cite></figcaption><pr
ba120 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d e><code><span.class="tok-kw">com
ba140 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ptime</span>.{.....<span.class="
ba160 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c tok-kw">const</span>.a:.<span.cl
ba180 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 ass="tok-type">i32</span>.=.<spa
ba1a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a n.class="tok-number">10</span>;.
ba1c0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ....<span.class="tok-kw">const</
ba1e0 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>.b:.<span.class="tok-type">
ba200 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 i32</span>.=.<span.class="tok-nu
ba220 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d mber">0</span>;.....<span.class=
ba240 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 25 20 62 3b "tok-kw">const</span>.c.=.a.%.b;
ba260 0a 20 20 20 20 5f 20 3d 20 63 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ....._.=.c;.}</code></pre></figu
ba280 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
ba2a0 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
ba2c0 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 <samp>$.<kbd>zig.test.test_compt
ba2e0 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a ime_remainder_division_by_zero.z
ba300 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f ig</kbd>.<span.class="sgr-1m">do
ba320 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 cgen_tmp/test_comptime_remainder
ba340 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3a 34 3a 31 39 3a 20 3c 2f 73 70 _division_by_zero.zig:4:19:.</sp
ba360 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 an><span.class="sgr-31m">error:.
ba380 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 69 76 69 </span><span.class="sgr-1m">divi
ba3a0 73 69 6f 6e 20 62 79 20 7a 65 72 6f 20 68 65 72 65 20 63 61 75 73 65 73 20 75 6e 64 65 66 69 6e sion.by.zero.here.causes.undefin
ba3c0 65 64 20 62 65 68 61 76 69 6f 72 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d ed.behavior.</span>....const.c.=
ba3e0 20 61 20 25 20 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 .a.%.b;...................<span.
ba400 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 class="sgr-32m">^.</span>.</samp
ba420 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e ></pre></figure>.......<p>At.run
ba440 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 time:</p>.......<figure><figcapt
ba460 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
ba480 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f "file">runtime_remainder_divisio
ba4a0 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e n_by_zero.zig</cite></figcaption
ba4c0 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ><pre><code><span.class="tok-kw"
ba4e0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.std.=.<span.class=
ba500 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@import</span>(<sp
ba520 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f an.class="tok-str">&quot;std&quo
ba540 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 t;</span>);..<span.class="tok-kw
ba560 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">pub</span>.<span.class="tok-kw
ba580 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 ">fn</span>.<span.class="tok-fn"
ba5a0 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >main</span>().<span.class="tok-
ba5c0 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">void</span>.{.....<span.cl
ba5e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e ass="tok-kw">var</span>.a:.<span
ba600 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c .class="tok-type">u32</span>.=.<
ba620 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e span.class="tok-number">10</span
ba640 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c >;.....<span.class="tok-kw">var<
ba660 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.b:.<span.class="tok-type"
ba680 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >u32</span>.=.<span.class="tok-n
ba6a0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 2e 7b 20 26 61 6d 70 umber">0</span>;....._.=..{.&amp
ba6c0 3b 61 2c 20 26 61 6d 70 3b 62 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ;a,.&amp;b.};.....<span.class="t
ba6e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 25 20 62 3b 0a 20 ok-kw">const</span>.c.=.a.%.b;..
ba700 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...std.debug.print(<span.class="
ba720 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b tok-str">&quot;value:.{}\n&quot;
ba740 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f </span>,..{c});.}</code></pre></
ba760 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 figure><figure><figcaption.class
ba780 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ="shell-cap">Shell</figcaption><
ba7a0 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 pre><samp>$.<kbd>zig.build-exe.r
ba7c0 75 6e 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 untime_remainder_division_by_zer
ba7e0 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 72 65 6d o.zig</kbd>.$.<kbd>./runtime_rem
ba800 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 3c 2f 6b 62 64 3e 0a 74 68 ainder_division_by_zero</kbd>.th
ba820 72 65 61 64 20 39 39 30 39 35 36 20 70 61 6e 69 63 3a 20 64 69 76 69 73 69 6f 6e 20 62 79 20 7a read.990956.panic:.division.by.z
ba840 65 72 6f 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 ero./home/ci/actions-runner/_wor
ba860 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 k/zig-bootstrap/zig/docgen_tmp/r
ba880 75 6e 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 untime_remainder_division_by_zer
ba8a0 6f 2e 7a 69 67 3a 37 3a 31 37 3a 20 30 78 31 30 33 33 64 33 36 20 69 6e 20 6d 61 69 6e 20 28 72 o.zig:7:17:.0x1033d36.in.main.(r
ba8c0 75 6e 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 untime_remainder_division_by_zer
ba8e0 6f 29 0a 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 61 20 25 20 62 3b 0a 20 20 20 20 20 20 20 20 o).....const.c.=.a.%.b;.........
ba900 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 ........^./home/ci/actions-runne
ba920 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c r/_work/zig-bootstrap/out/host/l
ba940 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 ib/zig/std/start.zig:501:22:.0x1
ba960 30 33 33 35 38 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 033589.in.posixCallMainAndExit.(
ba980 72 75 6e 74 69 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 runtime_remainder_division_by_ze
ba9a0 72 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 ro).............root.main();....
ba9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 ..................^./home/ci/act
ba9e0 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
baa00 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 out/host/lib/zig/std/start.zig:2
baa20 35 33 3a 35 3a 20 30 78 31 30 33 33 30 66 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 53:5:.0x10330f1.in._start.(runti
baa40 6d 65 5f 72 65 6d 61 69 6e 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 29 0a 20 me_remainder_division_by_zero)..
baa60 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f ...asm.volatile.(switch.(native_
baa80 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f arch).{.....^.???:?:?:.0x0.in.??
baaa0 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 ?.(???).(process.terminated.by.s
baac0 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 ignal).</samp></pre></figure>...
baae0 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 61 63 74 2d 44 69 76 69 73 69 6f ...........<h3.id="Exact-Divisio
bab00 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 63 74 n-Remainder"><a.href="#toc-Exact
bab20 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 45 78 61 63 74 20 44 69 76 69 73 -Division-Remainder">Exact.Divis
bab40 69 6f 6e 20 52 65 6d 61 69 6e 64 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 ion.Remainder</a>.<a.class="hdr"
bab60 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 .href="#Exact-Division-Remainder
bab80 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 ">..</a></h3>........<p>At.compi
baba0 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 le-time:</p>.......<figure><figc
babc0 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
babe0 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 64 69 76 45 78 61 63 74 ss="file">test_comptime_divExact
bac00 5f 72 65 6d 61 69 6e 64 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f _remainder.zig</cite></figcaptio
bac20 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
bac40 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c ">comptime</span>.{.....<span.cl
bac60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 ass="tok-kw">const</span>.a:.<sp
bac80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">u32</span>.=
baca0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 .<span.class="tok-number">10</sp
bacc0 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f an>;.....<span.class="tok-kw">co
bace0 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 nst</span>.b:.<span.class="tok-t
bad00 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">u32</span>.=.<span.class="t
bad20 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 ok-number">3</span>;.....<span.c
bad40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c lass="tok-kw">const</span>.c.=.<
bad60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 span.class="tok-builtin">@divExa
bad80 63 74 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 0a 20 20 20 20 5f 20 3d 20 63 3b 0a 7d 3c 2f 63 ct</span>(a,.b);....._.=.c;.}</c
bada0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 ode></pre></figure><figure><figc
badc0 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f aption.class="shell-cap">Shell</
bade0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 figcaption><pre><samp>$.<kbd>zig
bae00 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 6d .test.test_comptime_divExact_rem
bae20 61 69 6e 64 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 ainder.zig</kbd>.<span.class="sg
bae40 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 64 r-1m">docgen_tmp/test_comptime_d
bae60 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 2e 7a 69 67 3a 34 3a 31 35 3a 20 3c 2f 73 70 ivExact_remainder.zig:4:15:.</sp
bae80 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 an><span.class="sgr-31m">error:.
baea0 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 61 63 </span><span.class="sgr-1m">exac
baec0 74 20 64 69 76 69 73 69 6f 6e 20 70 72 6f 64 75 63 65 64 20 72 65 6d 61 69 6e 64 65 72 0a 3c 2f t.division.produced.remainder.</
baee0 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 40 64 69 76 45 78 61 63 74 28 61 2c 20 span>....const.c.=.@divExact(a,.
baf00 62 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 b);...............<span.class="s
baf20 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a gr-32m">^~~~~~~~~~~~~~~.</span>.
baf40 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </samp></pre></figure>.......<p>
baf60 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 At.runtime:</p>.......<figure><f
baf80 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 igcaption.class="zig-cap"><cite.
bafa0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 class="file">runtime_divExact_re
bafc0 6d 61 69 6e 64 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c mainder.zig</cite></figcaption><
bafe0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
bb000 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 onst</span>.std.=.<span.class="t
bb020 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
bb040 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
bb060 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e </span>);..<span.class="tok-kw">
bb080 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pub</span>.<span.class="tok-kw">
bb0a0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d fn</span>.<span.class="tok-fn">m
bb0c0 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ain</span>().<span.class="tok-ty
bb0e0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 pe">void</span>.{.....<span.clas
bb100 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 s="tok-kw">var</span>.a:.<span.c
bb120 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">u32</span>.=.<sp
bb140 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b an.class="tok-number">10</span>;
bb160 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
bb180 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 pan>.b:.<span.class="tok-type">u
bb1a0 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 32</span>.=.<span.class="tok-num
bb1c0 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 2e 7b 20 26 61 6d 70 3b 61 ber">3</span>;....._.=..{.&amp;a
bb1e0 2c 20 26 61 6d 70 3b 62 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ,.&amp;b.};.....<span.class="tok
bb200 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">const</span>.c.=.<span.clas
bb220 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e s="tok-builtin">@divExact</span>
bb240 28 61 2c 20 62 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 (a,.b);.....std.debug.print(<spa
bb260 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b n.class="tok-str">&quot;value:.{
bb280 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 }\n&quot;</span>,..{c});.}</code
bb2a0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 ></pre></figure><figure><figcapt
bb2c0 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 ion.class="shell-cap">Shell</fig
bb2e0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 caption><pre><samp>$.<kbd>zig.bu
bb300 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 ild-exe.runtime_divExact_remaind
bb320 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 64 69 er.zig</kbd>.$.<kbd>./runtime_di
bb340 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 39 39 vExact_remainder</kbd>.thread.99
bb360 30 39 39 36 20 70 61 6e 69 63 3a 20 65 78 61 63 74 20 64 69 76 69 73 69 6f 6e 20 70 72 6f 64 75 0996.panic:.exact.division.produ
bb380 63 65 64 20 72 65 6d 61 69 6e 64 65 72 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 ced.remainder./home/ci/actions-r
bb3a0 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f unner/_work/zig-bootstrap/zig/do
bb3c0 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e cgen_tmp/runtime_divExact_remain
bb3e0 64 65 72 2e 7a 69 67 3a 37 3a 31 35 3a 20 30 78 31 30 33 33 64 38 62 20 69 6e 20 6d 61 69 6e 20 der.zig:7:15:.0x1033d8b.in.main.
bb400 28 72 75 6e 74 69 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 29 0a 20 20 20 (runtime_divExact_remainder)....
bb420 20 63 6f 6e 73 74 20 63 20 3d 20 40 64 69 76 45 78 61 63 74 28 61 2c 20 62 29 3b 0a 20 20 20 20 .const.c.=.@divExact(a,.b);.....
bb440 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e ..........^./home/ci/actions-run
bb460 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 ner/_work/zig-bootstrap/out/host
bb480 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 /lib/zig/std/start.zig:501:22:.0
bb4a0 78 31 30 33 33 35 61 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 x10335a9.in.posixCallMainAndExit
bb4c0 20 28 72 75 6e 74 69 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 29 0a 20 20 .(runtime_divExact_remainder)...
bb4e0 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 ..........root.main();..........
bb500 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 ............^./home/ci/actions-r
bb520 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f unner/_work/zig-bootstrap/out/ho
bb540 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 st/lib/zig/std/start.zig:253:5:.
bb560 30 78 31 30 33 33 31 31 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 64 69 76 0x1033111.in._start.(runtime_div
bb580 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c Exact_remainder).....asm.volatil
bb5a0 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a e.(switch.(native_arch).{.....^.
bb5c0 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 ???:?:?:.0x0.in.???.(???).(proce
bb5e0 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e ss.terminated.by.signal).</samp>
bb600 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 </pre></figure>..............<h3
bb620 20 69 64 3d 22 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e 3c 61 20 .id="Attempt-to-Unwrap-Null"><a.
bb640 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c href="#toc-Attempt-to-Unwrap-Nul
bb660 6c 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 4e 75 6c 6c 3c 2f 61 3e 20 3c 61 l">Attempt.to.Unwrap.Null</a>.<a
bb680 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 .class="hdr".href="#Attempt-to-U
bb6a0 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c nwrap-Null">..</a></h3>........<
bb6c0 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 p>At.compile-time:</p>.......<fi
bb6e0 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
bb700 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d ><cite.class="file">test_comptim
bb720 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 e_unwrap_null.zig</cite></figcap
bb740 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tion><pre><code><span.class="tok
bb760 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e -kw">comptime</span>.{.....<span
bb780 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 .class="tok-kw">const</span>.opt
bb7a0 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ional_number:.?<span.class="tok-
bb7c0 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">i32</span>.=.<span.class="
bb7e0 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e tok-null">null</span>;.....<span
bb800 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d .class="tok-kw">const</span>.num
bb820 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 0a 20 20 20 20 5f 20 3d ber.=.optional_number.?;....._.=
bb840 20 6e 75 6d 62 65 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e .number;.}</code></pre></figure>
bb860 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
bb880 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 -cap">Shell</figcaption><pre><sa
bb8a0 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 mp>$.<kbd>zig.test.test_comptime
bb8c0 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 _unwrap_null.zig</kbd>.<span.cla
bb8e0 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 ss="sgr-1m">docgen_tmp/test_comp
bb900 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3a 33 3a 33 35 3a 20 3c 2f 73 70 61 time_unwrap_null.zig:3:35:.</spa
bb920 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c n><span.class="sgr-31m">error:.<
bb940 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 61 62 6c /span><span.class="sgr-1m">unabl
bb960 65 20 74 6f 20 75 6e 77 72 61 70 20 6e 75 6c 6c 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 e.to.unwrap.null.</span>....cons
bb980 74 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 0a 20 20 t.number.=.optional_number.?;...
bb9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 .................<span.class="sg
bb9c0 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 5e 7e 0a 3c 2f 73 70 61 6e 3e r-32m">~~~~~~~~~~~~~~~^~.</span>
bb9e0 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 .</samp></pre></figure>.......<p
bba00 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c >At.runtime:</p>.......<figure><
bba20 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 figcaption.class="zig-cap"><cite
bba40 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c .class="file">runtime_unwrap_nul
bba60 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 l.zig</cite></figcaption><pre><c
bba80 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
bbaa0 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 span>.std.=.<span.class="tok-bui
bbac0 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@import</span>(<span.class
bbae0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ="tok-str">&quot;std&quot;</span
bbb00 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 >);..<span.class="tok-kw">pub</s
bbb20 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 pan>.<span.class="tok-kw">fn</sp
bbb40 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 an>.<span.class="tok-fn">main</s
bbb60 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f pan>().<span.class="tok-type">vo
bbb80 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b id</span>.{.....<span.class="tok
bbba0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 3a -kw">var</span>.optional_number:
bbbc0 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 .?<span.class="tok-type">i32</sp
bbbe0 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c an>.=.<span.class="tok-null">nul
bbc00 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 6f 70 74 69 6f 6e 61 6c 5f l</span>;....._.=.&amp;optional_
bbc20 6e 75 6d 62 65 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 number;.....<span.class="tok-kw"
bbc40 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f >const</span>.number.=.optional_
bbc60 6e 75 6d 62 65 72 2e 3f 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 number.?;.....std.debug.print(<s
bbc80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a pan.class="tok-str">&quot;value:
bbca0 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 0a .{}\n&quot;</span>,..{number});.
bbcc0 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c }</code></pre></figure><figure><
bbce0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
bbd00 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
bbd20 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 >zig.build-exe.runtime_unwrap_nu
bbd40 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 75 6e ll.zig</kbd>.$.<kbd>./runtime_un
bbd60 77 72 61 70 5f 6e 75 6c 6c 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 39 39 31 30 33 36 20 70 61 wrap_null</kbd>.thread.991036.pa
bbd80 6e 69 63 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 75 73 65 20 6e 75 6c 6c 20 76 61 6c 75 65 0a 2f nic:.attempt.to.use.null.value./
bbda0 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 home/ci/actions-runner/_work/zig
bbdc0 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d -bootstrap/zig/docgen_tmp/runtim
bbde0 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3a 36 3a 33 35 3a 20 30 78 31 30 33 33 64 62 e_unwrap_null.zig:6:35:.0x1033db
bbe00 32 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 29 0a 2.in.main.(runtime_unwrap_null).
bbe20 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 ....const.number.=.optional_numb
bbe40 65 72 2e 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er.?;...........................
bbe60 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 ........^./home/ci/actions-runne
bbe80 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c r/_work/zig-bootstrap/out/host/l
bbea0 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 ib/zig/std/start.zig:501:22:.0x1
bbec0 30 33 33 36 31 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 033619.in.posixCallMainAndExit.(
bbee0 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 runtime_unwrap_null)............
bbf00 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .root.main();...................
bbf20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f ...^./home/ci/actions-runner/_wo
bbf40 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 rk/zig-bootstrap/out/host/lib/zi
bbf60 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 33 31 38 31 g/std/start.zig:253:5:.0x1033181
bbf80 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 29 .in._start.(runtime_unwrap_null)
bbfa0 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 .....asm.volatile.(switch.(nativ
bbfc0 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 e_arch).{.....^.???:?:?:.0x0.in.
bbfe0 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 ???.(???).(process.terminated.by
bc000 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a .signal).</samp></pre></figure>.
bc020 20 20 20 20 20 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 ......<p>One.way.to.avoid.this.c
bc040 72 61 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 6e 75 6c 6c 20 69 6e 73 74 65 61 64 rash.is.to.test.for.null.instead
bc060 20 6f 66 20 61 73 73 75 6d 69 6e 67 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 77 69 74 68 0a 20 20 20 20 .of.assuming.non-null,.with.....
bc080 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ..the.<code><span.class="tok-kw"
bc0a0 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 3c 2f 70 >if</span></code>.expression:</p
bc0c0 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
bc0e0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 s="zig-cap"><cite.class="file">t
bc100 65 73 74 69 6e 67 5f 6e 75 6c 6c 5f 77 69 74 68 5f 69 66 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f esting_null_with_if.zig</cite></
bc120 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><code><span.clas
bc140 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 s="tok-kw">const</span>.print.=.
bc160 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 <span.class="tok-builtin">@impor
bc180 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 t</span>(<span.class="tok-str">&
bc1a0 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 quot;std&quot;</span>).debug.pri
bc1c0 6e 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 nt;.<span.class="tok-kw">pub</sp
bc1e0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 an>.<span.class="tok-kw">fn</spa
bc200 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 n>.<span.class="tok-fn">main</sp
bc220 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 an>().<span.class="tok-type">voi
bc240 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d d</span>.{.....<span.class="tok-
bc260 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 kw">const</span>.optional_number
bc280 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 :.?<span.class="tok-type">i32</s
bc2a0 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 pan>.=.<span.class="tok-null">nu
bc2c0 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ll</span>;......<span.class="tok
bc2e0 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 29 -kw">if</span>.(optional_number)
bc300 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 .|number|.{.........print(<span.
bc320 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6f 74 20 6e 75 6d 62 65 72 class="tok-str">&quot;got.number
bc340 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b :.{}\n&quot;</span>,..{number});
bc360 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 .....}.<span.class="tok-kw">else
bc380 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c </span>.{.........print(<span.cl
bc3a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 74 27 73 20 6e 75 6c 6c 5c 6e 26 ass="tok-str">&quot;it's.null\n&
bc3c0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 quot;</span>,..{});.....}.}</cod
bc3e0 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 e></pre></figure><figure><figcap
bc400 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 tion.class="shell-cap">Shell</fi
bc420 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 gcaption><pre><samp>$.<kbd>zig.b
bc440 75 69 6c 64 2d 65 78 65 20 74 65 73 74 69 6e 67 5f 6e 75 6c 6c 5f 77 69 74 68 5f 69 66 2e 7a 69 uild-exe.testing_null_with_if.zi
bc460 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 69 6e 67 5f 6e 75 6c 6c 5f 77 69 g</kbd>.$.<kbd>./testing_null_wi
bc480 74 68 5f 69 66 3c 2f 6b 62 64 3e 0a 69 74 27 73 20 6e 75 6c 6c 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 th_if</kbd>.it's.null.</samp></p
bc4a0 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c re></figure>.......<p>See.also:<
bc4c0 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 /p><ul>.<li><a.href="#Optionals"
bc4e0 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 >Optionals</a></li>.</ul>.......
bc500 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 ........<h3.id="Attempt-to-Unwra
bc520 70 2d 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 p-Error"><a.href="#toc-Attempt-t
bc540 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 o-Unwrap-Error">Attempt.to.Unwra
bc560 70 20 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d p.Error</a>.<a.class="hdr".href=
bc580 22 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 "#Attempt-to-Unwrap-Error">..</a
bc5a0 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 ></h3>........<p>At.compile-time
bc5c0 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 :</p>.......<figure><figcaption.
bc5e0 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c class="zig-cap"><cite.class="fil
bc600 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 e">test_comptime_unwrap_error.zi
bc620 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e g</cite></figcaption><pre><code>
bc640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 <span.class="tok-kw">comptime</s
bc660 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
bc680 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f const</span>.number.=.getNumberO
bc6a0 72 46 61 69 6c 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 rFail().<span.class="tok-kw">cat
bc6c0 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 ch</span>.<span.class="tok-kw">u
bc6e0 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 nreachable</span>;....._.=.numbe
bc700 72 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 r;.}..<span.class="tok-kw">fn</s
bc720 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d pan>.<span.class="tok-fn">getNum
bc740 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d berOrFail</span>().!<span.class=
bc760 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 "tok-type">i32</span>.{.....<spa
bc780 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">return</span>.<
bc7a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e span.class="tok-kw">error</span>
bc7c0 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c .UnableToReturnNumber;.}</code><
bc7e0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f /pre></figure><figure><figcaptio
bc800 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 n.class="shell-cap">Shell</figca
bc820 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 ption><pre><samp>$.<kbd>zig.test
bc840 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3c .test_comptime_unwrap_error.zig<
bc860 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 /kbd>.<span.class="sgr-1m">docge
bc880 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 n_tmp/test_comptime_unwrap_error
bc8a0 2e 7a 69 67 3a 32 3a 34 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 .zig:2:44:.</span><span.class="s
bc8c0 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 gr-31m">error:.</span><span.clas
bc8e0 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 75 67 68 74 20 75 6e 65 78 70 65 63 74 65 64 20 65 72 72 s="sgr-1m">caught.unexpected.err
bc900 6f 72 20 27 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 27 0a 3c 2f 73 70 61 6e or.'UnableToReturnNumber'.</span
bc920 3e 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 >....const.number.=.getNumberOrF
bc940 61 69 6c 28 29 20 63 61 74 63 68 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 0a 20 20 20 20 20 20 20 ail().catch.unreachable;........
bc960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
bc980 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e ....<span.class="sgr-32m">^~~~~~
bc9a0 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d ~~~~~.</span><span.class="sgr-1m
bc9c0 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 77 72 61 ">docgen_tmp/test_comptime_unwra
bc9e0 70 5f 65 72 72 6f 72 2e 7a 69 67 3a 37 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 p_error.zig:7:18:.</span><span.c
bca00 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 lass="sgr-36m">note:.</span><spa
bca20 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 72 72 6f 72 20 72 65 74 75 72 6e 65 64 20 n.class="sgr-1m">error.returned.
bca40 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 55 6e 61 here.</span>....return.error.Una
bca60 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 bleToReturnNumber;..............
bca80 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e ....<span.class="sgr-32m">^~~~~~
bcaa0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f ~~~~~~~~~~~~~~.</span>.</samp></
bcac0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d pre></figure>.......<p>At.runtim
bcae0 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e e:</p>.......<figure><figcaption
bcb00 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="zig-cap"><cite.class="fi
bcb20 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3c 2f 63 69 le">runtime_unwrap_error.zig</ci
bcb40 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
bcb60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 .class="tok-kw">const</span>.std
bcb80 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d .=.<span.class="tok-builtin">@im
bcba0 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 port</span>(<span.class="tok-str
bcbc0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 ">&quot;std&quot;</span>);..<spa
bcbe0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 n.class="tok-kw">pub</span>.<spa
bcc00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e n.class="tok-kw">fn</span>.<span
bcc20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 .class="tok-fn">main</span>().<s
bcc40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e pan.class="tok-type">void</span>
bcc60 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
bcc80 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 t</span>.number.=.getNumberOrFai
bcca0 6c 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f l().<span.class="tok-kw">catch</
bccc0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 span>.<span.class="tok-kw">unrea
bcce0 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 chable</span>;.....std.debug.pri
bcd00 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 nt(<span.class="tok-str">&quot;v
bcd20 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 alue:.{}\n&quot;</span>,..{numbe
bcd40 72 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c r});.}..<span.class="tok-kw">fn<
bcd60 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e /span>.<span.class="tok-fn">getN
bcd80 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 umberOrFail</span>().!<span.clas
bcda0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 s="tok-type">i32</span>.{.....<s
bcdc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e pan.class="tok-kw">return</span>
bcde0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 .<span.class="tok-kw">error</spa
bce00 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 0a 7d 3c 2f 63 6f 64 65 n>.UnableToReturnNumber;.}</code
bce20 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 ></pre></figure><figure><figcapt
bce40 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 ion.class="shell-cap">Shell</fig
bce60 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 caption><pre><samp>$.<kbd>zig.bu
bce80 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 ild-exe.runtime_unwrap_error.zig
bcea0 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 </kbd>.$.<kbd>./runtime_unwrap_e
bcec0 72 72 6f 72 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 39 39 31 31 30 33 20 70 61 6e 69 63 3a 20 rror</kbd>.thread.991103.panic:.
bcee0 61 74 74 65 6d 70 74 20 74 6f 20 75 6e 77 72 61 70 20 65 72 72 6f 72 3a 20 55 6e 61 62 6c 65 54 attempt.to.unwrap.error:.UnableT
bcf00 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 oReturnNumber./home/ci/actions-r
bcf20 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f unner/_work/zig-bootstrap/zig/do
bcf40 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 cgen_tmp/runtime_unwrap_error.zi
bcf60 67 3a 39 3a 35 3a 20 30 78 31 30 33 35 65 39 66 20 69 6e 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 g:9:5:.0x1035e9f.in.getNumberOrF
bcf80 61 69 6c 20 28 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 29 0a 20 20 20 20 72 ail.(runtime_unwrap_error).....r
bcfa0 65 74 75 72 6e 20 65 72 72 6f 72 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 eturn.error.UnableToReturnNumber
bcfc0 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f ;.....^./home/ci/actions-runner/
bcfe0 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 _work/zig-bootstrap/zig/docgen_t
bd000 6d 70 2f 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3a 34 3a 34 34 mp/runtime_unwrap_error.zig:4:44
bd020 3a 20 30 78 31 30 33 33 65 33 31 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 75 6e 77 :.0x1033e31.in.main.(runtime_unw
bd040 72 61 70 5f 65 72 72 6f 72 29 0a 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 67 65 rap_error).....const.number.=.ge
bd060 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 20 63 61 74 63 68 20 75 6e 72 65 61 63 68 61 62 6c tNumberOrFail().catch.unreachabl
bd080 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e;..............................
bd0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 ..............^./home/ci/actions
bd0c0 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f -runner/_work/zig-bootstrap/out/
bd0e0 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 host/lib/zig/std/start.zig:501:2
bd100 32 3a 20 30 78 31 30 33 33 36 37 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 2:.0x1033679.in.posixCallMainAnd
bd120 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 29 0a 20 20 20 20 Exit.(runtime_unwrap_error).....
bd140 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ........root.main();............
bd160 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e ..........^./home/ci/actions-run
bd180 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 ner/_work/zig-bootstrap/out/host
bd1a0 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 /lib/zig/std/start.zig:253:5:.0x
bd1c0 31 30 33 33 31 65 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 10331e1.in._start.(runtime_unwra
bd1e0 70 5f 65 72 72 6f 72 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 p_error).....asm.volatile.(switc
bd200 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a h.(native_arch).{.....^.???:?:?:
bd220 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 .0x0.in.???.(???).(process.termi
bd240 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f nated.by.signal).</samp></pre></
bd260 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 61 76 6f 69 figure>.......<p>One.way.to.avoi
bd280 64 20 74 68 69 73 20 63 72 61 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 61 6e 20 65 d.this.crash.is.to.test.for.an.e
bd2a0 72 72 6f 72 20 69 6e 73 74 65 61 64 20 6f 66 20 61 73 73 75 6d 69 6e 67 20 61 20 73 75 63 63 65 rror.instead.of.assuming.a.succe
bd2c0 73 73 66 75 6c 20 72 65 73 75 6c 74 2c 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f ssful.result,.with.......the.<co
bd2e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e de><span.class="tok-kw">if</span
bd300 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ></code>.expression:</p>.......<
bd320 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 figure><figcaption.class="zig-ca
bd340 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 65 72 p"><cite.class="file">testing_er
bd360 72 6f 72 5f 77 69 74 68 5f 69 66 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 ror_with_if.zig</cite></figcapti
bd380 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
bd3a0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c w">const</span>.print.=.<span.cl
bd3c0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e ass="tok-builtin">@import</span>
bd3e0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 (<span.class="tok-str">&quot;std
bd400 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 0a 0a 3c 73 70 &quot;</span>).debug.print;..<sp
bd420 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 an.class="tok-kw">pub</span>.<sp
bd440 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 an.class="tok-kw">fn</span>.<spa
bd460 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c n.class="tok-fn">main</span>().<
bd480 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e span.class="tok-type">void</span
bd4a0 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e >.{.....<span.class="tok-kw">con
bd4c0 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 st</span>.result.=.getNumberOrFa
bd4e0 69 6c 28 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e il();......<span.class="tok-kw">
bd500 69 66 3c 2f 73 70 61 6e 3e 20 28 72 65 73 75 6c 74 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a 20 20 if</span>.(result).|number|.{...
bd520 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ......print(<span.class="tok-str
bd540 22 3e 26 71 75 6f 74 3b 67 6f 74 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f ">&quot;got.number:.{}\n&quot;</
bd560 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 span>,..{number});.....}.<span.c
bd580 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 lass="tok-kw">else</span>.|err|.
bd5a0 7b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b {.........print(<span.class="tok
bd5c0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6f 74 20 65 72 72 6f 72 3a 20 7b 73 7d 5c 6e 26 71 75 6f -str">&quot;got.error:.{s}\n&quo
bd5e0 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t;</span>,..{<span.class="tok-bu
bd600 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b iltin">@errorName</span>(err)});
bd620 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 .....}.}..<span.class="tok-kw">f
bd640 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 n</span>.<span.class="tok-fn">ge
bd660 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c tNumberOrFail</span>().!<span.cl
bd680 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ass="tok-type">i32</span>.{.....
bd6a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 <span.class="tok-kw">return</spa
bd6c0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 n>.<span.class="tok-kw">error</s
bd6e0 70 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 0a 7d 3c 2f 63 6f pan>.UnableToReturnNumber;.}</co
bd700 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
bd720 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
bd740 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
bd760 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 69 6e 67 5f 65 72 72 6f 72 5f 77 69 74 68 5f 69 66 2e build-exe.testing_error_with_if.
bd780 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 69 6e 67 5f 65 72 72 6f 72 zig</kbd>.$.<kbd>./testing_error
bd7a0 5f 77 69 74 68 5f 69 66 3c 2f 6b 62 64 3e 0a 67 6f 74 20 65 72 72 6f 72 3a 20 55 6e 61 62 6c 65 _with_if</kbd>.got.error:.Unable
bd7c0 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 ToReturnNumber.</samp></pre></fi
bd7e0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e gure>.......<p>See.also:</p><ul>
bd800 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 .<li><a.href="#Errors">Errors</a
bd820 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 ></li>.</ul>...............<h3.i
bd840 64 3d 22 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 d="Invalid-Error-Code"><a.href="
bd860 23 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e 49 6e 76 61 6c 69 64 #toc-Invalid-Error-Code">Invalid
bd880 20 45 72 72 6f 72 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 .Error.Code</a>.<a.class="hdr".h
bd8a0 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e c2 a7 3c 2f 61 3e ref="#Invalid-Error-Code">..</a>
bd8c0 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a </h3>........<p>At.compile-time:
bd8e0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
bd900 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
bd920 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f ">test_comptime_invalid_error_co
bd940 64 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c de.zig</cite></figcaption><pre><
bd960 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 code><span.class="tok-kw">compti
bd980 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b me</span>.{.....<span.class="tok
bd9a0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c -kw">const</span>.err.=.<span.cl
bd9c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 6e 45 72 72 6f ass="tok-kw">error</span>.AnErro
bd9e0 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 r;.....<span.class="tok-kw">cons
bda00 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.number.=.<span.class="t
bda20 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f 72 3c 2f 73 70 61 6e 3e ok-builtin">@intFromError</span>
bda40 28 65 72 72 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 (err).+.<span.class="tok-number"
bda60 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >10</span>;.....<span.class="tok
bda80 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 -kw">const</span>.invalid_err.=.
bdaa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 <span.class="tok-builtin">@error
bdac0 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 5f 20 3d 20 FromInt</span>(number);....._.=.
bdae0 69 6e 76 61 6c 69 64 5f 65 72 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 invalid_err;.}</code></pre></fig
bdb00 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 ure><figure><figcaption.class="s
bdb20 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 hell-cap">Shell</figcaption><pre
bdb40 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 ><samp>$.<kbd>zig.test.test_comp
bdb60 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 67 3c 2f 6b 62 64 time_invalid_error_code.zig</kbd
bdb80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d >.<span.class="sgr-1m">docgen_tm
bdba0 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f p/test_comptime_invalid_error_co
bdbc0 64 65 2e 7a 69 67 3a 34 3a 33 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d de.zig:4:39:.</span><span.class=
bdbe0 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c "sgr-31m">error:.</span><span.cl
bdc00 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 27 31 31 27 20 ass="sgr-1m">integer.value.'11'.
bdc20 72 65 70 72 65 73 65 6e 74 73 20 6e 6f 20 65 72 72 6f 72 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 represents.no.error.</span>....c
bdc40 6f 6e 73 74 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 onst.invalid_err.=.@errorFromInt
bdc60 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (number);.......................
bdc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 ................<span.class="sgr
bdca0 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 -32m">^~~~~~.</span>.</samp></pr
bdcc0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a e></figure>.......<p>At.runtime:
bdce0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 </p>.......<figure><figcaption.c
bdd00 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 lass="zig-cap"><cite.class="file
bdd20 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 67 ">runtime_invalid_error_code.zig
bdd40 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c </cite></figcaption><pre><code><
bdd60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
bdd80 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .std.=.<span.class="tok-builtin"
bdda0 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@import</span>(<span.class="tok
bddc0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a -str">&quot;std&quot;</span>);..
bdde0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">pub</span>.
bde00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
bde20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 span.class="tok-fn">main</span>(
bde40 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 ).<span.class="tok-type">void</s
bde60 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.{.....<span.class="tok-kw">
bde80 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.err.=.<span.class="
bdea0 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 6e 45 72 72 6f 72 3b 0a 20 20 tok-kw">error</span>.AnError;...
bdec0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e ..<span.class="tok-kw">var</span
bdee0 3e 20 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c >.number.=.<span.class="tok-buil
bdf00 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 65 72 72 29 20 2b tin">@intFromError</span>(err).+
bdf20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 30 30 3c 2f 73 .<span.class="tok-number">500</s
bdf40 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 6e 75 6d 62 65 72 3b 0a 20 20 20 20 3c pan>;....._.=.&amp;number;.....<
bdf60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
bdf80 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .invalid_err.=.<span.class="tok-
bdfa0 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 6e 75 builtin">@errorFromInt</span>(nu
bdfc0 6d 62 65 72 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e mber);.....std.debug.print(<span
bdfe0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d .class="tok-str">&quot;value:.{}
be000 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 69 6e 76 61 6c 69 64 5f 65 72 72 7d 29 \n&quot;</span>,..{invalid_err})
be020 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 ;.}</code></pre></figure><figure
be040 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 ><figcaption.class="shell-cap">S
be060 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
be080 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 bd>zig.build-exe.runtime_invalid
be0a0 5f 65 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 _error_code.zig</kbd>.$.<kbd>./r
be0c0 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 3c 2f 6b 62 64 3e 0a untime_invalid_error_code</kbd>.
be0e0 74 68 72 65 61 64 20 39 39 31 31 37 30 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 64 20 65 72 72 thread.991170.panic:.invalid.err
be100 6f 72 20 63 6f 64 65 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f or.code./home/ci/actions-runner/
be120 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 _work/zig-bootstrap/zig/docgen_t
be140 6d 70 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 mp/runtime_invalid_error_code.zi
be160 67 3a 37 3a 35 3a 20 30 78 31 30 33 33 64 63 30 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d g:7:5:.0x1033dc0.in.main.(runtim
be180 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 29 0a 20 20 20 20 63 6f 6e 73 74 20 e_invalid_error_code).....const.
be1a0 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 28 6e 75 6d 62 invalid_err.=.@errorFromInt(numb
be1c0 65 72 29 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e er);.....^./home/ci/actions-runn
be1e0 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f er/_work/zig-bootstrap/out/host/
be200 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 lib/zig/std/start.zig:501:22:.0x
be220 31 30 33 33 36 30 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 1033609.in.posixCallMainAndExit.
be240 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 29 0a 20 20 20 (runtime_invalid_error_code)....
be260 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 .........root.main();...........
be280 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 ...........^./home/ci/actions-ru
be2a0 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 nner/_work/zig-bootstrap/out/hos
be2c0 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 t/lib/zig/std/start.zig:253:5:.0
be2e0 78 31 30 33 33 31 37 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 x1033171.in._start.(runtime_inva
be300 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 lid_error_code).....asm.volatile
be320 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f .(switch.(native_arch).{.....^.?
be340 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 ??:?:?:.0x0.in.???.(???).(proces
be360 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c s.terminated.by.signal).</samp><
be380 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 /pre></figure>..............<h3.
be3a0 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 id="Invalid-Enum-Cast"><a.href="
be3c0 23 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 #toc-Invalid-Enum-Cast">Invalid.
be3e0 45 6e 75 6d 20 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 Enum.Cast</a>.<a.class="hdr".hre
be400 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 f="#Invalid-Enum-Cast">..</a></h
be420 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3>........<p>At.compile-time:</p
be440 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 >.......<figure><figcaption.clas
be460 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 s="zig-cap"><cite.class="file">t
be480 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a est_comptime_invalid_enum_cast.z
be4a0 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
be4c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ><span.class="tok-kw">const</spa
be4e0 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e n>.Foo.=.<span.class="tok-kw">en
be500 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 2c 0a 20 20 20 20 62 2c 0a 20 20 20 20 63 2c um</span>.{.....a,.....b,.....c,
be520 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d .};.<span.class="tok-kw">comptim
be540 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e</span>.{.....<span.class="tok-
be560 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">const</span>.a:.<span.class=
be580 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">u2</span>.=.<span.cla
be5a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 ss="tok-number">3</span>;.....<s
be5c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
be5e0 62 3a 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 b:.Foo.=.<span.class="tok-builti
be600 6e 22 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 61 29 3b 0a 20 20 20 20 5f n">@enumFromInt</span>(a);....._
be620 20 3d 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 .=.b;.}</code></pre></figure><fi
be640 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 gure><figcaption.class="shell-ca
be660 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e p">Shell</figcaption><pre><samp>
be680 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e $.<kbd>zig.test.test_comptime_in
be6a0 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 valid_enum_cast.zig</kbd>.<span.
be6c0 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 class="sgr-1m">docgen_tmp/test_c
be6e0 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3a 38 3a omptime_invalid_enum_cast.zig:8:
be700 32 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 20:.</span><span.class="sgr-31m"
be720 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d >error:.</span><span.class="sgr-
be740 31 6d 22 3e 65 6e 75 6d 20 27 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 1m">enum.'test_comptime_invalid_
be760 65 6e 75 6d 5f 63 61 73 74 2e 46 6f 6f 27 20 68 61 73 20 6e 6f 20 74 61 67 20 77 69 74 68 20 76 enum_cast.Foo'.has.no.tag.with.v
be780 61 6c 75 65 20 27 33 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 62 3a 20 46 6f 6f alue.'3'.</span>....const.b:.Foo
be7a0 20 3d 20 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 28 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .=.@enumFromInt(a);.............
be7c0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e .......<span.class="sgr-32m">^~~
be7e0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ~~~~~~~~~~~~.</span><span.class=
be800 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d "sgr-1m">docgen_tmp/test_comptim
be820 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3a 31 3a 31 33 3a 20 3c 2f e_invalid_enum_cast.zig:1:13:.</
be840 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a span><span.class="sgr-36m">note:
be860 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 6e 75 .</span><span.class="sgr-1m">enu
be880 6d 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 46 6f 6f m.declared.here.</span>const.Foo
be8a0 20 3d 20 65 6e 75 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .=.enum.{.............<span.clas
be8c0 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e s="sgr-32m">^~~~.</span>.</samp>
be8e0 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 </pre></figure>.......<p>At.runt
be900 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ime:</p>.......<figure><figcapti
be920 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 on.class="zig-cap"><cite.class="
be940 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e file">runtime_invalid_enum_cast.
be960 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 zig</cite></figcaption><pre><cod
be980 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
be9a0 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 an>.std.=.<span.class="tok-built
be9c0 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@import</span>(<span.class="
be9e0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 tok-str">&quot;std&quot;</span>)
bea00 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ;..<span.class="tok-kw">const</s
bea20 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.Foo.=.<span.class="tok-kw">
bea40 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 2c 0a 20 20 20 20 62 2c 0a 20 20 20 20 enum</span>.{.....a,.....b,.....
bea60 63 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c c,.};..<span.class="tok-kw">pub<
bea80 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f /span>.<span.class="tok-kw">fn</
beaa0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c span>.<span.class="tok-fn">main<
beac0 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e /span>().<span.class="tok-type">
beae0 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 void</span>.{.....<span.class="t
beb00 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.a:.<span.class
beb20 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c ="tok-type">u2</span>.=.<span.cl
beb40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f ass="tok-number">3</span>;....._
beb60 20 3d 20 26 61 6d 70 3b 61 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .=.&amp;a;.....<span.class="tok-
beb80 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 kw">const</span>.b:.Foo.=.<span.
beba0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 class="tok-builtin">@enumFromInt
bebc0 3c 2f 73 70 61 6e 3e 28 61 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 </span>(a);.....std.debug.print(
bebe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 <span.class="tok-str">&quot;valu
bec00 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 e:.{s}\n&quot;</span>,..{<span.c
bec20 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 lass="tok-builtin">@tagName</spa
bec40 6e 3e 28 62 29 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e n>(b)});.}</code></pre></figure>
bec60 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
bec80 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 -cap">Shell</figcaption><pre><sa
beca0 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f mp>$.<kbd>zig.build-exe.runtime_
becc0 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b invalid_enum_cast.zig</kbd>.$.<k
bece0 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 3c 2f bd>./runtime_invalid_enum_cast</
bed00 6b 62 64 3e 0a 74 68 72 65 61 64 20 39 39 31 32 31 30 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 kbd>.thread.991210.panic:.invali
bed20 64 20 65 6e 75 6d 20 76 61 6c 75 65 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 d.enum.value./home/ci/actions-ru
bed40 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 nner/_work/zig-bootstrap/zig/doc
bed60 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 gen_tmp/runtime_invalid_enum_cas
bed80 74 2e 7a 69 67 3a 31 32 3a 32 30 3a 20 30 78 31 30 33 33 64 39 37 20 69 6e 20 6d 61 69 6e 20 28 t.zig:12:20:.0x1033d97.in.main.(
beda0 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 29 0a 20 20 20 20 63 runtime_invalid_enum_cast).....c
bedc0 6f 6e 73 74 20 62 3a 20 46 6f 6f 20 3d 20 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 28 61 29 3b 0a 20 onst.b:.Foo.=.@enumFromInt(a);..
bede0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 ..................^./home/ci/act
bee00 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
bee20 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 out/host/lib/zig/std/start.zig:5
bee40 30 31 3a 32 32 3a 20 30 78 31 30 33 33 35 66 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 01:22:.0x10335f9.in.posixCallMai
bee60 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 nAndExit.(runtime_invalid_enum_c
bee80 61 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 ast).............root.main();...
beea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 ...................^./home/ci/ac
beec0 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 tions-runner/_work/zig-bootstrap
beee0 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a /out/host/lib/zig/std/start.zig:
bef00 32 35 33 3a 35 3a 20 30 78 31 30 33 33 31 36 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 253:5:.0x1033161.in._start.(runt
bef20 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 29 0a 20 20 20 20 61 73 6d 20 76 ime_invalid_enum_cast).....asm.v
bef40 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a olatile.(switch.(native_arch).{.
bef60 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a ....^.???:?:?:.0x0.in.???.(???).
bef80 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c (process.terminated.by.signal).<
befa0 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 /samp></pre></figure>...........
befc0 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 ....<h3.id="Invalid-Error-Set-Ca
befe0 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d st"><a.href="#toc-Invalid-Error-
bf000 53 65 74 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 53 65 74 20 43 61 73 74 Set-Cast">Invalid.Error.Set.Cast
bf020 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c </a>.<a.class="hdr".href="#Inval
bf040 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a id-Error-Set-Cast">..</a></h3>..
bf060 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 ......<p>At.compile-time:</p>...
bf080 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a ....<figure><figcaption.class="z
bf0a0 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
bf0c0 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 2e comptime_invalid_error_set_cast.
bf0e0 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 zig</cite></figcaption><pre><cod
bf100 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
bf120 61 6e 3e 20 53 65 74 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e an>.Set1.=.<span.class="tok-kw">
bf140 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 42 2c 0a 7d 3b 0a 3c error</span>{.....A,.....B,.};.<
bf160 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
bf180 20 53 65 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 .Set2.=.<span.class="tok-kw">err
bf1a0 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 43 2c 0a 7d 3b 0a 3c 73 70 61 or</span>{.....A,.....C,.};.<spa
bf1c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e n.class="tok-kw">comptime</span>
bf1e0 20 7b 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c .{....._.=.<span.class="tok-buil
bf200 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 53 65 74 32 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tin">@as</span>(Set2,.<span.clas
bf220 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 43 61 73 74 3c 2f 73 70 61 6e s="tok-builtin">@errorCast</span
bf240 3e 28 53 65 74 31 2e 42 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 >(Set1.B));.}</code></pre></figu
bf260 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
bf280 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
bf2a0 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 <samp>$.<kbd>zig.test.test_compt
bf2c0 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 2e 7a 69 67 3c 2f ime_invalid_error_set_cast.zig</
bf2e0 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e kbd>.<span.class="sgr-1m">docgen
bf300 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 _tmp/test_comptime_invalid_error
bf320 5f 73 65 74 5f 63 61 73 74 2e 7a 69 67 3a 31 30 3a 31 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 _set_cast.zig:10:19:.</span><spa
bf340 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e n.class="sgr-31m">error:.</span>
bf360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 27 65 72 72 6f 72 2e 42 27 20 6e <span.class="sgr-1m">'error.B'.n
bf380 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 65 72 72 6f 72 20 73 65 74 20 27 65 72 72 6f 72 7b ot.a.member.of.error.set.'error{
bf3a0 41 2c 43 7d 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 5f 20 3d 20 40 61 73 28 53 65 74 32 2c 20 40 A,C}'.</span>...._.=.@as(Set2,.@
bf3c0 65 72 72 6f 72 43 61 73 74 28 53 65 74 31 2e 42 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 errorCast(Set1.B));.............
bf3e0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e ......<span.class="sgr-32m">^~~~
bf400 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f ~~~~~~~~~~~~~~.</span>.</samp></
bf420 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d pre></figure>.......<p>At.runtim
bf440 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e e:</p>.......<figure><figcaption
bf460 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="zig-cap"><cite.class="fi
bf480 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 le">runtime_invalid_error_set_ca
bf4a0 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c st.zig</cite></figcaption><pre><
bf4c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c code><span.class="tok-kw">const<
bf4e0 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.std.=.<span.class="tok-bu
bf500 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
bf520 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;std&quot;</spa
bf540 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 n>);..<span.class="tok-kw">const
bf560 3c 2f 73 70 61 6e 3e 20 53 65 74 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.Set1.=.<span.class="tok-
bf580 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 42 2c 0a kw">error</span>{.....A,.....B,.
bf5a0 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 };.<span.class="tok-kw">const</s
bf5c0 70 61 6e 3e 20 53 65 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>.Set2.=.<span.class="tok-kw"
bf5e0 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 43 2c 0a 7d 3b 0a >error</span>{.....A,.....C,.};.
bf600 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">pub</span>.
bf620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
bf640 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 span.class="tok-fn">main</span>(
bf660 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 ).<span.class="tok-type">void</s
bf680 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 0a 7d 0a 3c 73 70 61 6e 20 pan>.{.....foo(Set1.B);.}.<span.
bf6a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 class="tok-kw">fn</span>.<span.c
bf6c0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 65 74 31 3a 20 53 lass="tok-fn">foo</span>(set1:.S
bf6e0 65 74 31 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 et1).<span.class="tok-type">void
bf700 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>.{.....<span.class="tok-k
bf720 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 53 65 74 32 20 3d 20 3c 73 70 61 6e 20 w">const</span>.x:.Set2.=.<span.
bf740 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 43 61 73 74 3c 2f class="tok-builtin">@errorCast</
bf760 73 70 61 6e 3e 28 73 65 74 31 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 span>(set1);.....std.debug.print
bf780 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c (<span.class="tok-str">&quot;val
bf7a0 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 0a 7d 3c ue:.{}\n&quot;</span>,..{x});.}<
bf7c0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 /code></pre></figure><figure><fi
bf7e0 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c gcaption.class="shell-cap">Shell
bf800 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
bf820 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 ig.build-exe.runtime_invalid_err
bf840 6f 72 5f 73 65 74 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 or_set_cast.zig</kbd>.$.<kbd>./r
bf860 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 3c 2f 6b untime_invalid_error_set_cast</k
bf880 62 64 3e 0a 74 68 72 65 61 64 20 39 39 31 32 35 30 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 64 bd>.thread.991250.panic:.invalid
bf8a0 20 65 72 72 6f 72 20 63 6f 64 65 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e .error.code./home/ci/actions-run
bf8c0 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 ner/_work/zig-bootstrap/zig/docg
bf8e0 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 en_tmp/runtime_invalid_error_set
bf900 5f 63 61 73 74 2e 7a 69 67 3a 31 35 3a 32 31 3a 20 30 78 31 30 33 35 65 33 37 20 69 6e 20 66 6f _cast.zig:15:21:.0x1035e37.in.fo
bf920 6f 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 o.(runtime_invalid_error_set_cas
bf940 74 29 0a 20 20 20 20 63 6f 6e 73 74 20 78 3a 20 53 65 74 32 20 3d 20 40 65 72 72 6f 72 43 61 73 t).....const.x:.Set2.=.@errorCas
bf960 74 28 73 65 74 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f t(set1);.....................^./
bf980 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 home/ci/actions-runner/_work/zig
bf9a0 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d -bootstrap/zig/docgen_tmp/runtim
bf9c0 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 2e 7a 69 67 3a 31 32 3a e_invalid_error_set_cast.zig:12:
bf9e0 38 3a 20 30 78 31 30 33 33 64 37 64 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 8:.0x1033d7d.in.main.(runtime_in
bfa00 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 29 0a 20 20 20 20 66 6f 6f 28 53 65 valid_error_set_cast).....foo(Se
bfa20 74 31 2e 42 29 3b 0a 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 t1.B);........^./home/ci/actions
bfa40 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f -runner/_work/zig-bootstrap/out/
bfa60 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 host/lib/zig/std/start.zig:501:2
bfa80 32 3a 20 30 78 31 30 33 33 36 32 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 2:.0x1033629.in.posixCallMainAnd
bfaa0 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f Exit.(runtime_invalid_error_set_
bfac0 63 61 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 cast).............root.main();..
bfae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 ....................^./home/ci/a
bfb00 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 ctions-runner/_work/zig-bootstra
bfb20 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 p/out/host/lib/zig/std/start.zig
bfb40 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 33 31 39 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e :253:5:.0x1033191.in._start.(run
bfb60 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 73 65 74 5f 63 61 73 74 29 0a 20 20 20 time_invalid_error_set_cast)....
bfb80 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 72 .asm.volatile.(switch.(native_ar
bfba0 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f 20 ch).{.....^.???:?:?:.0x0.in.???.
bfbc0 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 (???).(process.terminated.by.sig
bfbe0 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 nal).</samp></pre></figure>.....
bfc00 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e ..........<h3.id="Incorrect-Poin
bfc20 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 63 ter-Alignment"><a.href="#toc-Inc
bfc40 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 49 6e 63 6f 72 72 orrect-Pointer-Alignment">Incorr
bfc60 65 63 74 20 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 ect.Pointer.Alignment</a>.<a.cla
bfc80 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 ss="hdr".href="#Incorrect-Pointe
bfca0 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 r-Alignment">..</a></h3>........
bfcc0 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 <p>At.compile-time:</p>.......<f
bfce0 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 igure><figcaption.class="zig-cap
bfd00 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 "><cite.class="file">test_compti
bfd20 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a me_incorrect_pointer_alignment.z
bfd40 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 ig</cite></figcaption><pre><code
bfd60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f ><span.class="tok-kw">comptime</
bfd80 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 span>.{.....<span.class="tok-kw"
bfda0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.ptr:.*<span.class=
bfdc0 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 "tok-kw">align</span>(<span.clas
bfde0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-number">1</span>).<span.c
bfe00 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">i32</span>.=.<sp
bfe20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 46 72 6f 6d 49 an.class="tok-builtin">@ptrFromI
bfe40 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 nt</span>(<span.class="tok-numbe
bfe60 72 22 3e 30 78 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">0x1</span>);.....<span.class=
bfe80 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 65 64 3a 20 2a "tok-kw">const</span>.aligned:.*
bfea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e <span.class="tok-kw">align</span
bfec0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 >(<span.class="tok-number">4</sp
bfee0 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c an>).<span.class="tok-type">i32<
bff00 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 /span>.=.<span.class="tok-builti
bff20 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b 0a 20 20 20 20 5f n">@alignCast</span>(ptr);....._
bff40 20 3d 20 61 6c 69 67 6e 65 64 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 .=.aligned;.}</code></pre></figu
bff60 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
bff80 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
bffa0 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 <samp>$.<kbd>zig.test.test_compt
bffc0 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e ime_incorrect_pointer_alignment.
bffe0 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 zig</kbd>.<span.class="sgr-1m">d
c0000 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 ocgen_tmp/test_comptime_incorrec
c0020 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3a 33 3a 34 37 3a 20 3c 2f t_pointer_alignment.zig:3:47:.</
c0040 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 span><span.class="sgr-31m">error
c0060 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 6f :.</span><span.class="sgr-1m">po
c0080 69 6e 74 65 72 20 61 64 64 72 65 73 73 20 30 78 31 20 69 73 20 6e 6f 74 20 61 6c 69 67 6e 65 64 inter.address.0x1.is.not.aligned
c00a0 20 74 6f 20 34 20 62 79 74 65 73 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 61 6c 69 .to.4.bytes.</span>....const.ali
c00c0 67 6e 65 64 3a 20 2a 61 6c 69 67 6e 28 34 29 20 69 33 32 20 3d 20 40 61 6c 69 67 6e 43 61 73 74 gned:.*align(4).i32.=.@alignCast
c00e0 28 70 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (ptr);..........................
c0100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 .....................<span.class
c0120 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f ="sgr-32m">^~~.</span>.</samp></
c0140 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d pre></figure>.......<p>At.runtim
c0160 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e e:</p>.......<figure><figcaption
c0180 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="zig-cap"><cite.class="fi
c01a0 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c le">runtime_incorrect_pointer_al
c01c0 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ignment.zig</cite></figcaption><
c01e0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 pre><code><span.class="tok-kw">c
c0200 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 onst</span>.mem.=.<span.class="t
c0220 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@import</span>(<span
c0240 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b .class="tok-str">&quot;std&quot;
c0260 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b </span>).mem;.<span.class="tok-k
c0280 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b w">pub</span>.<span.class="tok-k
c02a0 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e w">fn</span>.<span.class="tok-fn
c02c0 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">main</span>().!<span.class="to
c02e0 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 k-type">void</span>.{.....<span.
c0300 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 class="tok-kw">var</span>.array.
c0320 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e <span.class="tok-kw">align</span
c0340 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 >(<span.class="tok-number">4</sp
c0360 61 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 an>).=.[_]<span.class="tok-type"
c0380 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >u32</span>{.<span.class="tok-nu
c03a0 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 mber">0x11111111</span>,.<span.c
c03c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 lass="tok-number">0x11111111</sp
c03e0 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e an>.};.....<span.class="tok-kw">
c0400 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3d 20 6d 65 6d 2e 73 6c 69 63 65 41 73 const</span>.bytes.=.mem.sliceAs
c0420 42 79 74 65 73 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d Bytes(array[<span.class="tok-num
c0440 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ber">0</span>..]);.....<span.cla
c0460 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 28 62 79 74 65 73 ss="tok-kw">if</span>.(foo(bytes
c0480 29 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 ).!=.<span.class="tok-number">0x
c04a0 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 11111111</span>).<span.class="to
c04c0 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">return</span>.<span.class=
c04e0 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 57 72 6f 6e 67 3b 0a 7d 0a 3c "tok-kw">error</span>.Wrong;.}.<
c0500 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
c0520 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 62 79 pan.class="tok-fn">foo</span>(by
c0540 74 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 tes:.[]<span.class="tok-type">u8
c0560 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>).<span.class="tok-type">
c0580 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f u32</span>.{.....<span.class="to
c05a0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 34 20 3d 20 62 79 74 65 k-kw">const</span>.slice4.=.byte
c05c0 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 s[<span.class="tok-number">1</sp
c05e0 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c an>..<span.class="tok-number">5<
c0600 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>];.....<span.class="tok-kw
c0620 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 6d 65 6d 2e 62 ">const</span>.int_slice.=.mem.b
c0640 79 74 65 73 41 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ytesAsSlice(<span.class="tok-typ
c0660 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">u32</span>,.<span.class="tok-
c0680 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 builtin">@as</span>([]<span.clas
c06a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c s="tok-kw">align</span>(<span.cl
c06c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ass="tok-number">4</span>).<span
c06e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-type">u8</span>,.<sp
c0700 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 an.class="tok-builtin">@alignCas
c0720 74 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 34 29 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c t</span>(slice4)));.....<span.cl
c0740 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 ass="tok-kw">return</span>.int_s
c0760 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c lice[<span.class="tok-number">0<
c0780 2f 73 70 61 6e 3e 5d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e /span>];.}</code></pre></figure>
c07a0 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
c07c0 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 -cap">Shell</figcaption><pre><sa
c07e0 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f mp>$.<kbd>zig.build-exe.runtime_
c0800 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c incorrect_pointer_alignment.zig<
c0820 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 /kbd>.$.<kbd>./runtime_incorrect
c0840 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 _pointer_alignment</kbd>.thread.
c0860 39 39 31 32 39 30 20 70 61 6e 69 63 3a 20 69 6e 63 6f 72 72 65 63 74 20 61 6c 69 67 6e 6d 65 6e 991290.panic:.incorrect.alignmen
c0880 74 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f t./home/ci/actions-runner/_work/
c08a0 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e zig-bootstrap/zig/docgen_tmp/run
c08c0 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 time_incorrect_pointer_alignment
c08e0 2e 7a 69 67 3a 39 3a 36 34 3a 20 30 78 31 30 33 33 61 37 61 20 69 6e 20 66 6f 6f 20 28 72 75 6e .zig:9:64:.0x1033a7a.in.foo.(run
c0900 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 time_incorrect_pointer_alignment
c0920 29 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 6d 65 6d 2e 62 79 74 65 ).....const.int_slice.=.mem.byte
c0940 73 41 73 53 6c 69 63 65 28 75 33 32 2c 20 40 61 73 28 5b 5d 61 6c 69 67 6e 28 34 29 20 75 38 2c sAsSlice(u32,.@as([]align(4).u8,
c0960 20 40 61 6c 69 67 6e 43 61 73 74 28 73 6c 69 63 65 34 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 .@alignCast(slice4)));..........
c0980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c09a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 ......................^./home/ci
c09c0 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 /actions-runner/_work/zig-bootst
c09e0 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 69 6e 63 6f 72 rap/zig/docgen_tmp/runtime_incor
c0a00 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3a 35 3a 31 32 3a rect_pointer_alignment.zig:5:12:
c0a20 20 30 78 31 30 33 33 39 33 37 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 63 6f .0x1033937.in.main.(runtime_inco
c0a40 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 29 0a 20 20 20 20 69 66 20 rrect_pointer_alignment).....if.
c0a60 28 66 6f 6f 28 62 79 74 65 73 29 20 21 3d 20 30 78 31 31 31 31 31 31 31 31 29 20 72 65 74 75 72 (foo(bytes).!=.0x11111111).retur
c0a80 6e 20 65 72 72 6f 72 2e 57 72 6f 6e 67 3b 0a 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d n.error.Wrong;............^./hom
c0aa0 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f e/ci/actions-runner/_work/zig-bo
c0ac0 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 otstrap/out/host/lib/zig/std/sta
c0ae0 72 74 2e 7a 69 67 3a 35 31 31 3a 33 37 3a 20 30 78 31 30 33 33 38 33 35 20 69 6e 20 70 6f 73 69 rt.zig:511:37:.0x1033835.in.posi
c0b00 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 63 6f 72 72 xCallMainAndExit.(runtime_incorr
c0b20 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 ect_pointer_alignment)..........
c0b40 20 20 20 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 20 63 61 ...const.result.=.root.main().ca
c0b60 74 63 68 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tch.|err|.{.....................
c0b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f ................^./home/ci/actio
c0ba0 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 ns-runner/_work/zig-bootstrap/ou
c0bc0 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 t/host/lib/zig/std/start.zig:253
c0be0 3a 35 3a 20 30 78 31 30 33 33 33 35 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 :5:.0x1033351.in._start.(runtime
c0c00 5f 69 6e 63 6f 72 72 65 63 74 5f 70 6f 69 6e 74 65 72 5f 61 6c 69 67 6e 6d 65 6e 74 29 0a 20 20 _incorrect_pointer_alignment)...
c0c20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f 61 ..asm.volatile.(switch.(native_a
c0c40 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f 3f rch).{.....^.???:?:?:.0x0.in.???
c0c60 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 .(???).(process.terminated.by.si
c0c80 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 gnal).</samp></pre></figure>....
c0ca0 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 ..........<h3.id="Wrong-Union-Fi
c0cc0 65 6c 64 2d 41 63 63 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 72 6f 6e 67 2d eld-Access"><a.href="#toc-Wrong-
c0ce0 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 57 72 6f 6e 67 20 55 6e 69 6f 6e 20 Union-Field-Access">Wrong.Union.
c0d00 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 Field.Access</a>.<a.class="hdr".
c0d20 68 72 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 href="#Wrong-Union-Field-Access"
c0d40 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c >..</a></h3>........<p>At.compil
c0d60 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 e-time:</p>.......<figure><figca
c0d80 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 ption.class="zig-cap"><cite.clas
c0da0 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 s="file">test_comptime_wrong_uni
c0dc0 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 on_field_access.zig</cite></figc
c0de0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
c0e00 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 ok-kw">comptime</span>.{.....<sp
c0e20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d an.class="tok-kw">var</span>.f.=
c0e40 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .Foo{..int.=.<span.class="tok-nu
c0e60 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d mber">42</span>.};.....f.float.=
c0e80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c .<span.class="tok-number">12.34<
c0ea0 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e /span>;.}..<span.class="tok-kw">
c0ec0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.Foo.=.<span.class="
c0ee0 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6c 6f 61 74 tok-kw">union</span>.{.....float
c0f00 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 :.<span.class="tok-type">f32</sp
c0f20 61 6e 3e 2c 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 an>,.....int:.<span.class="tok-t
c0f40 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ype">u32</span>,.};</code></pre>
c0f60 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 </figure><figure><figcaption.cla
c0f80 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e ss="shell-cap">Shell</figcaption
c0fa0 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 ><pre><samp>$.<kbd>zig.test.test
c0fc0 5f 63 6f 6d 70 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 _comptime_wrong_union_field_acce
c0fe0 73 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d ss.zig</kbd>.<span.class="sgr-1m
c1000 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 77 72 6f 6e 67 ">docgen_tmp/test_comptime_wrong
c1020 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 2e 7a 69 67 3a 33 3a 36 3a 20 3c 2f 73 _union_field_access.zig:3:6:.</s
c1040 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a pan><span.class="sgr-31m">error:
c1060 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 61 63 63 .</span><span.class="sgr-1m">acc
c1080 65 73 73 20 6f 66 20 75 6e 69 6f 6e 20 66 69 65 6c 64 20 27 66 6c 6f 61 74 27 20 77 68 69 6c 65 ess.of.union.field.'float'.while
c10a0 20 66 69 65 6c 64 20 27 69 6e 74 27 20 69 73 20 61 63 74 69 76 65 0a 3c 2f 73 70 61 6e 3e 20 20 .field.'int'.is.active.</span>..
c10c0 20 20 66 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ..f.float.=.12.34;.....<span.cla
c10e0 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 5e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 ss="sgr-32m">~^~~~~~.</span><spa
c1100 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 n.class="sgr-1m">docgen_tmp/test
c1120 5f 63 6f 6d 70 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 _comptime_wrong_union_field_acce
c1140 73 73 2e 7a 69 67 3a 36 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ss.zig:6:13:.</span><span.class=
c1160 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 "sgr-36m">note:.</span><span.cla
c1180 73 73 3d 22 73 67 72 2d 31 6d 22 3e 75 6e 69 6f 6e 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a ss="sgr-1m">union.declared.here.
c11a0 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 46 6f 6f 20 3d 20 75 6e 69 6f 6e 20 7b 0a 20 20 20 20 20 </span>const.Foo.=.union.{......
c11c0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e .......<span.class="sgr-32m">^~~
c11e0 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ~~.</span>.</samp></pre></figure
c1200 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 >.......<p>At.runtime:</p>......
c1220 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d .<figure><figcaption.class="zig-
c1240 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f cap"><cite.class="file">runtime_
c1260 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 2e 7a 69 67 3c 2f 63 69 wrong_union_field_access.zig</ci
c1280 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
c12a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 .class="tok-kw">const</span>.std
c12c0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d .=.<span.class="tok-builtin">@im
c12e0 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 port</span>(<span.class="tok-str
c1300 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 ">&quot;std&quot;</span>);..<spa
c1320 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f n.class="tok-kw">const</span>.Fo
c1340 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f o.=.<span.class="tok-kw">union</
c1360 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.{.....float:.<span.class="
c1380 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 69 6e 74 3a 20 3c tok-type">f32</span>,.....int:.<
c13a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">u32</span>
c13c0 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f ,.};..<span.class="tok-kw">pub</
c13e0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 span>.<span.class="tok-kw">fn</s
c1400 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f pan>.<span.class="tok-fn">main</
c1420 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 span>().<span.class="tok-type">v
c1440 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f oid</span>.{.....<span.class="to
c1460 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d k-kw">var</span>.f.=.Foo{..int.=
c1480 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 .<span.class="tok-number">42</sp
c14a0 61 6e 3e 20 7d 3b 0a 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 0a 7d 0a 0a 3c 73 70 61 6e an>.};.....bar(&amp;f);.}..<span
c14c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 .class="tok-kw">fn</span>.<span.
c14e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f class="tok-fn">bar</span>(f:.*Fo
c1500 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f o).<span.class="tok-type">void</
c1520 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 span>.{.....f.float.=.<span.clas
c1540 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 s="tok-number">12.34</span>;....
c1560 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .std.debug.print(<span.class="to
c1580 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f k-str">&quot;value:.{}\n&quot;</
c15a0 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 span>,..{f.float});.}</code></pr
c15c0 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 e></figure><figure><figcaption.c
c15e0 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 lass="shell-cap">Shell</figcapti
c1600 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 on><pre><samp>$.<kbd>zig.build-e
c1620 78 65 20 72 75 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 xe.runtime_wrong_union_field_acc
c1640 65 73 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 77 ess.zig</kbd>.$.<kbd>./runtime_w
c1660 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 3c 2f 6b 62 64 3e 0a 74 68 rong_union_field_access</kbd>.th
c1680 72 65 61 64 20 39 39 31 33 33 30 20 70 61 6e 69 63 3a 20 61 63 63 65 73 73 20 6f 66 20 75 6e 69 read.991330.panic:.access.of.uni
c16a0 6f 6e 20 66 69 65 6c 64 20 27 66 6c 6f 61 74 27 20 77 68 69 6c 65 20 66 69 65 6c 64 20 27 69 6e on.field.'float'.while.field.'in
c16c0 74 27 20 69 73 20 61 63 74 69 76 65 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 t'.is.active./home/ci/actions-ru
c16e0 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 nner/_work/zig-bootstrap/zig/doc
c1700 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c gen_tmp/runtime_wrong_union_fiel
c1720 64 5f 61 63 63 65 73 73 2e 7a 69 67 3a 31 34 3a 36 3a 20 30 78 31 30 33 62 37 63 30 20 69 6e 20 d_access.zig:14:6:.0x103b7c0.in.
c1740 62 61 72 20 28 72 75 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 bar.(runtime_wrong_union_field_a
c1760 63 63 65 73 73 29 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 0a 20 20 20 20 ccess).....f.float.=.12.34;.....
c1780 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b .^./home/ci/actions-runner/_work
c17a0 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 /zig-bootstrap/zig/docgen_tmp/ru
c17c0 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 2e 7a ntime_wrong_union_field_access.z
c17e0 69 67 3a 31 30 3a 38 3a 20 30 78 31 30 33 39 37 31 63 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 ig:10:8:.0x103971c.in.main.(runt
c1800 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 29 0a 20 20 ime_wrong_union_field_access)...
c1820 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 0a 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 ..bar(&amp;f);........^./home/ci
c1840 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 /actions-runner/_work/zig-bootst
c1860 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a rap/out/host/lib/zig/std/start.z
c1880 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 38 66 62 39 20 69 6e 20 70 6f 73 69 78 43 61 6c ig:501:22:.0x1038fb9.in.posixCal
c18a0 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f lMainAndExit.(runtime_wrong_unio
c18c0 6e 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 n_field_access).............root
c18e0 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a .main();......................^.
c1900 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 /home/ci/actions-runner/_work/zi
c1920 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 g-bootstrap/out/host/lib/zig/std
c1940 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 38 62 32 31 20 69 6e 20 5f /start.zig:253:5:.0x1038b21.in._
c1960 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 start.(runtime_wrong_union_field
c1980 5f 61 63 63 65 73 73 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 _access).....asm.volatile.(switc
c19a0 68 20 28 6e 61 74 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a h.(native_arch).{.....^.???:?:?:
c19c0 20 30 78 30 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 .0x0.in.???.(???).(process.termi
c19e0 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f nated.by.signal).</samp></pre></
c1a00 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 73 61 66 figure>.......<p>.......This.saf
c1a20 65 74 79 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 3c 63 6f 64 65 3e 3c ety.is.not.available.for.<code><
c1a40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e span.class="tok-kw">extern</span
c1a60 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ></code>.or.<code><span.class="t
c1a80 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 75 6e 69 6f ok-kw">packed</span></code>.unio
c1aa0 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 ns........</p>.......<p>.......T
c1ac0 6f 20 63 68 61 6e 67 65 20 74 68 65 20 61 63 74 69 76 65 20 66 69 65 6c 64 20 6f 66 20 61 20 75 o.change.the.active.field.of.a.u
c1ae0 6e 69 6f 6e 2c 20 61 73 73 69 67 6e 20 74 68 65 20 65 6e 74 69 72 65 20 75 6e 69 6f 6e 2c 20 6c nion,.assign.the.entire.union,.l
c1b00 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 ike.this:.......</p>.......<figu
c1b20 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
c1b40 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 68 61 6e 67 65 5f 61 63 74 69 76 65 5f cite.class="file">change_active_
c1b60 75 6e 69 6f 6e 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 union_field.zig</cite></figcapti
c1b80 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b on><pre><code><span.class="tok-k
c1ba0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 w">const</span>.std.=.<span.clas
c1bc0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c s="tok-builtin">@import</span>(<
c1be0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 span.class="tok-str">&quot;std&q
c1c00 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d uot;</span>);..<span.class="tok-
c1c20 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 kw">const</span>.Foo.=.<span.cla
c1c40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 ss="tok-kw">union</span>.{.....f
c1c60 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 loat:.<span.class="tok-type">f32
c1c80 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>,.....int:.<span.class="t
c1ca0 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 ok-type">u32</span>,.};..<span.c
c1cc0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 lass="tok-kw">pub</span>.<span.c
c1ce0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
c1d00 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e ass="tok-fn">main</span>().<span
c1d20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a .class="tok-type">void</span>.{.
c1d40 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 ....<span.class="tok-kw">var</sp
c1d60 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>.f.=.Foo{..int.=.<span.class=
c1d80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 62 61 "tok-number">42</span>.};.....ba
c1da0 72 28 26 61 6d 70 3b 66 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b r(&amp;f);.}..<span.class="tok-k
c1dc0 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e w">fn</span>.<span.class="tok-fn
c1de0 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 ">bar</span>(f:.*Foo).<span.clas
c1e00 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 s="tok-type">void</span>.{.....f
c1e20 2e 2a 20 3d 20 46 6f 6f 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .*.=.Foo{..float.=.<span.class="
c1e40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 tok-number">12.34</span>.};.....
c1e60 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b std.debug.print(<span.class="tok
c1e80 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 -str">&quot;value:.{}\n&quot;</s
c1ea0 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 pan>,..{f.float});.}</code></pre
c1ec0 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c ></figure><figure><figcaption.cl
c1ee0 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f ass="shell-cap">Shell</figcaptio
c1f00 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 n><pre><samp>$.<kbd>zig.build-ex
c1f20 65 20 63 68 61 6e 67 65 5f 61 63 74 69 76 65 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 2e 7a 69 67 3c e.change_active_union_field.zig<
c1f40 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 63 68 61 6e 67 65 5f 61 63 74 69 76 65 5f 75 6e 69 /kbd>.$.<kbd>./change_active_uni
c1f60 6f 6e 5f 66 69 65 6c 64 3c 2f 6b 62 64 3e 0a 76 61 6c 75 65 3a 20 31 2e 32 33 34 65 31 0a 3c 2f on_field</kbd>.value:.1.234e1.</
c1f80 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 samp></pre></figure>.......<p>..
c1fa0 20 20 20 20 20 54 6f 20 63 68 61 6e 67 65 20 74 68 65 20 61 63 74 69 76 65 20 66 69 65 6c 64 20 .....To.change.the.active.field.
c1fc0 6f 66 20 61 20 75 6e 69 6f 6e 20 77 68 65 6e 20 61 20 6d 65 61 6e 69 6e 67 66 75 6c 20 76 61 6c of.a.union.when.a.meaningful.val
c1fe0 75 65 20 66 6f 72 20 74 68 65 20 66 69 65 6c 64 20 69 73 20 6e 6f 74 20 6b 6e 6f 77 6e 2c 0a 20 ue.for.the.field.is.not.known,..
c2000 20 20 20 20 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e .....use.<a.href="#undefined">un
c2020 64 65 66 69 6e 65 64 3c 2f 61 3e 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f defined</a>,.like.this:.......</
c2040 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 p>.......<figure><figcaption.cla
c2060 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e ss="zig-cap"><cite.class="file">
c2080 75 6e 64 65 66 69 6e 65 64 5f 61 63 74 69 76 65 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 2e 7a 69 67 undefined_active_union_field.zig
c20a0 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c </cite></figcaption><pre><code><
c20c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
c20e0 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .std.=.<span.class="tok-builtin"
c2100 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >@import</span>(<span.class="tok
c2120 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a -str">&quot;std&quot;</span>);..
c2140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
c2160 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 >.Foo.=.<span.class="tok-kw">uni
c2180 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 on</span>.{.....float:.<span.cla
c21a0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 69 6e ss="tok-type">f32</span>,.....in
c21c0 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 t:.<span.class="tok-type">u32</s
c21e0 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 pan>,.};..<span.class="tok-kw">p
c2200 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ub</span>.<span.class="tok-kw">f
c2220 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 n</span>.<span.class="tok-fn">ma
c2240 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
c2260 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 e">void</span>.{.....<span.class
c2280 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 ="tok-kw">var</span>.f.=.Foo{..i
c22a0 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 nt.=.<span.class="tok-number">42
c22c0 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 66 20 3d 20 46 6f 6f 7b 20 2e 66 6c 6f 61 74 20 3d </span>.};.....f.=.Foo{..float.=
c22e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 .<span.class="tok-null">undefine
c2300 64 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 0a 20 20 20 d</span>.};.....bar(&amp;f);....
c2320 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .std.debug.print(<span.class="to
c2340 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f k-str">&quot;value:.{}\n&quot;</
c2360 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 span>,..{f.float});.}..<span.cla
c2380 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ss="tok-kw">fn</span>.<span.clas
c23a0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f 6f 29 20 3c s="tok-fn">bar</span>(f:.*Foo).<
c23c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e span.class="tok-type">void</span
c23e0 3e 20 7b 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >.{.....f.float.=.<span.class="t
c2400 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 ok-number">12.34</span>;.}</code
c2420 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 ></pre></figure><figure><figcapt
c2440 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 ion.class="shell-cap">Shell</fig
c2460 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 caption><pre><samp>$.<kbd>zig.bu
c2480 69 6c 64 2d 65 78 65 20 75 6e 64 65 66 69 6e 65 64 5f 61 63 74 69 76 65 5f 75 6e 69 6f 6e 5f 66 ild-exe.undefined_active_union_f
c24a0 69 65 6c 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 75 6e 64 65 66 69 6e 65 ield.zig</kbd>.$.<kbd>./undefine
c24c0 64 5f 61 63 74 69 76 65 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 3c 2f 6b 62 64 3e 0a 76 61 6c 75 65 d_active_union_field</kbd>.value
c24e0 3a 20 31 2e 32 33 34 65 31 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e :.1.234e1.</samp></pre></figure>
c2500 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e .......<p>See.also:</p><ul>.<li>
c2520 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a <a.href="#union">union</a></li>.
c2540 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 <li><a.href="#extern-union">exte
c2560 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a rn.union</a></li>.</ul>.........
c2580 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f .......<h3.id="Out-of-Bounds-Flo
c25a0 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f at-to-Integer-Cast"><a.href="#to
c25c0 63 2d 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 c-Out-of-Bounds-Float-to-Integer
c25e0 2d 43 61 73 74 22 3e 4f 75 74 20 6f 66 20 42 6f 75 6e 64 73 20 46 6c 6f 61 74 20 74 6f 20 49 6e -Cast">Out.of.Bounds.Float.to.In
c2600 74 65 67 65 72 20 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 teger.Cast</a>.<a.class="hdr".hr
c2620 65 66 3d 22 23 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 ef="#Out-of-Bounds-Float-to-Inte
c2640 67 65 72 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e ger-Cast">..</a></h3>........<p>
c2660 0a 20 20 20 20 20 20 54 68 69 73 20 68 61 70 70 65 6e 73 20 77 68 65 6e 20 63 61 73 74 69 6e 67 .......This.happens.when.casting
c2680 20 61 20 66 6c 6f 61 74 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 20 77 68 65 72 65 20 74 68 65 .a.float.to.an.integer.where.the
c26a0 20 66 6c 6f 61 74 20 68 61 73 20 61 20 76 61 6c 75 65 20 6f 75 74 73 69 64 65 20 74 68 65 0a 20 .float.has.a.value.outside.the..
c26c0 20 20 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 27 73 20 72 61 6e 67 65 2e 0a 20 20 20 20 20 .....integer.type's.range.......
c26e0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c .</p>.......<p>At.compile-time:<
c2700 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
c2720 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
c2740 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f >test_comptime_out_of_bounds_flo
c2760 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 at_to_integer_cast.zig</cite></f
c2780 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><code><span.class
c27a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 ="tok-kw">comptime</span>.{.....
c27c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
c27e0 3e 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e >.float:.<span.class="tok-type">
c2800 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 f32</span>.=.<span.class="tok-nu
c2820 6d 62 65 72 22 3e 34 32 39 34 39 36 37 32 39 36 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 mber">4294967296</span>;.....<sp
c2840 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 an.class="tok-kw">const</span>.i
c2860 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f nt:.<span.class="tok-type">i32</
c2880 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e span>.=.<span.class="tok-builtin
c28a0 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 66 6c 6f 61 74 29 3b 0a 20 ">@intFromFloat</span>(float);..
c28c0 20 20 20 5f 20 3d 20 69 6e 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ..._.=.int;.}</code></pre></figu
c28e0 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
c2900 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
c2920 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 <samp>$.<kbd>zig.test.test_compt
c2940 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 ime_out_of_bounds_float_to_integ
c2960 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 er_cast.zig</kbd>.<span.class="s
c2980 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f gr-1m">docgen_tmp/test_comptime_
c29a0 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 out_of_bounds_float_to_integer_c
c29c0 61 73 74 2e 7a 69 67 3a 33 3a 33 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ast.zig:3:36:.</span><span.class
c29e0 3d 22 73 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 ="sgr-31m">error:.</span><span.c
c2a00 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 66 6c 6f 61 74 20 76 61 6c 75 65 20 27 34 32 39 34 39 lass="sgr-1m">float.value.'42949
c2a20 36 37 32 39 36 27 20 63 61 6e 6e 6f 74 20 62 65 20 73 74 6f 72 65 64 20 69 6e 20 69 6e 74 65 67 67296'.cannot.be.stored.in.integ
c2a40 65 72 20 74 79 70 65 20 27 69 33 32 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 69 er.type.'i32'.</span>....const.i
c2a60 6e 74 3a 20 69 33 32 20 3d 20 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 28 66 6c 6f 61 74 29 3b 0a nt:.i32.=.@intFromFloat(float);.
c2a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c2aa0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 0a 3c ...<span.class="sgr-32m">^~~~~.<
c2ac0 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 /span>.</samp></pre></figure>...
c2ae0 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 ....<p>At.runtime:</p>.......<fi
c2b00 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
c2b20 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 6f 75 74 5f ><cite.class="file">runtime_out_
c2b40 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 2e of_bounds_float_to_integer_cast.
c2b60 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 zig</cite></figcaption><pre><cod
c2b80 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e e><span.class="tok-kw">pub</span
c2ba0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">fn</span>
c2bc0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e .<span.class="tok-fn">main</span
c2be0 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c >().<span.class="tok-type">void<
c2c00 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
c2c20 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">var</span>.float:.<span.class=
c2c40 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c "tok-type">f32</span>.=.<span.cl
c2c60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 39 34 39 36 37 32 39 36 3c 2f 73 70 61 ass="tok-number">4294967296</spa
c2c80 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f n>;.<span.class="tok-comment">//
c2ca0 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 26 61 .runtime-known</span>....._.=.&a
c2cc0 6d 70 3b 66 6c 6f 61 74 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b mp;float;.....<span.class="tok-k
c2ce0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 w">const</span>.int:.<span.class
c2d00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">i32</span>.=.<span.c
c2d20 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 lass="tok-builtin">@intFromFloat
c2d40 3c 2f 73 70 61 6e 3e 28 66 6c 6f 61 74 29 3b 0a 20 20 20 20 5f 20 3d 20 69 6e 74 3b 0a 7d 3c 2f </span>(float);....._.=.int;.}</
c2d60 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 code></pre></figure><figure><fig
c2d80 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c caption.class="shell-cap">Shell<
c2da0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 /figcaption><pre><samp>$.<kbd>zi
c2dc0 67 20 62 75 69 6c 64 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 g.build-exe.runtime_out_of_bound
c2de0 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 s_float_to_integer_cast.zig</kbd
c2e00 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 >.$.<kbd>./runtime_out_of_bounds
c2e20 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 3c 2f 6b 62 64 3e 0a 74 68 72 _float_to_integer_cast</kbd>.thr
c2e40 65 61 64 20 39 39 31 34 32 34 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 6f ead.991424.panic:.integer.part.o
c2e60 66 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 76 61 6c 75 65 20 6f 75 74 20 6f 66 20 62 6f f.floating.point.value.out.of.bo
c2e80 75 6e 64 73 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f unds./home/ci/actions-runner/_wo
c2ea0 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f rk/zig-bootstrap/zig/docgen_tmp/
c2ec0 72 75 6e 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 runtime_out_of_bounds_float_to_i
c2ee0 6e 74 65 67 65 72 5f 63 61 73 74 2e 7a 69 67 3a 34 3a 32 32 3a 20 30 78 31 30 33 33 63 34 39 20 nteger_cast.zig:4:22:.0x1033c49.
c2f00 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 5f 66 in.main.(runtime_out_of_bounds_f
c2f20 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 29 0a 20 20 20 20 63 6f 6e 73 74 20 loat_to_integer_cast).....const.
c2f40 69 6e 74 3a 20 69 33 32 20 3d 20 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 28 66 6c 6f 61 74 29 3b int:.i32.=.@intFromFloat(float);
c2f60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 ......................^./home/ci
c2f80 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 /actions-runner/_work/zig-bootst
c2fa0 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a rap/out/host/lib/zig/std/start.z
c2fc0 69 67 3a 35 30 31 3a 32 32 3a 20 30 78 31 30 33 33 34 38 39 20 69 6e 20 70 6f 73 69 78 43 61 6c ig:501:22:.0x1033489.in.posixCal
c2fe0 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 lMainAndExit.(runtime_out_of_bou
c3000 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 29 0a 20 20 20 20 20 nds_float_to_integer_cast)......
c3020 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......root.main();.............
c3040 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e .........^./home/ci/actions-runn
c3060 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f er/_work/zig-bootstrap/out/host/
c3080 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 lib/zig/std/start.zig:253:5:.0x1
c30a0 30 33 32 66 66 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 6f 75 74 5f 6f 66 032ff1.in._start.(runtime_out_of
c30c0 5f 62 6f 75 6e 64 73 5f 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 29 0a 20 _bounds_float_to_integer_cast)..
c30e0 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 69 76 65 5f ...asm.volatile.(switch.(native_
c3100 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 6e 20 3f 3f arch).{.....^.???:?:?:.0x0.in.??
c3120 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 ?.(???).(process.terminated.by.s
c3140 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 ignal).</samp></pre></figure>...
c3160 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 6f 69 6e 74 65 72 2d 43 61 73 74 ............<h3.id="Pointer-Cast
c3180 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 6f 69 -Invalid-Null"><a.href="#toc-Poi
c31a0 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 nter-Cast-Invalid-Null">Pointer.
c31c0 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 Cast.Invalid.Null</a>.<a.class="
c31e0 68 64 72 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 hdr".href="#Pointer-Cast-Invalid
c3200 2d 4e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 -Null">..</a></h3>........<p>...
c3220 20 20 20 20 54 68 69 73 20 68 61 70 70 65 6e 73 20 77 68 65 6e 20 63 61 73 74 69 6e 67 20 61 20 ....This.happens.when.casting.a.
c3240 70 6f 69 6e 74 65 72 20 77 69 74 68 20 74 68 65 20 61 64 64 72 65 73 73 20 30 20 74 6f 20 61 20 pointer.with.the.address.0.to.a.
c3260 70 6f 69 6e 74 65 72 20 77 68 69 63 68 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 61 pointer.which.may.not.have.the.a
c3280 64 64 72 65 73 73 20 30 2e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 3c 61 20 ddress.0........For.example,.<a.
c32a0 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 href="#C-Pointers">C.Pointers</a
c32c0 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e >,.<a.href="#Optional-Pointers">
c32e0 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2c 20 61 6e 64 20 3c 61 20 68 72 Optional.Pointers</a>,.and.<a.hr
c3300 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 20 70 6f ef="#allowzero">allowzero</a>.po
c3320 69 6e 74 65 72 73 0a 20 20 20 20 20 20 61 6c 6c 6f 77 20 61 64 64 72 65 73 73 20 7a 65 72 6f 2c inters.......allow.address.zero,
c3340 20 62 75 74 20 6e 6f 72 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e .but.normal.<a.href="#Pointers">
c3360 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 64 6f 20 6e 6f 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a Pointers</a>.do.not........</p>.
c3380 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 ......<p>At.compile-time:</p>...
c33a0 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a ....<figure><figcaption.class="z
c33c0 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f ig-cap"><cite.class="file">test_
c33e0 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 comptime_invalid_null_pointer_ca
c3400 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c st.zig</cite></figcaption><pre><
c3420 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 code><span.class="tok-kw">compti
c3440 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b me</span>.{.....<span.class="tok
c3460 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 5f 70 74 72 3a 20 3f 2a 3c 73 70 -kw">const</span>.opt_ptr:.?*<sp
c3480 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">i32</span>.=
c34a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 .<span.class="tok-null">null</sp
c34c0 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f an>;.....<span.class="tok-kw">co
c34e0 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nst</span>.ptr:.*<span.class="to
c3500 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">i32</span>.=.<span.class
c3520 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 6f ="tok-builtin">@ptrCast</span>(o
c3540 70 74 5f 70 74 72 29 3b 0a 20 20 20 20 5f 20 3d 20 70 74 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f pt_ptr);....._.=.ptr;.}</code></
c3560 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e pre></figure><figure><figcaption
c3580 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 .class="shell-cap">Shell</figcap
c35a0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 tion><pre><samp>$.<kbd>zig.test.
c35c0 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f 69 6e 74 test_comptime_invalid_null_point
c35e0 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 er_cast.zig</kbd>.<span.class="s
c3600 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f gr-1m">docgen_tmp/test_comptime_
c3620 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 3a 33 3a invalid_null_pointer_cast.zig:3:
c3640 33 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 31 6d 22 32:.</span><span.class="sgr-31m"
c3660 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d >error:.</span><span.class="sgr-
c3680 31 6d 22 3e 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 63 61 73 74 65 64 20 74 6f 20 74 79 70 65 20 1m">null.pointer.casted.to.type.
c36a0 27 2a 69 33 32 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 70 74 72 3a 20 2a 69 33 '*i32'.</span>....const.ptr:.*i3
c36c0 32 20 3d 20 40 70 74 72 43 61 73 74 28 6f 70 74 5f 70 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 2.=.@ptrCast(opt_ptr);..........
c36e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ......................<span.clas
c3700 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 s="sgr-32m">^~~~~~~.</span>.</sa
c3720 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 mp></pre></figure>.......<p>At.r
c3740 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 untime:</p>.......<figure><figca
c3760 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 ption.class="zig-cap"><cite.clas
c3780 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f s="file">runtime_invalid_null_po
c37a0 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f inter_cast.zig</cite></figcaptio
c37c0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
c37e0 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">pub</span>.<span.class="tok-kw
c3800 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 ">fn</span>.<span.class="tok-fn"
c3820 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >main</span>().<span.class="tok-
c3840 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">void</span>.{.....<span.cl
c3860 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 70 74 5f 70 74 72 3a ass="tok-kw">var</span>.opt_ptr:
c3880 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 .?*<span.class="tok-type">i32</s
c38a0 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 pan>.=.<span.class="tok-null">nu
c38c0 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 6f 70 74 5f 70 74 72 3b ll</span>;....._.=.&amp;opt_ptr;
c38e0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c .....<span.class="tok-kw">const<
c3900 2f 73 70 61 6e 3e 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 /span>.ptr:.*<span.class="tok-ty
c3920 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">i32</span>.=.<span.class="to
c3940 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 6f 70 74 5f 70 k-builtin">@ptrCast</span>(opt_p
c3960 74 72 29 3b 0a 20 20 20 20 5f 20 3d 20 70 74 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e tr);....._.=.ptr;.}</code></pre>
c3980 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 </figure><figure><figcaption.cla
c39a0 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e ss="shell-cap">Shell</figcaption
c39c0 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 ><pre><samp>$.<kbd>zig.build-exe
c39e0 20 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 .runtime_invalid_null_pointer_ca
c3a00 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 69 6e st.zig</kbd>.$.<kbd>./runtime_in
c3a20 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 3c 2f 6b 62 64 3e 0a 74 68 valid_null_pointer_cast</kbd>.th
c3a40 72 65 61 64 20 39 39 31 34 36 34 20 70 61 6e 69 63 3a 20 63 61 73 74 20 63 61 75 73 65 73 20 70 read.991464.panic:.cast.causes.p
c3a60 6f 69 6e 74 65 72 20 74 6f 20 62 65 20 6e 75 6c 6c 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f ointer.to.be.null./home/ci/actio
c3a80 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 7a 69 ns-runner/_work/zig-bootstrap/zi
c3aa0 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c g/docgen_tmp/runtime_invalid_nul
c3ac0 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 3a 34 3a 32 33 3a 20 30 78 31 30 33 33 62 l_pointer_cast.zig:4:23:.0x1033b
c3ae0 66 63 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c fc.in.main.(runtime_invalid_null
c3b00 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 29 0a 20 20 20 20 63 6f 6e 73 74 20 70 74 72 3a 20 2a 69 _pointer_cast).....const.ptr:.*i
c3b20 33 32 20 3d 20 40 70 74 72 43 61 73 74 28 6f 70 74 5f 70 74 72 29 3b 0a 20 20 20 20 20 20 20 20 32.=.@ptrCast(opt_ptr);.........
c3b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 ..............^./home/ci/actions
c3b60 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f -runner/_work/zig-bootstrap/out/
c3b80 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 31 3a 32 host/lib/zig/std/start.zig:501:2
c3ba0 32 3a 20 30 78 31 30 33 33 34 36 39 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 2:.0x1033469.in.posixCallMainAnd
c3bc0 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f 69 6e 74 Exit.(runtime_invalid_null_point
c3be0 65 72 5f 63 61 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 er_cast).............root.main()
c3c00 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 ;......................^./home/c
c3c20 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 i/actions-runner/_work/zig-boots
c3c40 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e trap/out/host/lib/zig/std/start.
c3c60 7a 69 67 3a 32 35 33 3a 35 3a 20 30 78 31 30 33 32 66 64 31 20 69 6e 20 5f 73 74 61 72 74 20 28 zig:253:5:.0x1032fd1.in._start.(
c3c80 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 6e 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 73 runtime_invalid_null_pointer_cas
c3ca0 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c 65 20 28 73 77 69 74 63 68 20 28 6e 61 74 t).....asm.volatile.(switch.(nat
c3cc0 69 76 65 5f 61 72 63 68 29 20 7b 0a 20 20 20 20 5e 0a 3f 3f 3f 3a 3f 3a 3f 3a 20 30 78 30 20 69 ive_arch).{.....^.???:?:?:.0x0.i
c3ce0 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 n.???.(???).(process.terminated.
c3d00 62 79 20 73 69 67 6e 61 6c 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 by.signal).</samp></pre></figure
c3d20 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4d >......................<h2.id="M
c3d40 65 6d 6f 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 65 6d 6f 72 79 22 3e 4d 65 6d emory"><a.href="#toc-Memory">Mem
c3d60 6f 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 65 ory</a>.<a.class="hdr".href="#Me
c3d80 6d 6f 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 mory">..</a></h2>........<p>....
c3da0 20 20 20 54 68 65 20 5a 69 67 20 6c 61 6e 67 75 61 67 65 20 70 65 72 66 6f 72 6d 73 20 6e 6f 20 ...The.Zig.language.performs.no.
c3dc0 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 65 6d 65 6e 74 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 20 74 memory.management.on.behalf.of.t
c3de0 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 2e 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 77 68 79 he.programmer..This.is.......why
c3e00 20 5a 69 67 20 68 61 73 20 6e 6f 20 72 75 6e 74 69 6d 65 2c 20 61 6e 64 20 77 68 79 20 5a 69 67 .Zig.has.no.runtime,.and.why.Zig
c3e20 20 63 6f 64 65 20 77 6f 72 6b 73 20 73 65 61 6d 6c 65 73 73 6c 79 20 69 6e 20 73 6f 20 6d 61 6e .code.works.seamlessly.in.so.man
c3e40 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2c 0a 20 20 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 y.environments,.......including.
c3e60 72 65 61 6c 2d 74 69 6d 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 70 65 72 61 74 69 6e 67 20 73 79 real-time.software,.operating.sy
c3e80 73 74 65 6d 20 6b 65 72 6e 65 6c 73 2c 20 65 6d 62 65 64 64 65 64 20 64 65 76 69 63 65 73 2c 20 stem.kernels,.embedded.devices,.
c3ea0 61 6e 64 0a 20 20 20 20 20 20 6c 6f 77 20 6c 61 74 65 6e 63 79 20 73 65 72 76 65 72 73 2e 20 41 and.......low.latency.servers..A
c3ec0 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 2c 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 s.a.consequence,.Zig.programmers
c3ee0 20 6d 75 73 74 20 61 6c 77 61 79 73 20 62 65 20 61 62 6c 65 20 74 6f 20 61 6e 73 77 65 72 0a 20 .must.always.be.able.to.answer..
c3f00 20 20 20 20 20 74 68 65 20 71 75 65 73 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .....the.question:.......</p>...
c3f20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 ....<p><a.href="#Where-are-the-b
c3f40 79 74 65 73 22 3e 57 68 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c 2f ytes">Where.are.the.bytes?</a></
c3f60 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 69 6b 65 20 5a 69 67 2c 20 74 68 65 p>.......<p>.......Like.Zig,.the
c3f80 20 43 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 68 61 73 20 6d 61 6e 75 .C.programming.language.has.manu
c3fa0 61 6c 20 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 65 6d 65 6e 74 2e 20 48 6f 77 65 76 65 72 2c 20 75 al.memory.management..However,.u
c3fc0 6e 6c 69 6b 65 20 5a 69 67 2c 0a 20 20 20 20 20 20 43 20 68 61 73 20 61 20 64 65 66 61 75 6c 74 nlike.Zig,.......C.has.a.default
c3fe0 20 61 6c 6c 6f 63 61 74 6f 72 20 2d 20 3c 63 6f 64 65 3e 6d 61 6c 6c 6f 63 3c 2f 63 6f 64 65 3e .allocator.-.<code>malloc</code>
c4000 2c 20 3c 63 6f 64 65 3e 72 65 61 6c 6c 6f 63 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 ,.<code>realloc</code>,.and.<cod
c4020 65 3e 66 72 65 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 57 68 65 6e 20 6c 69 6e 6b 69 6e e>free</code>........When.linkin
c4040 67 20 61 67 61 69 6e 73 74 20 6c 69 62 63 2c 20 5a 69 67 20 65 78 70 6f 73 65 73 20 74 68 69 73 g.against.libc,.Zig.exposes.this
c4060 20 61 6c 6c 6f 63 61 74 6f 72 20 77 69 74 68 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 63 .allocator.with.<code>std.heap.c
c4080 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 _allocator</code>........However
c40a0 2c 20 62 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 65 66 ,.by.convention,.there.is.no.def
c40c0 61 75 6c 74 20 61 6c 6c 6f 63 61 74 6f 72 20 69 6e 20 5a 69 67 2e 20 49 6e 73 74 65 61 64 2c 20 ault.allocator.in.Zig..Instead,.
c40e0 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 6e 65 65 64 20 74 6f 0a 20 20 20 20 20 20 61 6c functions.which.need.to.......al
c4100 6c 6f 63 61 74 65 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 41 6c 6c 6f 63 61 74 6f 72 locate.accept.an.<code>Allocator
c4120 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 4c 69 6b 65 77 69 73 65 2c 20 64 61 74 </code>.parameter..Likewise,.dat
c4140 61 20 73 74 72 75 63 74 75 72 65 73 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 a.structures.such.as.......<code
c4160 3e 73 74 64 2e 41 72 72 61 79 4c 69 73 74 3c 2f 63 6f 64 65 3e 20 61 63 63 65 70 74 20 61 6e 20 >std.ArrayList</code>.accept.an.
c4180 3c 63 6f 64 65 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 <code>Allocator</code>.parameter
c41a0 20 69 6e 0a 20 20 20 20 20 20 74 68 65 69 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 .in.......their.initialization.f
c41c0 75 6e 63 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 unctions:.......</p>.......<figu
c41e0 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
c4200 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 6c 6c 6f 63 61 74 6f 72 cite.class="file">test_allocator
c4220 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
c4240 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
c4260 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.std.=.<span.class="tok-buil
c4280 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tin">@import</span>(<span.class=
c42a0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;std&quot;</span>
c42c0 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 );.<span.class="tok-kw">const</s
c42e0 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 pan>.Allocator.=.std.mem.Allocat
c4300 6f 72 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f or;.<span.class="tok-kw">const</
c4320 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 span>.expect.=.std.testing.expec
c4340 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 t;..<span.class="tok-kw">test</s
c4360 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 pan>.<span.class="tok-str">&quot
c4380 3b 75 73 69 6e 67 20 61 6e 20 61 6c 6c 6f 63 61 74 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ;using.an.allocator&quot;</span>
c43a0 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c .{.....<span.class="tok-kw">var<
c43c0 2f 73 70 61 6e 3e 20 62 75 66 66 65 72 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>.buffer:.[<span.class="tok
c43e0 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d -number">100</span>]<span.class=
c4400 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">u8</span>.=.<span.cla
c4420 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a ss="tok-null">undefined</span>;.
c4440 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 ....<span.class="tok-kw">var</sp
c4460 61 6e 3e 20 66 62 61 20 3d 20 73 74 64 2e 68 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c an>.fba.=.std.heap.FixedBufferAl
c4480 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 26 61 6d 70 3b 62 75 66 66 65 72 29 3b 0a 20 20 20 20 3c locator.init(&amp;buffer);.....<
c44a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
c44c0 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 66 62 61 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 0a 20 20 .allocator.=.fba.allocator();...
c44e0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ..<span.class="tok-kw">const</sp
c4500 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 an>.result.=.<span.class="tok-kw
c4520 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 63 6f 6e 63 61 74 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c ">try</span>.concat(allocator,.<
c4540 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 span.class="tok-str">&quot;foo&q
c4560 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 uot;</span>,.<span.class="tok-st
c4580 72 22 3e 26 71 75 6f 74 3b 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 r">&quot;bar&quot;</span>);.....
c45a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">try</span>.
c45c0 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 expect(std.mem.eql(<span.class="
c45e0 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">u8</span>,.<span.class
c4600 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 ="tok-str">&quot;foobar&quot;</s
c4620 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>,.result));.}..<span.class="
c4640 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tok-kw">fn</span>.<span.class="t
c4660 6f 6b 2d 66 6e 22 3e 63 6f 6e 63 61 74 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 ok-fn">concat</span>(allocator:.
c4680 41 6c 6c 6f 63 61 74 6f 72 2c 20 61 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b Allocator,.a:.[]<span.class="tok
c46a0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -kw">const</span>.<span.class="t
c46c0 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 5b 5d 3c 73 70 61 6e 20 63 ok-type">u8</span>,.b:.[]<span.c
c46e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e lass="tok-kw">const</span>.<span
c4700 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d .class="tok-type">u8</span>).![]
c4720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e <span.class="tok-type">u8</span>
c4740 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 .{.....<span.class="tok-kw">cons
c4760 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t</span>.result.=.<span.class="t
c4780 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f ok-kw">try</span>.allocator.allo
c47a0 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 c(<span.class="tok-type">u8</spa
c47c0 6e 3e 2c 20 61 2e 6c 65 6e 20 2b 20 62 2e 6c 65 6e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c n>,.a.len.+.b.len);.....<span.cl
c47e0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 63 70 79 3c 2f 73 70 61 6e 3e ass="tok-builtin">@memcpy</span>
c4800 28 72 65 73 75 6c 74 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 (result[<span.class="tok-number"
c4820 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 61 2e 6c 65 6e 5d 2c 20 61 29 3b 0a 20 20 20 20 3c 73 70 61 6e >0</span>..a.len],.a);.....<span
c4840 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 63 70 79 3c 2f 73 70 .class="tok-builtin">@memcpy</sp
c4860 61 6e 3e 28 72 65 73 75 6c 74 5b 61 2e 6c 65 6e 2e 2e 5d 2c 20 62 29 3b 0a 20 20 20 20 3c 73 70 an>(result[a.len..],.b);.....<sp
c4880 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">return</span>.
c48a0 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c result;.}</code></pre></figure><
c48c0 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d figure><figcaption.class="shell-
c48e0 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d cap">Shell</figcaption><pre><sam
c4900 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 61 6c 6c 6f 63 61 74 6f 72 p>$.<kbd>zig.test.test_allocator
c4920 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 61 6c 6c 6f 63 61 74 6f 72 2e 74 65 .zig</kbd>.1/1.test_allocator.te
c4940 73 74 2e 75 73 69 6e 67 20 61 6e 20 61 6c 6c 6f 63 61 74 6f 72 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 st.using.an.allocator....OK.All.
c4960 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 1.tests.passed..</samp></pre></f
c4980 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 61 62 igure>.......<p>.......In.the.ab
c49a0 6f 76 65 20 65 78 61 6d 70 6c 65 2c 20 31 30 30 20 62 79 74 65 73 20 6f 66 20 73 74 61 63 6b 20 ove.example,.100.bytes.of.stack.
c49c0 6d 65 6d 6f 72 79 20 61 72 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 0a memory.are.used.to.initialize.a.
c49e0 20 20 20 20 20 20 3c 63 6f 64 65 3e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 ......<code>FixedBufferAllocator
c4a00 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 20 70 61 73 73 65 64 20 74 6f </code>,.which.is.then.passed.to
c4a20 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 41 73 20 61 20 63 6f 6e 76 65 6e 69 65 .a.function........As.a.convenie
c4a40 6e 63 65 20 74 68 65 72 65 20 69 73 20 61 20 67 6c 6f 62 61 6c 20 3c 63 6f 64 65 3e 46 69 78 65 nce.there.is.a.global.<code>Fixe
c4a60 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 61 76 dBufferAllocator</code>.......av
c4a80 61 69 6c 61 62 6c 65 20 66 6f 72 20 71 75 69 63 6b 20 74 65 73 74 73 20 61 74 20 3c 63 6f 64 65 ailable.for.quick.tests.at.<code
c4aa0 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2c 0a 20 >std.testing.allocator</code>,..
c4ac0 20 20 20 20 20 77 68 69 63 68 20 77 69 6c 6c 20 61 6c 73 6f 20 70 65 72 66 6f 72 6d 20 62 61 73 .....which.will.also.perform.bas
c4ae0 69 63 20 6c 65 61 6b 20 64 65 74 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ic.leak.detection........</p>...
c4b00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 61 20 67 65 6e 65 72 61 6c 20 ....<p>.......Zig.has.a.general.
c4b20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 62 purpose.allocator.available.to.b
c4b40 65 20 69 6d 70 6f 72 74 65 64 0a 20 20 20 20 20 20 77 69 74 68 20 3c 63 6f 64 65 3e 73 74 64 2e e.imported.......with.<code>std.
c4b60 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f heap.GeneralPurposeAllocator</co
c4b80 64 65 3e 2e 20 48 6f 77 65 76 65 72 2c 20 69 74 20 69 73 20 73 74 69 6c 6c 20 72 65 63 6f 6d 6d de>..However,.it.is.still.recomm
c4ba0 65 6e 64 65 64 20 74 6f 0a 20 20 20 20 20 20 66 6f 6c 6c 6f 77 20 74 68 65 20 3c 61 20 68 72 65 ended.to.......follow.the.<a.hre
c4bc0 66 3d 22 23 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 f="#Choosing-an-Allocator">Choos
c4be0 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 20 67 75 69 64 65 2e 0a 20 20 20 20 ing.an.Allocator</a>.guide......
c4c00 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 68 6f 6f 73 69 6e 67 2d 61 ..</p>........<h3.id="Choosing-a
c4c20 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 68 6f 6f 73 n-Allocator"><a.href="#toc-Choos
c4c40 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c ing-an-Allocator">Choosing.an.Al
c4c60 6c 6f 63 61 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d locator</a>.<a.class="hdr".href=
c4c80 22 23 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c 2f 61 3e 3c "#Choosing-an-Allocator">..</a><
c4ca0 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 61 74 20 61 6c 6c 6f 63 61 74 6f 72 20 74 6f /h3>........<p>What.allocator.to
c4cc0 20 75 73 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 66 61 63 74 .use.depends.on.a.number.of.fact
c4ce0 6f 72 73 2e 20 48 65 72 65 20 69 73 20 61 20 66 6c 6f 77 20 63 68 61 72 74 20 74 6f 20 68 65 6c ors..Here.is.a.flow.chart.to.hel
c4d00 70 20 79 6f 75 20 64 65 63 69 64 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c p.you.decide:.......</p>.......<
c4d20 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ol>...........<li>..............
c4d40 20 41 72 65 20 79 6f 75 20 6d 61 6b 69 6e 67 20 61 20 6c 69 62 72 61 72 79 3f 20 49 6e 20 74 68 .Are.you.making.a.library?.In.th
c4d60 69 73 20 63 61 73 65 2c 20 62 65 73 74 20 74 6f 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 is.case,.best.to.accept.an.<code
c4d80 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >Allocator</code>...............
c4da0 61 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 61 6c 6c 6f 77 20 79 6f 75 72 20 6c 69 as.a.parameter.and.allow.your.li
c4dc0 62 72 61 72 79 27 73 20 75 73 65 72 73 20 74 6f 20 64 65 63 69 64 65 20 77 68 61 74 20 61 6c 6c brary's.users.to.decide.what.all
c4de0 6f 63 61 74 6f 72 20 74 6f 20 75 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 ocator.to.use............</li>..
c4e00 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 72 65 20 79 6f 75 20 6c 69 6e 6b 69 6e 67 20 6c 69 62 .........<li>Are.you.linking.lib
c4e20 63 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e c?.In.this.case,.<code>std.heap.
c4e40 63 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 69 73 20 6c 69 6b 65 6c 79 0a 20 20 20 c_allocator</code>.is.likely....
c4e60 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 72 69 67 68 74 20 63 68 6f 69 63 65 2c 20 61 74 20 ...........the.right.choice,.at.
c4e80 6c 65 61 73 74 20 66 6f 72 20 79 6f 75 72 20 6d 61 69 6e 20 61 6c 6c 6f 63 61 74 6f 72 2e 3c 2f least.for.your.main.allocator.</
c4ea0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 li>...........<li>..............
c4ec0 20 49 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 .Is.the.maximum.number.of.bytes.
c4ee0 74 68 61 74 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 64 20 62 6f 75 6e 64 65 64 20 62 79 20 61 20 that.you.will.need.bounded.by.a.
c4f00 6e 75 6d 62 65 72 20 6b 6e 6f 77 6e 20 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 number.known.at...............<a
c4f20 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3f 20 .href="#comptime">comptime</a>?.
c4f40 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 In.this.case,.use.<code>std.heap
c4f60 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 6f 72 0a .FixedBufferAllocator</code>.or.
c4f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 54 68 72 ..............<code>std.heap.Thr
c4fa0 65 61 64 53 61 66 65 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 eadSafeFixedBufferAllocator</cod
c4fc0 65 3e 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 20 79 6f 75 20 6e 65 65 64 e>.depending.on.whether.you.need
c4fe0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 65 61 64 2d 73 61 66 65 74 79 20 6f 72 20 ...............thread-safety.or.
c5000 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c not............</li>...........<
c5020 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 73 20 79 6f 75 72 20 70 72 6f 67 72 61 li>...............Is.your.progra
c5040 6d 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 77 68 69 m.a.command.line.application.whi
c5060 63 68 20 72 75 6e 73 20 66 72 6f 6d 20 73 74 61 72 74 20 74 6f 20 65 6e 64 20 77 69 74 68 6f 75 ch.runs.from.start.to.end.withou
c5080 74 20 61 6e 79 20 66 75 6e 64 61 6d 65 6e 74 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.any.fundamental...............
c50a0 63 79 63 6c 69 63 61 6c 20 70 61 74 74 65 72 6e 20 28 73 75 63 68 20 61 73 20 61 20 76 69 64 65 cyclical.pattern.(such.as.a.vide
c50c0 6f 20 67 61 6d 65 20 6d 61 69 6e 20 6c 6f 6f 70 2c 20 6f 72 20 61 20 77 65 62 20 73 65 72 76 65 o.game.main.loop,.or.a.web.serve
c50e0 72 20 72 65 71 75 65 73 74 20 68 61 6e 64 6c 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 r.request.handler),.............
c5100 20 20 73 75 63 68 20 74 68 61 74 20 69 74 20 77 6f 75 6c 64 20 6d 61 6b 65 20 73 65 6e 73 65 20 ..such.that.it.would.make.sense.
c5120 74 6f 20 66 72 65 65 20 65 76 65 72 79 74 68 69 6e 67 20 61 74 20 6f 6e 63 65 20 61 74 20 74 68 to.free.everything.at.once.at.th
c5140 65 20 65 6e 64 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 e.end?...............In.this.cas
c5160 65 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 66 6f 6c 6c 6f 77 20 74 e,.it.is.recommended.to.follow.t
c5180 68 69 73 20 70 61 74 74 65 72 6e 3a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 his.pattern:.......<figure><figc
c51a0 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 aption.class="zig-cap"><cite.cla
c51c0 73 73 3d 22 66 69 6c 65 22 3e 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 ss="file">cli_allocation.zig</ci
c51e0 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e te></figcaption><pre><code><span
c5200 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 .class="tok-kw">const</span>.std
c5220 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d .=.<span.class="tok-builtin">@im
c5240 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 port</span>(<span.class="tok-str
c5260 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 ">&quot;std&quot;</span>);..<spa
c5280 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 n.class="tok-kw">pub</span>.<spa
c52a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e n.class="tok-kw">fn</span>.<span
c52c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c .class="tok-fn">main</span>().!<
c52e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e span.class="tok-type">void</span
c5300 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 >.{.....<span.class="tok-kw">var
c5320 3c 2f 73 70 61 6e 3e 20 61 72 65 6e 61 20 3d 20 73 74 64 2e 68 65 61 70 2e 41 72 65 6e 61 41 6c </span>.arena.=.std.heap.ArenaAl
c5340 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 73 74 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 locator.init(std.heap.page_alloc
c5360 61 74 6f 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ator);.....<span.class="tok-kw">
c5380 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 29 3b 0a 0a 20 20 defer</span>.arena.deinit();....
c53a0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 ..<span.class="tok-kw">const</sp
c53c0 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 61 72 65 6e 61 2e 61 6c 6c 6f 63 61 74 6f 72 28 an>.allocator.=.arena.allocator(
c53e0 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e );......<span.class="tok-kw">con
c5400 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.ptr.=.<span.class="tok
c5420 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 -kw">try</span>.allocator.create
c5440 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 (<span.class="tok-type">i32</spa
c5460 6e 3e 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 n>);.....std.debug.print(<span.c
c5480 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 74 72 3d 7b 2a 7d 5c 6e 26 71 lass="tok-str">&quot;ptr={*}\n&q
c54a0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 70 74 72 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f uot;</span>,..{ptr});.}</code></
c54c0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e pre></figure><figure><figcaption
c54e0 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 .class="shell-cap">Shell</figcap
c5500 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 tion><pre><samp>$.<kbd>zig.build
c5520 2d 65 78 65 20 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 -exe.cli_allocation.zig</kbd>.$.
c5540 3c 6b 62 64 3e 2e 2f 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 3c 2f 6b 62 64 3e 0a 70 74 72 3d <kbd>./cli_allocation</kbd>.ptr=
c5560 69 33 32 40 37 66 62 30 66 66 62 35 32 30 31 30 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f i32@7fb0ffb52010.</samp></pre></
c5580 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 75 73 69 6e 67 figure>...............When.using
c55a0 20 74 68 69 73 20 6b 69 6e 64 20 6f 66 20 61 6c 6c 6f 63 61 74 6f 72 2c 20 74 68 65 72 65 20 69 .this.kind.of.allocator,.there.i
c55c0 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 66 72 65 65 20 61 6e 79 74 68 69 6e 67 20 6d 61 6e 75 61 s.no.need.to.free.anything.manua
c55e0 6c 6c 79 2e 20 45 76 65 72 79 74 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 lly..Everything...............ge
c5600 74 73 20 66 72 65 65 64 20 61 74 20 6f 6e 63 65 20 77 69 74 68 20 74 68 65 20 63 61 6c 6c 20 74 ts.freed.at.once.with.the.call.t
c5620 6f 20 3c 63 6f 64 65 3e 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 29 3c 2f 63 6f 64 65 3e 2e 0a 20 o.<code>arena.deinit()</code>...
c5640 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 .........</li>...........<li>...
c5660 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 20 ............Are.the.allocations.
c5680 70 61 72 74 20 6f 66 20 61 20 63 79 63 6c 69 63 61 6c 20 70 61 74 74 65 72 6e 20 73 75 63 68 20 part.of.a.cyclical.pattern.such.
c56a0 61 73 20 61 20 76 69 64 65 6f 20 67 61 6d 65 20 6d 61 69 6e 20 6c 6f 6f 70 2c 20 6f 72 20 61 20 as.a.video.game.main.loop,.or.a.
c56c0 77 65 62 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 72 76 65 72 20 72 65 71 75 65 73 74 web...............server.request
c56e0 20 68 61 6e 64 6c 65 72 3f 20 49 66 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 20 63 61 6e .handler?.If.the.allocations.can
c5700 20 61 6c 6c 20 62 65 20 66 72 65 65 64 20 61 74 20 6f 6e 63 65 2c 20 61 74 20 74 68 65 20 65 6e .all.be.freed.at.once,.at.the.en
c5720 64 20 6f 66 20 74 68 65 20 63 79 63 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f d.of.the.cycle,...............fo
c5740 72 20 65 78 61 6d 70 6c 65 20 6f 6e 63 65 20 74 68 65 20 76 69 64 65 6f 20 67 61 6d 65 20 66 72 r.example.once.the.video.game.fr
c5760 61 6d 65 20 68 61 73 20 62 65 65 6e 20 66 75 6c 6c 79 20 72 65 6e 64 65 72 65 64 2c 20 6f 72 20 ame.has.been.fully.rendered,.or.
c5780 74 68 65 20 77 65 62 20 73 65 72 76 65 72 20 72 65 71 75 65 73 74 20 68 61 73 0a 20 20 20 20 20 the.web.server.request.has......
c57a0 20 20 20 20 20 20 20 20 20 62 65 65 6e 20 73 65 72 76 65 64 2c 20 74 68 65 6e 20 3c 63 6f 64 65 .........been.served,.then.<code
c57c0 3e 73 74 64 2e 68 65 61 70 2e 41 72 65 6e 61 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 >std.heap.ArenaAllocator</code>.
c57e0 69 73 20 61 20 67 72 65 61 74 20 63 61 6e 64 69 64 61 74 65 2e 20 41 73 0a 20 20 20 20 20 20 20 is.a.great.candidate..As........
c5800 20 20 20 20 20 20 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 .......demonstrated.in.the.previ
c5820 6f 75 73 20 62 75 6c 6c 65 74 20 70 6f 69 6e 74 2c 20 74 68 69 73 20 61 6c 6c 6f 77 73 20 79 6f ous.bullet.point,.this.allows.yo
c5840 75 20 74 6f 20 66 72 65 65 20 65 6e 74 69 72 65 20 61 72 65 6e 61 73 20 61 74 20 6f 6e 63 65 2e u.to.free.entire.arenas.at.once.
c5860 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 61 6c 73 6f 20 74 68 61 74 20 69 66 ...............Note.also.that.if
c5880 20 61 6e 20 75 70 70 65 72 20 62 6f 75 6e 64 20 6f 66 20 6d 65 6d 6f 72 79 20 63 61 6e 20 62 65 .an.upper.bound.of.memory.can.be
c58a0 20 65 73 74 61 62 6c 69 73 68 65 64 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .established,.then..............
c58c0 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 .<code>std.heap.FixedBufferAlloc
c58e0 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 66 75 72 ator</code>.can.be.used.as.a.fur
c5900 74 68 65 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c ther.optimization............</l
c5920 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 i>...........<li>...............
c5940 41 72 65 20 79 6f 75 20 77 72 69 74 69 6e 67 20 61 20 74 65 73 74 2c 20 61 6e 64 20 79 6f 75 20 Are.you.writing.a.test,.and.you.
c5960 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c want.to.make.sure.<code><span.cl
c5980 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d ass="tok-kw">error</span>.OutOfM
c59a0 65 6d 6f 72 79 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 68 61 emory</code>...............is.ha
c59c0 6e 64 6c 65 64 20 63 6f 72 72 65 63 74 6c 79 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 ndled.correctly?.In.this.case,.u
c59e0 73 65 20 3c 63 6f 64 65 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 46 61 69 6c 69 6e 67 41 6c 6c 6f se.<code>std.testing.FailingAllo
c5a00 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 cator</code>............</li>...
c5a20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 79 ........<li>...............Are.y
c5a40 6f 75 20 77 72 69 74 69 6e 67 20 61 20 74 65 73 74 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c ou.writing.a.test?.In.this.case,
c5a60 20 75 73 65 20 3c 63 6f 64 65 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 .use.<code>std.testing.allocator
c5a80 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 </code>............</li>........
c5aa0 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 69 6e 61 6c 6c 79 2c 20 69 ...<li>...............Finally,.i
c5ac0 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 61 62 6f 76 65 20 61 70 70 6c 79 2c 20 79 6f 75 20 6e f.none.of.the.above.apply,.you.n
c5ae0 65 65 64 20 61 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 2e eed.a.general.purpose.allocator.
c5b00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5a 69 67 27 73 20 67 65 6e 65 72 61 6c 20 70 75 72 ...............Zig's.general.pur
c5b20 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 pose.allocator.is.available.as.a
c5b40 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 3c 61 20 68 72 65 66 3d 22 .function.that.takes.a.<a.href="
c5b60 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 #comptime">comptime</a>.........
c5b80 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f ......<a.href="#struct">struct</
c5ba0 61 3e 20 6f 66 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 a>.of.configuration.options.and.
c5bc0 72 65 74 75 72 6e 73 20 61 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 65 returns.a.type................Ge
c5be0 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 20 77 69 6c 6c 20 73 65 74 20 75 70 20 6f 6e 65 20 3c 63 6f nerally,.you.will.set.up.one.<co
c5c00 64 65 3e 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 de>std.heap.GeneralPurposeAlloca
c5c20 74 6f 72 3c 2f 63 6f 64 65 3e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 79 6f 75 72 tor</code>.in...............your
c5c40 20 6d 61 69 6e 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 20 74 68 65 6e 20 70 61 73 73 20 69 74 .main.function,.and.then.pass.it
c5c60 20 6f 72 20 73 75 62 2d 61 6c 6c 6f 63 61 74 6f 72 73 20 61 72 6f 75 6e 64 20 74 6f 20 76 61 72 .or.sub-allocators.around.to.var
c5c80 69 6f 75 73 20 70 61 72 74 73 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ious.parts.of.your..............
c5ca0 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 .application............</li>...
c5cc0 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 59 6f 75 20 63 ........<li>...............You.c
c5ce0 61 6e 20 61 6c 73 6f 20 63 6f 6e 73 69 64 65 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 an.also.consider.<a.href="#Imple
c5d00 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 49 6d 70 6c 65 6d 65 6e 74 69 menting-an-Allocator">Implementi
c5d20 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c ng.an.Allocator</a>............<
c5d40 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 6f 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c /li>.......</ol>...............<
c5d60 68 33 20 69 64 3d 22 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 3c 61 20 68 h3.id="Where-are-the-bytes"><a.h
c5d80 72 65 66 3d 22 23 74 6f 63 2d 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 57 ref="#toc-Where-are-the-bytes">W
c5da0 68 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 here.are.the.bytes?</a>.<a.class
c5dc0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 ="hdr".href="#Where-are-the-byte
c5de0 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 74 72 69 6e 67 20 s">..</a></h3>........<p>String.
c5e00 6c 69 74 65 72 61 6c 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 literals.such.as.<code><span.cla
c5e20 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;hello&quot;</
c5e40 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 span></code>.are.in.the.global.c
c5e60 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 69 73 onstant.data.section........This
c5e80 20 69 73 20 77 68 79 20 69 74 20 69 73 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 70 61 73 73 20 61 .is.why.it.is.an.error.to.pass.a
c5ea0 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 61 20 6d 75 74 61 62 6c 65 20 73 6c 69 .string.literal.to.a.mutable.sli
c5ec0 63 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ce,.like.this:.......</p>.......
c5ee0 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 <figure><figcaption.class="zig-c
c5f00 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 74 72 69 ap"><cite.class="file">test_stri
c5f20 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f ng_literal_to_slice.zig</cite></
c5f40 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><code><span.clas
c5f60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="tok-kw">fn</span>.<span.class
c5f80 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 3a 20 5b 5d 3c 73 70 61 6e 20 ="tok-fn">foo</span>(s:.[]<span.
c5fa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 class="tok-type">u8</span>).<spa
c5fc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b n.class="tok-type">void</span>.{
c5fe0 0a 20 20 20 20 5f 20 3d 20 73 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ....._.=.s;.}..<span.class="tok-
c6000 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b kw">test</span>.<span.class="tok
c6020 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 6d 75 -str">&quot;string.literal.to.mu
c6040 74 61 62 6c 65 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 table.slice&quot;</span>.{.....f
c6060 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 oo(<span.class="tok-str">&quot;h
c6080 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ello&quot;</span>);.}</code></pr
c60a0 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 e></figure><figure><figcaption.c
c60c0 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 lass="shell-cap">Shell</figcapti
c60e0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 on><pre><samp>$.<kbd>zig.test.te
c6100 73 74 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f st_string_literal_to_slice.zig</
c6120 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e kbd>.<span.class="sgr-1m">docgen
c6140 5f 74 6d 70 2f 74 65 73 74 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 73 6c 69 63 _tmp/test_string_literal_to_slic
c6160 65 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 e.zig:6:9:.</span><span.class="s
c6180 67 72 2d 33 31 6d 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 gr-31m">error:.</span><span.clas
c61a0 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 5b 5d 75 38 27 2c s="sgr-1m">expected.type.'[]u8',
c61c0 20 66 6f 75 6e 64 20 27 2a 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 27 0a 3c 2f 73 70 61 6e 3e 20 .found.'*const.[5:0]u8'.</span>.
c61e0 20 20 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 29 3b 0a 20 20 20 20 20 ...foo(&quot;hello&quot;);......
c6200 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e ...<span.class="sgr-32m">^~~~~~~
c6220 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 .</span><span.class="sgr-1m">doc
c6240 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 73 gen_tmp/test_string_literal_to_s
c6260 6c 69 63 65 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 lice.zig:6:9:.</span><span.class
c6280 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c ="sgr-36m">note:.</span><span.cl
c62a0 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 73 74 20 64 69 73 63 61 72 64 73 20 63 6f 6e 73 74 ass="sgr-1m">cast.discards.const
c62c0 20 71 75 61 6c 69 66 69 65 72 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 .qualifier.</span><span.class="s
c62e0 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 73 74 72 69 6e 67 5f 6c 69 gr-1m">docgen_tmp/test_string_li
c6300 74 65 72 61 6c 5f 74 6f 5f 73 6c 69 63 65 2e 7a 69 67 3a 31 3a 31 31 3a 20 3c 2f 73 70 61 6e 3e teral_to_slice.zig:1:11:.</span>
c6320 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 36 6d 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 <span.class="sgr-36m">note:.</sp
c6340 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 70 61 72 61 6d 65 74 65 an><span.class="sgr-1m">paramete
c6360 72 20 74 79 70 65 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 66 6e 20 66 r.type.declared.here.</span>fn.f
c6380 6f 6f 28 73 3a 20 5b 5d 75 38 29 20 76 6f 69 64 20 7b 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 oo(s:.[]u8).void.{...........<sp
c63a0 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a an.class="sgr-32m">^~~~.</span>.
c63c0 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </samp></pre></figure>.......<p>
c63e0 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 6d 61 6b 65 20 74 68 65 20 73 6c 69 63 65 20 63 6f However.if.you.make.the.slice.co
c6400 6e 73 74 61 6e 74 2c 20 74 68 65 6e 20 69 74 20 77 6f 72 6b 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 nstant,.then.it.works:</p>......
c6420 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d .<figure><figcaption.class="zig-
c6440 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 74 72 cap"><cite.class="file">test_str
c6460 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 63 6f 6e 73 74 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f ing_literal_to_const_slice.zig</
c6480 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 cite></figcaption><pre><code><sp
c64a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 an.class="tok-kw">fn</span>.<spa
c64c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 3a 20 5b n.class="tok-fn">foo</span>(s:.[
c64e0 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ]<span.class="tok-kw">const</spa
c6500 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 n>.<span.class="tok-type">u8</sp
c6520 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 an>).<span.class="tok-type">void
c6540 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 73 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c </span>.{....._.=.s;.}..<span.cl
c6560 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 ass="tok-kw">test</span>.<span.c
c6580 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c 69 74 65 lass="tok-str">&quot;string.lite
c65a0 72 61 6c 20 74 6f 20 63 6f 6e 73 74 61 6e 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 ral.to.constant.slice&quot;</spa
c65c0 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 n>.{.....foo(<span.class="tok-st
c65e0 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c r">&quot;hello&quot;</span>);.}<
c6600 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 /code></pre></figure><figure><fi
c6620 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c gcaption.class="shell-cap">Shell
c6640 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a </figcaption><pre><samp>$.<kbd>z
c6660 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 63 ig.test.test_string_literal_to_c
c6680 6f 6e 73 74 5f 73 6c 69 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 73 74 onst_slice.zig</kbd>.1/1.test_st
c66a0 72 69 6e 67 5f 6c 69 74 65 72 61 6c 5f 74 6f 5f 63 6f 6e 73 74 5f 73 6c 69 63 65 2e 74 65 73 74 ring_literal_to_const_slice.test
c66c0 2e 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 63 6f 6e 73 74 61 6e 74 20 73 6c 69 63 .string.literal.to.constant.slic
c66e0 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 e....OK.All.1.tests.passed..</sa
c6700 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 mp></pre></figure>.......<p>....
c6720 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 2c 20 3c 63 ...Just.like.string.literals,.<c
c6740 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ode><span.class="tok-kw">const</
c6760 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 77 68 65 6e 20 span></code>.declarations,.when.
c6780 74 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 the.value.is.known.at.<a.href="#
c67a0 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 61 72 comptime">comptime</a>,.......ar
c67c0 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 e.stored.in.the.global.constant.
c67e0 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 20 41 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d data.section..Also.<a.href="#Com
c6800 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 54 69 6d pile-Time-Variables">Compile.Tim
c6820 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 61 72 65 20 73 74 6f 72 65 64 0a 20 20 20 20 20 e.Variables</a>.are.stored......
c6840 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 .in.the.global.constant.data.sec
c6860 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 tion........</p>.......<p>......
c6880 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c .<code><span.class="tok-kw">var<
c68a0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 69 6e 73 69 64 /span></code>.declarations.insid
c68c0 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 66 75 e.functions.are.stored.in.the.fu
c68e0 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 20 4f 6e 63 65 20 61 20 66 75 6e nction's.stack.frame..Once.a.fun
c6900 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2c 0a 20 20 20 20 20 20 61 6e 79 20 3c 61 20 68 72 65 66 ction.returns,.......any.<a.href
c6920 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 74 6f 20 76 61 72 ="#Pointers">Pointers</a>.to.var
c6940 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b 20 66 iables.in.the.function's.stack.f
c6960 72 61 6d 65 20 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 20 72 65 66 65 72 65 6e 63 65 73 2c 20 rame.become.invalid.references,.
c6980 61 6e 64 0a 20 20 20 20 20 20 64 65 72 65 66 65 72 65 6e 63 69 6e 67 20 74 68 65 6d 20 62 65 63 and.......dereferencing.them.bec
c69a0 6f 6d 65 73 20 75 6e 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e omes.unchecked.<a.href="#Undefin
c69c0 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c ed-Behavior">Undefined.Behavior<
c69e0 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 /a>........</p>.......<p>.......
c6a00 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f <code><span.class="tok-kw">var</
c6a20 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 74 20 74 68 65 span></code>.declarations.at.the
c6a40 20 74 6f 70 20 6c 65 76 65 6c 20 6f 72 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 .top.level.or.in.<a.href="#struc
c6a60 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 73 t">struct</a>.declarations.are.s
c6a80 74 6f 72 65 64 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 0a 20 20 20 20 20 20 64 61 74 61 20 73 tored.in.the.global.......data.s
c6aa0 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ection........</p>.......<p>....
c6ac0 20 20 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 ...The.location.of.memory.alloca
c6ae0 74 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 3c 2f ted.with.<code>allocator.alloc</
c6b00 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 61 6c 6c 6f 63 61 74 6f 72 2e 63 code>.or.......<code>allocator.c
c6b20 72 65 61 74 65 3c 2f 63 6f 64 65 3e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 reate</code>.is.determined.by.th
c6b40 65 20 61 6c 6c 6f 63 61 74 6f 72 27 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 e.allocator's.implementation....
c6b60 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 74 68 72 65 61 64 20 6c ....</p>.......<p>TODO:.thread.l
c6b80 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 ocal.variables</p>..............
c6ba0 20 3c 68 33 20 69 64 3d 22 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 .<h3.id="Implementing-an-Allocat
c6bc0 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 or"><a.href="#toc-Implementing-a
c6be0 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6e 20 41 6c 6c n-Allocator">Implementing.an.All
c6c00 6f 63 61 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ocator</a>.<a.class="hdr".href="
c6c20 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c 2f #Implementing-an-Allocator">..</
c6c40 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 a></h3>........<p>Zig.programmer
c6c60 73 20 63 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 69 72 20 6f 77 6e 20 61 6c 6c 6f 63 61 s.can.implement.their.own.alloca
c6c80 74 6f 72 73 20 62 79 20 66 75 6c 66 69 6c 6c 69 6e 67 20 74 68 65 20 41 6c 6c 6f 63 61 74 6f 72 tors.by.fulfilling.the.Allocator
c6ca0 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 64 6f .interface........In.order.to.do
c6cc0 20 74 68 69 73 20 6f 6e 65 20 6d 75 73 74 20 72 65 61 64 20 63 61 72 65 66 75 6c 6c 79 20 74 68 .this.one.must.read.carefully.th
c6ce0 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 73 74 64 2f e.documentation.comments.in.std/
c6d00 6d 65 6d 2e 7a 69 67 20 61 6e 64 0a 20 20 20 20 20 20 74 68 65 6e 20 73 75 70 70 6c 79 20 61 20 mem.zig.and.......then.supply.a.
c6d20 3c 63 6f 64 65 3e 61 6c 6c 6f 63 46 6e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 20 3c 63 6f 64 65 <code>allocFn</code>.and.a.<code
c6d40 3e 72 65 73 69 7a 65 46 6e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 >resizeFn</code>........</p>....
c6d60 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 65 78 61 6d ...<p>.......There.are.many.exam
c6d80 70 6c 65 20 61 6c 6c 6f 63 61 74 6f 72 73 20 74 6f 20 6c 6f 6f 6b 20 61 74 20 66 6f 72 20 69 6e ple.allocators.to.look.at.for.in
c6da0 73 70 69 72 61 74 69 6f 6e 2e 20 4c 6f 6f 6b 20 61 74 20 73 74 64 2f 68 65 61 70 2e 7a 69 67 20 spiration..Look.at.std/heap.zig.
c6dc0 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c and.......<code>std.heap.General
c6de0 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c PurposeAllocator</code>........<
c6e00 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 48 65 61 70 2d 41 /p>...............<h3.id="Heap-A
c6e20 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 llocation-Failure"><a.href="#toc
c6e40 2d 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e 48 65 61 70 20 41 -Heap-Allocation-Failure">Heap.A
c6e60 6c 6c 6f 63 61 74 69 6f 6e 20 46 61 69 6c 75 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 llocation.Failure</a>.<a.class="
c6e80 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c hdr".href="#Heap-Allocation-Fail
c6ea0 75 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ure">..</a></h3>........<p>.....
c6ec0 20 20 4d 61 6e 79 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 20 63 68 6f ..Many.programming.languages.cho
c6ee0 6f 73 65 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 70 6f 73 73 69 62 69 6c 69 74 79 20 6f 66 ose.to.handle.the.possibility.of
c6f00 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 20 62 79 0a 20 20 20 20 .heap.allocation.failure.by.....
c6f20 20 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 63 72 61 73 68 69 6e 67 2e 20 42 79 20 63 ..unconditionally.crashing..By.c
c6f40 6f 6e 76 65 6e 74 69 6f 6e 2c 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 64 6f 20 6e 6f onvention,.Zig.programmers.do.no
c6f60 74 20 63 6f 6e 73 69 64 65 72 20 74 68 69 73 20 74 6f 20 62 65 20 61 0a 20 20 20 20 20 20 73 61 t.consider.this.to.be.a.......sa
c6f80 74 69 73 66 61 63 74 6f 72 79 20 73 6f 6c 75 74 69 6f 6e 2e 20 49 6e 73 74 65 61 64 2c 20 3c 63 tisfactory.solution..Instead,.<c
c6fa0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f ode><span.class="tok-kw">error</
c6fc0 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 63 6f 64 65 3e 20 72 65 70 72 65 73 65 span>.OutOfMemory</code>.represe
c6fe0 6e 74 73 0a 20 20 20 20 20 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 nts.......heap.allocation.failur
c7000 65 2c 20 61 6e 64 20 5a 69 67 20 6c 69 62 72 61 72 69 65 73 20 72 65 74 75 72 6e 20 74 68 69 73 e,.and.Zig.libraries.return.this
c7020 20 65 72 72 6f 72 20 63 6f 64 65 20 77 68 65 6e 65 76 65 72 20 68 65 61 70 20 61 6c 6c 6f 63 61 .error.code.whenever.heap.alloca
c7040 74 69 6f 6e 0a 20 20 20 20 20 20 66 61 69 6c 75 72 65 20 70 72 65 76 65 6e 74 65 64 20 61 6e 20 tion.......failure.prevented.an.
c7060 6f 70 65 72 61 74 69 6f 6e 20 66 72 6f 6d 20 63 6f 6d 70 6c 65 74 69 6e 67 20 73 75 63 63 65 73 operation.from.completing.succes
c7080 73 66 75 6c 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 sfully........</p>.......<p>....
c70a0 20 20 20 53 6f 6d 65 20 68 61 76 65 20 61 72 67 75 65 64 20 74 68 61 74 20 62 65 63 61 75 73 65 ...Some.have.argued.that.because
c70c0 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 73 75 63 68 20 61 73 20 .some.operating.systems.such.as.
c70e0 4c 69 6e 75 78 20 68 61 76 65 20 6d 65 6d 6f 72 79 20 6f 76 65 72 63 6f 6d 6d 69 74 20 65 6e 61 Linux.have.memory.overcommit.ena
c7100 62 6c 65 64 20 62 79 0a 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 69 74 20 69 73 20 70 6f 69 bled.by.......default,.it.is.poi
c7120 6e 74 6c 65 73 73 20 74 6f 20 68 61 6e 64 6c 65 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e ntless.to.handle.heap.allocation
c7140 20 66 61 69 6c 75 72 65 2e 20 54 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 70 72 6f 62 6c 65 6d .failure..There.are.many.problem
c7160 73 20 77 69 74 68 20 74 68 69 73 20 72 65 61 73 6f 6e 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 s.with.this.reasoning:.......</p
c7180 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 >.......<ul>...........<li>Only.
c71a0 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 68 61 76 65 20 61 6e 20 6f some.operating.systems.have.an.o
c71c0 76 65 72 63 6f 6d 6d 69 74 20 66 65 61 74 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 vercommit.feature...............
c71e0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 69 6e 75 .<ul>...................<li>Linu
c7200 78 20 68 61 73 20 69 74 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 62 75 74 x.has.it.enabled.by.default,.but
c7220 20 69 74 20 69 73 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .it.is.configurable.</li>.......
c7240 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 57 69 6e 64 6f 77 73 20 64 6f 65 73 20 6e 6f 74 ............<li>Windows.does.not
c7260 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .overcommit.</li>...............
c7280 20 20 20 20 3c 6c 69 3e 45 6d 62 65 64 64 65 64 20 73 79 73 74 65 6d 73 20 64 6f 20 6e 6f 74 20 ....<li>Embedded.systems.do.not.
c72a0 68 61 76 65 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 have.overcommit.</li>...........
c72c0 20 20 20 20 20 20 20 20 3c 6c 69 3e 48 6f 62 62 79 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 ........<li>Hobby.operating.syst
c72e0 65 6d 73 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 20 6f 76 65 72 63 6f 6d 6d ems.may.or.may.not.have.overcomm
c7300 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 it.</li>...............</ul>....
c7320 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 .......</li>...........<li>.....
c7340 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 72 65 61 6c 2d 74 69 6d 65 20 73 79 73 74 65 6d 73 2c ..........For.real-time.systems,
c7360 20 6e 6f 74 20 6f 6e 6c 79 20 69 73 20 74 68 65 72 65 20 6e 6f 20 6f 76 65 72 63 6f 6d 6d 69 74 .not.only.is.there.no.overcommit
c7380 2c 20 62 75 74 20 74 79 70 69 63 61 6c 6c 79 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 61 6d 6f 75 ,.but.typically.the.maximum.amou
c73a0 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 6d 65 6d 6f 72 79 20 70 65 72 20 61 nt...............of.memory.per.a
c73c0 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 61 68 65 61 64 20 6f pplication.is.determined.ahead.o
c73e0 66 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 f.time............</li>.........
c7400 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 77 72 69 74 69 6e ..<li>...............When.writin
c7420 67 20 61 20 6c 69 62 72 61 72 79 2c 20 6f 6e 65 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 67 6f 61 g.a.library,.one.of.the.main.goa
c7440 6c 73 20 69 73 20 63 6f 64 65 20 72 65 75 73 65 2e 20 42 79 20 6d 61 6b 69 6e 67 20 63 6f 64 65 ls.is.code.reuse..By.making.code
c7460 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 69 6f 6e .handle...............allocation
c7480 20 66 61 69 6c 75 72 65 20 63 6f 72 72 65 63 74 6c 79 2c 20 61 20 6c 69 62 72 61 72 79 20 62 65 .failure.correctly,.a.library.be
c74a0 63 6f 6d 65 73 20 65 6c 69 67 69 62 6c 65 20 74 6f 20 62 65 20 72 65 75 73 65 64 20 69 6e 0a 20 comes.eligible.to.be.reused.in..
c74c0 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 63 6f 6e 74 65 78 74 73 2e 0a 20 20 20 20 .............more.contexts......
c74e0 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 ......</li>...........<li>......
c7500 20 20 20 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 73 6f 6d 65 20 73 6f 66 74 77 61 72 65 20 .........Although.some.software.
c7520 68 61 73 20 67 72 6f 77 6e 20 74 6f 20 64 65 70 65 6e 64 20 6f 6e 20 6f 76 65 72 63 6f 6d 6d 69 has.grown.to.depend.on.overcommi
c7540 74 20 62 65 69 6e 67 20 65 6e 61 62 6c 65 64 2c 20 69 74 73 20 65 78 69 73 74 65 6e 63 65 0a 20 t.being.enabled,.its.existence..
c7560 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 63 6f .............is.the.source.of.co
c7580 75 6e 74 6c 65 73 73 20 75 73 65 72 20 65 78 70 65 72 69 65 6e 63 65 20 64 69 73 61 73 74 65 72 untless.user.experience.disaster
c75a0 73 2e 20 57 68 65 6e 20 61 20 73 79 73 74 65 6d 20 77 69 74 68 20 6f 76 65 72 63 6f 6d 6d 69 74 s..When.a.system.with.overcommit
c75c0 20 65 6e 61 62 6c 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 63 68 20 61 73 20 .enabled,...............such.as.
c75e0 4c 69 6e 75 78 20 6f 6e 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 73 2c 20 63 6f 6d 65 73 Linux.on.default.settings,.comes
c7600 20 63 6c 6f 73 65 20 74 6f 20 6d 65 6d 6f 72 79 20 65 78 68 61 75 73 74 69 6f 6e 2c 20 74 68 65 .close.to.memory.exhaustion,.the
c7620 20 73 79 73 74 65 6d 20 6c 6f 63 6b 73 20 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 .system.locks.up...............a
c7640 6e 64 20 62 65 63 6f 6d 65 73 20 75 6e 75 73 61 62 6c 65 2e 20 41 74 20 74 68 69 73 20 70 6f 69 nd.becomes.unusable..At.this.poi
c7660 6e 74 2c 20 74 68 65 20 4f 4f 4d 20 4b 69 6c 6c 65 72 20 73 65 6c 65 63 74 73 20 61 6e 20 61 70 nt,.the.OOM.Killer.selects.an.ap
c7680 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 6b 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 plication.to.kill...............
c76a0 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69 73 74 69 63 73 2e 20 54 68 69 73 20 6e 6f 6e 2d 64 65 based.on.heuristics..This.non-de
c76c0 74 65 72 6d 69 6e 69 73 74 69 63 20 64 65 63 69 73 69 6f 6e 20 6f 66 74 65 6e 20 72 65 73 75 6c terministic.decision.often.resul
c76e0 74 73 20 69 6e 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 ts.in.an.important.process......
c7700 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 6b 69 6c 6c 65 64 2c 20 61 6e 64 20 6f 66 74 65 6e .........being.killed,.and.often
c7720 20 66 61 69 6c 73 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 79 73 74 65 6d 20 62 61 63 6b .fails.to.return.the.system.back
c7740 20 74 6f 20 77 6f 72 6b 69 6e 67 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c .to.working.order............</l
c7760 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 i>.......</ul>...............<h3
c7780 20 69 64 3d 22 52 65 63 75 72 73 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 .id="Recursion"><a.href="#toc-Re
c77a0 63 75 72 73 69 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d cursion">Recursion</a>.<a.class=
c77c0 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 63 75 72 73 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f "hdr".href="#Recursion">..</a></
c77e0 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 75 72 73 69 6f 6e 20 69 h3>........<p>.......Recursion.i
c7800 73 20 61 20 66 75 6e 64 61 6d 65 6e 74 61 6c 20 74 6f 6f 6c 20 69 6e 20 6d 6f 64 65 6c 69 6e 67 s.a.fundamental.tool.in.modeling
c7820 20 73 6f 66 74 77 61 72 65 2e 20 48 6f 77 65 76 65 72 20 69 74 20 68 61 73 20 61 6e 20 6f 66 74 .software..However.it.has.an.oft
c7840 65 6e 2d 6f 76 65 72 6c 6f 6f 6b 65 64 20 70 72 6f 62 6c 65 6d 3a 0a 20 20 20 20 20 20 75 6e 62 en-overlooked.problem:.......unb
c7860 6f 75 6e 64 65 64 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 ounded.memory.allocation........
c7880 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 75 72 73 69 6f 6e 20 69 </p>.......<p>.......Recursion.i
c78a0 73 20 61 6e 20 61 72 65 61 20 6f 66 20 61 63 74 69 76 65 20 65 78 70 65 72 69 6d 65 6e 74 61 74 s.an.area.of.active.experimentat
c78c0 69 6f 6e 20 69 6e 20 5a 69 67 20 61 6e 64 20 73 6f 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 ion.in.Zig.and.so.the.documentat
c78e0 69 6f 6e 20 68 65 72 65 20 69 73 20 6e 6f 74 20 66 69 6e 61 6c 2e 0a 20 20 20 20 20 20 59 6f 75 ion.here.is.not.final........You
c7900 20 63 61 6e 20 72 65 61 64 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 .can.read.a.......<a.href="https
c7920 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 77 6e 6c 6f 61 64 2f 30 2e 33 2e 30 2f 72 65 ://ziglang.org/download/0.3.0/re
c7940 6c 65 61 73 65 2d 6e 6f 74 65 73 2e 68 74 6d 6c 23 72 65 63 75 72 73 69 6f 6e 22 3e 73 75 6d 6d lease-notes.html#recursion">summ
c7960 61 72 79 20 6f 66 20 72 65 63 75 72 73 69 6f 6e 20 73 74 61 74 75 73 20 69 6e 20 74 68 65 20 30 ary.of.recursion.status.in.the.0
c7980 2e 33 2e 30 20 72 65 6c 65 61 73 65 20 6e 6f 74 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f .3.0.release.notes</a>........</
c79a0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 68 6f 72 74 20 73 75 6d p>.......<p>.......The.short.sum
c79c0 6d 61 72 79 20 69 73 20 74 68 61 74 20 63 75 72 72 65 6e 74 6c 79 20 72 65 63 75 72 73 69 6f 6e mary.is.that.currently.recursion
c79e0 20 77 6f 72 6b 73 20 6e 6f 72 6d 61 6c 6c 79 20 61 73 20 79 6f 75 20 77 6f 75 6c 64 20 65 78 70 .works.normally.as.you.would.exp
c7a00 65 63 74 2e 20 41 6c 74 68 6f 75 67 68 20 5a 69 67 20 63 6f 64 65 0a 20 20 20 20 20 20 69 73 20 ect..Although.Zig.code.......is.
c7a20 6e 6f 74 20 79 65 74 20 70 72 6f 74 65 63 74 65 64 20 66 72 6f 6d 20 73 74 61 63 6b 20 6f 76 65 not.yet.protected.from.stack.ove
c7a40 72 66 6c 6f 77 2c 20 69 74 20 69 73 20 70 6c 61 6e 6e 65 64 20 74 68 61 74 20 61 20 66 75 74 75 rflow,.it.is.planned.that.a.futu
c7a60 72 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 20 77 69 6c 6c 20 70 72 6f 76 69 64 65 0a 20 re.version.of.Zig.will.provide..
c7a80 20 20 20 20 20 73 75 63 68 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 77 69 74 68 20 73 6f 6d 65 20 .....such.protection,.with.some.
c7aa0 64 65 67 72 65 65 20 6f 66 20 63 6f 6f 70 65 72 61 74 69 6f 6e 20 66 72 6f 6d 20 5a 69 67 20 63 degree.of.cooperation.from.Zig.c
c7ac0 6f 64 65 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a ode.required........</p>........
c7ae0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 .......<h3.id="Lifetime-and-Owne
c7b00 72 73 68 69 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 69 66 65 74 69 6d 65 2d 61 6e rship"><a.href="#toc-Lifetime-an
c7b20 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e 4c 69 66 65 74 69 6d 65 20 61 6e 64 20 4f 77 6e 65 72 73 d-Ownership">Lifetime.and.Owners
c7b40 68 69 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c 69 hip</a>.<a.class="hdr".href="#Li
c7b60 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 fetime-and-Ownership">..</a></h3
c7b80 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 74 68 65 20 5a 69 67 >........<p>.......It.is.the.Zig
c7ba0 20 70 72 6f 67 72 61 6d 6d 65 72 27 73 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 74 6f 20 .programmer's.responsibility.to.
c7bc0 65 6e 73 75 72 65 20 74 68 61 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 ensure.that.a.<a.href="#Pointers
c7be0 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 61 63 63 65 73 ">pointer</a>.is.not.......acces
c7c00 73 65 64 20 77 68 65 6e 20 74 68 65 20 6d 65 6d 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 69 sed.when.the.memory.pointed.to.i
c7c20 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 76 61 69 6c 61 62 6c 65 2e 20 4e 6f 74 65 20 74 68 61 74 s.no.longer.available..Note.that
c7c40 20 61 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 73 6c 69 63 65 3c 2f 61 3e 0a 20 .a.<a.href="#Slices">slice</a>..
c7c60 20 20 20 20 20 69 73 20 61 20 66 6f 72 6d 20 6f 66 20 70 6f 69 6e 74 65 72 2c 20 69 6e 20 74 68 .....is.a.form.of.pointer,.in.th
c7c80 61 74 20 69 74 20 72 65 66 65 72 65 6e 63 65 73 20 6f 74 68 65 72 20 6d 65 6d 6f 72 79 2e 0a 20 at.it.references.other.memory...
c7ca0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 6f 72 64 .....</p>.......<p>.......In.ord
c7cc0 65 72 20 74 6f 20 70 72 65 76 65 6e 74 20 62 75 67 73 2c 20 74 68 65 72 65 20 61 72 65 20 73 6f er.to.prevent.bugs,.there.are.so
c7ce0 6d 65 20 68 65 6c 70 66 75 6c 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 74 6f 20 66 6f 6c 6c 6f 77 me.helpful.conventions.to.follow
c7d00 20 77 68 65 6e 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 70 6f 69 6e 74 65 72 73 2e 0a 20 20 20 .when.dealing.with.pointers.....
c7d20 20 20 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 77 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 ...In.general,.when.a.function.r
c7d40 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 eturns.a.pointer,.the.documentat
c7d60 69 6f 6e 20 66 6f 72 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 65 78 70 6c ion.for.the.function.should.expl
c7d80 61 69 6e 0a 20 20 20 20 20 20 77 68 6f 20 22 6f 77 6e 73 22 20 74 68 65 20 70 6f 69 6e 74 65 72 ain.......who."owns".the.pointer
c7da0 2e 20 54 68 69 73 20 63 6f 6e 63 65 70 74 20 68 65 6c 70 73 20 74 68 65 20 70 72 6f 67 72 61 6d ..This.concept.helps.the.program
c7dc0 6d 65 72 20 64 65 63 69 64 65 20 77 68 65 6e 20 69 74 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 mer.decide.when.it.is.appropriat
c7de0 65 2c 20 69 66 20 65 76 65 72 2c 0a 20 20 20 20 20 20 74 6f 20 66 72 65 65 20 74 68 65 20 70 6f e,.if.ever,.......to.free.the.po
c7e00 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 inter........</p>.......<p>.....
c7e20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 64 6f ..For.example,.the.function's.do
c7e40 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6d 61 79 20 73 61 79 20 22 63 61 6c 6c 65 72 20 6f 77 6e 73 cumentation.may.say."caller.owns
c7e60 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6d 65 6d 6f 72 79 22 2c 20 69 6e 20 77 68 69 63 68 20 .the.returned.memory",.in.which.
c7e80 63 61 73 65 0a 20 20 20 20 20 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 63 61 6c 6c 73 20 74 case.......the.code.that.calls.t
c7ea0 68 65 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 20 70 6c 61 6e 20 66 6f 72 he.function.must.have.a.plan.for
c7ec0 20 77 68 65 6e 20 74 6f 20 66 72 65 65 20 74 68 61 74 20 6d 65 6d 6f 72 79 2e 20 50 72 6f 62 61 .when.to.free.that.memory..Proba
c7ee0 62 6c 79 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 65 bly.in.this.situation,.......the
c7f00 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 41 .function.will.accept.an.<code>A
c7f20 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 llocator</code>.parameter.......
c7f40 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 74 69 6d 65 73 20 .</p>.......<p>.......Sometimes.
c7f60 74 68 65 20 6c 69 66 65 74 69 6d 65 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 6d 61 79 20 62 65 the.lifetime.of.a.pointer.may.be
c7f80 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 .more.complicated..For.example,.
c7fa0 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 74 64 2e 41 72 72 61 79 4c 69 73 74 28 54 29 the.......<code>std.ArrayList(T)
c7fc0 2e 69 74 65 6d 73 3c 2f 63 6f 64 65 3e 20 73 6c 69 63 65 20 68 61 73 20 61 20 6c 69 66 65 74 69 .items</code>.slice.has.a.lifeti
c7fe0 6d 65 20 74 68 61 74 20 72 65 6d 61 69 6e 73 0a 20 20 20 20 20 20 76 61 6c 69 64 20 75 6e 74 69 me.that.remains.......valid.unti
c8000 6c 20 74 68 65 20 6e 65 78 74 20 74 69 6d 65 20 74 68 65 20 6c 69 73 74 20 69 73 20 72 65 73 69 l.the.next.time.the.list.is.resi
c8020 7a 65 64 2c 20 73 75 63 68 20 61 73 20 62 79 20 61 70 70 65 6e 64 69 6e 67 20 6e 65 77 20 65 6c zed,.such.as.by.appending.new.el
c8040 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ements........</p>.......<p>....
c8060 20 20 20 54 68 65 20 41 50 49 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 66 75 6e ...The.API.documentation.for.fun
c8080 63 74 69 6f 6e 73 20 61 6e 64 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 73 68 6f 75 6c ctions.and.data.structures.shoul
c80a0 64 20 74 61 6b 65 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 65 78 70 6c 61 69 6e 0a 20 20 20 d.take.great.care.to.explain....
c80c0 20 20 20 74 68 65 20 6f 77 6e 65 72 73 68 69 70 20 61 6e 64 20 6c 69 66 65 74 69 6d 65 20 73 65 ...the.ownership.and.lifetime.se
c80e0 6d 61 6e 74 69 63 73 20 6f 66 20 70 6f 69 6e 74 65 72 73 2e 20 4f 77 6e 65 72 73 68 69 70 20 64 mantics.of.pointers..Ownership.d
c8100 65 74 65 72 6d 69 6e 65 73 20 77 68 6f 73 65 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 69 etermines.whose.responsibility.i
c8120 74 0a 20 20 20 20 20 20 69 73 20 74 6f 20 66 72 65 65 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 t.......is.to.free.the.memory.re
c8140 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 70 6f 69 6e 74 65 72 2c 20 61 6e 64 20 6c 69 66 ferenced.by.the.pointer,.and.lif
c8160 65 74 69 6d 65 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 70 6f 69 6e 74 20 61 74 20 77 68 etime.determines.the.point.at.wh
c8180 69 63 68 0a 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f 72 79 20 62 65 63 6f 6d 65 73 20 69 6e 61 ich.......the.memory.becomes.ina
c81a0 63 63 65 73 73 69 62 6c 65 20 28 6c 65 73 74 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 ccessible.(lest.<a.href="#Undefi
c81c0 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 ned-Behavior">Undefined.Behavior
c81e0 3c 2f 61 3e 20 6f 63 63 75 72 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a </a>.occur)........</p>.........
c8200 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 56 61 72 .............<h2.id="Compile-Var
c8220 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 56 61 iables"><a.href="#toc-Compile-Va
c8240 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c riables">Compile.Variables</a>.<
c8260 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 a.class="hdr".href="#Compile-Var
c8280 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 iables">..</a></h2>........<p>..
c82a0 20 20 20 20 20 43 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 63 63 65 73 .....Compile.variables.are.acces
c82c0 73 69 62 6c 65 20 62 79 20 69 6d 70 6f 72 74 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 sible.by.importing.the.<code><sp
c82e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e an.class="tok-str">&quot;builtin
c8300 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 63 6b 61 67 65 2c 0a 20 20 &quot;</span></code>.package,...
c8320 20 20 20 20 77 68 69 63 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6d 61 6b 65 73 20 61 76 61 ....which.the.compiler.makes.ava
c8340 69 6c 61 62 6c 65 20 74 6f 20 65 76 65 72 79 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e ilable.to.every.Zig.source.file.
c8360 20 49 74 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 .It.contains.......compile-time.
c8380 63 6f 6e 73 74 61 6e 74 73 20 73 75 63 68 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 constants.such.as.the.current.ta
c83a0 72 67 65 74 2c 20 65 6e 64 69 61 6e 6e 65 73 73 2c 20 61 6e 64 20 72 65 6c 65 61 73 65 20 6d 6f rget,.endianness,.and.release.mo
c83c0 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 de........</p>.......<figure><fi
c83e0 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 gcaption.class="zig-cap"><cite.c
c8400 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 69 6c 65 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 lass="file">compile_variables.zi
c8420 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e g</cite></figcaption><pre><code>
c8440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
c8460 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 >.builtin.=.<span.class="tok-bui
c8480 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@import</span>(<span.class
c84a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f ="tok-str">&quot;builtin&quot;</
c84c0 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e span>);.<span.class="tok-kw">con
c84e0 73 74 3c 2f 73 70 61 6e 3e 20 73 65 70 61 72 61 74 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 st</span>.separator.=.<span.clas
c8500 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 6f 73 s="tok-kw">if</span>.(builtin.os
c8520 2e 74 61 67 20 3d 3d 20 2e 77 69 6e 64 6f 77 73 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .tag.==..windows).<span.class="t
c8540 6f 6b 2d 73 74 72 22 3e 27 5c 5c 27 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-str">'\\'</span>.<span.class=
c8560 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">else</span>.<span.class
c8580 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 2f 27 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 ="tok-str">'/'</span>;</code></p
c85a0 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 re></figure>.......<p>.......Exa
c85c0 6d 70 6c 65 20 6f 66 20 77 68 61 74 20 69 73 20 69 6d 70 6f 72 74 65 64 20 77 69 74 68 20 3c 63 mple.of.what.is.imported.with.<c
c85e0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 ode><span.class="tok-builtin">@i
c8600 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 mport</span>(<span.class="tok-st
c8620 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f r">&quot;builtin&quot;</span>)</
c8640 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e code>:.......</p>.......<figure>
c8660 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 <figcaption.class="zig-cap"><cit
c8680 65 3e 40 69 6d 70 6f 72 74 28 22 62 75 69 6c 74 69 6e 22 29 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 e>@import("builtin")</cite></fig
c86a0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><code><span.class="
c86c0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e tok-kw">const</span>.std.=.<span
c86e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 .class="tok-builtin">@import</sp
c8700 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>(<span.class="tok-str">&quot;
c8720 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 std&quot;</span>);.<span.class="
c8740 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 5a 69 67 20 76 65 72 73 69 6f 6e 2e 20 57 68 tok-comment">///.Zig.version..Wh
c8760 65 6e 20 77 72 69 74 69 6e 67 20 63 6f 64 65 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 20 6d 75 en.writing.code.that.supports.mu
c8780 6c 74 69 70 6c 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 5a 69 67 2c 20 70 72 65 66 65 72 3c 2f ltiple.versions.of.Zig,.prefer</
c87a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e span>.<span.class="tok-comment">
c87c0 2f 2f 2f 20 66 65 61 74 75 72 65 20 64 65 74 65 63 74 69 6f 6e 20 28 69 2e 65 2e 20 77 69 74 68 ///.feature.detection.(i.e..with
c87e0 20 60 40 68 61 73 44 65 63 6c 60 20 6f 72 20 60 40 68 61 73 46 69 65 6c 64 60 29 20 6f 76 65 72 .`@hasDecl`.or.`@hasField`).over
c8800 20 76 65 72 73 69 6f 6e 20 63 68 65 63 6b 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .version.checks.</span>.<span.cl
c8820 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ass="tok-kw">pub</span>.<span.cl
c8840 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f 76 65 ass="tok-kw">const</span>.zig_ve
c8860 72 73 69 6f 6e 20 3d 20 73 74 64 2e 53 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 2e 70 61 72 73 rsion.=.std.SemanticVersion.pars
c8880 65 28 7a 69 67 5f 76 65 72 73 69 6f 6e 5f 73 74 72 69 6e 67 29 20 3c 73 70 61 6e 20 63 6c 61 73 e(zig_version_string).<span.clas
c88a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c s="tok-kw">catch</span>.<span.cl
c88c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b ass="tok-kw">unreachable</span>;
c88e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e .<span.class="tok-kw">pub</span>
c8900 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
c8920 6e 3e 20 7a 69 67 5f 76 65 72 73 69 6f 6e 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c n>.zig_version_string.=.<span.cl
c8940 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 30 2e 31 32 2e 30 26 71 75 6f 74 3b ass="tok-str">&quot;0.12.0&quot;
c8960 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 </span>;.<span.class="tok-kw">pu
c8980 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f b</span>.<span.class="tok-kw">co
c89a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f 62 61 63 6b 65 6e 64 20 3d 20 73 74 64 2e 62 75 69 nst</span>.zig_backend.=.std.bui
c89c0 6c 74 69 6e 2e 43 6f 6d 70 69 6c 65 72 42 61 63 6b 65 6e 64 2e 73 74 61 67 65 32 5f 6c 6c 76 6d ltin.CompilerBackend.stage2_llvm
c89e0 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 ;..<span.class="tok-kw">pub</spa
c8a00 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 n>.<span.class="tok-kw">const</s
c8a20 70 61 6e 3e 20 6f 75 74 70 75 74 5f 6d 6f 64 65 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4f pan>.output_mode.=.std.builtin.O
c8a40 75 74 70 75 74 4d 6f 64 65 2e 4f 62 6a 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d utputMode.Obj;.<span.class="tok-
c8a60 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d kw">pub</span>.<span.class="tok-
c8a80 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6d 6f 64 65 20 3d 20 73 74 64 kw">const</span>.link_mode.=.std
c8aa0 2e 62 75 69 6c 74 69 6e 2e 4c 69 6e 6b 4d 6f 64 65 2e 73 74 61 74 69 63 3b 0a 3c 73 70 61 6e 20 .builtin.LinkMode.static;.<span.
c8ac0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 class="tok-kw">pub</span>.<span.
c8ae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 74 class="tok-kw">const</span>.is_t
c8b00 65 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c est.=.<span.class="tok-null">fal
c8b20 73 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e se</span>;.<span.class="tok-kw">
c8b40 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pub</span>.<span.class="tok-kw">
c8b60 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 69 6e 67 6c 65 5f 74 68 72 65 61 64 65 64 20 3d 20 3c const</span>.single_threaded.=.<
c8b80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 span.class="tok-null">false</spa
c8ba0 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 n>;.<span.class="tok-kw">pub</sp
c8bc0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f an>.<span.class="tok-kw">const</
c8be0 73 70 61 6e 3e 20 61 62 69 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 41 62 69 2e 67 6e 75 3b 0a span>.abi.=.std.Target.Abi.gnu;.
c8c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">pub</span>.
c8c20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
c8c40 3e 20 63 70 75 3a 20 73 74 64 2e 54 61 72 67 65 74 2e 43 70 75 20 3d 20 2e 7b 0a 20 20 20 20 2e >.cpu:.std.Target.Cpu.=..{......
c8c60 61 72 63 68 20 3d 20 2e 78 38 36 5f 36 34 2c 0a 20 20 20 20 2e 6d 6f 64 65 6c 20 3d 20 26 61 6d arch.=..x86_64,......model.=.&am
c8c80 70 3b 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 63 70 75 2e 7a 6e 76 65 72 32 2c 0a 20 20 20 p;std.Target.x86.cpu.znver2,....
c8ca0 20 2e 66 65 61 74 75 72 65 73 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 66 65 61 74 ..features.=.std.Target.x86.feat
c8cc0 75 72 65 53 65 74 28 26 61 6d 70 3b 5b 5f 5d 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 46 65 ureSet(&amp;[_]std.Target.x86.Fe
c8ce0 61 74 75 72 65 7b 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 36 34 62 69 74 26 71 75 6f ature{..........@&quot;64bit&quo
c8d00 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 61 64 78 2c 0a 20 20 20 20 20 20 20 20 2e 61 65 73 2c 0a t;,..........adx,..........aes,.
c8d20 20 20 20 20 20 20 20 20 2e 61 6c 6c 6f 77 5f 6c 69 67 68 74 5f 32 35 36 5f 62 69 74 2c 0a 20 20 .........allow_light_256_bit,...
c8d40 20 20 20 20 20 20 2e 61 76 78 2c 0a 20 20 20 20 20 20 20 20 2e 61 76 78 32 2c 0a 20 20 20 20 20 .......avx,..........avx2,......
c8d60 20 20 20 2e 62 6d 69 2c 0a 20 20 20 20 20 20 20 20 2e 62 6d 69 32 2c 0a 20 20 20 20 20 20 20 20 ....bmi,..........bmi2,.........
c8d80 2e 62 72 61 6e 63 68 66 75 73 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 2e 63 6c 66 6c 75 73 68 6f .branchfusion,..........clflusho
c8da0 70 74 2c 0a 20 20 20 20 20 20 20 20 2e 63 6c 77 62 2c 0a 20 20 20 20 20 20 20 20 2e 63 6c 7a 65 pt,..........clwb,..........clze
c8dc0 72 6f 2c 0a 20 20 20 20 20 20 20 20 2e 63 6d 6f 76 2c 0a 20 20 20 20 20 20 20 20 2e 63 72 63 33 ro,..........cmov,..........crc3
c8de0 32 2c 0a 20 20 20 20 20 20 20 20 2e 63 78 31 36 2c 0a 20 20 20 20 20 20 20 20 2e 63 78 38 2c 0a 2,..........cx16,..........cx8,.
c8e00 20 20 20 20 20 20 20 20 2e 66 31 36 63 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 31 35 62 .........f16c,..........fast_15b
c8e20 79 74 65 6e 6f 70 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 62 65 78 74 72 2c 0a 20 20 20 ytenop,..........fast_bextr,....
c8e40 20 20 20 20 20 2e 66 61 73 74 5f 6c 7a 63 6e 74 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f ......fast_lzcnt,..........fast_
c8e60 6d 6f 76 62 65 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 73 63 61 6c 61 72 5f 66 73 71 72 movbe,..........fast_scalar_fsqr
c8e80 74 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 73 63 61 6c 61 72 5f 73 68 69 66 74 5f 6d 61 t,..........fast_scalar_shift_ma
c8ea0 73 6b 73 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 76 61 72 69 61 62 6c 65 5f 70 65 72 6c sks,..........fast_variable_perl
c8ec0 61 6e 65 5f 73 68 75 66 66 6c 65 2c 0a 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 76 65 63 74 6f ane_shuffle,..........fast_vecto
c8ee0 72 5f 66 73 71 72 74 2c 0a 20 20 20 20 20 20 20 20 2e 66 6d 61 2c 0a 20 20 20 20 20 20 20 20 2e r_fsqrt,..........fma,..........
c8f00 66 73 67 73 62 61 73 65 2c 0a 20 20 20 20 20 20 20 20 2e 66 78 73 72 2c 0a 20 20 20 20 20 20 20 fsgsbase,..........fxsr,........
c8f20 20 2e 6c 7a 63 6e 74 2c 0a 20 20 20 20 20 20 20 20 2e 6d 6d 78 2c 0a 20 20 20 20 20 20 20 20 2e ..lzcnt,..........mmx,..........
c8f40 6d 6f 76 62 65 2c 0a 20 20 20 20 20 20 20 20 2e 6d 77 61 69 74 78 2c 0a 20 20 20 20 20 20 20 20 movbe,..........mwaitx,.........
c8f60 2e 6e 6f 70 6c 2c 0a 20 20 20 20 20 20 20 20 2e 70 63 6c 6d 75 6c 2c 0a 20 20 20 20 20 20 20 20 .nopl,..........pclmul,.........
c8f80 2e 70 6f 70 63 6e 74 2c 0a 20 20 20 20 20 20 20 20 2e 70 72 66 63 68 77 2c 0a 20 20 20 20 20 20 .popcnt,..........prfchw,.......
c8fa0 20 20 2e 72 64 70 69 64 2c 0a 20 20 20 20 20 20 20 20 2e 72 64 70 72 75 2c 0a 20 20 20 20 20 20 ...rdpid,..........rdpru,.......
c8fc0 20 20 2e 72 64 72 6e 64 2c 0a 20 20 20 20 20 20 20 20 2e 72 64 73 65 65 64 2c 0a 20 20 20 20 20 ...rdrnd,..........rdseed,......
c8fe0 20 20 20 2e 73 61 68 66 2c 0a 20 20 20 20 20 20 20 20 2e 73 62 62 5f 64 65 70 5f 62 72 65 61 6b ....sahf,..........sbb_dep_break
c9000 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 2e 73 68 61 2c 0a 20 20 20 20 20 20 20 20 2e 73 6c 6f 77 ing,..........sha,..........slow
c9020 5f 73 68 6c 64 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 65 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 _shld,..........sse,..........ss
c9040 65 32 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 65 33 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 65 34 e2,..........sse3,..........sse4
c9060 5f 31 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 65 34 5f 32 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 _1,..........sse4_2,..........ss
c9080 65 34 61 2c 0a 20 20 20 20 20 20 20 20 2e 73 73 73 65 33 2c 0a 20 20 20 20 20 20 20 20 2e 76 7a e4a,..........ssse3,..........vz
c90a0 65 72 6f 75 70 70 65 72 2c 0a 20 20 20 20 20 20 20 20 2e 77 62 6e 6f 69 6e 76 64 2c 0a 20 20 20 eroupper,..........wbnoinvd,....
c90c0 20 20 20 20 20 2e 78 38 37 2c 0a 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 2c 0a 20 20 20 20 20 ......x87,..........xsave,......
c90e0 20 20 20 2e 78 73 61 76 65 63 2c 0a 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 6f 70 74 2c 0a 20 ....xsavec,..........xsaveopt,..
c9100 20 20 20 20 20 20 20 2e 78 73 61 76 65 73 2c 0a 20 20 20 20 7d 29 2c 0a 7d 3b 0a 3c 73 70 61 6e ........xsaves,.....}),.};.<span
c9120 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e .class="tok-kw">pub</span>.<span
c9140 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 20 .class="tok-kw">const</span>.os.
c9160 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 4f 73 7b 0a 20 20 20 20 2e 74 61 67 20 3d 20 2e 6c 69 6e =.std.Target.Os{......tag.=..lin
c9180 75 78 2c 0a 20 20 20 20 2e 76 65 72 73 69 6f 6e 5f 72 61 6e 67 65 20 3d 20 2e 7b 20 2e 6c 69 6e ux,......version_range.=..{..lin
c91a0 75 78 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 2e 72 61 6e 67 65 20 3d 20 2e 7b 0a 20 20 20 20 ux.=..{..........range.=..{.....
c91c0 20 20 20 20 20 20 20 20 2e 6d 69 6e 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........min.=..{...............
c91e0 20 20 2e 6d 61 6a 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ...major.=.<span.class="tok-numb
c9200 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d er">5</span>,..................m
c9220 69 6e 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e inor.=.<span.class="tok-number">
c9240 31 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 10</span>,..................patc
c9260 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f h.=.<span.class="tok-number">0</
c9280 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 span>,.............},...........
c92a0 20 20 2e 6d 61 78 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 6a ...max.=..{..................maj
c92c0 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c or.=.<span.class="tok-number">5<
c92e0 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 6f 72 20 3d /span>,..................minor.=
c9300 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 .<span.class="tok-number">10</sp
c9320 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 an>,..................patch.=.<s
c9340 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">0</span>,
c9360 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 .............},.........},......
c9380 20 20 20 2e 67 6c 69 62 63 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 6a 6f ....glibc.=..{..............majo
c93a0 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f r.=.<span.class="tok-number">2</
c93c0 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 6f 72 20 3d 20 3c 73 70 61 span>,..............minor.=.<spa
c93e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 31 3c 2f 73 70 61 6e 3e 2c 0a n.class="tok-number">31</span>,.
c9400 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 .............patch.=.<span.class
c9420 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 ="tok-number">0</span>,.........
c9440 7d 2c 0a 20 20 20 20 7d 7d 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b },.....}},.};.<span.class="tok-k
c9460 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b w">pub</span>.<span.class="tok-k
c9480 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 61 72 67 65 74 3a 20 73 74 64 2e 54 61 72 67 w">const</span>.target:.std.Targ
c94a0 65 74 20 3d 20 2e 7b 0a 20 20 20 20 2e 63 70 75 20 3d 20 63 70 75 2c 0a 20 20 20 20 2e 6f 73 20 et.=..{......cpu.=.cpu,......os.
c94c0 3d 20 6f 73 2c 0a 20 20 20 20 2e 61 62 69 20 3d 20 61 62 69 2c 0a 20 20 20 20 2e 6f 66 6d 74 20 =.os,......abi.=.abi,......ofmt.
c94e0 3d 20 6f 62 6a 65 63 74 5f 66 6f 72 6d 61 74 2c 0a 20 20 20 20 2e 64 79 6e 61 6d 69 63 5f 6c 69 =.object_format,......dynamic_li
c9500 6e 6b 65 72 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 44 79 6e 61 6d 69 63 4c 69 6e 6b 65 72 2e nker.=.std.Target.DynamicLinker.
c9520 69 6e 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 init(<span.class="tok-str">&quot
c9540 3b 2f 6c 69 62 36 34 2f 6c 64 2d 6c 69 6e 75 78 2d 78 38 36 2d 36 34 2e 73 6f 2e 32 26 71 75 6f ;/lib64/ld-linux-x86-64.so.2&quo
c9560 74 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d t;</span>),.};.<span.class="tok-
c9580 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d kw">pub</span>.<span.class="tok-
c95a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 62 6a 65 63 74 5f 66 6f 72 6d 61 74 20 3d kw">const</span>.object_format.=
c95c0 20 73 74 64 2e 54 61 72 67 65 74 2e 4f 62 6a 65 63 74 46 6f 72 6d 61 74 2e 65 6c 66 3b 0a 3c 73 .std.Target.ObjectFormat.elf;.<s
c95e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 pan.class="tok-kw">pub</span>.<s
c9600 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
c9620 6d 6f 64 65 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4f 70 74 69 6d 69 7a 65 4d 6f 64 65 2e mode.=.std.builtin.OptimizeMode.
c9640 44 65 62 75 67 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c Debug;.<span.class="tok-kw">pub<
c9660 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 /span>.<span.class="tok-kw">cons
c9680 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6c 69 62 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 t</span>.link_libc.=.<span.class
c96a0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 ="tok-null">false</span>;.<span.
c96c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 class="tok-kw">pub</span>.<span.
c96e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b class="tok-kw">const</span>.link
c9700 5f 6c 69 62 63 70 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 _libcpp.=.<span.class="tok-null"
c9720 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >false</span>;.<span.class="tok-
c9740 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d kw">pub</span>.<span.class="tok-
c9760 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 61 76 65 5f 65 72 72 6f 72 5f 72 65 74 75 kw">const</span>.have_error_retu
c9780 72 6e 5f 74 72 61 63 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 rn_tracing.=.<span.class="tok-nu
c97a0 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ll">true</span>;.<span.class="to
c97c0 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f k-kw">pub</span>.<span.class="to
c97e0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 67 72 69 6e 64 5f 73 75 70 70 k-kw">const</span>.valgrind_supp
c9800 6f 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 ort.=.<span.class="tok-null">tru
c9820 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 e</span>;.<span.class="tok-kw">p
c9840 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ub</span>.<span.class="tok-kw">c
c9860 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 61 6e 69 74 69 7a 65 5f 74 68 72 65 61 64 20 3d 20 3c 73 onst</span>.sanitize_thread.=.<s
c9880 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e pan.class="tok-null">false</span
c98a0 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 >;.<span.class="tok-kw">pub</spa
c98c0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 n>.<span.class="tok-kw">const</s
c98e0 70 61 6e 3e 20 70 6f 73 69 74 69 6f 6e 5f 69 6e 64 65 70 65 6e 64 65 6e 74 5f 63 6f 64 65 20 3d pan>.position_independent_code.=
c9900 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 .<span.class="tok-null">false</s
c9920 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f pan>;.<span.class="tok-kw">pub</
c9940 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 span>.<span.class="tok-kw">const
c9960 3c 2f 73 70 61 6e 3e 20 70 6f 73 69 74 69 6f 6e 5f 69 6e 64 65 70 65 6e 64 65 6e 74 5f 65 78 65 </span>.position_independent_exe
c9980 63 75 74 61 62 6c 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 cutable.=.<span.class="tok-null"
c99a0 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >false</span>;.<span.class="tok-
c99c0 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d kw">pub</span>.<span.class="tok-
c99e0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 72 69 70 5f 64 65 62 75 67 5f 69 6e 66 kw">const</span>.strip_debug_inf
c9a00 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 o.=.<span.class="tok-null">false
c9a20 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 </span>;.<span.class="tok-kw">pu
c9a40 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f b</span>.<span.class="tok-kw">co
c9a60 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 64 65 5f 6d 6f 64 65 6c 20 3d 20 73 74 64 2e 62 75 69 6c nst</span>.code_model.=.std.buil
c9a80 74 69 6e 2e 43 6f 64 65 4d 6f 64 65 6c 2e 64 65 66 61 75 6c 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 tin.CodeModel.default;.<span.cla
c9aa0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ss="tok-kw">pub</span>.<span.cla
c9ac0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6d 69 74 5f 66 72 ss="tok-kw">const</span>.omit_fr
c9ae0 61 6d 65 5f 70 6f 69 6e 74 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ame_pointer.=.<span.class="tok-n
c9b00 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ull">false</span>;</code></pre><
c9b20 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c /figure>.......<p>See.also:</p><
c9b40 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 ul>.<li><a.href="#Build-Mode">Bu
c9b60 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a ild.Mode</a></li>.</ul>.........
c9b80 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e ......<h2.id="Root-Source-File">
c9ba0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e <a.href="#toc-Root-Source-File">
c9bc0 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Root.Source.File</a>.<a.class="h
c9be0 64 72 22 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e c2 a7 3c dr".href="#Root-Source-File">..<
c9c00 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 65 78 70 6c 61 69 6e /a></h2>........<p>TODO:.explain
c9c20 20 68 6f 77 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 20 66 69 6e 64 73 20 6f 74 68 65 .how.root.source.file.finds.othe
c9c40 72 20 66 69 6c 65 73 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 70 75 62 20 66 r.files</p>.......<p>TODO:.pub.f
c9c60 6e 20 6d 61 69 6e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 70 75 62 20 66 6e n.main</p>.......<p>TODO:.pub.fn
c9c80 20 70 61 6e 69 63 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 69 66 20 6c 69 6e .panic</p>.......<p>TODO:.if.lin
c9ca0 6b 69 6e 67 20 77 69 74 68 20 6c 69 62 63 20 79 6f 75 20 63 61 6e 20 75 73 65 20 65 78 70 6f 72 king.with.libc.you.can.use.expor
c9cc0 74 20 66 6e 20 6d 61 69 6e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 6f 72 64 t.fn.main</p>.......<p>TODO:.ord
c9ce0 65 72 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 74 6f 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 er.independent.top.level.declara
c9d00 74 69 6f 6e 73 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 6c 61 7a 79 20 61 6e tions</p>.......<p>TODO:.lazy.an
c9d20 61 6c 79 73 69 73 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 75 73 69 6e 67 20 alysis</p>.......<p>TODO:.using.
c9d40 63 6f 6d 70 74 69 6d 65 20 7b 20 5f 20 3d 20 40 69 6d 70 6f 72 74 28 29 20 7d 3c 2f 70 3e 0a 20 comptime.{._.=.@import().}</p>..
c9d60 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 42 75 69 6c 64 2d 53 79 ............<h2.id="Zig-Build-Sy
c9d80 73 74 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 69 67 2d 42 75 69 6c 64 2d 53 79 stem"><a.href="#toc-Zig-Build-Sy
c9da0 73 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 20 3c 61 20 63 6c stem">Zig.Build.System</a>.<a.cl
c9dc0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 ass="hdr".href="#Zig-Build-Syste
c9de0 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 m">..</a></h2>........<p>.......
c9e00 54 68 65 20 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 20 70 72 6f 76 69 64 65 73 20 61 20 The.Zig.Build.System.provides.a.
c9e20 63 72 6f 73 73 2d 70 6c 61 74 66 6f 72 6d 2c 20 64 65 70 65 6e 64 65 6e 63 79 2d 66 72 65 65 20 cross-platform,.dependency-free.
c9e40 77 61 79 20 74 6f 20 64 65 63 6c 61 72 65 0a 20 20 20 20 20 20 74 68 65 20 6c 6f 67 69 63 20 72 way.to.declare.......the.logic.r
c9e60 65 71 75 69 72 65 64 20 74 6f 20 62 75 69 6c 64 20 61 20 70 72 6f 6a 65 63 74 2e 20 57 69 74 68 equired.to.build.a.project..With
c9e80 20 74 68 69 73 20 73 79 73 74 65 6d 2c 20 74 68 65 20 6c 6f 67 69 63 20 74 6f 20 62 75 69 6c 64 .this.system,.the.logic.to.build
c9ea0 0a 20 20 20 20 20 20 61 20 70 72 6f 6a 65 63 74 20 69 73 20 77 72 69 74 74 65 6e 20 69 6e 20 61 .......a.project.is.written.in.a
c9ec0 20 62 75 69 6c 64 2e 7a 69 67 20 66 69 6c 65 2c 20 75 73 69 6e 67 20 74 68 65 20 5a 69 67 20 42 .build.zig.file,.using.the.Zig.B
c9ee0 75 69 6c 64 20 53 79 73 74 65 6d 20 41 50 49 20 74 6f 0a 20 20 20 20 20 20 64 65 63 6c 61 72 65 uild.System.API.to.......declare
c9f00 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 65 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 61 .and.configure.build.artifacts.a
c9f20 6e 64 20 6f 74 68 65 72 20 74 61 73 6b 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 nd.other.tasks........</p>......
c9f40 20 3c 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 74 61 73 6b .<p>.......Some.examples.of.task
c9f60 73 20 74 68 65 20 62 75 69 6c 64 20 73 79 73 74 65 6d 20 63 61 6e 20 68 65 6c 70 20 77 69 74 68 s.the.build.system.can.help.with
c9f80 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 :.......</p>.......<ul>.........
c9fa0 3c 6c 69 3e 50 65 72 66 6f 72 6d 69 6e 67 20 74 61 73 6b 73 20 69 6e 20 70 61 72 61 6c 6c 65 6c <li>Performing.tasks.in.parallel
c9fc0 20 61 6e 64 20 63 61 63 68 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 2e 3c 2f 6c 69 3e 0a 20 .and.caching.the.results.</li>..
c9fe0 20 20 20 20 20 20 20 3c 6c 69 3e 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 6f 74 68 65 72 20 70 72 .......<li>Depending.on.other.pr
ca000 6f 6a 65 63 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 50 72 6f 76 69 64 69 ojects.</li>.........<li>Providi
ca020 6e 67 20 61 20 70 61 63 6b 61 67 65 20 66 6f 72 20 6f 74 68 65 72 20 70 72 6f 6a 65 63 74 73 20 ng.a.package.for.other.projects.
ca040 74 6f 20 64 65 70 65 6e 64 20 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 to.depend.on.</li>.........<li>C
ca060 72 65 61 74 69 6e 67 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 62 79 20 65 78 65 63 75 reating.build.artifacts.by.execu
ca080 74 69 6e 67 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 2e 20 54 68 69 73 20 69 6e 63 6c ting.the.Zig.compiler..This.incl
ca0a0 75 64 65 73 0a 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 69 6e 67 20 5a 69 67 20 73 6f 75 72 udes...........building.Zig.sour
ca0c0 63 65 20 63 6f 64 65 20 61 73 20 77 65 6c 6c 20 61 73 20 43 20 61 6e 64 20 43 2b 2b 20 73 6f 75 ce.code.as.well.as.C.and.C++.sou
ca0e0 72 63 65 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 70 74 75 rce.code.</li>.........<li>Captu
ca100 72 69 6e 67 20 75 73 65 72 2d 63 6f 6e 66 69 67 75 72 65 64 20 6f 70 74 69 6f 6e 73 20 61 6e 64 ring.user-configured.options.and
ca120 20 75 73 69 6e 67 20 74 68 6f 73 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 63 6f 6e 66 69 67 75 72 .using.those.options.to.configur
ca140 65 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 62 75 69 6c 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 e...........the.build.</li>.....
ca160 20 20 20 20 3c 6c 69 3e 53 75 72 66 61 63 69 6e 67 20 62 75 69 6c 64 20 63 6f 6e 66 69 67 75 72 ....<li>Surfacing.build.configur
ca180 61 74 69 6f 6e 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d ation.as.<a.href="#comptime">com
ca1a0 70 74 69 6d 65 3c 2f 61 3e 20 76 61 6c 75 65 73 20 62 79 20 70 72 6f 76 69 64 69 6e 67 20 61 0a ptime</a>.values.by.providing.a.
ca1c0 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 3c 61 20 68 72 ..........file.that.can.be.<a.hr
ca1e0 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 69 6d 70 6f 72 74 65 64 3c 2f 61 3e 20 62 79 20 5a 69 67 ef="#import">imported</a>.by.Zig
ca200 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 63 68 69 6e 67 20 .code.</li>.........<li>Caching.
ca220 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 74 6f 20 61 76 6f 69 64 20 75 6e 6e 65 63 65 73 build.artifacts.to.avoid.unneces
ca240 73 61 72 69 6c 79 20 72 65 70 65 61 74 69 6e 67 20 73 74 65 70 73 2e 3c 2f 6c 69 3e 0a 20 20 20 sarily.repeating.steps.</li>....
ca260 20 20 20 20 20 3c 6c 69 3e 45 78 65 63 75 74 69 6e 67 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 .....<li>Executing.build.artifac
ca280 74 73 20 6f 72 20 73 79 73 74 65 6d 2d 69 6e 73 74 61 6c 6c 65 64 20 74 6f 6f 6c 73 2e 3c 2f 6c ts.or.system-installed.tools.</l
ca2a0 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 75 6e 6e 69 6e 67 20 74 65 73 74 73 20 61 6e 64 i>.........<li>Running.tests.and
ca2c0 20 76 65 72 69 66 79 69 6e 67 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 65 78 65 63 75 74 69 .verifying.the.output.of.executi
ca2e0 6e 67 20 61 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 20 6d 61 74 63 68 65 73 0a 20 20 20 20 ng.a.build.artifact.matches.....
ca300 20 20 20 20 74 68 65 20 65 78 70 65 63 74 65 64 20 76 61 6c 75 65 2e 3c 2f 6c 69 3e 0a 20 20 20 ....the.expected.value.</li>....
ca320 20 20 20 20 20 3c 6c 69 3e 52 75 6e 6e 69 6e 67 20 3c 63 6f 64 65 3e 7a 69 67 20 66 6d 74 3c 2f .....<li>Running.<code>zig.fmt</
ca340 63 6f 64 65 3e 20 6f 6e 20 61 20 63 6f 64 65 62 61 73 65 20 6f 72 20 61 20 73 75 62 73 65 74 20 code>.on.a.codebase.or.a.subset.
ca360 6f 66 20 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 75 73 74 6f 6d 20 74 of.it.</li>.........<li>Custom.t
ca380 61 73 6b 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e asks.</li>.......</ul>.......<p>
ca3a0 0a 20 20 20 20 20 20 54 6f 20 75 73 65 20 74 68 65 20 62 75 69 6c 64 20 73 79 73 74 65 6d 2c 20 .......To.use.the.build.system,.
ca3c0 72 75 6e 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 20 2d 2d 68 65 6c 70 3c 2f 6b 62 64 3e 0a run.<kbd>zig.build.--help</kbd>.
ca3e0 20 20 20 20 20 20 74 6f 20 73 65 65 20 61 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 75 73 61 67 ......to.see.a.command-line.usag
ca400 65 20 68 65 6c 70 20 6d 65 6e 75 2e 20 54 68 69 73 20 77 69 6c 6c 20 69 6e 63 6c 75 64 65 20 70 e.help.menu..This.will.include.p
ca420 72 6f 6a 65 63 74 2d 73 70 65 63 69 66 69 63 0a 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 20 74 68 roject-specific.......options.th
ca440 61 74 20 77 65 72 65 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 62 75 69 6c 64 2e 7a 69 at.were.declared.in.the.build.zi
ca460 67 20 73 63 72 69 70 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 g.script........</p>.......<p>..
ca480 20 20 20 20 20 46 6f 72 20 74 68 65 20 74 69 6d 65 20 62 65 69 6e 67 2c 20 74 68 65 20 62 75 69 .....For.the.time.being,.the.bui
ca4a0 6c 64 20 73 79 73 74 65 6d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 68 6f 73 74 65 ld.system.documentation.is.hoste
ca4c0 64 20 65 78 74 65 72 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 d.externally:.......<a.href="htt
ca4e0 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 6c 65 61 72 6e 2f 62 75 69 6c 64 2d 73 79 73 ps://ziglang.org/learn/build-sys
ca500 74 65 6d 2f 22 3e 42 75 69 6c 64 20 53 79 73 74 65 6d 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e tem/">Build.System.Documentation
ca520 3c 2f 61 3e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 </a>.......</p>..............<h2
ca540 20 69 64 3d 22 43 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 22 3e 43 3c 2f 61 3e 20 3c .id="C"><a.href="#toc-C">C</a>.<
ca560 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 22 3e c2 a7 3c 2f 61 3e 3c 2f a.class="hdr".href="#C">..</a></
ca580 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 5a 69 h2>........<p>.......Although.Zi
ca5a0 67 20 69 73 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 43 2c 20 61 6e 64 2c 20 75 6e 6c 69 g.is.independent.of.C,.and,.unli
ca5c0 6b 65 20 6d 6f 73 74 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 2c 20 64 6f 65 73 20 6e 6f ke.most.other.languages,.does.no
ca5e0 74 20 64 65 70 65 6e 64 20 6f 6e 20 6c 69 62 63 2c 0a 20 20 20 20 20 20 5a 69 67 20 61 63 6b 6e t.depend.on.libc,.......Zig.ackn
ca600 6f 77 6c 65 64 67 65 73 20 74 68 65 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 66 20 69 6e 74 65 72 owledges.the.importance.of.inter
ca620 61 63 74 69 6e 67 20 77 69 74 68 20 65 78 69 73 74 69 6e 67 20 43 20 63 6f 64 65 2e 0a 20 20 20 acting.with.existing.C.code.....
ca640 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 ...</p>.......<p>.......There.ar
ca660 65 20 61 20 66 65 77 20 77 61 79 73 20 74 68 61 74 20 5a 69 67 20 66 61 63 69 6c 69 74 61 74 65 e.a.few.ways.that.Zig.facilitate
ca680 73 20 43 20 69 6e 74 65 72 6f 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 s.C.interop........</p>.......<h
ca6a0 33 20 69 64 3d 22 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 3c 61 20 68 72 65 66 3.id="C-Type-Primitives"><a.href
ca6c0 3d 22 23 74 6f 63 2d 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 43 20 54 79 70 65 ="#toc-C-Type-Primitives">C.Type
ca6e0 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 .Primitives</a>.<a.class="hdr".h
ca700 72 65 66 3d 22 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e c2 a7 3c 2f 61 3e 3c ref="#C-Type-Primitives">..</a><
ca720 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 68 61 76 65 /h3>........<p>.......These.have
ca740 20 67 75 61 72 61 6e 74 65 65 64 20 43 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 .guaranteed.C.ABI.compatibility.
ca760 61 6e 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 20 74 and.can.be.used.like.any.other.t
ca780 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 ype........</p>.......<ul>......
ca7a0 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .....<li><code><span.class="tok-
ca7c0 74 79 70 65 22 3e 63 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a type">c_char</span></code></li>.
ca7e0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..........<li><code><span.class=
ca800 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e "tok-type">c_short</span></code>
ca820 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 </li>...........<li><code><span.
ca840 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 73 68 6f 72 74 3c 2f 73 70 61 6e 3e class="tok-type">c_ushort</span>
ca860 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 </code></li>...........<li><code
ca880 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 ><span.class="tok-type">c_int</s
ca8a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c pan></code></li>...........<li><
ca8c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 code><span.class="tok-type">c_ui
ca8e0 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 nt</span></code></li>...........
ca900 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 <li><code><span.class="tok-type"
ca920 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 >c_long</span></code></li>......
ca940 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .....<li><code><span.class="tok-
ca960 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e type">c_ulong</span></code></li>
ca980 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ...........<li><code><span.class
ca9a0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-type">c_longlong</span></c
ca9c0 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 ode></li>...........<li><code><s
ca9e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 6c 6f 6e 67 pan.class="tok-type">c_ulonglong
caa00 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c </span></code></li>...........<l
caa20 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 i><code><span.class="tok-type">c
caa40 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 _longdouble</span></code></li>..
caa60 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 69 6e .....</ul>.......<p>.......To.in
caa80 74 65 72 6f 70 20 77 69 74 68 20 74 68 65 20 43 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 terop.with.the.C.<code><span.cla
caaa0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ss="tok-type">void</span></code>
caac0 20 74 79 70 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .type,.use.<code><span.class="to
caae0 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e k-type">anyopaque</span></code>.
cab00 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f .......</p>.......<p>See.also:</
cab20 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 p><ul>.<li><a.href="#Primitive-T
cab40 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c ypes">Primitive.Types</a></li>.<
cab60 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6d 70 6f 72 /ul>...............<h3.id="Impor
cab80 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 t-from-C-Header-File"><a.href="#
caba0 74 6f 63 2d 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 toc-Import-from-C-Header-File">I
cabc0 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 20 3c 61 20 mport.from.C.Header.File</a>.<a.
cabe0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 class="hdr".href="#Import-from-C
cac00 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 -Header-File">..</a></h3>.......
cac20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .<p>.......The.<code><span.class
cac40 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f ="tok-builtin">@cImport</span></
cac60 63 6f 64 65 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 code>.builtin.function.can.be.us
cac80 65 64 0a 20 20 20 20 20 20 74 6f 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 72 74 20 73 79 6d 62 ed.......to.directly.import.symb
caca0 6f 6c 73 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 2e 68 3c 2f ols.from.<code.class="file">.h</
cacc0 63 6f 64 65 3e 20 66 69 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 code>.files:.......</p>.......<f
cace0 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 igure><figcaption.class="zig-cap
cad00 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 49 6d 70 6f 72 74 5f 62 75 69 "><cite.class="file">cImport_bui
cad20 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 ltin.zig</cite></figcaption><pre
cad40 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 ><code><span.class="tok-kw">cons
cad60 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t</span>.c.=.<span.class="tok-bu
cad80 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 0a 20 20 20 20 3c 73 70 iltin">@cImport</span>({.....<sp
cada0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 65 65 20 68 74 an.class="tok-comment">//.See.ht
cadc0 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 tps://github.com/ziglang/zig/iss
cade0 75 65 73 2f 35 31 35 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ues/515</span>.....<span.class="
cae00 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 tok-builtin">@cDefine</span>(<sp
cae20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 4e 4f 5f 43 52 54 an.class="tok-str">&quot;_NO_CRT
cae40 5f 53 54 44 49 4f 5f 49 4e 4c 49 4e 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 _STDIO_INLINE&quot;</span>,.<spa
cae60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 26 71 75 6f 74 3b 3c n.class="tok-str">&quot;1&quot;<
cae80 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>);.....<span.class="tok-bu
caea0 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c iltin">@cInclude</span>(<span.cl
caec0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 69 6f 2e 68 26 71 75 6f 74 ass="tok-str">&quot;stdio.h&quot
caee0 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ;</span>);.});.<span.class="tok-
caf00 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d kw">pub</span>.<span.class="tok-
caf20 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 kw">fn</span>.<span.class="tok-f
caf40 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n">main</span>().<span.class="to
caf60 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 63 2e k-type">void</span>.{....._.=.c.
caf80 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 printf(<span.class="tok-str">&qu
cafa0 6f 74 3b 68 65 6c 6c 6f 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 ot;hello\n&quot;</span>);.}</cod
cafc0 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 e></pre></figure><figure><figcap
cafe0 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 tion.class="shell-cap">Shell</fi
cb000 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 gcaption><pre><samp>$.<kbd>zig.b
cb020 75 69 6c 64 2d 65 78 65 20 63 49 6d 70 6f 72 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 20 2d 6c 63 uild-exe.cImport_builtin.zig.-lc
cb040 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 63 49 6d 70 6f 72 74 5f 62 75 69 6c 74 69 6e 3c </kbd>.$.<kbd>./cImport_builtin<
cb060 2f 6b 62 64 3e 0a 68 65 6c 6c 6f 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 /kbd>.hello.</samp></pre></figur
cb080 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 e>.......<p>.......The.<code><sp
cb0a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c an.class="tok-builtin">@cImport<
cb0c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 6e 20 /span></code>.function.takes.an.
cb0e0 65 78 70 72 65 73 73 69 6f 6e 20 61 73 20 61 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 expression.as.a.parameter.......
cb100 20 54 68 69 73 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 74 .This.expression.is.evaluated.at
cb120 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f 6e .compile-time.and.is.used.to.con
cb140 74 72 6f 6c 0a 20 20 20 20 20 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 69 72 65 63 74 69 76 trol.......preprocessor.directiv
cb160 65 73 20 61 6e 64 20 69 6e 63 6c 75 64 65 20 6d 75 6c 74 69 70 6c 65 20 3c 63 6f 64 65 20 63 6c es.and.include.multiple.<code.cl
cb180 61 73 73 3d 22 66 69 6c 65 22 3e 2e 68 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 73 3a 0a 20 20 20 20 ass="file">.h</code>.files:.....
cb1a0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e ..</p>.......<figure><figcaption
cb1c0 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="zig-cap"><cite.class="fi
cb1e0 6c 65 22 3e 40 63 49 6d 70 6f 72 74 20 45 78 70 72 65 73 73 69 6f 6e 3c 2f 63 69 74 65 3e 3c 2f le">@cImport.Expression</cite></
cb200 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><code><span.clas
cb220 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 s="tok-kw">const</span>.builtin.
cb240 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 =.<span.class="tok-builtin">@imp
cb260 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ort</span>(<span.class="tok-str"
cb280 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c >&quot;builtin&quot;</span>);..<
cb2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
cb2c0 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 .c.=.<span.class="tok-builtin">@
cb2e0 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 cImport</span>({.....<span.class
cb300 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c ="tok-builtin">@cDefine</span>(<
cb320 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4e 44 45 42 55 span.class="tok-str">&quot;NDEBU
cb340 47 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 62 75 69 6c 74 69 6e 2e 6d 6f 64 65 20 3d 3d 20 G&quot;</span>,.builtin.mode.==.
cb360 2e 52 65 6c 65 61 73 65 46 61 73 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .ReleaseFast);.....<span.class="
cb380 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 6f 6d 65 74 68 69 6e 67 29 20 7b 0a tok-kw">if</span>.(something).{.
cb3a0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ........<span.class="tok-builtin
cb3c0 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">@cDefine</span>(<span.class="t
cb3e0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 47 4e 55 5f 53 4f 55 52 43 45 26 71 75 6f 74 3b 3c ok-str">&quot;_GNU_SOURCE&quot;<
cb400 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 /span>,.{});.....}.....<span.cla
cb420 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e ss="tok-builtin">@cInclude</span
cb440 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 >(<span.class="tok-str">&quot;st
cb460 64 6c 69 62 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 dlib.h&quot;</span>);.....<span.
cb480 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 6f 6d 65 74 68 class="tok-kw">if</span>.(someth
cb4a0 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ing).{.........<span.class="tok-
cb4c0 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c builtin">@cUndef</span>(<span.cl
cb4e0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 47 4e 55 5f 53 4f 55 52 43 45 26 ass="tok-str">&quot;_GNU_SOURCE&
cb500 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 quot;</span>);.....}.....<span.c
cb520 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 lass="tok-builtin">@cInclude</sp
cb540 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b an>(<span.class="tok-str">&quot;
cb560 73 6f 75 6e 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 29 3b 3c 2f 63 6f soundio.h&quot;</span>);.});</co
cb580 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 de></pre></figure>.......<p>See.
cb5a0 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 also:</p><ul>.<li><a.href="#cImp
cb5c0 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ort">@cImport</a></li>.<li><a.hr
cb5e0 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 ef="#cInclude">@cInclude</a></li
cb600 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e >.<li><a.href="#cDefine">@cDefin
cb620 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 e</a></li>.<li><a.href="#cUndef"
cb640 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 >@cUndef</a></li>.<li><a.href="#
cb660 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a import">@import</a></li>.</ul>..
cb680 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 54 72 61 6e 73 6c 61 74 ..............<h3.id="C-Translat
cb6a0 69 6f 6e 2d 43 4c 49 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 54 72 61 6e 73 6c 61 ion-CLI"><a.href="#toc-C-Transla
cb6c0 74 69 6f 6e 2d 43 4c 49 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c 2f 61 3e 20 tion-CLI">C.Translation.CLI</a>.
cb6e0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 54 72 61 6e 73 6c 61 74 <a.class="hdr".href="#C-Translat
cb700 69 6f 6e 2d 43 4c 49 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a ion-CLI">..</a></h3>........<p>.
cb720 20 20 20 20 20 20 5a 69 67 27 73 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 63 61 70 61 62 69 ......Zig's.C.translation.capabi
cb740 6c 69 74 79 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 43 4c 49 20 74 6f 6f 6c 20 lity.is.available.as.a.CLI.tool.
cb760 76 69 61 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 2e 0a via.<kbd>zig.translate-c</kbd>..
cb780 20 20 20 20 20 20 49 74 20 72 65 71 75 69 72 65 73 20 61 20 73 69 6e 67 6c 65 20 66 69 6c 65 6e ......It.requires.a.single.filen
cb7a0 61 6d 65 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2e 20 49 74 20 6d 61 79 20 61 6c 73 6f 20 ame.as.an.argument..It.may.also.
cb7c0 74 61 6b 65 20 61 20 73 65 74 20 6f 66 20 6f 70 74 69 6f 6e 61 6c 20 66 6c 61 67 73 20 74 68 61 take.a.set.of.optional.flags.tha
cb7e0 74 20 61 72 65 0a 20 20 20 20 20 20 66 6f 72 77 61 72 64 65 64 20 74 6f 20 63 6c 61 6e 67 2e 20 t.are.......forwarded.to.clang..
cb800 49 74 20 77 72 69 74 65 73 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 66 69 6c 65 20 74 6f It.writes.the.translated.file.to
cb820 20 73 74 64 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 .stdout........</p>.......<h4.id
cb840 3d 22 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 ="Command-line-flags"><a.href="#
cb860 74 6f 63 2d 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e 43 6f 6d 6d 61 6e 64 20 toc-Command-line-flags">Command.
cb880 6c 69 6e 65 20 66 6c 61 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 line.flags</a>.<a.class="hdr".hr
cb8a0 65 66 3d 22 23 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e c2 a7 3c 2f 61 3e 3c ef="#Command-line-flags">..</a><
cb8c0 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 /h4>........<ul>.........<li>...
cb8e0 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 3e 3a 0a 20 20 20 20 20 20 20 20 20 ........<kbd>-I</kbd>:..........
cb900 20 53 70 65 63 69 66 79 20 61 20 73 65 61 72 63 68 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 .Specify.a.search.directory.for.
cb920 69 6e 63 6c 75 64 65 20 66 69 6c 65 73 2e 20 4d 61 79 20 62 65 20 75 73 65 64 20 6d 75 6c 74 69 include.files..May.be.used.multi
cb940 70 6c 65 20 74 69 6d 65 73 2e 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 ple.times..Equivalent.to........
cb960 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 ...<a.href="https://releases.llv
cb980 6d 2e 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 6f 6f 6c 73 2f 63 6c 61 6e 67 2f 64 6f 63 73 2f 43 6c m.org/12.0.0/tools/clang/docs/Cl
cb9a0 61 6e 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 66 65 72 65 6e 63 65 2e 68 74 6d 6c 23 63 6d 64 angCommandLineReference.html#cmd
cb9c0 6f 70 74 69 6f 6e 2d 63 6c 61 6e 67 2d 69 2d 64 69 72 22 3e 0a 20 20 20 20 20 20 20 20 20 20 63 option-clang-i-dir">...........c
cb9e0 6c 61 6e 67 27 73 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 3e 20 66 6c 61 67 3c 2f 61 3e 2e 20 54 lang's.<kbd>-I</kbd>.flag</a>..T
cba00 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 3c 65 6d 3e 6e 6f 74 3c he.current.directory.is.<em>not<
cba20 2f 65 6d 3e 20 69 6e 63 6c 75 64 65 64 20 62 79 20 64 65 66 61 75 6c 74 3b 0a 20 20 20 20 20 20 /em>.included.by.default;.......
cba40 20 20 20 20 75 73 65 20 3c 6b 62 64 3e 2d 49 2e 3c 2f 6b 62 64 3e 20 74 6f 20 69 6e 63 6c 75 64 ....use.<kbd>-I.</kbd>.to.includ
cba60 65 20 69 74 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e e.it..........</li>.........<li>
cba80 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 44 3c 2f 6b 62 64 3e 3a 20 44 65 66 69 6e 65 ...........<kbd>-D</kbd>:.Define
cbaa0 20 61 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 6d 61 63 72 6f 2e 20 45 71 75 69 76 61 6c 65 6e .a.preprocessor.macro..Equivalen
cbac0 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f t.to...........<a.href="https://
cbae0 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 6f 6f 6c 73 2f 63 releases.llvm.org/12.0.0/tools/c
cbb00 6c 61 6e 67 2f 64 6f 63 73 2f 43 6c 61 6e 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 66 65 72 65 lang/docs/ClangCommandLineRefere
cbb20 6e 63 65 2e 68 74 6d 6c 23 63 6d 64 6f 70 74 69 6f 6e 2d 63 6c 61 6e 67 2d 64 2d 6d 61 63 72 6f nce.html#cmdoption-clang-d-macro
cbb40 22 3e 0a 20 20 20 20 20 20 20 20 20 20 63 6c 61 6e 67 27 73 20 3c 6b 62 64 3e 2d 44 3c 2f 6b 62 ">...........clang's.<kbd>-D</kb
cbb60 64 3e 20 66 6c 61 67 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 d>.flag</a>..........</li>......
cbb80 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 63 66 6c 61 67 73 20 5b ...<li>...........<kbd>-cflags.[
cbba0 66 6c 61 67 73 5d 20 2d 2d 3c 2f 6b 62 64 3e 3a 20 50 61 73 73 20 61 72 62 69 74 72 61 72 79 20 flags].--</kbd>:.Pass.arbitrary.
cbbc0 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 additional...........<a.href="ht
cbbe0 74 70 73 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 tps://releases.llvm.org/12.0.0/t
cbc00 6f 6f 6c 73 2f 63 6c 61 6e 67 2f 64 6f 63 73 2f 43 6c 61 6e 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 ools/clang/docs/ClangCommandLine
cbc20 52 65 66 65 72 65 6e 63 65 2e 68 74 6d 6c 22 3e 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 0a 20 20 20 Reference.html">command.line....
cbc40 20 20 20 20 20 20 20 66 6c 61 67 73 3c 2f 61 3e 20 74 6f 20 63 6c 61 6e 67 2e 20 4e 6f 74 65 3a .......flags</a>.to.clang..Note:
cbc60 20 74 68 65 20 6c 69 73 74 20 6f 66 20 66 6c 61 67 73 20 6d 75 73 74 20 65 6e 64 20 77 69 74 68 .the.list.of.flags.must.end.with
cbc80 20 3c 6b 62 64 3e 2d 2d 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 .<kbd>--</kbd>.........</li>....
cbca0 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 74 61 72 67 65 74 .....<li>...........<kbd>-target
cbcc0 3c 2f 6b 62 64 3e 3a 20 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 54 61 72 67 65 74 73 22 3e 74 </kbd>:.The.<a.href="#Targets">t
cbce0 61 72 67 65 74 20 74 72 69 70 6c 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 74 72 61 6e 73 6c 61 arget.triple</a>.for.the.transla
cbd00 74 65 64 20 5a 69 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 74 61 ted.Zig.code............If.no.ta
cbd20 72 67 65 74 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 68 rget.is.specified,.the.current.h
cbd40 6f 73 74 20 74 61 72 67 65 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 ost.target.will.be.used.........
cbd60 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 .</li>.......</ul>..............
cbd80 3c 68 34 20 69 64 3d 22 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 <h4.id="Using--target-and--cflag
cbda0 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 s"><a.href="#toc-Using--target-a
cbdc0 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 55 73 69 6e 67 20 2d 74 61 72 67 65 74 20 61 6e 64 20 2d 63 nd--cflags">Using.-target.and.-c
cbde0 66 6c 61 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 flags</a>.<a.class="hdr".href="#
cbe00 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e c2 a7 3c 2f 61 Using--target-and--cflags">..</a
cbe20 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 73 74 72 6f 6e ></h4>........<p>.........<stron
cbe40 67 3e 49 6d 70 6f 72 74 61 6e 74 21 3c 2f 73 74 72 6f 6e 67 3e 20 57 68 65 6e 20 74 72 61 6e 73 g>Important!</strong>.When.trans
cbe60 6c 61 74 69 6e 67 20 43 20 63 6f 64 65 20 77 69 74 68 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e lating.C.code.with.<kbd>zig.tran
cbe80 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 2c 0a 20 20 20 20 20 20 20 20 79 6f 75 20 3c 73 74 72 6f slate-c</kbd>,.........you.<stro
cbea0 6e 67 3e 6d 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 3c 6b ng>must</strong>.use.the.same.<k
cbec0 62 64 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 20 74 72 69 70 6c 65 20 74 68 61 74 20 79 6f 75 bd>-target</kbd>.triple.that.you
cbee0 20 77 69 6c 6c 20 75 73 65 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 0a 20 20 20 20 20 20 20 .will.use.when.compiling........
cbf00 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 64 65 2e 20 49 6e 20 61 64 64 69 74 69 6f .the.translated.code..In.additio
cbf20 6e 2c 20 79 6f 75 20 3c 73 74 72 6f 6e 67 3e 6d 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 65 6e 73 n,.you.<strong>must</strong>.ens
cbf40 75 72 65 20 74 68 61 74 20 74 68 65 20 3c 6b 62 64 3e 2d 63 66 6c 61 67 73 3c 2f 6b 62 64 3e 20 ure.that.the.<kbd>-cflags</kbd>.
cbf60 75 73 65 64 2c 0a 20 20 20 20 20 20 20 20 69 66 20 61 6e 79 2c 20 6d 61 74 63 68 20 74 68 65 20 used,.........if.any,.match.the.
cbf80 63 66 6c 61 67 73 20 75 73 65 64 20 62 79 20 63 6f 64 65 20 6f 6e 20 74 68 65 20 74 61 72 67 65 cflags.used.by.code.on.the.targe
cbfa0 74 20 73 79 73 74 65 6d 2e 20 55 73 69 6e 67 20 74 68 65 20 69 6e 63 6f 72 72 65 63 74 20 3c 6b t.system..Using.the.incorrect.<k
cbfc0 62 64 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 20 6f 72 20 3c 6b 62 64 bd>-target</kbd>.........or.<kbd
cbfe0 3e 2d 63 66 6c 61 67 73 3c 2f 6b 62 64 3e 20 63 6f 75 6c 64 20 72 65 73 75 6c 74 20 69 6e 20 63 >-cflags</kbd>.could.result.in.c
cc000 6c 61 6e 67 20 6f 72 20 5a 69 67 20 70 61 72 73 65 20 66 61 69 6c 75 72 65 73 2c 20 6f 72 20 73 lang.or.Zig.parse.failures,.or.s
cc020 75 62 74 6c 65 20 41 42 49 20 69 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 69 65 73 0a 20 20 20 20 ubtle.ABI.incompatibilities.....
cc040 20 20 20 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 43 20 63 6f 64 65 2e 0a 20 20 ....when.linking.with.C.code....
cc060 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ....</p>.......<figure><figcapti
cc080 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 on.class="c-cap"><cite.class="fi
cc0a0 6c 65 22 3e 76 61 72 79 74 61 72 67 65 74 2e 68 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 le">varytarget.h</cite></figcapt
cc0c0 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 6c 6f 6e 67 20 46 4f 4f 20 3d 20 5f 5f 4c 4f 4e 47 ion><pre><code>long.FOO.=.__LONG
cc0e0 5f 4d 41 58 5f 5f 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 _MAX__;</code></pre></figure>...
cc100 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 ....<figure><figcaption.class="s
cc120 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 hell-cap">Shell</figcaption><pre
cc140 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 2d 74 ><samp>$.<kbd>zig.translate-c.-t
cc160 61 72 67 65 74 20 74 68 75 6d 62 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 2d 67 6e 75 65 61 62 69 arget.thumb-freestanding-gnueabi
cc180 68 66 20 76 61 72 79 74 61 72 67 65 74 2e 68 7c 67 72 65 70 20 46 4f 4f 3c 2f 6b 62 64 3e 0a 70 hf.varytarget.h|grep.FOO</kbd>.p
cc1a0 75 62 20 65 78 70 6f 72 74 20 76 61 72 20 46 4f 4f 3a 20 63 5f 6c 6f 6e 67 20 3d 20 32 31 34 37 ub.export.var.FOO:.c_long.=.2147
cc1c0 34 38 33 36 34 37 3b 0a 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 2d 483647;.$.<kbd>zig.translate-c.-
cc1e0 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6d 61 63 6f 73 2d 67 6e 75 20 76 61 72 79 74 61 72 67 target.x86_64-macos-gnu.varytarg
cc200 65 74 2e 68 7c 67 72 65 70 20 46 4f 4f 3c 2f 6b 62 64 3e 0a 70 75 62 20 65 78 70 6f 72 74 20 76 et.h|grep.FOO</kbd>.pub.export.v
cc220 61 72 20 46 4f 4f 3a 20 63 5f 6c 6f 6e 67 20 3d 20 39 32 32 33 33 37 32 30 33 36 38 35 34 37 37 ar.FOO:.c_long.=.922337203685477
cc240 35 38 30 37 3b 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 5807;.</samp></pre></figure>....
cc260 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d ...<figure><figcaption.class="c-
cc280 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 79 63 66 6c 61 cap"><cite.class="file">varycfla
cc2a0 67 73 2e 68 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f gs.h</cite></figcaption><pre><co
cc2c0 64 65 3e 65 6e 75 6d 20 46 4f 4f 20 7b 20 42 41 52 20 7d 3b 0a 69 6e 74 20 64 6f 5f 73 6f 6d 65 de>enum.FOO.{.BAR.};.int.do_some
cc2e0 74 68 69 6e 67 28 65 6e 75 6d 20 46 4f 4f 20 66 6f 6f 29 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 thing(enum.FOO.foo);</code></pre
cc300 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 ></figure>.......<figure><figcap
cc320 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 tion.class="shell-cap">Shell</fi
cc340 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 gcaption><pre><samp>$.<kbd>zig.t
cc360 72 61 6e 73 6c 61 74 65 2d 63 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 ranslate-c.varycflags.h|grep.-B1
cc380 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 3c 2f 6b 62 64 3e 0a 70 75 62 20 63 6f 6e 73 74 20 65 6e .do_something</kbd>.pub.const.en
cc3a0 75 6d 5f 46 4f 4f 20 3d 20 63 5f 75 69 6e 74 3b 0a 70 75 62 20 65 78 74 65 72 6e 20 66 6e 20 64 um_FOO.=.c_uint;.pub.extern.fn.d
cc3c0 6f 5f 73 6f 6d 65 74 68 69 6e 67 28 66 6f 6f 3a 20 65 6e 75 6d 5f 46 4f 4f 29 20 63 5f 69 6e 74 o_something(foo:.enum_FOO).c_int
cc3e0 3b 0a 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 2d 63 66 6c 61 67 73 ;.$.<kbd>zig.translate-c.-cflags
cc400 20 2d 66 73 68 6f 72 74 2d 65 6e 75 6d 73 20 2d 2d 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 .-fshort-enums.--.varycflags.h|g
cc420 72 65 70 20 2d 42 31 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 3c 2f 6b 62 64 3e 0a 70 75 62 20 63 rep.-B1.do_something</kbd>.pub.c
cc440 6f 6e 73 74 20 65 6e 75 6d 5f 46 4f 4f 20 3d 20 75 38 3b 0a 70 75 62 20 65 78 74 65 72 6e 20 66 onst.enum_FOO.=.u8;.pub.extern.f
cc460 6e 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 28 66 6f 6f 3a 20 65 6e 75 6d 5f 46 4f 4f 29 20 63 5f n.do_something(foo:.enum_FOO).c_
cc480 69 6e 74 3b 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 int;.</samp></pre></figure>.....
cc4a0 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 63 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e .........<h4.id="cImport-vs-tran
cc4c0 73 6c 61 74 65 2d 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f 72 74 2d 76 slate-c"><a.href="#toc-cImport-v
cc4e0 73 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e 40 63 49 6d 70 6f 72 74 20 76 73 20 74 72 61 6e 73 s-translate-c">@cImport.vs.trans
cc500 6c 61 74 65 2d 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 late-c</a>.<a.class="hdr".href="
cc520 23 63 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e c2 a7 3c 2f 61 3e 3c #cImport-vs-translate-c">..</a><
cc540 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 /h4>........<p><code><span.class
cc560 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f ="tok-builtin">@cImport</span></
cc580 63 6f 64 65 3e 20 61 6e 64 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f code>.and.<kbd>zig.translate-c</
cc5a0 6b 62 64 3e 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 75 6e 64 65 72 6c 79 69 6e 67 0a 20 20 20 kbd>.use.the.same.underlying....
cc5c0 20 20 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2c 20 ...C.translation.functionality,.
cc5e0 73 6f 20 6f 6e 20 61 20 74 65 63 68 6e 69 63 61 6c 20 6c 65 76 65 6c 20 74 68 65 79 20 61 72 65 so.on.a.technical.level.they.are
cc600 20 65 71 75 69 76 61 6c 65 6e 74 2e 20 49 6e 20 70 72 61 63 74 69 63 65 2c 0a 20 20 20 20 20 20 .equivalent..In.practice,.......
cc620 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e <code><span.class="tok-builtin">
cc640 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 73 65 66 75 6c @cImport</span></code>.is.useful
cc660 20 61 73 20 61 20 77 61 79 20 74 6f 20 71 75 69 63 6b 6c 79 20 61 6e 64 20 65 61 73 69 6c 79 20 .as.a.way.to.quickly.and.easily.
cc680 61 63 63 65 73 73 20 6e 75 6d 65 72 69 63 20 63 6f 6e 73 74 61 6e 74 73 2c 20 74 79 70 65 64 65 access.numeric.constants,.typede
cc6a0 66 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 72 65 63 6f 72 64 20 74 79 70 65 73 20 77 69 74 68 6f fs,.......and.record.types.witho
cc6c0 75 74 20 6e 65 65 64 69 6e 67 20 61 6e 79 20 65 78 74 72 61 20 73 65 74 75 70 2e 20 49 66 20 79 ut.needing.any.extra.setup..If.y
cc6e0 6f 75 20 6e 65 65 64 20 74 6f 20 70 61 73 73 20 3c 61 20 68 72 65 66 3d 22 23 55 73 69 6e 67 2d ou.need.to.pass.<a.href="#Using-
cc700 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 63 66 6c 61 67 73 3c 2f 61 3e 0a -target-and--cflags">cflags</a>.
cc720 20 20 20 20 20 20 74 6f 20 63 6c 61 6e 67 2c 20 6f 72 20 69 66 20 79 6f 75 20 77 6f 75 6c 64 20 ......to.clang,.or.if.you.would.
cc740 6c 69 6b 65 20 74 6f 20 65 64 69 74 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 64 65 like.to.edit.the.translated.code
cc760 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 0a 20 20 20 20 20 ,.it.is.recommended.to.use......
cc780 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 61 6e 64 20 .<kbd>zig.translate-c</kbd>.and.
cc7a0 73 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 73 20 74 6f 20 61 20 66 69 6c 65 2e 20 43 6f 6d 6d save.the.results.to.a.file..Comm
cc7c0 6f 6e 20 72 65 61 73 6f 6e 73 20 66 6f 72 20 65 64 69 74 69 6e 67 0a 20 20 20 20 20 20 74 68 65 on.reasons.for.editing.......the
cc7e0 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 69 6e 63 6c 75 64 65 3a 20 63 68 61 6e 67 69 6e .generated.code.include:.changin
cc800 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 g.<code><span.class="tok-kw">any
cc820 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e type</span></code>.parameters.in
cc840 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 6b 65 20 6d 61 63 72 6f 73 20 74 6f 20 6d 6f 72 65 0a 20 20 .function-like.macros.to.more...
cc860 20 20 20 20 73 70 65 63 69 66 69 63 20 74 79 70 65 73 3b 20 63 68 61 6e 67 69 6e 67 20 3c 63 6f ....specific.types;.changing.<co
cc880 64 65 3e 5b 2a 63 5d 54 3c 2f 63 6f 64 65 3e 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 3c 63 6f 64 de>[*c]T</code>.pointers.to.<cod
cc8a0 65 3e 5b 2a 5d 54 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 2a 54 3c e>[*]T</code>.or.......<code>*T<
cc8c0 2f 63 6f 64 65 3e 20 70 6f 69 6e 74 65 72 73 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 74 79 70 /code>.pointers.for.improved.typ
cc8e0 65 20 73 61 66 65 74 79 3b 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 65 e.safety;.and.......<a.href="#se
cc900 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 65 6e 61 62 6c 69 6e 67 20 6f 72 20 64 69 73 61 tRuntimeSafety">enabling.or.disa
cc920 62 6c 69 6e 67 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 3c 2f 61 3e 20 77 69 74 68 69 6e 20 bling.runtime.safety</a>.within.
cc940 73 70 65 63 69 66 69 63 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 specific.functions........</p>..
cc960 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e ............<p>See.also:</p><ul>
cc980 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 61 72 67 65 74 73 22 3e 54 61 72 67 65 74 73 3c .<li><a.href="#Targets">Targets<
cc9a0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 54 79 70 65 2d 50 72 /a></li>.<li><a.href="#C-Type-Pr
cc9c0 69 6d 69 74 69 76 65 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 3c imitives">C.Type.Primitives</a><
cc9e0 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 /li>.<li><a.href="#Pointers">Poi
cca00 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 nters</a></li>.<li><a.href="#C-P
cca20 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 ointers">C.Pointers</a></li>.<li
cca40 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d ><a.href="#Import-from-C-Header-
cca60 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c File">Import.from.C.Header.File<
cca80 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 /a></li>.<li><a.href="#cInclude"
ccaa0 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d >@cInclude</a></li>.<li><a.href=
ccac0 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 "#cImport">@cImport</a></li>.<li
ccae0 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 ><a.href="#setRuntimeSafety">@se
ccb00 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 tRuntimeSafety</a></li>.</ul>...
ccb20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 54 72 61 6e 73 6c 61 74 69 6f ............<h3.id="C-Translatio
ccb40 6e 2d 43 61 63 68 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 54 72 61 6e 73 n-Caching"><a.href="#toc-C-Trans
ccb60 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 61 lation-Caching">C.Translation.Ca
ccb80 63 68 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ching</a>.<a.class="hdr".href="#
ccba0 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 C-Translation-Caching">..</a></h
ccbc0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 43 20 74 72 61 6e 3>........<p>.........The.C.tran
ccbe0 73 6c 61 74 69 6f 6e 20 66 65 61 74 75 72 65 20 28 77 68 65 74 68 65 72 20 75 73 65 64 20 76 69 slation.feature.(whether.used.vi
ccc00 61 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 6f 72 0a a.<kbd>zig.translate-c</kbd>.or.
ccc20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ........<code><span.class="tok-b
ccc40 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 uiltin">@cImport</span></code>).
ccc60 69 6e 74 65 67 72 61 74 65 73 20 77 69 74 68 20 74 68 65 20 5a 69 67 20 63 61 63 68 69 6e 67 20 integrates.with.the.Zig.caching.
ccc80 73 79 73 74 65 6d 2e 20 53 75 62 73 65 71 75 65 6e 74 20 72 75 6e 73 20 77 69 74 68 0a 20 20 20 system..Subsequent.runs.with....
ccca0 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 74 61 72 67 65 .....the.same.source.file,.targe
cccc0 74 2c 20 61 6e 64 20 63 66 6c 61 67 73 20 77 69 6c 6c 20 75 73 65 20 74 68 65 20 63 61 63 68 65 t,.and.cflags.will.use.the.cache
ccce0 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 70 65 61 74 65 64 6c 79 20 74 72 61 6e 73 6c 61 74 69 .instead.of.repeatedly.translati
ccd00 6e 67 0a 20 20 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 ng.........the.same.code........
ccd20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 6f 20 73 65 65 20 77 68 </p>.......<p>.........To.see.wh
ccd40 65 72 65 20 74 68 65 20 63 61 63 68 65 64 20 66 69 6c 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 ere.the.cached.files.are.stored.
ccd60 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65 20 74 68 61 74 20 75 73 65 73 20 3c 63 when.compiling.code.that.uses.<c
ccd80 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 ode><span.class="tok-builtin">@c
ccda0 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 75 73 Import</span></code>,.........us
ccdc0 65 20 74 68 65 20 3c 6b 62 64 3e 2d 2d 76 65 72 62 6f 73 65 2d 63 69 6d 70 6f 72 74 3c 2f 6b 62 e.the.<kbd>--verbose-cimport</kb
ccde0 64 3e 20 66 6c 61 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 d>.flag:.......</p>.......<figur
cce00 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
cce20 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 65 72 62 6f 73 65 5f 63 69 6d 70 6f 72 74 ite.class="file">verbose_cimport
cce40 5f 66 6c 61 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 _flag.zig</cite></figcaption><pr
cce60 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
cce80 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 st</span>.c.=.<span.class="tok-b
ccea0 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 0a 20 20 20 20 3c 73 uiltin">@cImport</span>({.....<s
ccec0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 pan.class="tok-builtin">@cDefine
ccee0 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 </span>(<span.class="tok-str">&q
ccf00 75 6f 74 3b 5f 4e 4f 5f 43 52 54 5f 53 54 44 49 4f 5f 49 4e 4c 49 4e 45 26 71 75 6f 74 3b 3c 2f uot;_NO_CRT_STDIO_INLINE&quot;</
ccf20 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 span>,.<span.class="tok-str">&qu
ccf40 6f 74 3b 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c ot;1&quot;</span>);.....<span.cl
ccf60 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 ass="tok-builtin">@cInclude</spa
ccf80 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 n>(<span.class="tok-str">&quot;s
ccfa0 74 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 29 3b 0a 3c 73 70 61 6e 20 tdio.h&quot;</span>);.});.<span.
ccfc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 class="tok-kw">pub</span>.<span.
ccfe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 class="tok-kw">fn</span>.<span.c
cd000 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 lass="tok-fn">main</span>().<spa
cd020 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b n.class="tok-type">void</span>.{
cd040 0a 20 20 20 20 5f 20 3d 20 63 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ....._.=.c;.}</code></pre></figu
cd060 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 re><figure><figcaption.class="sh
cd080 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
cd0a0 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 76 65 72 62 6f <samp>$.<kbd>zig.build-exe.verbo
cd0c0 73 65 5f 63 69 6d 70 6f 72 74 5f 66 6c 61 67 2e 7a 69 67 20 2d 6c 63 20 2d 2d 76 65 72 62 6f 73 se_cimport_flag.zig.-lc.--verbos
cd0e0 65 2d 63 69 6d 70 6f 72 74 3c 2f 6b 62 64 3e 0a 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e e-cimport</kbd>.info(compilation
cd100 29 3a 20 43 20 69 6d 70 6f 72 74 20 73 6f 75 72 63 65 3a 20 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 ):.C.import.source:./home/ci/act
cd120 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f ions-runner/_work/zig-bootstrap/
cd140 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 35 32 62 34 37 65 38 31 65 65 out/zig-local-cache/o/52b47e81ee
cd160 33 63 31 33 39 30 62 35 66 33 64 32 39 34 33 39 64 65 61 32 32 38 2f 63 69 6d 70 6f 72 74 2e 68 3c1390b5f3d29439dea228/cimport.h
cd180 0a 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d 70 6f 72 74 20 2e 64 20 .info(compilation):.C.import..d.
cd1a0 66 69 6c 65 3a 20 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 file:./home/ci/actions-runner/_w
cd1c0 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d ork/zig-bootstrap/out/zig-local-
cd1e0 63 61 63 68 65 2f 6f 2f 35 32 62 34 37 65 38 31 65 65 33 63 31 33 39 30 62 35 66 33 64 32 39 34 cache/o/52b47e81ee3c1390b5f3d294
cd200 33 39 64 65 61 32 32 38 2f 63 69 6d 70 6f 72 74 2e 68 2e 64 0a 69 6e 66 6f 28 63 6f 6d 70 69 6c 39dea228/cimport.h.d.info(compil
cd220 61 74 69 6f 6e 29 3a 20 43 20 69 6d 70 6f 72 74 20 6f 75 74 70 75 74 3a 20 2f 68 6f 6d 65 2f 63 ation):.C.import.output:./home/c
cd240 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 72 2f 5f 77 6f 72 6b 2f 7a 69 67 2d 62 6f 6f 74 73 i/actions-runner/_work/zig-boots
cd260 74 72 61 70 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 35 36 34 39 36 trap/out/zig-local-cache/o/56496
cd280 33 65 34 62 36 35 34 66 31 34 66 64 65 37 37 62 31 37 65 63 38 34 34 62 66 38 65 2f 63 69 6d 70 3e4b654f14fde77b17ec844bf8e/cimp
cd2a0 6f 72 74 2e 7a 69 67 0a 4c 4c 56 4d 20 45 6d 69 74 20 4f 62 6a 65 63 74 2e 2e 2e 20 5b 32 30 44 ort.zig.LLVM.Emit.Object....[20D
cd2c0 5b 30 4b 4c 4c 56 4d 20 45 6d 69 74 20 4f 62 6a 65 63 74 2e 2e 2e 20 5b 32 30 44 5b 30 4b 4c 4c [0KLLVM.Emit.Object....[20D[0KLL
cd2e0 44 20 4c 69 6e 6b 2e 2e 2e 20 5b 31 32 44 5b 30 4b 24 20 2e 2f 76 65 72 62 6f 73 65 5f 63 69 6d D.Link....[12D[0K$../verbose_cim
cd300 70 6f 72 74 5f 66 6c 61 67 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e port_flag.</samp></pre></figure>
cd320 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 .......<p>.........<code.class="
cd340 66 69 6c 65 22 3e 63 69 6d 70 6f 72 74 2e 68 3c 2f 63 6f 64 65 3e 20 63 6f 6e 74 61 69 6e 73 20 file">cimport.h</code>.contains.
cd360 74 68 65 20 66 69 6c 65 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20 28 63 6f 6e 73 74 72 75 63 74 the.file.to.translate.(construct
cd380 65 64 20 66 72 6f 6d 20 63 61 6c 6c 73 20 74 6f 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c ed.from.calls.to.........<code><
cd3a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 span.class="tok-builtin">@cInclu
cd3c0 64 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c de</span></code>,.<code><span.cl
cd3e0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e ass="tok-builtin">@cDefine</span
cd400 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ></code>,.and.<code><span.class=
cd420 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-builtin">@cUndef</span></co
cd440 64 65 3e 29 2c 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 de>),.........<code.class="file"
cd460 3e 63 69 6d 70 6f 72 74 2e 68 2e 64 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 6c 69 73 74 20 >cimport.h.d</code>.is.the.list.
cd480 6f 66 20 66 69 6c 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 of.file.dependencies,.and.......
cd4a0 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 69 6d 70 6f 72 74 2e 7a 69 67 ..<code.class="file">cimport.zig
cd4c0 3c 2f 63 6f 64 65 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 </code>.contains.the.translated.
cd4e0 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 output........</p>.......<p>See.
cd500 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f also:</p><ul>.<li><a.href="#Impo
cd520 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 rt-from-C-Header-File">Import.fr
cd540 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 om.C.Header.File</a></li>.<li><a
cd560 20 68 72 65 66 3d 22 23 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 3e 43 20 54 72 61 .href="#C-Translation-CLI">C.Tra
cd580 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 nslation.CLI</a></li>.<li><a.hre
cd5a0 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e f="#cInclude">@cInclude</a></li>
cd5c0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 .<li><a.href="#cImport">@cImport
cd5e0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 </a></li>.</ul>...............<h
cd600 33 20 69 64 3d 22 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 22 3e 3c 61 20 68 3.id="Translation-failures"><a.h
cd620 72 65 66 3d 22 23 74 6f 63 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 22 3e ref="#toc-Translation-failures">
cd640 54 72 61 6e 73 6c 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 Translation.failures</a>.<a.clas
cd660 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 s="hdr".href="#Translation-failu
cd680 72 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 res">..</a></h3>........<p>.....
cd6a0 20 20 20 20 53 6f 6d 65 20 43 20 63 6f 6e 73 74 72 75 63 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 ....Some.C.constructs.cannot.be.
cd6c0 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 5a 69 67 20 2d 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c translated.to.Zig.-.for.example,
cd6e0 20 3c 65 6d 3e 67 6f 74 6f 3c 2f 65 6d 3e 2c 0a 20 20 20 20 20 20 20 20 73 74 72 75 63 74 73 20 .<em>goto</em>,.........structs.
cd700 77 69 74 68 20 62 69 74 66 69 65 6c 64 73 2c 20 61 6e 64 20 74 6f 6b 65 6e 2d 70 61 73 74 69 6e with.bitfields,.and.token-pastin
cd720 67 20 6d 61 63 72 6f 73 2e 20 5a 69 67 20 65 6d 70 6c 6f 79 73 20 3c 65 6d 3e 64 65 6d 6f 74 69 g.macros..Zig.employs.<em>demoti
cd740 6f 6e 3c 2f 65 6d 3e 20 74 6f 20 61 6c 6c 6f 77 20 74 72 61 6e 73 6c 61 74 69 6f 6e 0a 20 20 20 on</em>.to.allow.translation....
cd760 20 20 20 20 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 69 6e 20 74 68 65 20 66 61 63 65 20 6f 66 20 .....to.continue.in.the.face.of.
cd780 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 65 6e 74 69 74 69 65 73 2e 0a 20 20 20 20 20 non-translatable.entities.......
cd7a0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 44 65 6d 6f 74 69 6f 6e .</p>.......<p>.........Demotion
cd7c0 20 63 6f 6d 65 73 20 69 6e 20 74 68 72 65 65 20 76 61 72 69 65 74 69 65 73 20 2d 20 3c 61 20 68 .comes.in.three.varieties.-.<a.h
cd7e0 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 2c 20 3c 65 6d 3e 65 78 ref="#opaque">opaque</a>,.<em>ex
cd800 74 65 72 6e 3c 2f 65 6d 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 tern</em>,.and.........<code><sp
cd820 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 an.class="tok-builtin">@compileE
cd840 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 0a 20 20 20 20 20 20 20 20 43 20 73 rror</span></code>...........C.s
cd860 74 72 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 tructs.and.unions.that.cannot.be
cd880 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 72 72 65 63 74 6c 79 20 77 69 6c 6c 20 62 65 20 74 72 .translated.correctly.will.be.tr
cd8a0 61 6e 73 6c 61 74 65 64 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 anslated.as.<code><span.class="t
cd8c0 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 7b 7d 3c 2f 63 6f 64 65 3e 2e 0a 20 ok-kw">opaque</span>{}</code>...
cd8e0 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 6f 70 .......Functions.that.contain.op
cd900 61 71 75 65 20 74 79 70 65 73 20 6f 72 20 63 6f 64 65 20 63 6f 6e 73 74 72 75 63 74 73 20 74 68 aque.types.or.code.constructs.th
cd920 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 6c 6c 20 62 65 20 at.cannot.be.translated.will.be.
cd940 64 65 6d 6f 74 65 64 0a 20 20 20 20 20 20 20 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 demoted.........to.<code><span.c
cd960 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-kw">extern</span></cod
cd980 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 75 73 2c 20 e>.declarations...........Thus,.
cd9a0 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 74 79 70 65 73 20 63 61 6e 20 73 74 69 6c 6c non-translatable.types.can.still
cd9c0 20 62 65 20 75 73 65 64 20 61 73 20 70 6f 69 6e 74 65 72 73 2c 20 61 6e 64 20 6e 6f 6e 2d 74 72 .be.used.as.pointers,.and.non-tr
cd9e0 61 6e 73 6c 61 74 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 63 61 6e anslatable.functions.........can
cda00 20 62 65 20 63 61 6c 6c 65 64 20 73 6f 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6c 69 6e 6b 65 72 .be.called.so.long.as.the.linker
cda20 20 69 73 20 61 77 61 72 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 64 20 66 75 6e 63 74 69 .is.aware.of.the.compiled.functi
cda40 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 on........</p>.......<p>........
cda60 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .<code><span.class="tok-builtin"
cda80 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 >@compileError</span></code>.is.
cdaa0 75 73 65 64 20 77 68 65 6e 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 used.when.top-level.definitions.
cdac0 28 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 (global.variables,.........funct
cdae0 69 6f 6e 20 70 72 6f 74 6f 74 79 70 65 73 2c 20 6d 61 63 72 6f 73 29 20 63 61 6e 6e 6f 74 20 62 ion.prototypes,.macros).cannot.b
cdb00 65 20 74 72 61 6e 73 6c 61 74 65 64 20 6f 72 20 64 65 6d 6f 74 65 64 2e 20 53 69 6e 63 65 20 5a e.translated.or.demoted..Since.Z
cdb20 69 67 20 75 73 65 73 20 6c 61 7a 79 20 61 6e 61 6c 79 73 69 73 20 66 6f 72 0a 20 20 20 20 20 20 ig.uses.lazy.analysis.for.......
cdb40 20 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 75 6e 74 72 61 6e ..top-level.declarations,.untran
cdb60 73 6c 61 74 61 62 6c 65 20 65 6e 74 69 74 69 65 73 20 77 69 6c 6c 20 6e 6f 74 20 63 61 75 73 65 slatable.entities.will.not.cause
cdb80 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 6e 20 79 6f 75 72 20 63 6f 64 65 20 75 6e .a.compile.error.in.your.code.un
cdba0 6c 65 73 73 0a 20 20 20 20 20 20 20 20 79 6f 75 20 61 63 74 75 61 6c 6c 79 20 75 73 65 20 74 68 less.........you.actually.use.th
cdbc0 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f em........</p>.......<p>See.also
cdbe0 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e :</p><ul>.<li><a.href="#opaque">
cdc00 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 opaque</a></li>.<li><a.href="#ex
cdc20 74 65 72 6e 22 3e 65 78 74 65 72 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 tern">extern</a></li>.<li><a.hre
cdc40 66 3d 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c f="#compileError">@compileError<
cdc60 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 /a></li>.</ul>...............<h3
cdc80 20 69 64 3d 22 43 2d 4d 61 63 72 6f 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 4d .id="C-Macros"><a.href="#toc-C-M
cdca0 61 63 72 6f 73 22 3e 43 20 4d 61 63 72 6f 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 acros">C.Macros</a>.<a.class="hd
cdcc0 72 22 20 68 72 65 66 3d 22 23 43 2d 4d 61 63 72 6f 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a r".href="#C-Macros">..</a></h3>.
cdce0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e .......<p>.........C.Translation
cdd00 20 6d 61 6b 65 73 20 61 20 62 65 73 74 2d 65 66 66 6f 72 74 20 61 74 74 65 6d 70 74 20 74 6f 20 .makes.a.best-effort.attempt.to.
cdd20 74 72 61 6e 73 6c 61 74 65 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 6b 65 20 6d 61 63 72 6f 73 20 69 translate.function-like.macros.i
cdd40 6e 74 6f 20 65 71 75 69 76 61 6c 65 6e 74 0a 20 20 20 20 20 20 20 20 5a 69 67 20 66 75 6e 63 74 nto.equivalent.........Zig.funct
cdd60 69 6f 6e 73 2e 20 53 69 6e 63 65 20 43 20 6d 61 63 72 6f 73 20 6f 70 65 72 61 74 65 20 61 74 20 ions..Since.C.macros.operate.at.
cdd80 74 68 65 20 6c 65 76 65 6c 20 6f 66 20 6c 65 78 69 63 61 6c 20 74 6f 6b 65 6e 73 2c 20 6e 6f 74 the.level.of.lexical.tokens,.not
cdda0 20 61 6c 6c 20 43 20 6d 61 63 72 6f 73 0a 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 74 72 61 .all.C.macros.........can.be.tra
cddc0 6e 73 6c 61 74 65 64 20 74 6f 20 5a 69 67 2e 20 4d 61 63 72 6f 73 20 74 68 61 74 20 63 61 6e 6e nslated.to.Zig..Macros.that.cann
cdde0 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 6c 6c 20 62 65 20 64 65 6d 6f 74 65 64 ot.be.translated.will.be.demoted
cde00 20 74 6f 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .to.........<code><span.class="t
cde20 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e ok-builtin">@compileError</span>
cde40 3c 2f 63 6f 64 65 3e 2e 20 4e 6f 74 65 20 74 68 61 74 20 43 20 63 6f 64 65 20 77 68 69 63 68 20 </code>..Note.that.C.code.which.
cde60 3c 65 6d 3e 75 73 65 73 3c 2f 65 6d 3e 20 6d 61 63 72 6f 73 20 77 69 6c 6c 20 62 65 0a 20 20 20 <em>uses</em>.macros.will.be....
cde80 20 20 20 20 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 74 68 6f 75 74 20 61 6e 79 20 61 64 64 69 .....translated.without.any.addi
cdea0 74 69 6f 6e 61 6c 20 69 73 73 75 65 73 20 28 73 69 6e 63 65 20 5a 69 67 20 6f 70 65 72 61 74 65 tional.issues.(since.Zig.operate
cdec0 73 20 6f 6e 20 74 68 65 20 70 72 65 2d 70 72 6f 63 65 73 73 65 64 20 73 6f 75 72 63 65 0a 20 20 s.on.the.pre-processed.source...
cdee0 20 20 20 20 20 20 77 69 74 68 20 6d 61 63 72 6f 73 20 65 78 70 61 6e 64 65 64 29 2e 20 49 74 20 ......with.macros.expanded)..It.
cdf00 69 73 20 6d 65 72 65 6c 79 20 74 68 65 20 6d 61 63 72 6f 73 20 74 68 65 6d 73 65 6c 76 65 73 20 is.merely.the.macros.themselves.
cdf20 77 68 69 63 68 20 6d 61 79 20 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 74 6f which.may.not.be.translatable.to
cdf40 0a 20 20 20 20 20 20 20 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .........Zig........</p>.......<
cdf60 70 3e 43 6f 6e 73 69 64 65 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 p>Consider.the.following.example
cdf80 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 :</p>.......<figure><figcaption.
cdfa0 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 class="c-cap"><cite.class="file"
cdfc0 3e 6d 61 63 72 6f 2e 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 >macro.c</cite></figcaption><pre
cdfe0 3e 3c 63 6f 64 65 3e 23 64 65 66 69 6e 65 20 4d 41 4b 45 4c 4f 43 41 4c 28 4e 41 4d 45 2c 20 49 ><code>#define.MAKELOCAL(NAME,.I
ce000 4e 49 54 29 20 69 6e 74 20 4e 41 4d 45 20 3d 20 49 4e 49 54 0a 69 6e 74 20 66 6f 6f 28 76 6f 69 NIT).int.NAME.=.INIT.int.foo(voi
ce020 64 29 20 7b 0a 20 20 20 4d 41 4b 45 4c 4f 43 41 4c 28 61 2c 20 31 29 3b 0a 20 20 20 4d 41 4b 45 d).{....MAKELOCAL(a,.1);....MAKE
ce040 4c 4f 43 41 4c 28 62 2c 20 32 29 3b 0a 20 20 20 72 65 74 75 72 6e 20 61 20 2b 20 62 3b 0a 7d 3c LOCAL(b,.2);....return.a.+.b;.}<
ce060 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 /code></pre></figure>.......<fig
ce080 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 ure><figcaption.class="shell-cap
ce0a0 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 ">Shell</figcaption><pre><samp>$
ce0c0 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 6d 61 63 72 6f 2e 63 20 26 67 .<kbd>zig.translate-c.macro.c.&g
ce0e0 74 3b 20 6d 61 63 72 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e t;.macro.zig</kbd>.</samp></pre>
ce100 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 </figure>.......<figure><figcapt
ce120 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d ion.class="zig-cap"><cite.class=
ce140 22 66 69 6c 65 22 3e 6d 61 63 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 "file">macro.zig</cite></figcapt
ce160 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ion><pre><code><span.class="tok-
ce180 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d kw">pub</span>.<span.class="tok-
ce1a0 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">export</span>.<span.class="t
ce1c0 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ok-kw">fn</span>.<span.class="to
ce1e0 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-fn">foo</span>().<span.class="
ce200 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 tok-type">c_int</span>.{.....<sp
ce220 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 an.class="tok-kw">var</span>.a:.
ce240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 <span.class="tok-type">c_int</sp
ce260 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 an>.=.<span.class="tok-number">1
ce280 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 61 3b 0a 20 20 20 20 3c 73 70 </span>;....._.=.&amp;a;.....<sp
ce2a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 an.class="tok-kw">var</span>.b:.
ce2c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 <span.class="tok-type">c_int</sp
ce2e0 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 an>.=.<span.class="tok-number">2
ce300 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 26 61 6d 70 3b 62 3b 0a 20 20 20 20 3c 73 70 </span>;....._.=.&amp;b;.....<sp
ce320 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">return</span>.
ce340 61 20 2b 20 62 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 a.+.b;.}.<span.class="tok-kw">pu
ce360 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f b</span>.<span.class="tok-kw">co
ce380 6e 73 74 3c 2f 73 70 61 6e 3e 20 4d 41 4b 45 4c 4f 43 41 4c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 nst</span>.MAKELOCAL.=.<span.cla
ce3a0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f ss="tok-builtin">@compileError</
ce3c0 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>(<span.class="tok-str">&quo
ce3e0 74 3b 75 6e 61 62 6c 65 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20 43 20 65 78 70 72 3a 20 75 6e t;unable.to.translate.C.expr:.un
ce400 65 78 70 65 63 74 65 64 20 74 6f 6b 65 6e 20 2e 45 71 75 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 expected.token..Equal&quot;</spa
ce420 6e 3e 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f n>);.<span.class="tok-comment">/
ce440 2f 20 6d 61 63 72 6f 2e 63 3a 31 3a 39 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 /.macro.c:1:9</span></code></pre
ce460 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 3c 63 ></figure>.......<p>Note.that.<c
ce480 6f 64 65 3e 66 6f 6f 3c 2f 63 6f 64 65 3e 20 77 61 73 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f ode>foo</code>.was.translated.co
ce4a0 72 72 65 63 74 6c 79 20 64 65 73 70 69 74 65 20 75 73 69 6e 67 20 61 20 6e 6f 6e 2d 74 72 61 6e rrectly.despite.using.a.non-tran
ce4c0 73 6c 61 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 6d 61 63 72 6f 2e 20 3c 63 6f 64 65 3e 4d 41 slatable.........macro..<code>MA
ce4e0 4b 45 4c 4f 43 41 4c 3c 2f 63 6f 64 65 3e 20 77 61 73 20 64 65 6d 6f 74 65 64 20 74 6f 20 3c 63 KELOCAL</code>.was.demoted.to.<c
ce500 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 ode><span.class="tok-builtin">@c
ce520 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 69 6e 63 65 0a ompileError</span></code>.since.
ce540 20 20 20 20 20 20 20 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 65 78 70 72 65 73 73 65 64 20 61 ........it.cannot.be.expressed.a
ce560 73 20 61 20 5a 69 67 20 66 75 6e 63 74 69 6f 6e 3b 20 74 68 69 73 20 73 69 6d 70 6c 79 20 6d 65 s.a.Zig.function;.this.simply.me
ce580 61 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 6e 6f 74 20 64 69 72 65 63 74 6c 79 20 75 73 65 ans.that.you.cannot.directly.use
ce5a0 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 4d 41 4b 45 4c 4f 43 41 4c 3c 2f 63 6f 64 65 3e 20 .........<code>MAKELOCAL</code>.
ce5c0 66 72 6f 6d 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 from.Zig........</p>.......<p>Se
ce5e0 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f e.also:</p><ul>.<li><a.href="#co
ce600 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c mpileError">@compileError</a></l
ce620 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 i>.</ul>................<h3.id="
ce640 43 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 50 6f 69 6e C-Pointers"><a.href="#toc-C-Poin
ce660 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ters">C.Pointers</a>.<a.class="h
ce680 64 72 22 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 dr".href="#C-Pointers">..</a></h
ce6a0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 74 79 70 65 20 69 73 3>........<p>.......This.type.is
ce6c0 20 74 6f 20 62 65 20 61 76 6f 69 64 65 64 20 77 68 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 .to.be.avoided.whenever.possible
ce6e0 2e 20 54 68 65 20 6f 6e 6c 79 20 76 61 6c 69 64 20 72 65 61 73 6f 6e 20 66 6f 72 20 75 73 69 6e ..The.only.valid.reason.for.usin
ce700 67 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 69 6e 0a 20 20 20 20 20 20 61 75 74 6f 2d 67 g.a.C.pointer.is.in.......auto-g
ce720 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 66 72 6f 6d 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 43 enerated.code.from.translating.C
ce740 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 .code........</p>.......<p>.....
ce760 20 20 57 68 65 6e 20 69 6d 70 6f 72 74 69 6e 67 20 43 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c ..When.importing.C.header.files,
ce780 20 69 74 20 69 73 20 61 6d 62 69 67 75 6f 75 73 20 77 68 65 74 68 65 72 20 70 6f 69 6e 74 65 72 .it.is.ambiguous.whether.pointer
ce7a0 73 20 73 68 6f 75 6c 64 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 61 73 0a 20 20 20 20 20 20 s.should.be.translated.as.......
ce7c0 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 6f 64 65 3e 2a 54 3c 2f single-item.pointers.(<code>*T</
ce7e0 63 6f 64 65 3e 29 20 6f 72 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 code>).or.many-item.pointers.(<c
ce800 6f 64 65 3e 5b 2a 5d 54 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 43 20 70 6f 69 6e 74 65 ode>[*]T</code>)........C.pointe
ce820 72 73 20 61 72 65 20 61 20 63 6f 6d 70 72 6f 6d 69 73 65 20 73 6f 20 74 68 61 74 20 5a 69 67 20 rs.are.a.compromise.so.that.Zig.
ce840 63 6f 64 65 20 63 61 6e 20 75 74 69 6c 69 7a 65 20 74 72 61 6e 73 6c 61 74 65 64 20 68 65 61 64 code.can.utilize.translated.head
ce860 65 72 20 66 69 6c 65 73 20 64 69 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 er.files.directly........</p>...
ce880 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 5b 2a 63 5d 54 3c 2f 63 6f 64 65 3e 20 2d 20 43 20 70 6f ....<p><code>[*c]T</code>.-.C.po
ce8a0 69 6e 74 65 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c inter.</p>.......<ul>.........<l
ce8c0 69 3e 53 75 70 70 6f 72 74 73 20 61 6c 6c 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 i>Supports.all.the.syntax.of.the
ce8e0 20 6f 74 68 65 72 20 74 77 6f 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 20 28 3c 63 6f 64 65 3e .other.two.pointer.types.(<code>
ce900 2a 54 3c 2f 63 6f 64 65 3e 29 20 61 6e 64 20 28 3c 63 6f 64 65 3e 5b 2a 5d 54 3c 2f 63 6f 64 65 *T</code>).and.(<code>[*]T</code
ce920 3e 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 65 72 63 65 73 20 74 6f 20 >).</li>.........<li>Coerces.to.
ce940 6f 74 68 65 72 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 other.pointer.types,.as.well.as.
ce960 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 <a.href="#Optional-Pointers">Opt
ce980 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ional.Pointers</a>..............
ce9a0 57 68 65 6e 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 63 6f 65 72 63 65 64 20 74 6f 20 61 When.a.C.pointer.is.coerced.to.a
ce9c0 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 2c 20 73 61 66 65 74 79 2d 63 68 .non-optional.pointer,.safety-ch
ce9e0 65 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 ecked.............<a.href="#Unde
cea00 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 fined-Behavior">Undefined.Behavi
cea20 6f 72 3c 2f 61 3e 20 6f 63 63 75 72 73 20 69 66 20 74 68 65 20 61 64 64 72 65 73 73 20 69 73 20 or</a>.occurs.if.the.address.is.
cea40 30 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 0..........</li>.........<li>All
cea60 6f 77 73 20 61 64 64 72 65 73 73 20 30 2e 20 4f 6e 20 6e 6f 6e 2d 66 72 65 65 73 74 61 6e 64 69 ows.address.0..On.non-freestandi
cea80 6e 67 20 74 61 72 67 65 74 73 2c 20 64 65 72 65 66 65 72 65 6e 63 69 6e 67 20 61 64 64 72 65 73 ng.targets,.dereferencing.addres
ceaa0 73 20 30 20 69 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 s.0.is.safety-checked...........
ceac0 20 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e ..<a.href="#Undefined-Behavior">
ceae0 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 20 4f 70 74 69 6f 6e 61 6c Undefined.Behavior</a>..Optional
ceb00 20 43 20 70 6f 69 6e 74 65 72 73 20 69 6e 74 72 6f 64 75 63 65 20 61 6e 6f 74 68 65 72 20 62 69 .C.pointers.introduce.another.bi
ceb20 74 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e t.to.keep.track.of.............n
ceb40 75 6c 6c 2c 20 6a 75 73 74 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3f 3c 73 70 61 6e 20 63 6c 61 73 ull,.just.like.<code>?<span.clas
ceb60 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e s="tok-type">usize</span></code>
ceb80 2e 20 4e 6f 74 65 20 74 68 61 74 20 63 72 65 61 74 69 6e 67 20 61 6e 20 6f 70 74 69 6f 6e 61 6c ..Note.that.creating.an.optional
ceba0 20 43 20 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 75 6e 6e 65 63 65 .C.pointer.............is.unnece
cebc0 73 73 61 72 79 20 61 73 20 6f 6e 65 20 63 61 6e 20 75 73 65 20 6e 6f 72 6d 61 6c 20 3c 61 20 68 ssary.as.one.can.use.normal.<a.h
cebe0 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 ref="#Optional-Pointers">Optiona
cec00 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 l.Pointers</a>..........</li>...
cec20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 ......<li>Supports.<a.href="#Typ
cec40 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 20 74 6f e-Coercion">Type.Coercion</a>.to
cec60 20 61 6e 64 20 66 72 6f 6d 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .and.from.integers.</li>........
cec80 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 63 6f 6d 70 61 72 69 73 6f 6e 20 77 69 74 68 20 69 6e .<li>Supports.comparison.with.in
ceca0 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 6f 65 73 20 6e 6f tegers.</li>.........<li>Does.no
cecc0 74 20 73 75 70 70 6f 72 74 20 5a 69 67 2d 6f 6e 6c 79 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 t.support.Zig-only.pointer.attri
cece0 62 75 74 65 73 20 73 75 63 68 20 61 73 20 61 6c 69 67 6e 6d 65 6e 74 2e 20 55 73 65 20 6e 6f 72 butes.such.as.alignment..Use.nor
ced00 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 mal.<a.href="#Pointers">Pointers
ced20 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 70 6c 65 61 73 65 21 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 </a>.........please!</li>.......
ced40 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 43 20 70 6f 69 6e 74 65 72 20 </ul>.......<p>When.a.C.pointer.
ced60 69 73 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 73 74 72 75 63 74 20 28 is.pointing.to.a.single.struct.(
ced80 6e 6f 74 20 61 6e 20 61 72 72 61 79 29 2c 20 64 65 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 43 not.an.array),.dereference.the.C
ceda0 20 70 6f 69 6e 74 65 72 20 74 6f 0a 20 20 20 20 20 20 20 20 61 63 63 65 73 73 20 74 68 65 20 73 .pointer.to.........access.the.s
cedc0 74 72 75 63 74 27 73 20 66 69 65 6c 64 73 20 6f 72 20 6d 65 6d 62 65 72 20 64 61 74 61 2e 20 54 truct's.fields.or.member.data..T
cede0 68 61 74 20 73 79 6e 74 61 78 20 6c 6f 6f 6b 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 74 68 hat.syntax.looks.like.........th
cee00 69 73 3a 20 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 70 74 72 5f 74 6f is:.</p>.........<p><code>ptr_to
cee20 5f 73 74 72 75 63 74 2e 2a 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 72 3c 2f 63 6f 64 65 3e 3c 2f _struct.*.struct_member</code></
cee40 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 63 6f 6d 70 61 72 61 62 6c 65 p>.........<p>This.is.comparable
cee60 20 74 6f 20 64 6f 69 6e 67 20 3c 63 6f 64 65 3e 2d 26 67 74 3b 3c 2f 63 6f 64 65 3e 20 69 6e 20 .to.doing.<code>-&gt;</code>.in.
cee80 43 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 20 57 68 65 6e 20 61 20 43 20 70 6f 69 6e C.</p>.........<p>.When.a.C.poin
ceea0 74 65 72 20 69 73 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 61 6e 20 61 72 72 61 79 20 6f 66 20 73 ter.is.pointing.to.an.array.of.s
ceec0 74 72 75 63 74 73 2c 20 74 68 65 20 73 79 6e 74 61 78 20 72 65 76 65 72 74 73 20 74 6f 20 74 68 tructs,.the.syntax.reverts.to.th
ceee0 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 70 74 72 5f 74 6f 5f is:</p>.........<p><code>ptr_to_
cef00 73 74 72 75 63 74 5f 61 72 72 61 79 5b 69 6e 64 65 78 5d 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 struct_array[index].struct_membe
cef20 72 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 r</code></p>...............<h3.i
cef40 64 3d 22 43 2d 56 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 d="C-Variadic-Functions"><a.href
cef60 3d 22 23 74 6f 63 2d 43 2d 56 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 43 20 56 ="#toc-C-Variadic-Functions">C.V
cef80 61 72 69 61 64 69 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ariadic.Functions</a>.<a.class="
cefa0 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 56 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 6f 6e 73 hdr".href="#C-Variadic-Functions
cefc0 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 75 70 70 ">..</a></h3>........<p>Zig.supp
cefe0 6f 72 74 73 20 65 78 74 65 72 6e 20 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 73 2e 3c orts.extern.variadic.functions.<
cf000 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c /p>.......<figure><figcaption.cl
cf020 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 ass="zig-cap"><cite.class="file"
cf040 3e 74 65 73 74 5f 76 61 72 69 61 64 69 63 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 >test_variadic_function.zig</cit
cf060 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e></figcaption><pre><code><span.
cf080 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 class="tok-kw">const</span>.std.
cf0a0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 =.<span.class="tok-builtin">@imp
cf0c0 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ort</span>(<span.class="tok-str"
cf0e0 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 >&quot;std&quot;</span>);.<span.
cf100 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 74 class="tok-kw">const</span>.test
cf120 69 6e 67 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ing.=.std.testing;..<span.class=
cf140 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d "tok-kw">pub</span>.<span.class=
cf160 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">extern</span>.<span.cla
cf180 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ss="tok-str">&quot;c&quot;</span
cf1a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">fn</span>
cf1c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 66 3c 2f 73 70 .<span.class="tok-fn">printf</sp
cf1e0 61 6e 3e 28 66 6f 72 6d 61 74 3a 20 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>(format:.[*:<span.class="tok-
cf200 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f number">0</span>]<span.class="to
cf220 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-kw">const</span>.<span.class="
cf240 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 2e 2e 2e 29 20 3c 73 70 61 6e 20 tok-type">u8</span>,....).<span.
cf260 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3b 0a 0a class="tok-type">c_int</span>;..
cf280 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e <span.class="tok-kw">test</span>
cf2a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 .<span.class="tok-str">&quot;var
cf2c0 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 iadic.function&quot;</span>.{...
cf2e0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ..<span.class="tok-kw">try</span
cf300 3e 20 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c >.testing.expect(printf(<span.cl
cf320 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 ass="tok-str">&quot;Hello,.world
cf340 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 !\n&quot;</span>).==.<span.class
cf360 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 ="tok-number">14</span>);.....<s
cf380 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 pan.class="tok-kw">try</span>.te
cf3a0 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 sting.expect(<span.class="tok-bu
cf3c0 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c iltin">@typeInfo</span>(<span.cl
cf3e0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e ass="tok-builtin">@TypeOf</span>
cf400 28 70 72 69 6e 74 66 29 29 2e 46 6e 2e 69 73 5f 76 61 72 5f 61 72 67 73 29 3b 0a 7d 3c 2f 63 6f (printf)).Fn.is_var_args);.}</co
cf420 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
cf440 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
cf460 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
cf480 74 65 73 74 20 74 65 73 74 5f 76 61 72 69 61 64 69 63 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 20 test.test_variadic_function.zig.
cf4a0 2d 6c 63 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 76 61 72 69 61 64 69 63 5f 66 75 6e 63 -lc</kbd>.1/1.test_variadic_func
cf4c0 74 69 6f 6e 2e 74 65 73 74 2e 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 2e 2e 2e 20 4f tion.test.variadic.function....O
cf4e0 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 48 65 6c 6c 6f 2c 20 77 6f 72 K.All.1.tests.passed..Hello,.wor
cf500 6c 64 21 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 ld!.</samp></pre></figure>......
cf520 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 56 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 73 20 .<p>.........Variadic.functions.
cf540 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 20 3c 61 20 68 72 65 66 can.be.implemented.using.<a.href
cf560 3d 22 23 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 61 3e 2c 20 3c 61 20 68 ="#cVaStart">@cVaStart</a>,.<a.h
cf580 72 65 66 3d 22 23 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f 61 3e 2c 20 3c 61 20 68 72 ref="#cVaEnd">@cVaEnd</a>,.<a.hr
cf5a0 65 66 3d 22 23 63 56 61 41 72 67 22 3e 40 63 56 61 41 72 67 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 ef="#cVaArg">@cVaArg</a>.and.<a.
cf5c0 68 72 65 66 3d 22 23 63 56 61 43 6f 70 79 22 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 2e 0a 20 20 href="#cVaCopy">@cVaCopy</a>....
cf5e0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ....</p>.......<figure><figcapti
cf600 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 on.class="zig-cap"><cite.class="
cf620 66 69 6c 65 22 3e 74 65 73 74 5f 64 65 66 69 6e 69 6e 67 5f 76 61 72 69 61 64 69 63 5f 66 75 6e file">test_defining_variadic_fun
cf640 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 ction.zig</cite></figcaption><pr
cf660 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e e><code><span.class="tok-kw">con
cf680 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.std.=.<span.class="tok
cf6a0 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@import</span>(<span.c
cf6c0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f lass="tok-str">&quot;std&quot;</
cf6e0 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e span>);.<span.class="tok-kw">con
cf700 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 74 69 6e 67 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 3b st</span>.testing.=.std.testing;
cf720 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
cf740 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 n>.builtin.=.<span.class="tok-bu
cf760 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
cf780 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c s="tok-str">&quot;builtin&quot;<
cf7a0 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 /span>);..<span.class="tok-kw">f
cf7c0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 n</span>.<span.class="tok-fn">ad
cf7e0 64 3c 2f 73 70 61 6e 3e 28 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b d</span>(count:.<span.class="tok
cf800 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 2e 2e 2e 29 20 3c 73 70 61 6e 20 -type">c_int</span>,....).<span.
cf820 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e class="tok-kw">callconv</span>(.
cf840 43 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c C).<span.class="tok-type">c_int<
cf860 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.{.....<span.class="tok-kw
cf880 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">var</span>.ap.=.<span.class="t
cf8a0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 73 70 61 6e 3e 28 29 3b 0a ok-builtin">@cVaStart</span>();.
cf8c0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f ....<span.class="tok-kw">defer</
cf8e0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e span>.<span.class="tok-builtin">
cf900 40 63 56 61 45 6e 64 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 61 70 29 3b 0a 20 20 20 20 3c 73 70 @cVaEnd</span>(&amp;ap);.....<sp
cf920 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 an.class="tok-kw">var</span>.i:.
cf940 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 <span.class="tok-type">usize</sp
cf960 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 an>.=.<span.class="tok-number">0
cf980 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>;.....<span.class="tok-kw
cf9a0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">var</span>.sum:.<span.class="t
cf9c0 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c ok-type">c_int</span>.=.<span.cl
cf9e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c ass="tok-number">0</span>;.....<
cfa00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e span.class="tok-kw">while</span>
cfa20 20 28 69 20 26 6c 74 3b 20 63 6f 75 6e 74 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c .(i.&lt;.count).:.(i.+=.<span.cl
cfa40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 ass="tok-number">1</span>).{....
cfa60 20 20 20 20 20 73 75 6d 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .....sum.+=.<span.class="tok-bui
cfa80 6c 74 69 6e 22 3e 40 63 56 61 41 72 67 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 61 70 2c 20 3c 73 ltin">@cVaArg</span>(&amp;ap,.<s
cfaa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e pan.class="tok-type">c_int</span
cfac0 3e 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >);.....}.....<span.class="tok-k
cfae0 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 75 6d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 w">return</span>.sum;.}..<span.c
cfb00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 lass="tok-kw">test</span>.<span.
cfb20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 69 6e 69 6e 67 20 61 class="tok-str">&quot;defining.a
cfb40 20 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 .variadic.function&quot;</span>.
cfb60 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 {.....<span.class="tok-kw">if</s
cfb80 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 61 61 72 63 68 pan>.(builtin.cpu.arch.==..aarch
cfba0 36 34 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 64.<span.class="tok-kw">and</spa
cfbc0 6e 3e 20 62 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 20 21 3d 20 2e 6d 61 63 6f 73 29 20 7b 0a 20 n>.builtin.os.tag.!=..macos).{..
cfbe0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 .......<span.class="tok-comment"
cfc00 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a >//.https://github.com/ziglang/z
cfc20 69 67 2f 69 73 73 75 65 73 2f 31 34 30 39 36 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c ig/issues/14096</span>.........<
cfc40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e span.class="tok-kw">return</span
cfc60 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 >.<span.class="tok-kw">error</sp
cfc80 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e an>.SkipZigTest;.....}.....<span
cfca0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 .class="tok-kw">if</span>.(built
cfcc0 69 6e 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 78 38 36 5f 36 34 20 3c 73 70 61 6e 20 63 6c 61 in.cpu.arch.==..x86_64.<span.cla
cfce0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 2e 6f ss="tok-kw">and</span>.builtin.o
cfd00 73 2e 74 61 67 20 3d 3d 20 2e 77 69 6e 64 6f 77 73 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 s.tag.==..windows).{.........<sp
cfd20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a an.class="tok-comment">//.https:
cfd40 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f //github.com/ziglang/zig/issues/
cfd60 31 36 39 36 31 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 16961</span>.........<span.class
cfd80 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c ="tok-kw">return</span>.<span.cl
cfda0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 ass="tok-kw">error</span>.SkipZi
cfdc0 67 54 65 73 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 gTest;.....}......<span.class="t
cfde0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 ok-kw">try</span>.std.testing.ex
cfe00 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 pectEqual(<span.class="tok-built
cfe20 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d in">@as</span>(<span.class="tok-
cfe40 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d type">c_int</span>,.<span.class=
cfe60 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 2c 20 61 64 64 28 3c 73 70 61 "tok-number">0</span>),.add(<spa
cfe80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b n.class="tok-number">0</span>));
cfea0 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 .....<span.class="tok-kw">try</s
cfec0 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 pan>.std.testing.expectEqual(<sp
cfee0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e an.class="tok-builtin">@as</span
cff00 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f >(<span.class="tok-type">c_int</
cff20 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e span>,.<span.class="tok-number">
cff40 31 3c 2f 73 70 61 6e 3e 29 2c 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 1</span>),.add(<span.class="tok-
cff60 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>,.<span.class="t
cff80 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ok-builtin">@as</span>(<span.cla
cffa0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ss="tok-type">c_int</span>,.<spa
cffc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 29 n.class="tok-number">1</span>)))
cffe0 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ;.....<span.class="tok-kw">try</
d0000 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 span>.std.testing.expectEqual(<s
d0020 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 pan.class="tok-builtin">@as</spa
d0040 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c n>(<span.class="tok-type">c_int<
d0060 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>,.<span.class="tok-number"
d0080 3e 33 3c 2f 73 70 61 6e 3e 29 2c 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >3</span>),.add(<span.class="tok
d00a0 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">2</span>,.<span.class="
d00c0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c tok-builtin">@as</span>(<span.cl
d00e0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 ass="tok-type">c_int</span>,.<sp
d0100 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 2c an.class="tok-number">1</span>),
d0120 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f .<span.class="tok-builtin">@as</
d0140 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 span>(<span.class="tok-type">c_i
d0160 6e 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 nt</span>,.<span.class="tok-numb
d0180 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c er">2</span>)));.}</code></pre><
d01a0 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 /figure><figure><figcaption.clas
d01c0 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e s="shell-cap">Shell</figcaption>
d01e0 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f <pre><samp>$.<kbd>zig.test.test_
d0200 64 65 66 69 6e 69 6e 67 5f 76 61 72 69 61 64 69 63 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 3c 2f defining_variadic_function.zig</
d0220 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 64 65 66 69 6e 69 6e 67 5f 76 61 72 69 61 64 69 63 5f kbd>.1/1.test_defining_variadic_
d0240 66 75 6e 63 74 69 6f 6e 2e 74 65 73 74 2e 64 65 66 69 6e 69 6e 67 20 61 20 76 61 72 69 61 64 69 function.test.defining.a.variadi
d0260 63 20 66 75 6e 63 74 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 c.function....OK.All.1.tests.pas
d0280 73 65 64 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 sed..</samp></pre></figure>.....
d02a0 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c .........<h3.id="Exporting-a-C-L
d02c0 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 70 6f 72 74 69 6e 67 2d ibrary"><a.href="#toc-Exporting-
d02e0 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 a-C-Library">Exporting.a.C.Libra
d0300 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 70 ry</a>.<a.class="hdr".href="#Exp
d0320 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a orting-a-C-Library">..</a></h3>.
d0340 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 65 20 6f 66 20 74 68 65 20 70 72 69 6d .......<p>.......One.of.the.prim
d0360 61 72 79 20 75 73 65 20 63 61 73 65 73 20 66 6f 72 20 5a 69 67 20 69 73 20 65 78 70 6f 72 74 69 ary.use.cases.for.Zig.is.exporti
d0380 6e 67 20 61 20 6c 69 62 72 61 72 79 20 77 69 74 68 20 74 68 65 20 43 20 41 42 49 20 66 6f 72 20 ng.a.library.with.the.C.ABI.for.
d03a0 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 0a 20 20 20 20 other.programming.languages.....
d03c0 20 20 74 6f 20 63 61 6c 6c 20 69 6e 74 6f 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ..to.call.into..The.<code><span.
d03e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-kw">export</span></co
d0400 64 65 3e 20 6b 65 79 77 6f 72 64 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e de>.keyword.in.front.of.function
d0420 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 20 61 6e 64 20 74 79 70 65 73 20 63 61 75 73 65 73 20 74 s,.variables,.and.types.causes.t
d0440 68 65 6d 20 74 6f 0a 20 20 20 20 20 20 62 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 69 62 72 hem.to.......be.part.of.the.libr
d0460 61 72 79 20 41 50 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 ary.API:.......</p>.......<figur
d0480 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 e><figcaption.class="zig-cap"><c
d04a0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 74 65 73 74 2e 7a 69 67 3c 2f 63 ite.class="file">mathtest.zig</c
d04c0 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 ite></figcaption><pre><code><spa
d04e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">export</span>.<
d0500 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
d0520 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a pan.class="tok-fn">add</span>(a:
d0540 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 .<span.class="tok-type">i32</spa
d0560 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 n>,.b:.<span.class="tok-type">i3
d0580 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 2</span>).<span.class="tok-type"
d05a0 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >i32</span>.{.....<span.class="t
d05c0 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d 3c 2f 63 ok-kw">return</span>.a.+.b;.}</c
d05e0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 ode></pre></figure>.......<p>To.
d0600 6d 61 6b 65 20 61 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 79 3a 3c 2f 70 3e 0a 20 20 20 20 20 make.a.static.library:</p>......
d0620 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c .<figure><figcaption.class="shel
d0640 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 l-cap">Shell</figcaption><pre><s
d0660 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6c 69 62 20 6d 61 74 68 74 65 73 amp>$.<kbd>zig.build-lib.mathtes
d0680 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 t.zig</kbd>.</samp></pre></figur
d06a0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 6d 61 6b 65 20 61 20 73 68 61 72 65 64 20 6c 69 62 e>.......<p>To.make.a.shared.lib
d06c0 72 61 72 79 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 rary:</p>.......<figure><figcapt
d06e0 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 ion.class="shell-cap">Shell</fig
d0700 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 caption><pre><samp>$.<kbd>zig.bu
d0720 69 6c 64 2d 6c 69 62 20 6d 61 74 68 74 65 73 74 2e 7a 69 67 20 2d 64 79 6e 61 6d 69 63 3c 2f 6b ild-lib.mathtest.zig.-dynamic</k
d0740 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 bd>.</samp></pre></figure>......
d0760 20 3c 70 3e 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 74 68 65 20 .<p>Here.is.an.example.with.the.
d0780 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 <a.href="#Zig-Build-System">Zig.
d07a0 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 Build.System</a>:</p>.......<fig
d07c0 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 ure><figcaption.class="c-cap"><c
d07e0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 63 3c 2f 63 69 74 65 3e 3c 2f ite.class="file">test.c</cite></
d0800 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 2f 2f 20 54 68 69 73 20 68 65 figcaption><pre><code>//.This.he
d0820 61 64 65 72 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 7a 69 67 20 66 72 6f 6d 20 6d 61 ader.is.generated.by.zig.from.ma
d0840 74 68 74 65 73 74 2e 7a 69 67 0a 23 69 6e 63 6c 75 64 65 20 26 71 75 6f 74 3b 6d 61 74 68 74 65 thtest.zig.#include.&quot;mathte
d0860 73 74 2e 68 26 71 75 6f 74 3b 0a 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 64 69 6f 2e 68 26 st.h&quot;.#include.&lt;stdio.h&
d0880 67 74 3b 0a 0a 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 gt;..int.main(int.argc,.char.**a
d08a0 72 67 76 29 20 7b 0a 20 20 20 20 69 6e 74 33 32 5f 74 20 72 65 73 75 6c 74 20 3d 20 61 64 64 28 rgv).{.....int32_t.result.=.add(
d08c0 34 32 2c 20 31 33 33 37 29 3b 0a 20 20 20 20 70 72 69 6e 74 66 28 26 71 75 6f 74 3b 25 64 5c 6e 42,.1337);.....printf(&quot;%d\n
d08e0 26 71 75 6f 74 3b 2c 20 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d &quot;,.result);.....return.0;.}
d0900 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 </code></pre></figure>.......<fi
d0920 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
d0940 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 5f 63 2e 7a 69 67 3c ><cite.class="file">build_c.zig<
d0960 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 /cite></figcaption><pre><code><s
d0980 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">const</span>.
d09a0 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e std.=.<span.class="tok-builtin">
d09c0 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d @import</span>(<span.class="tok-
d09e0 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c str">&quot;std&quot;</span>);..<
d0a00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c span.class="tok-kw">pub</span>.<
d0a20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 span.class="tok-kw">fn</span>.<s
d0a40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 pan.class="tok-fn">build</span>(
d0a60 62 3a 20 2a 73 74 64 2e 42 75 69 6c 64 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d b:.*std.Build).<span.class="tok-
d0a80 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c type">void</span>.{.....<span.cl
d0aa0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 62 20 3d 20 ass="tok-kw">const</span>.lib.=.
d0ac0 62 2e 61 64 64 53 68 61 72 65 64 4c 69 62 72 61 72 79 28 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6e b.addSharedLibrary(.{..........n
d0ae0 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f ame.=.<span.class="tok-str">&quo
d0b00 74 3b 6d 61 74 68 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 t;mathtest&quot;</span>,........
d0b20 20 2e 72 6f 6f 74 5f 73 6f 75 72 63 65 5f 66 69 6c 65 20 3d 20 2e 7b 20 2e 70 61 74 68 20 3d 20 ..root_source_file.=..{..path.=.
d0b40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 61 74 68 <span.class="tok-str">&quot;math
d0b60 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 20 20 20 test.zig&quot;</span>.},........
d0b80 20 2e 76 65 72 73 69 6f 6e 20 3d 20 2e 7b 20 2e 6d 61 6a 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c ..version.=..{..major.=.<span.cl
d0ba0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 6d 69 6e 6f ass="tok-number">1</span>,..mino
d0bc0 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f r.=.<span.class="tok-number">0</
d0be0 73 70 61 6e 3e 2c 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>,..patch.=.<span.class="tok
d0c00 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 7d 29 3b 0a 20 20 20 -number">0</span>.},.....});....
d0c20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 .<span.class="tok-kw">const</spa
d0c40 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 2e 7b 0a 20 20 20 20 n>.exe.=.b.addExecutable(.{.....
d0c60 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 .....name.=.<span.class="tok-str
d0c80 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d ">&quot;test&quot;</span>,.....}
d0ca0 29 3b 0a 20 20 20 20 65 78 65 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c 65 28 2e 7b 20 2e 66 69 );.....exe.addCSourceFile(.{..fi
d0cc0 6c 65 20 3d 20 2e 7b 20 2e 70 61 74 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b le.=..{..path.=.<span.class="tok
d0ce0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 -str">&quot;test.c&quot;</span>.
d0d00 7d 2c 20 2e 66 6c 61 67 73 20 3d 20 26 61 6d 70 3b 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 },..flags.=.&amp;.{<span.class="
d0d20 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 73 74 64 3d 63 39 39 26 71 75 6f 74 3b 3c 2f 73 tok-str">&quot;-std=c99&quot;</s
d0d40 70 61 6e 3e 7d 20 7d 29 3b 0a 20 20 20 20 65 78 65 2e 6c 69 6e 6b 4c 69 62 72 61 72 79 28 6c 69 pan>}.});.....exe.linkLibrary(li
d0d60 62 29 3b 0a 20 20 20 20 65 78 65 2e 6c 69 6e 6b 53 79 73 74 65 6d 4c 69 62 72 61 72 79 28 3c 73 b);.....exe.linkSystemLibrary(<s
d0d80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 pan.class="tok-str">&quot;c&quot
d0da0 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e 64 ;</span>);......b.default_step.d
d0dc0 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 65 78 65 2e 73 74 65 70 29 3b 0a 0a 20 20 20 20 3c 73 70 ependOn(&amp;exe.step);......<sp
d0de0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 an.class="tok-kw">const</span>.r
d0e00 75 6e 5f 63 6d 64 20 3d 20 65 78 65 2e 72 75 6e 28 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 un_cmd.=.exe.run();......<span.c
d0e20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f lass="tok-kw">const</span>.test_
d0e40 73 74 65 70 20 3d 20 62 2e 73 74 65 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 step.=.b.step(<span.class="tok-s
d0e60 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 tr">&quot;test&quot;</span>,.<sp
d0e80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 54 65 73 74 20 74 68 an.class="tok-str">&quot;Test.th
d0ea0 65 20 70 72 6f 67 72 61 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 74 65 73 e.program&quot;</span>);.....tes
d0ec0 74 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 72 75 6e 5f 63 6d 64 2e 73 74 65 t_step.dependOn(&amp;run_cmd.ste
d0ee0 70 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 p);.}</code></pre></figure>.....
d0f00 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 ..<figure><figcaption.class="she
d0f20 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ll-cap">Shell</figcaption><pre><
d0f40 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 20 74 65 73 74 3c 2f 6b 62 64 3e samp>$.<kbd>zig.build.test</kbd>
d0f60 0a 31 33 37 39 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 .1379.</samp></pre></figure>....
d0f80 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 ...<p>See.also:</p><ul>.<li><a.h
d0fa0 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f ref="#export">export</a></li>.</
d0fc0 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4d 69 78 69 6e 67 ul>...............<h3.id="Mixing
d0fe0 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 69 78 -Object-Files"><a.href="#toc-Mix
d1000 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 4d 69 78 69 6e 67 20 4f 62 6a 65 63 74 20 ing-Object-Files">Mixing.Object.
d1020 46 69 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 Files</a>.<a.class="hdr".href="#
d1040 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e Mixing-Object-Files">..</a></h3>
d1060 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 6d 69 78 20 5a 69 ........<p>.......You.can.mix.Zi
d1080 67 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 77 69 74 68 20 61 6e 79 20 6f 74 68 65 72 20 6f 62 g.object.files.with.any.other.ob
d10a0 6a 65 63 74 20 66 69 6c 65 73 20 74 68 61 74 20 72 65 73 70 65 63 74 20 74 68 65 20 43 20 41 42 ject.files.that.respect.the.C.AB
d10c0 49 2e 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 I..Example:.......</p>.......<fi
d10e0 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
d1100 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 61 73 65 36 34 2e 7a 69 67 3c 2f ><cite.class="file">base64.zig</
d1120 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 cite></figcaption><pre><code><sp
d1140 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 an.class="tok-kw">const</span>.b
d1160 61 73 65 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e ase64.=.<span.class="tok-builtin
d1180 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">@import</span>(<span.class="to
d11a0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 k-str">&quot;std&quot;</span>).b
d11c0 61 73 65 36 34 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 ase64;..<span.class="tok-kw">exp
d11e0 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ort</span>.<span.class="tok-kw">
d1200 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 fn</span>.<span.class="tok-fn">d
d1220 65 63 6f 64 65 5f 62 61 73 65 5f 36 34 3c 2f 73 70 61 6e 3e 28 0a 20 20 20 20 64 65 73 74 5f 70 ecode_base_64</span>(.....dest_p
d1240 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 tr:.[*]<span.class="tok-type">u8
d1260 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 64 65 73 74 5f 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 </span>,.....dest_len:.<span.cla
d1280 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 ss="tok-type">usize</span>,.....
d12a0 73 6f 75 72 63 65 5f 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d source_ptr:.[*]<span.class="tok-
d12c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f kw">const</span>.<span.class="to
d12e0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 73 6f 75 72 63 65 5f 6c 65 k-type">u8</span>,.....source_le
d1300 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c n:.<span.class="tok-type">usize<
d1320 2f 73 70 61 6e 3e 2c 0a 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>,.).<span.class="tok-type"
d1340 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >usize</span>.{.....<span.class=
d1360 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 72 63 20 3d 20 73 6f 75 72 "tok-kw">const</span>.src.=.sour
d1380 63 65 5f 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ce_ptr[<span.class="tok-number">
d13a0 30 3c 2f 73 70 61 6e 3e 2e 2e 73 6f 75 72 63 65 5f 6c 65 6e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 0</span>..source_len];.....<span
d13c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 73 .class="tok-kw">const</span>.des
d13e0 74 20 3d 20 64 65 73 74 5f 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 t.=.dest_ptr[<span.class="tok-nu
d1400 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 64 65 73 74 5f 6c 65 6e 5d 3b 0a 20 20 20 20 3c mber">0</span>..dest_len];.....<
d1420 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
d1440 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 20 3d 20 62 61 73 65 36 34 2e 73 74 61 6e 64 61 72 .base64_decoder.=.base64.standar
d1460 64 2e 44 65 63 6f 64 65 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d d.Decoder;.....<span.class="tok-
d1480 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 63 6f 64 65 64 5f 73 69 7a 65 20 3d 20 kw">const</span>.decoded_size.=.
d14a0 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 2e 63 61 6c 63 53 69 7a 65 46 6f 72 53 6c 69 63 65 28 base64_decoder.calcSizeForSlice(
d14c0 73 72 63 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c src).<span.class="tok-kw">catch<
d14e0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 /span>.<span.class="tok-kw">unre
d1500 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 62 61 73 65 36 34 5f 64 65 63 6f 64 achable</span>;.....base64_decod
d1520 65 72 2e 64 65 63 6f 64 65 28 64 65 73 74 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d er.decode(dest[<span.class="tok-
d1540 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 64 65 63 6f 64 65 64 5f 73 69 7a 65 5d 2c number">0</span>..decoded_size],
d1560 20 73 72 63 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 .src).<span.class="tok-kw">catch
d1580 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 </span>.<span.class="tok-kw">unr
d15a0 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 eachable</span>;.....<span.class
d15c0 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 64 65 63 6f 64 65 64 5f ="tok-kw">return</span>.decoded_
d15e0 73 69 7a 65 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 size;.}</code></pre></figure>...
d1600 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 ....<figure><figcaption.class="c
d1620 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 63 3c -cap"><cite.class="file">test.c<
d1640 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 2f 2f /cite></figcaption><pre><code>//
d1660 20 54 68 69 73 20 68 65 61 64 65 72 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 7a 69 67 .This.header.is.generated.by.zig
d1680 20 66 72 6f 6d 20 62 61 73 65 36 34 2e 7a 69 67 0a 23 69 6e 63 6c 75 64 65 20 26 71 75 6f 74 3b .from.base64.zig.#include.&quot;
d16a0 62 61 73 65 36 34 2e 68 26 71 75 6f 74 3b 0a 0a 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 72 base64.h&quot;..#include.&lt;str
d16c0 69 6e 67 2e 68 26 67 74 3b 0a 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 64 69 6f 2e 68 26 67 ing.h&gt;.#include.&lt;stdio.h&g
d16e0 74 3b 0a 0a 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 t;..int.main(int.argc,.char.**ar
d1700 67 76 29 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 65 6e 63 6f 64 65 64 20 3d 20 gv).{.....const.char.*encoded.=.
d1720 26 71 75 6f 74 3b 59 57 78 73 49 48 6c 76 64 58 49 67 59 6d 46 7a 5a 53 42 68 63 6d 55 67 59 6d &quot;YWxsIHlvdXIgYmFzZSBhcmUgYm
d1740 56 73 62 32 35 6e 49 48 52 76 49 48 56 7a 26 71 75 6f 74 3b 3b 0a 20 20 20 20 63 68 61 72 20 62 Vsb25nIHRvIHVz&quot;;.....char.b
d1760 75 66 5b 32 30 30 5d 3b 0a 0a 20 20 20 20 73 69 7a 65 5f 74 20 6c 65 6e 20 3d 20 64 65 63 6f 64 uf[200];......size_t.len.=.decod
d1780 65 5f 62 61 73 65 5f 36 34 28 62 75 66 2c 20 32 30 30 2c 20 65 6e 63 6f 64 65 64 2c 20 73 74 72 e_base_64(buf,.200,.encoded,.str
d17a0 6c 65 6e 28 65 6e 63 6f 64 65 64 29 29 3b 0a 20 20 20 20 62 75 66 5b 6c 65 6e 5d 20 3d 20 30 3b len(encoded));.....buf[len].=.0;
d17c0 0a 20 20 20 20 70 75 74 73 28 62 75 66 29 3b 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d .....puts(buf);......return.0;.}
d17e0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 </code></pre></figure>.......<fi
d1800 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 gure><figcaption.class="zig-cap"
d1820 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 5f 6f 62 6a 65 63 74 ><cite.class="file">build_object
d1840 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f .zig</cite></figcaption><pre><co
d1860 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 de><span.class="tok-kw">const</s
d1880 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c pan>.std.=.<span.class="tok-buil
d18a0 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tin">@import</span>(<span.class=
d18c0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;std&quot;</span>
d18e0 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 );..<span.class="tok-kw">pub</sp
d1900 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 an>.<span.class="tok-kw">fn</spa
d1920 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c 2f 73 n>.<span.class="tok-fn">build</s
d1940 70 61 6e 3e 28 62 3a 20 2a 73 74 64 2e 42 75 69 6c 64 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>(b:.*std.Build).<span.class=
d1960 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 "tok-type">void</span>.{.....<sp
d1980 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f an.class="tok-kw">const</span>.o
d19a0 62 6a 20 3d 20 62 2e 61 64 64 4f 62 6a 65 63 74 28 2e 7b 0a 20 20 20 20 20 20 20 20 2e 6e 61 6d bj.=.b.addObject(.{..........nam
d19c0 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b e.=.<span.class="tok-str">&quot;
d19e0 62 61 73 65 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 72 6f base64&quot;</span>,..........ro
d1a00 6f 74 5f 73 6f 75 72 63 65 5f 66 69 6c 65 20 3d 20 2e 7b 20 2e 70 61 74 68 20 3d 20 3c 73 70 61 ot_source_file.=..{..path.=.<spa
d1a20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 2e 7a n.class="tok-str">&quot;base64.z
d1a40 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 7d 29 3b 0a 0a 20 20 20 20 ig&quot;</span>.},.....});......
d1a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
d1a80 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 2e 7b 0a 20 20 20 20 20 >.exe.=.b.addExecutable(.{......
d1aa0 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ....name.=.<span.class="tok-str"
d1ac0 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 29 >&quot;test&quot;</span>,.....})
d1ae0 3b 0a 20 20 20 20 65 78 65 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c 65 28 2e 7b 20 2e 66 69 6c ;.....exe.addCSourceFile(.{..fil
d1b00 65 20 3d 20 2e 7b 20 2e 70 61 74 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e.=..{..path.=.<span.class="tok-
d1b20 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7d str">&quot;test.c&quot;</span>.}
d1b40 2c 20 2e 66 6c 61 67 73 20 3d 20 26 61 6d 70 3b 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ,..flags.=.&amp;.{<span.class="t
d1b60 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 73 74 64 3d 63 39 39 26 71 75 6f 74 3b 3c 2f 73 70 ok-str">&quot;-std=c99&quot;</sp
d1b80 61 6e 3e 2c 7d 20 7d 29 3b 0a 20 20 20 20 65 78 65 2e 61 64 64 4f 62 6a 65 63 74 28 6f 62 6a 29 an>,}.});.....exe.addObject(obj)
d1ba0 3b 0a 20 20 20 20 65 78 65 2e 6c 69 6e 6b 53 79 73 74 65 6d 4c 69 62 72 61 72 79 28 3c 73 70 61 ;.....exe.linkSystemLibrary(<spa
d1bc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c n.class="tok-str">&quot;c&quot;<
d1be0 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 62 2e 69 6e 73 74 61 6c 6c 41 72 74 69 66 61 63 74 28 65 /span>);.....b.installArtifact(e
d1c00 78 65 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 xe);.}</code></pre></figure>....
d1c20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 ...<figure><figcaption.class="sh
d1c40 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ell-cap">Shell</figcaption><pre>
d1c60 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 3c 2f 6b 62 64 3e 0a 24 20 3c <samp>$.<kbd>zig.build</kbd>.$.<
d1c80 6b 62 64 3e 2e 2f 7a 69 67 2d 6f 75 74 2f 62 69 6e 2f 74 65 73 74 3c 2f 6b 62 64 3e 0a 61 6c 6c kbd>./zig-out/bin/test</kbd>.all
d1ca0 20 79 6f 75 72 20 62 61 73 65 20 61 72 65 20 62 65 6c 6f 6e 67 20 74 6f 20 75 73 0a 3c 2f 73 61 .your.base.are.belong.to.us.</sa
d1cc0 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 mp></pre></figure>.......<p>See.
d1ce0 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 61 72 67 also:</p><ul>.<li><a.href="#Targ
d1d00 65 74 73 22 3e 54 61 72 67 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 ets">Targets</a></li>.<li><a.hre
d1d20 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 f="#Zig-Build-System">Zig.Build.
d1d40 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 System</a></li>.</ul>...........
d1d60 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 57 65 62 41 73 73 65 6d 62 6c 79 22 3e ...........<h2.id="WebAssembly">
d1d80 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 65 62 41 73 73 65 6d 62 6c 79 22 3e 57 65 62 41 73 <a.href="#toc-WebAssembly">WebAs
d1da0 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 sembly</a>.<a.class="hdr".href="
d1dc0 23 57 65 62 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 #WebAssembly">..</a></h2>.......
d1de0 20 3c 70 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 62 75 69 6c 64 69 6e 67 20 66 6f 72 20 57 65 .<p>Zig.supports.building.for.We
d1e00 62 41 73 73 65 6d 62 6c 79 20 6f 75 74 20 6f 66 20 74 68 65 20 62 6f 78 2e 3c 2f 70 3e 0a 20 20 bAssembly.out.of.the.box.</p>...
d1e20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 3c 61 20 68 72 65 ....<h3.id="Freestanding"><a.hre
d1e40 66 3d 22 23 74 6f 63 2d 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 46 72 65 65 73 74 61 6e 64 69 f="#toc-Freestanding">Freestandi
d1e60 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 72 65 ng</a>.<a.class="hdr".href="#Fre
d1e80 65 73 74 61 6e 64 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 estanding">..</a></h3>........<p
d1ea0 3e 46 6f 72 20 68 6f 73 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 6c 69 6b 65 20 74 68 65 20 >For.host.environments.like.the.
d1ec0 77 65 62 20 62 72 6f 77 73 65 72 20 61 6e 64 20 6e 6f 64 65 6a 73 2c 20 62 75 69 6c 64 20 61 73 web.browser.and.nodejs,.build.as
d1ee0 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 75 73 69 6e 67 20 74 68 65 20 66 72 65 65 73 74 61 .an.executable.using.the.freesta
d1f00 6e 64 69 6e 67 0a 20 20 20 20 20 20 4f 53 20 74 61 72 67 65 74 2e 20 48 65 72 65 27 73 20 61 6e nding.......OS.target..Here's.an
d1f20 20 65 78 61 6d 70 6c 65 20 6f 66 20 72 75 6e 6e 69 6e 67 20 5a 69 67 20 63 6f 64 65 20 63 6f 6d .example.of.running.Zig.code.com
d1f40 70 69 6c 65 64 20 74 6f 20 57 65 62 41 73 73 65 6d 62 6c 79 20 77 69 74 68 20 6e 6f 64 65 6a 73 piled.to.WebAssembly.with.nodejs
d1f60 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 .</p>.......<figure><figcaption.
d1f80 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c class="zig-cap"><cite.class="fil
d1fa0 65 22 3e 6d 61 74 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c e">math.zig</cite></figcaption><
d1fc0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 pre><code><span.class="tok-kw">e
d1fe0 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xtern</span>.<span.class="tok-kw
d2000 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 ">fn</span>.<span.class="tok-fn"
d2020 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >print</span>(<span.class="tok-t
d2040 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">i32</span>).<span.class="to
d2060 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 k-type">void</span>;..<span.clas
d2080 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">export</span>.<span.c
d20a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c lass="tok-kw">fn</span>.<span.cl
d20c0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e ass="tok-fn">add</span>(a:.<span
d20e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a .class="tok-type">i32</span>,.b:
d2100 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 .<span.class="tok-type">i32</spa
d2120 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c n>).<span.class="tok-type">void<
d2140 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 70 72 69 6e 74 28 61 20 2b 20 62 29 3b 0a 7d 3c 2f 63 6f /span>.{.....print(a.+.b);.}</co
d2160 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 de></pre></figure><figure><figca
d2180 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 ption.class="shell-cap">Shell</f
d21a0 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 igcaption><pre><samp>$.<kbd>zig.
d21c0 62 75 69 6c 64 2d 65 78 65 20 6d 61 74 68 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 build-exe.math.zig.-target.wasm3
d21e0 32 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 20 2d 66 6e 6f 2d 65 6e 74 72 79 20 2d 2d 65 78 70 6f 2-freestanding.-fno-entry.--expo
d2200 72 74 3d 61 64 64 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 rt=add</kbd>.</samp></pre></figu
d2220 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c re>.......<figure><figcaption.cl
d2240 61 73 73 3d 22 6a 61 76 61 73 63 72 69 70 74 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 ass="javascript-cap"><cite.class
d2260 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 6a 73 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 ="file">test.js</cite></figcapti
d2280 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 63 6f 6e 73 74 20 66 73 20 3d 20 72 65 71 75 69 72 65 on><pre><code>const.fs.=.require
d22a0 28 27 66 73 27 29 3b 0a 63 6f 6e 73 74 20 73 6f 75 72 63 65 20 3d 20 66 73 2e 72 65 61 64 46 69 ('fs');.const.source.=.fs.readFi
d22c0 6c 65 53 79 6e 63 28 26 71 75 6f 74 3b 2e 2f 6d 61 74 68 2e 77 61 73 6d 26 71 75 6f 74 3b 29 3b leSync(&quot;./math.wasm&quot;);
d22e0 0a 63 6f 6e 73 74 20 74 79 70 65 64 41 72 72 61 79 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 .const.typedArray.=.new.Uint8Arr
d2300 61 79 28 73 6f 75 72 63 65 29 3b 0a 0a 57 65 62 41 73 73 65 6d 62 6c 79 2e 69 6e 73 74 61 6e 74 ay(source);..WebAssembly.instant
d2320 69 61 74 65 28 74 79 70 65 64 41 72 72 61 79 2c 20 7b 0a 20 20 65 6e 76 3a 20 7b 0a 20 20 20 20 iate(typedArray,.{...env:.{.....
d2340 70 72 69 6e 74 3a 20 28 72 65 73 75 6c 74 29 20 3d 26 67 74 3b 20 7b 20 63 6f 6e 73 6f 6c 65 2e print:.(result).=&gt;.{.console.
d2360 6c 6f 67 28 60 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 24 7b 72 65 73 75 6c 74 7d 60 29 3b 20 log(`The.result.is.${result}`);.
d2380 7d 0a 20 20 7d 7d 29 2e 74 68 65 6e 28 72 65 73 75 6c 74 20 3d 26 67 74 3b 20 7b 0a 20 20 63 6f }...}}).then(result.=&gt;.{...co
d23a0 6e 73 74 20 61 64 64 20 3d 20 72 65 73 75 6c 74 2e 69 6e 73 74 61 6e 63 65 2e 65 78 70 6f 72 74 nst.add.=.result.instance.export
d23c0 73 2e 61 64 64 3b 0a 20 20 61 64 64 28 31 2c 20 32 29 3b 0a 7d 29 3b 3c 2f 63 6f 64 65 3e 3c 2f s.add;...add(1,.2);.});</code></
d23e0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 pre></figure>.......<figure><fig
d2400 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c caption.class="shell-cap">Shell<
d2420 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 6e 6f /figcaption><pre><samp>$.<kbd>no
d2440 64 65 20 74 65 73 74 2e 6a 73 3c 2f 6b 62 64 3e 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 33 de.test.js</kbd>.The.result.is.3
d2460 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 .</samp></pre></figure>.........
d2480 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 41 53 49 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 .....<h3.id="WASI"><a.href="#toc
d24a0 2d 57 41 53 49 22 3e 57 41 53 49 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 -WASI">WASI</a>.<a.class="hdr".h
d24c0 72 65 66 3d 22 23 57 41 53 49 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ref="#WASI">..</a></h3>........<
d24e0 70 3e 5a 69 67 27 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 57 65 62 41 73 73 65 6d 62 6c 79 20 p>Zig's.support.for.WebAssembly.
d2500 53 79 73 74 65 6d 20 49 6e 74 65 72 66 61 63 65 20 28 57 41 53 49 29 20 69 73 20 75 6e 64 65 72 System.Interface.(WASI).is.under
d2520 20 61 63 74 69 76 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 0a 20 20 20 20 20 20 45 78 61 6d 70 .active.development........Examp
d2540 6c 65 20 6f 66 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 le.of.using.the.standard.library
d2560 20 61 6e 64 20 72 65 61 64 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 .and.reading.command.line.argume
d2580 6e 74 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 nts:</p>.......<figure><figcapti
d25a0 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 on.class="zig-cap"><cite.class="
d25c0 66 69 6c 65 22 3e 77 61 73 69 5f 61 72 67 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 file">wasi_args.zig</cite></figc
d25e0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 aption><pre><code><span.class="t
d2600 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.std.=.<span.
d2620 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 class="tok-builtin">@import</spa
d2640 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 n>(<span.class="tok-str">&quot;s
d2660 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 td&quot;</span>);..<span.class="
d2680 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tok-kw">pub</span>.<span.class="
d26a0 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tok-kw">fn</span>.<span.class="t
d26c0 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 ok-fn">main</span>().!<span.clas
d26e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c s="tok-type">void</span>.{.....<
d2700 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 span.class="tok-kw">var</span>.g
d2720 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 eneral_purpose_allocator.=.std.h
d2740 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 28 2e 7b 7d 29 eap.GeneralPurposeAllocator(.{})
d2760 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e {};.....<span.class="tok-kw">con
d2780 73 74 3c 2f 73 70 61 6e 3e 20 67 70 61 20 3d 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f st</span>.gpa.=.general_purpose_
d27a0 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e allocator.allocator();.....<span
d27c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 67 .class="tok-kw">const</span>.arg
d27e0 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 s.=.<span.class="tok-kw">try</sp
d2800 61 6e 3e 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 61 72 67 73 41 6c 6c 6f 63 28 67 70 61 29 3b 0a an>.std.process.argsAlloc(gpa);.
d2820 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f ....<span.class="tok-kw">defer</
d2840 73 70 61 6e 3e 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 61 72 67 73 46 72 65 65 28 67 70 61 2c 20 span>.std.process.argsFree(gpa,.
d2860 61 72 67 73 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 args);......<span.class="tok-kw"
d2880 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 61 72 67 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >for</span>.(args,.<span.class="
d28a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 61 72 67 2c 20 69 7c tok-number">0</span>..).|arg,.i|
d28c0 20 7b 0a 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e .{.........std.debug.print(<span
d28e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 3a 20 7b 73 7d 5c 6e .class="tok-str">&quot;{}:.{s}\n
d2900 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 69 2c 20 61 72 67 20 7d 29 3b 0a 20 20 20 &quot;</span>,..{.i,.arg.});....
d2920 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 .}.}</code></pre></figure><figur
d2940 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e e><figcaption.class="shell-cap">
d2960 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c Shell</figcaption><pre><samp>$.<
d2980 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 77 61 73 69 5f 61 72 67 73 2e 7a 69 67 20 kbd>zig.build-exe.wasi_args.zig.
d29a0 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 77 61 73 69 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 -target.wasm32-wasi</kbd>.</samp
d29c0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ></pre></figure>.......<figure><
d29e0 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 65 figcaption.class="shell-cap">She
d2a00 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 64 ll</figcaption><pre><samp>$.<kbd
d2a20 3e 77 61 73 6d 74 69 6d 65 20 77 61 73 69 5f 61 72 67 73 2e 77 61 73 6d 20 31 32 33 20 68 65 6c >wasmtime.wasi_args.wasm.123.hel
d2a40 6c 6f 3c 2f 6b 62 64 3e 0a 30 3a 20 77 61 73 69 5f 61 72 67 73 2e 77 61 73 6d 0a 31 3a 20 31 32 lo</kbd>.0:.wasi_args.wasm.1:.12
d2a60 33 0a 32 3a 20 68 65 6c 6c 6f 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3.2:.hello.</samp></pre></figure
d2a80 3e 0a 20 20 20 20 20 20 3c 70 3e 41 20 6d 6f 72 65 20 69 6e 74 65 72 65 73 74 69 6e 67 20 65 78 >.......<p>A.more.interesting.ex
d2aa0 61 6d 70 6c 65 20 77 6f 75 6c 64 20 62 65 20 65 78 74 72 61 63 74 69 6e 67 20 74 68 65 20 6c 69 ample.would.be.extracting.the.li
d2ac0 73 74 20 6f 66 20 70 72 65 6f 70 65 6e 73 20 66 72 6f 6d 20 74 68 65 20 72 75 6e 74 69 6d 65 2e st.of.preopens.from.the.runtime.
d2ae0 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6e 6f 77 20 73 75 70 70 6f 72 74 65 64 20 69 6e 20 .......This.is.now.supported.in.
d2b00 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 76 69 61 20 3c 63 6f 64 65 3e 73 the.standard.library.via.<code>s
d2b20 74 64 2e 66 73 2e 77 61 73 69 2e 50 72 65 6f 70 65 6e 73 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a td.fs.wasi.Preopens</code>:</p>.
d2b40 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d ......<figure><figcaption.class=
d2b60 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 61 73 "zig-cap"><cite.class="file">was
d2b80 69 5f 70 72 65 6f 70 65 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f i_preopens.zig</cite></figcaptio
d2ba0 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n><pre><code><span.class="tok-kw
d2bc0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.std.=.<span.class
d2be0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@import</span>(<s
d2c00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 pan.class="tok-str">&quot;std&qu
d2c20 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ot;</span>);.<span.class="tok-kw
d2c40 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 73 20 3d 20 73 74 64 2e 66 73 3b 0a 0a 3c 73 70 ">const</span>.fs.=.std.fs;..<sp
d2c60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 an.class="tok-kw">pub</span>.<sp
d2c80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 an.class="tok-kw">fn</span>.<spa
d2ca0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 n.class="tok-fn">main</span>().!
d2cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 <span.class="tok-type">void</spa
d2ce0 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 n>.{.....<span.class="tok-kw">va
d2d00 72 3c 2f 73 70 61 6e 3e 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 r</span>.general_purpose_allocat
d2d20 6f 72 20 3d 20 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f or.=.std.heap.GeneralPurposeAllo
d2d40 63 61 74 6f 72 28 2e 7b 7d 29 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 cator(.{}){};.....<span.class="t
d2d60 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 67 70 61 20 3d 20 67 65 6e 65 72 61 ok-kw">const</span>.gpa.=.genera
d2d80 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b l_purpose_allocator.allocator();
d2da0 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f ......<span.class="tok-kw">var</
d2dc0 73 70 61 6e 3e 20 61 72 65 6e 61 5f 69 6e 73 74 61 6e 63 65 20 3d 20 73 74 64 2e 68 65 61 70 2e span>.arena_instance.=.std.heap.
d2de0 41 72 65 6e 61 41 6c 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 67 70 61 29 3b 0a 20 20 20 20 3c 73 ArenaAllocator.init(gpa);.....<s
d2e00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">defer</span>.
d2e20 61 72 65 6e 61 5f 69 6e 73 74 61 6e 63 65 2e 64 65 69 6e 69 74 28 29 3b 0a 20 20 20 20 3c 73 70 arena_instance.deinit();.....<sp
d2e40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 an.class="tok-kw">const</span>.a
d2e60 72 65 6e 61 20 3d 20 61 72 65 6e 61 5f 69 6e 73 74 61 6e 63 65 2e 61 6c 6c 6f 63 61 74 6f 72 28 rena.=.arena_instance.allocator(
d2e80 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e );......<span.class="tok-kw">con
d2ea0 73 74 3c 2f 73 70 61 6e 3e 20 70 72 65 6f 70 65 6e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 st</span>.preopens.=.<span.class
d2ec0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 66 73 2e 77 61 73 69 2e 70 72 65 ="tok-kw">try</span>.fs.wasi.pre
d2ee0 6f 70 65 6e 73 41 6c 6c 6f 63 28 61 72 65 6e 61 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c opensAlloc(arena);......<span.cl
d2f00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 70 72 65 6f 70 65 6e ass="tok-kw">for</span>.(preopen
d2f20 73 2e 6e 61 6d 65 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 s.names,.<span.class="tok-number
d2f40 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 70 72 65 6f 70 65 6e 2c 20 69 7c 20 7b 0a 20 20 20 ">0</span>..).|preopen,.i|.{....
d2f60 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 .....std.debug.print(<span.class
d2f80 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b ="tok-str">&quot;{}:.{s}\n&quot;
d2fa0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 69 2c 20 70 72 65 6f 70 65 6e 20 7d 29 3b 0a 20 20 20 20 7d </span>,..{.i,.preopen.});.....}
d2fc0 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 3c 66 69 67 75 72 65 3e .}</code></pre></figure><figure>
d2fe0 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 68 <figcaption.class="shell-cap">Sh
d3000 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b 62 ell</figcaption><pre><samp>$.<kb
d3020 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 77 61 73 69 5f 70 72 65 6f 70 65 6e 73 2e 7a 69 d>zig.build-exe.wasi_preopens.zi
d3040 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 77 61 73 69 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 g.-target.wasm32-wasi</kbd>.</sa
d3060 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 mp></pre></figure>.......<figure
d3080 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 2d 63 61 70 22 3e 53 ><figcaption.class="shell-cap">S
d30a0 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 24 20 3c 6b hell</figcaption><pre><samp>$.<k
d30c0 62 64 3e 77 61 73 6d 74 69 6d 65 20 2d 2d 64 69 72 3d 2e 20 77 61 73 69 5f 70 72 65 6f 70 65 6e bd>wasmtime.--dir=..wasi_preopen
d30e0 73 2e 77 61 73 6d 3c 2f 6b 62 64 3e 0a 30 3a 20 73 74 64 69 6e 0a 31 3a 20 73 74 64 6f 75 74 0a s.wasm</kbd>.0:.stdin.1:.stdout.
d3100 32 3a 20 73 74 64 65 72 72 0a 33 3a 20 2e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 2:.stderr.3:...</samp></pre></fi
d3120 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 gure>.....................<h2.id
d3140 3d 22 54 61 72 67 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 61 72 67 65 74 73 ="Targets"><a.href="#toc-Targets
d3160 22 3e 54 61 72 67 65 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ">Targets</a>.<a.class="hdr".hre
d3180 66 3d 22 23 54 61 72 67 65 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 f="#Targets">..</a></h2>........
d31a0 3c 70 3e 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 54 61 72 67 65 74 3c 2f 73 74 72 6f 6e 67 <p>.......<strong>Target</strong
d31c0 3e 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 63 6f 6d 70 75 74 65 72 20 74 68 61 74 20 77 69 >.refers.to.the.computer.that.wi
d31e0 6c 6c 20 62 65 20 75 73 65 64 20 74 6f 20 72 75 6e 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 2e ll.be.used.to.run.an.executable.
d3200 0a 20 20 20 20 20 20 49 74 20 69 73 20 63 6f 6d 70 6f 73 65 64 20 6f 66 20 74 68 65 20 43 50 55 .......It.is.composed.of.the.CPU
d3220 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 74 68 65 20 73 65 74 20 6f 66 20 65 6e 61 62 6c 65 .architecture,.the.set.of.enable
d3240 64 20 43 50 55 20 66 65 61 74 75 72 65 73 2c 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d d.CPU.features,.operating.system
d3260 2c 0a 20 20 20 20 20 20 6d 69 6e 69 6d 75 6d 20 61 6e 64 20 6d 61 78 69 6d 75 6d 20 6f 70 65 72 ,.......minimum.and.maximum.oper
d3280 61 74 69 6e 67 20 73 79 73 74 65 6d 20 76 65 72 73 69 6f 6e 2c 20 41 42 49 2c 20 61 6e 64 20 41 ating.system.version,.ABI,.and.A
d32a0 42 49 20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e BI.version........</p>.......<p>
d32c0 0a 20 20 20 20 20 20 5a 69 67 20 69 73 20 61 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 .......Zig.is.a.general-purpose.
d32e0 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 77 68 69 63 68 20 6d 65 61 6e 73 programming.language.which.means
d3300 20 74 68 61 74 20 69 74 20 69 73 20 64 65 73 69 67 6e 65 64 20 74 6f 0a 20 20 20 20 20 20 67 65 .that.it.is.designed.to.......ge
d3320 6e 65 72 61 74 65 20 6f 70 74 69 6d 61 6c 20 63 6f 64 65 20 66 6f 72 20 61 20 6c 61 72 67 65 20 nerate.optimal.code.for.a.large.
d3340 73 65 74 20 6f 66 20 74 61 72 67 65 74 73 2e 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 3c 63 6f 64 set.of.targets..The.command.<cod
d3360 65 3e 7a 69 67 20 74 61 72 67 65 74 73 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 70 72 6f 76 69 e>zig.targets</code>.......provi
d3380 64 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 6c 6c 20 6f 66 20 74 68 65 des.information.about.all.of.the
d33a0 20 74 61 72 67 65 74 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 61 77 61 72 65 20 6f .targets.the.compiler.is.aware.o
d33c0 66 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 6e 6f 20 74 61 72 67 65 74 20 6f f.</p>.......<p>When.no.target.o
d33e0 70 74 69 6f 6e 20 69 73 20 70 72 6f 76 69 64 65 64 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 ption.is.provided.to.the.compile
d3400 72 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 68 6f 69 63 65 0a 20 20 20 20 20 20 69 73 20 74 r,.the.default.choice.......is.t
d3420 6f 20 74 61 72 67 65 74 20 74 68 65 20 3c 73 74 72 6f 6e 67 3e 68 6f 73 74 20 63 6f 6d 70 75 74 o.target.the.<strong>host.comput
d3440 65 72 3c 2f 73 74 72 6f 6e 67 3e 2c 20 6d 65 61 6e 69 6e 67 20 74 68 61 74 20 74 68 65 0a 20 20 er</strong>,.meaning.that.the...
d3460 20 20 20 20 72 65 73 75 6c 74 69 6e 67 20 65 78 65 63 75 74 61 62 6c 65 20 77 69 6c 6c 20 62 65 ....resulting.executable.will.be
d3480 20 3c 65 6d 3e 75 6e 73 75 69 74 61 62 6c 65 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 74 6f 20 61 .<em>unsuitable.for.copying.to.a
d34a0 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 63 6f 6d 70 75 74 65 72 3c 2f 65 6d 3e 2e 20 .different.......computer</em>..
d34c0 49 6e 20 6f 72 64 65 72 20 74 6f 20 63 6f 70 79 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 74 In.order.to.copy.an.executable.t
d34e0 6f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 70 75 74 65 72 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 o.another.computer,.the.compiler
d3500 0a 20 20 20 20 20 20 6e 65 65 64 73 20 74 6f 20 6b 6e 6f 77 20 61 62 6f 75 74 20 74 68 65 20 74 .......needs.to.know.about.the.t
d3520 61 72 67 65 74 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 76 69 61 20 74 68 65 20 3c 63 6f 64 65 arget.requirements.via.the.<code
d3540 3e 2d 74 61 72 67 65 74 3c 2f 63 6f 64 65 3e 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f >-target</code>.option........</
d3560 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 53 74 61 6e 64 p>.......<p>.......The.Zig.Stand
d3580 61 72 64 20 4c 69 62 72 61 72 79 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ard.Library.(<code><span.class="
d35a0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 tok-builtin">@import</span>(<spa
d35c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 n.class="tok-str">&quot;std&quot
d35e0 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 29 20 68 61 73 0a 20 20 20 20 20 20 63 72 6f 73 ;</span>)</code>).has.......cros
d3600 73 2d 70 6c 61 74 66 6f 72 6d 20 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 6d 61 6b 69 6e 67 20 s-platform.abstractions,.making.
d3620 74 68 65 20 73 61 6d 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 76 69 61 62 6c 65 20 6f 6e 20 6d the.same.source.code.viable.on.m
d3640 61 6e 79 20 74 61 72 67 65 74 73 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 63 6f 64 65 20 69 73 20 any.targets........Some.code.is.
d3660 6d 6f 72 65 20 70 6f 72 74 61 62 6c 65 20 74 68 61 6e 20 6f 74 68 65 72 20 63 6f 64 65 2e 20 49 more.portable.than.other.code..I
d3680 6e 20 67 65 6e 65 72 61 6c 2c 20 5a 69 67 20 63 6f 64 65 20 69 73 20 65 78 74 72 65 6d 65 6c 79 n.general,.Zig.code.is.extremely
d36a0 0a 20 20 20 20 20 20 70 6f 72 74 61 62 6c 65 20 63 6f 6d 70 61 72 65 64 20 74 6f 20 6f 74 68 65 .......portable.compared.to.othe
d36c0 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 2e 0a 20 20 20 20 20 20 3c r.programming.languages........<
d36e0 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 70 6c 61 74 66 6f 72 /p>.......<p>.......Each.platfor
d3700 6d 20 72 65 71 75 69 72 65 73 20 69 74 73 20 6f 77 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f m.requires.its.own.implementatio
d3720 6e 73 20 74 6f 20 6d 61 6b 65 20 5a 69 67 27 73 0a 20 20 20 20 20 20 63 72 6f 73 73 2d 70 6c 61 ns.to.make.Zig's.......cross-pla
d3740 74 66 6f 72 6d 20 61 62 73 74 72 61 63 74 69 6f 6e 73 20 77 6f 72 6b 2e 20 54 68 65 73 65 20 69 tform.abstractions.work..These.i
d3760 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 61 72 65 20 61 74 20 76 61 72 69 6f 75 73 0a 20 20 mplementations.are.at.various...
d3780 20 20 20 20 64 65 67 72 65 65 73 20 6f 66 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 45 61 63 68 20 ....degrees.of.completion..Each.
d37a0 74 61 67 67 65 64 20 72 65 6c 65 61 73 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 tagged.release.of.the.compiler.c
d37c0 6f 6d 65 73 20 77 69 74 68 0a 20 20 20 20 20 20 72 65 6c 65 61 73 65 20 6e 6f 74 65 73 20 74 68 omes.with.......release.notes.th
d37e0 61 74 20 70 72 6f 76 69 64 65 20 74 68 65 20 66 75 6c 6c 20 73 75 70 70 6f 72 74 20 74 61 62 6c at.provide.the.full.support.tabl
d3800 65 20 66 6f 72 20 65 61 63 68 20 74 61 72 67 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 e.for.each.target........</p>...
d3820 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 74 79 6c 65 2d 47 75 69 64 65 22 3e ...........<h2.id="Style-Guide">
d3840 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 53 74 79 6c 65 <a.href="#toc-Style-Guide">Style
d3860 20 47 75 69 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 .Guide</a>.<a.class="hdr".href="
d3880 23 53 74 79 6c 65 2d 47 75 69 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 #Style-Guide">..</a></h2>.......
d38a0 20 3c 70 3e 0a 54 68 65 73 65 20 63 6f 64 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 61 72 .<p>.These.coding.conventions.ar
d38c0 65 20 6e 6f 74 20 65 6e 66 6f 72 63 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2c 20 e.not.enforced.by.the.compiler,.
d38e0 62 75 74 20 74 68 65 79 20 61 72 65 20 73 68 69 70 70 65 64 20 69 6e 0a 74 68 69 73 20 64 6f 63 but.they.are.shipped.in.this.doc
d3900 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 6c umentation.along.with.the.compil
d3920 65 72 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 70 6f 69 6e 74 20 6f er.in.order.to.provide.a.point.o
d3940 66 0a 72 65 66 65 72 65 6e 63 65 2c 20 73 68 6f 75 6c 64 20 61 6e 79 6f 6e 65 20 77 69 73 68 20 f.reference,.should.anyone.wish.
d3960 74 6f 20 70 6f 69 6e 74 20 74 6f 20 61 6e 20 61 75 74 68 6f 72 69 74 79 20 6f 6e 20 61 67 72 65 to.point.to.an.authority.on.agre
d3980 65 64 20 75 70 6f 6e 20 5a 69 67 0a 63 6f 64 69 6e 67 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 20 ed.upon.Zig.coding.style........
d39a0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 </p>.......<h3.id="Avoid-Redunda
d39c0 6e 63 79 2d 69 6e 2d 4e 61 6d 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 76 6f 69 ncy-in-Names"><a.href="#toc-Avoi
d39e0 64 2d 52 65 64 75 6e 64 61 6e 63 79 2d 69 6e 2d 4e 61 6d 65 73 22 3e 41 76 6f 69 64 20 52 65 64 d-Redundancy-in-Names">Avoid.Red
d3a00 75 6e 64 61 6e 63 79 20 69 6e 20 4e 61 6d 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 undancy.in.Names</a>.<a.class="h
d3a20 64 72 22 20 68 72 65 66 3d 22 23 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 63 79 2d 69 6e 2d 4e dr".href="#Avoid-Redundancy-in-N
d3a40 61 6d 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 76 6f 69 ames">..</a></h3>........<p>Avoi
d3a60 64 20 74 68 65 73 65 20 77 6f 72 64 73 20 69 6e 20 74 79 70 65 20 6e 61 6d 65 73 3a 3c 2f 70 3e d.these.words.in.type.names:</p>
d3a80 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 56 61 6c 75 65 3c 2f 6c .......<ul>.........<li>Value</l
d3aa0 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 61 74 61 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 i>.........<li>Data</li>........
d3ac0 20 3c 6c 69 3e 43 6f 6e 74 65 78 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 61 .<li>Context</li>.........<li>Ma
d3ae0 6e 61 67 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 75 74 69 6c 73 2c 20 6d 69 nager</li>.........<li>utils,.mi
d3b00 73 63 2c 20 6f 72 20 73 6f 6d 65 62 6f 64 79 27 73 20 69 6e 69 74 69 61 6c 73 3c 2f 6c 69 3e 0a sc,.or.somebody's.initials</li>.
d3b20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 45 76 65 72 79 74 68 69 6e 67 20 ......</ul>.......<p>Everything.
d3b40 69 73 20 61 20 76 61 6c 75 65 2c 20 61 6c 6c 20 74 79 70 65 73 20 61 72 65 20 64 61 74 61 2c 20 is.a.value,.all.types.are.data,.
d3b60 65 76 65 72 79 74 68 69 6e 67 20 69 73 20 63 6f 6e 74 65 78 74 2c 20 61 6c 6c 20 6c 6f 67 69 63 everything.is.context,.all.logic
d3b80 20 6d 61 6e 61 67 65 73 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 4e 6f 74 68 69 6e 67 20 69 73 .manages.state........Nothing.is
d3ba0 20 63 6f 6d 6d 75 6e 69 63 61 74 65 64 20 62 79 20 75 73 69 6e 67 20 61 20 77 6f 72 64 20 74 68 .communicated.by.using.a.word.th
d3bc0 61 74 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6c 6c 20 74 79 70 65 73 2e 3c 2f 70 3e 20 0a 20 20 at.applies.to.all.types.</p>....
d3be0 20 20 20 20 3c 70 3e 54 65 6d 70 74 61 74 69 6f 6e 20 74 6f 20 75 73 65 20 22 75 74 69 6c 69 74 ....<p>Temptation.to.use."utilit
d3c00 69 65 73 22 2c 20 22 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 22 2c 20 6f 72 20 73 6f 6d 65 62 6f ies",."miscellaneous",.or.somebo
d3c20 64 79 27 73 20 69 6e 69 74 69 61 6c 73 0a 20 20 20 20 20 20 69 73 20 61 20 66 61 69 6c 75 72 65 dy's.initials.......is.a.failure
d3c40 20 74 6f 20 63 61 74 65 67 6f 72 69 7a 65 2c 20 6f 72 20 6d 6f 72 65 20 63 6f 6d 6d 6f 6e 6c 79 .to.categorize,.or.more.commonly
d3c60 2c 20 6f 76 65 72 63 61 74 65 67 6f 72 69 7a 61 74 69 6f 6e 2e 20 53 75 63 68 0a 20 20 20 20 20 ,.overcategorization..Such......
d3c80 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 63 61 6e 20 6c 69 76 65 20 61 74 20 74 68 65 20 72 6f .declarations.can.live.at.the.ro
d3ca0 6f 74 20 6f 66 20 61 20 6d 6f 64 75 6c 65 20 74 68 61 74 20 6e 65 65 64 73 20 74 68 65 6d 20 77 ot.of.a.module.that.needs.them.w
d3cc0 69 74 68 20 6e 6f 0a 20 20 20 20 20 20 6e 61 6d 65 73 70 61 63 65 20 6e 65 65 64 65 64 2e 3c 2f ith.no.......namespace.needed.</
d3ce0 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 76 6f 69 64 2d 52 p>...............<h3.id="Avoid-R
d3d00 65 64 75 6e 64 61 6e 74 2d 4e 61 6d 65 73 2d 69 6e 2d 46 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 edundant-Names-in-Fully-Qualifie
d3d20 64 2d 4e 61 6d 65 73 70 61 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 76 6f 69 d-Namespaces"><a.href="#toc-Avoi
d3d40 64 2d 52 65 64 75 6e 64 61 6e 74 2d 4e 61 6d 65 73 2d 69 6e 2d 46 75 6c 6c 79 2d 51 75 61 6c 69 d-Redundant-Names-in-Fully-Quali
d3d60 66 69 65 64 2d 4e 61 6d 65 73 70 61 63 65 73 22 3e 41 76 6f 69 64 20 52 65 64 75 6e 64 61 6e 74 fied-Namespaces">Avoid.Redundant
d3d80 20 4e 61 6d 65 73 20 69 6e 20 46 75 6c 6c 79 2d 51 75 61 6c 69 66 69 65 64 20 4e 61 6d 65 73 70 .Names.in.Fully-Qualified.Namesp
d3da0 61 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 aces</a>.<a.class="hdr".href="#A
d3dc0 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 74 2d 4e 61 6d 65 73 2d 69 6e 2d 46 75 6c 6c 79 2d 51 75 void-Redundant-Names-in-Fully-Qu
d3de0 61 6c 69 66 69 65 64 2d 4e 61 6d 65 73 70 61 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a alified-Namespaces">..</a></h3>.
d3e00 0a 20 20 20 20 20 20 3c 70 3e 45 76 65 72 79 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 73 20 61 .......<p>Every.declaration.is.a
d3e20 73 73 69 67 6e 65 64 20 61 20 3c 73 74 72 6f 6e 67 3e 66 75 6c 6c 79 20 71 75 61 6c 69 66 69 65 ssigned.a.<strong>fully.qualifie
d3e40 64 0a 20 20 20 20 20 20 6e 61 6d 65 73 70 61 63 65 3c 2f 73 74 72 6f 6e 67 3e 20 62 79 20 74 68 d.......namespace</strong>.by.th
d3e60 65 20 63 6f 6d 70 69 6c 65 72 2c 20 63 72 65 61 74 69 6e 67 20 61 20 74 72 65 65 20 73 74 72 75 e.compiler,.creating.a.tree.stru
d3e80 63 74 75 72 65 2e 20 43 68 6f 6f 73 65 20 6e 61 6d 65 73 20 62 61 73 65 64 0a 20 20 20 20 20 20 cture..Choose.names.based.......
d3ea0 6f 6e 20 74 68 65 20 66 75 6c 6c 79 2d 71 75 61 6c 69 66 69 65 64 20 6e 61 6d 65 73 70 61 63 65 on.the.fully-qualified.namespace
d3ec0 2c 20 61 6e 64 20 61 76 6f 69 64 20 72 65 64 75 6e 64 61 6e 74 20 6e 61 6d 65 20 73 65 67 6d 65 ,.and.avoid.redundant.name.segme
d3ee0 6e 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 nts.</p>.......<figure><figcapti
d3f00 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 on.class="zig-cap"><cite.class="
d3f20 66 69 6c 65 22 3e 72 65 64 75 6e 64 61 6e 74 5f 66 71 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f file">redundant_fqn.zig</cite></
d3f40 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><code><span.clas
d3f60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 s="tok-kw">const</span>.std.=.<s
d3f80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c pan.class="tok-builtin">@import<
d3fa0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>(<span.class="tok-str">&qu
d3fc0 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 ot;std&quot;</span>);..<span.cla
d3fe0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ss="tok-kw">pub</span>.<span.cla
d4000 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6a 73 6f 6e 20 3d 20 ss="tok-kw">const</span>.json.=.
d4020 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 <span.class="tok-kw">struct</spa
d4040 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 n>.{.....<span.class="tok-kw">pu
d4060 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f b</span>.<span.class="tok-kw">co
d4080 6e 73 74 3c 2f 73 70 61 6e 3e 20 4a 73 6f 6e 56 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 nst</span>.JsonValue.=.<span.cla
d40a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 ss="tok-kw">union</span>(<span.c
d40c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 lass="tok-kw">enum</span>).{....
d40e0 20 20 20 20 20 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 .....number:.<span.class="tok-ty
d4100 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 62 6f 6f 6c 65 61 6e 3a pe">f64</span>,.........boolean:
d4120 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 .<span.class="tok-type">bool</sp
d4140 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f an>,.........<span.class="tok-co
d4160 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 7d 3b 0a 7d 3b 0a 0a mment">//....</span>.....};.};..
d4180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">pub</span>.
d41a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c <span.class="tok-kw">fn</span>.<
d41c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 span.class="tok-fn">main</span>(
d41e0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 ).<span.class="tok-type">void</s
d4200 70 61 6e 3e 20 7b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e pan>.{.....std.debug.print(<span
d4220 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 73 7d 5c 6e 26 71 75 6f .class="tok-str">&quot;{s}\n&quo
d4240 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t;</span>,..{<span.class="tok-bu
d4260 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 6a 73 6f 6e 2e 4a 73 6f iltin">@typeName</span>(json.Jso
d4280 6e 56 61 6c 75 65 29 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 nValue)});.}</code></pre></figur
d42a0 65 3e 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 e><figure><figcaption.class="she
d42c0 6c 6c 2d 63 61 70 22 3e 53 68 65 6c 6c 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ll-cap">Shell</figcaption><pre><
d42e0 73 61 6d 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 72 65 64 75 6e 64 samp>$.<kbd>zig.build-exe.redund
d4300 61 6e 74 5f 66 71 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 65 64 75 6e ant_fqn.zig</kbd>.$.<kbd>./redun
d4320 64 61 6e 74 5f 66 71 6e 3c 2f 6b 62 64 3e 0a 72 65 64 75 6e 64 61 6e 74 5f 66 71 6e 2e 6a 73 6f dant_fqn</kbd>.redundant_fqn.jso
d4340 6e 2e 4a 73 6f 6e 56 61 6c 75 65 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 n.JsonValue.</samp></pre></figur
d4360 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 22 6a 73 e>.......<p>In.this.example,."js
d4380 6f 6e 22 20 69 73 20 72 65 70 65 61 74 65 64 20 69 6e 20 74 68 65 20 66 75 6c 6c 79 2d 71 75 61 on".is.repeated.in.the.fully-qua
d43a0 6c 69 66 69 65 64 20 6e 61 6d 65 73 70 61 63 65 2e 20 54 68 65 20 73 6f 6c 75 74 69 6f 6e 0a 20 lified.namespace..The.solution..
d43c0 20 20 20 20 20 69 73 20 74 6f 20 64 65 6c 65 74 65 20 3c 63 6f 64 65 3e 4a 73 6f 6e 3c 2f 63 6f .....is.to.delete.<code>Json</co
d43e0 64 65 3e 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 4a 73 6f 6e 56 61 6c 75 65 3c 2f 63 6f 64 65 3e 2e de>.from.<code>JsonValue</code>.
d4400 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 77 65 20 68 61 76 65 0a 20 20 20 20 20 20 61 .In.this.example.we.have.......a
d4420 6e 20 65 6d 70 74 79 20 73 74 72 75 63 74 20 6e 61 6d 65 64 20 3c 63 6f 64 65 3e 6a 73 6f 6e 3c n.empty.struct.named.<code>json<
d4440 2f 63 6f 64 65 3e 20 62 75 74 20 72 65 6d 65 6d 62 65 72 20 74 68 61 74 20 66 69 6c 65 73 20 61 /code>.but.remember.that.files.a
d4460 6c 73 6f 20 61 63 74 0a 20 20 20 20 20 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 66 75 6c lso.act.......as.part.of.the.ful
d4480 6c 79 2d 71 75 61 6c 69 66 69 65 64 20 6e 61 6d 65 73 70 61 63 65 2e 3c 2f 70 3e 0a 20 20 20 20 ly-qualified.namespace.</p>.....
d44a0 20 20 3c 70 3e 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 61 6e 20 65 78 63 65 70 74 69 6f ..<p>This.example.is.an.exceptio
d44c0 6e 20 74 6f 20 74 68 65 20 72 75 6c 65 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 3c 61 20 68 72 n.to.the.rule.specified.in.<a.hr
d44e0 65 66 3d 22 23 41 76 6f 69 64 2d 52 65 64 75 6e 64 61 6e 63 79 2d 69 6e 2d 4e 61 6d 65 73 22 3e ef="#Avoid-Redundancy-in-Names">
d4500 41 76 6f 69 64 20 52 65 64 75 6e 64 61 6e 63 79 20 69 6e 20 4e 61 6d 65 73 3c 2f 61 3e 2e 0a 20 Avoid.Redundancy.in.Names</a>...
d4520 20 20 20 20 20 54 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 74 68 65 20 74 79 70 65 20 68 61 73 .....The.meaning.of.the.type.has
d4540 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 74 6f 20 69 74 73 20 63 6f 72 65 3a 20 69 74 20 69 73 .been.reduced.to.its.core:.it.is
d4560 20 61 20 6a 73 6f 6e 20 76 61 6c 75 65 2e 20 54 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 63 61 .a.json.value..The.name.......ca
d4580 6e 6e 6f 74 20 62 65 20 61 6e 79 20 6d 6f 72 65 20 73 70 65 63 69 66 69 63 20 77 69 74 68 6f 75 nnot.be.any.more.specific.withou
d45a0 74 20 62 65 69 6e 67 20 69 6e 63 6f 72 72 65 63 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 t.being.incorrect.</p>..........
d45c0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 68 69 74 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 66 .....<h3.id="Whitespace"><a.href
d45e0 3d 22 23 74 6f 63 2d 57 68 69 74 65 73 70 61 63 65 22 3e 57 68 69 74 65 73 70 61 63 65 3c 2f 61 ="#toc-Whitespace">Whitespace</a
d4600 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 68 69 74 65 73 70 61 >.<a.class="hdr".href="#Whitespa
d4620 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ce">..</a></h3>........<ul>.....
d4640 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 34 20 73 70 61 63 65 20 69 6e 64 65 6e ....<li>...........4.space.inden
d4660 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 tation.........</li>.........<li
d4680 3e 0a 20 20 20 20 20 20 20 20 20 20 4f 70 65 6e 20 62 72 61 63 65 73 20 6f 6e 20 73 61 6d 65 20 >...........Open.braces.on.same.
d46a0 6c 69 6e 65 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 77 72 61 70 2e 0a 20 line,.unless.you.need.to.wrap...
d46c0 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 61 20 6c 69 .......</li>.........<li>If.a.li
d46e0 73 74 20 6f 66 20 74 68 69 6e 67 73 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 32 2c 20 70 st.of.things.is.longer.than.2,.p
d4700 75 74 20 65 61 63 68 20 69 74 65 6d 20 6f 6e 20 69 74 73 20 6f 77 6e 20 6c 69 6e 65 20 61 6e 64 ut.each.item.on.its.own.line.and
d4720 0a 20 20 20 20 20 20 20 20 20 20 65 78 65 72 63 69 73 65 20 74 68 65 20 61 62 69 6c 69 74 79 20 ...........exercise.the.ability.
d4740 74 6f 20 70 75 74 20 61 6e 20 65 78 74 72 61 20 63 6f 6d 6d 61 20 61 74 20 74 68 65 20 65 6e 64 to.put.an.extra.comma.at.the.end
d4760 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 ..........</li>.........<li>....
d4780 20 20 20 20 20 20 20 4c 69 6e 65 20 6c 65 6e 67 74 68 3a 20 61 69 6d 20 66 6f 72 20 31 30 30 3b .......Line.length:.aim.for.100;
d47a0 20 75 73 65 20 63 6f 6d 6d 6f 6e 20 73 65 6e 73 65 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e .use.common.sense..........</li>
d47c0 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 .......</ul>..............<h3.id
d47e0 3d 22 4e 61 6d 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4e 61 6d 65 73 22 3e 4e 61 ="Names"><a.href="#toc-Names">Na
d4800 6d 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4e 61 mes</a>.<a.class="hdr".href="#Na
d4820 6d 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 mes">..</a></h3>........<p>.....
d4840 20 20 52 6f 75 67 68 6c 79 20 73 70 65 61 6b 69 6e 67 3a 20 3c 63 6f 64 65 3e 63 61 6d 65 6c 43 ..Roughly.speaking:.<code>camelC
d4860 61 73 65 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 54 69 aseFunctionName</code>,.<code>Ti
d4880 74 6c 65 43 61 73 65 54 79 70 65 4e 61 6d 65 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 tleCaseTypeName</code>,.........
d48a0 20 20 20 20 20 20 3c 63 6f 64 65 3e 73 6e 61 6b 65 5f 63 61 73 65 5f 76 61 72 69 61 62 6c 65 5f ......<code>snake_case_variable_
d48c0 6e 61 6d 65 3c 2f 63 6f 64 65 3e 2e 20 4d 6f 72 65 20 70 72 65 63 69 73 65 6c 79 3a 0a 20 20 20 name</code>..More.precisely:....
d48e0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a ...</p>.......<ul>.........<li>.
d4900 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 ............If.<code>x</code>.is
d4920 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e .a.<code><span.class="tok-type">
d4940 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 type</span></code>.............t
d4960 68 65 6e 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f hen.<code>x</code>.should.be.<co
d4980 64 65 3e 54 69 74 6c 65 43 61 73 65 3c 2f 63 6f 64 65 3e 2c 20 75 6e 6c 65 73 73 20 69 74 0a 20 de>TitleCase</code>,.unless.it..
d49a0 20 20 20 20 20 20 20 20 20 20 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ...........is.a.<code><span.clas
d49c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 s="tok-kw">struct</span></code>.
d49e0 77 69 74 68 20 30 20 66 69 65 6c 64 73 20 61 6e 64 20 69 73 20 6e 65 76 65 72 20 6d 65 61 6e 74 with.0.fields.and.is.never.meant
d4a00 20 74 6f 20 62 65 20 69 6e 73 74 61 6e 74 69 61 74 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 .to.be.instantiated,............
d4a20 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 69 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 .in.which.case.it.is.considered.
d4a40 74 6f 20 62 65 20 61 20 22 6e 61 6d 65 73 70 61 63 65 22 20 61 6e 64 20 75 73 65 73 20 3c 63 6f to.be.a."namespace".and.uses.<co
d4a60 64 65 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f de>snake_case</code>..........</
d4a80 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 li>.........<li>.............If.
d4aa0 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 63 61 6c 6c 61 62 6c 65 2c 20 61 6e 64 20 <code>x</code>.is.callable,.and.
d4ac0 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 27 73 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 0a <code>x</code>'s.return.type.is.
d4ae0 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ............<code><span.class="t
d4b00 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 ok-type">type</span></code>,.the
d4b20 6e 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 n.<code>x</code>.should.be.<code
d4b40 3e 54 69 74 6c 65 43 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e >TitleCase</code>..........</li>
d4b60 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f .........<li>.............If.<co
d4b80 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 63 61 6c 6c 61 62 6c de>x</code>.is.otherwise.callabl
d4ba0 65 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 78 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 0a 20 20 e,.then.<code>x</code>.should...
d4bc0 20 20 20 20 20 20 20 20 20 20 62 65 20 3c 63 6f 64 65 3e 63 61 6d 65 6c 43 61 73 65 3c 2f 63 6f ..........be.<code>camelCase</co
d4be0 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a de>..........</li>.........<li>.
d4c00 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 3c 63 6f 64 65 3e 78 3c 2f ............Otherwise,.<code>x</
d4c20 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 73 6e 61 6b 65 5f 63 61 73 65 code>.should.be.<code>snake_case
d4c40 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 </code>..........</li>.......</u
d4c60 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 63 72 6f 6e 79 6d 73 2c 20 69 6e 69 l>.......<p>.......Acronyms,.ini
d4c80 74 69 61 6c 69 73 6d 73 2c 20 70 72 6f 70 65 72 20 6e 6f 75 6e 73 2c 20 6f 72 20 61 6e 79 20 6f tialisms,.proper.nouns,.or.any.o
d4ca0 74 68 65 72 20 77 6f 72 64 20 74 68 61 74 20 68 61 73 20 63 61 70 69 74 61 6c 69 7a 61 74 69 6f ther.word.that.has.capitalizatio
d4cc0 6e 0a 20 20 20 20 20 20 72 75 6c 65 73 20 69 6e 20 77 72 69 74 74 65 6e 20 45 6e 67 6c 69 73 68 n.......rules.in.written.English
d4ce0 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 6f 20 6e 61 6d 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f .are.subject.to.naming.conventio
d4d00 6e 73 20 6a 75 73 74 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 0a 20 20 20 20 20 20 77 6f 72 ns.just.like.any.other.......wor
d4d20 64 2e 20 45 76 65 6e 20 61 63 72 6f 6e 79 6d 73 20 74 68 61 74 20 61 72 65 20 6f 6e 6c 79 20 32 d..Even.acronyms.that.are.only.2
d4d40 20 6c 65 74 74 65 72 73 20 6c 6f 6e 67 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 .letters.long.are.subject.to.the
d4d60 73 65 0a 20 20 20 20 20 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e se.......conventions........</p>
d4d80 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 69 6c 65 20 6e 61 6d 65 73 20 66 61 6c 6c .......<p>.......File.names.fall
d4da0 20 69 6e 74 6f 20 74 77 6f 20 63 61 74 65 67 6f 72 69 65 73 3a 20 74 79 70 65 73 20 61 6e 64 20 .into.two.categories:.types.and.
d4dc0 6e 61 6d 65 73 70 61 63 65 73 2e 20 49 66 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 28 69 namespaces..If.the.file.......(i
d4de0 6d 70 6c 69 63 69 74 6c 79 20 61 20 73 74 72 75 63 74 29 20 68 61 73 20 74 6f 70 20 6c 65 76 65 mplicitly.a.struct).has.top.leve
d4e00 6c 20 66 69 65 6c 64 73 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 6e 61 6d 65 64 20 6c 69 6b l.fields,.it.should.be.named.lik
d4e20 65 20 61 6e 79 0a 20 20 20 20 20 20 6f 74 68 65 72 20 73 74 72 75 63 74 20 77 69 74 68 20 66 69 e.any.......other.struct.with.fi
d4e40 65 6c 64 73 20 75 73 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 54 69 elds.using.<code.class="file">Ti
d4e60 74 6c 65 43 61 73 65 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 0a 20 20 20 20 20 tleCase</code>..Otherwise,......
d4e80 20 69 74 20 73 68 6f 75 6c 64 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 .it.should.use.<code.class="file
d4ea0 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 20 44 69 72 65 63 74 6f 72 79 20 6e ">snake_case</code>..Directory.n
d4ec0 61 6d 65 73 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 ames.should.be.......<code.class
d4ee0 3d 22 66 69 6c 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 ="file">snake_case</code>.......
d4f00 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 61 72 65 20 .</p>.......<p>.......These.are.
d4f20 67 65 6e 65 72 61 6c 20 72 75 6c 65 73 20 6f 66 20 74 68 75 6d 62 3b 20 69 66 20 69 74 20 6d 61 general.rules.of.thumb;.if.it.ma
d4f40 6b 65 73 20 73 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 64 69 66 66 65 72 kes.sense.to.do.something.differ
d4f60 65 6e 74 2c 0a 20 20 20 20 20 20 64 6f 20 77 68 61 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 ent,.......do.what.makes.sense..
d4f80 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 73 74 61 For.example,.if.there.is.an.esta
d4fa0 62 6c 69 73 68 65 64 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 blished.convention.such.as......
d4fc0 20 3c 63 6f 64 65 3e 45 4e 4f 45 4e 54 3c 2f 63 6f 64 65 3e 2c 20 66 6f 6c 6c 6f 77 20 74 68 65 .<code>ENOENT</code>,.follow.the
d4fe0 20 65 73 74 61 62 6c 69 73 68 65 64 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c .established.convention........<
d5000 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 61 6d 70 6c 65 /p>..............<h3.id="Example
d5020 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 6d 70 6c 65 73 22 3e 45 78 61 6d 70 s"><a.href="#toc-Examples">Examp
d5040 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 les</a>.<a.class="hdr".href="#Ex
d5060 61 6d 70 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 amples">..</a></h3>........<figu
d5080 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c re><figcaption.class="zig-cap"><
d50a0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 79 6c 65 5f 65 78 61 6d 70 6c 65 2e cite.class="file">style_example.
d50c0 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 zig</cite></figcaption><pre><cod
d50e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 e><span.class="tok-kw">const</sp
d5100 61 6e 3e 20 6e 61 6d 65 73 70 61 63 65 5f 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 an>.namespace_name.=.<span.class
d5120 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@import</span>(<s
d5140 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 69 72 5f 6e 61 pan.class="tok-str">&quot;dir_na
d5160 6d 65 2f 66 69 6c 65 5f 6e 61 6d 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a me/file_name.zig&quot;</span>);.
d5180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
d51a0 3e 20 54 79 70 65 4e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 >.TypeName.=.<span.class="tok-bu
d51c0 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@import</span>(<span.clas
d51e0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 69 72 5f 6e 61 6d 65 2f 54 79 70 65 4e s="tok-str">&quot;dir_name/TypeN
d5200 61 6d 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 ame.zig&quot;</span>);.<span.cla
d5220 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f 76 61 ss="tok-kw">var</span>.global_va
d5240 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 r:.<span.class="tok-type">i32</s
d5260 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e pan>.=.<span.class="tok-null">un
d5280 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b defined</span>;.<span.class="tok
d52a0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6e 73 74 5f 6e 61 6d 65 20 3d 20 3c -kw">const</span>.const_name.=.<
d52c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e span.class="tok-number">42</span
d52e0 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 >;.<span.class="tok-kw">const</s
d5300 70 61 6e 3e 20 70 72 69 6d 69 74 69 76 65 5f 74 79 70 65 5f 61 6c 69 61 73 20 3d 20 3c 73 70 61 pan>.primitive_type_alias.=.<spa
d5320 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3b 0a 3c n.class="tok-type">f32</span>;.<
d5340 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e span.class="tok-kw">const</span>
d5360 20 73 74 72 69 6e 67 5f 61 6c 69 61 73 20 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .string_alias.=.[]<span.class="t
d5380 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">u8</span>;..<span.class
d53a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 72 75 63 74 4e 61 6d ="tok-kw">const</span>.StructNam
d53c0 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c e.=.<span.class="tok-kw">struct<
d53e0 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 69 65 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>.{.....field:.<span.class=
d5400 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 "tok-type">i32</span>,.};.<span.
d5420 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 72 75 class="tok-kw">const</span>.Stru
d5440 63 74 41 6c 69 61 73 20 3d 20 53 74 72 75 63 74 4e 61 6d 65 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 ctAlias.=.StructName;..<span.cla
d5460 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ss="tok-kw">fn</span>.<span.clas
d5480 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 70 s="tok-fn">functionName</span>(p
d54a0 61 72 61 6d 5f 6e 61 6d 65 3a 20 54 79 70 65 4e 61 6d 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 aram_name:.TypeName).<span.class
d54c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 ="tok-type">void</span>.{.....<s
d54e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 75 pan.class="tok-kw">var</span>.fu
d5500 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 0a 20 20 nctionPointer.=.functionName;...
d5520 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 28 29 3b 0a 20 20 20 20 66 75 6e 63 74 69 6f ..functionPointer();.....functio
d5540 6e 50 6f 69 6e 74 65 72 20 3d 20 6f 74 68 65 72 46 75 6e 63 74 69 6f 6e 3b 0a 20 20 20 20 66 75 nPointer.=.otherFunction;.....fu
d5560 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 28 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nctionPointer();.}.<span.class="
d5580 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 74 69 6f 6e 41 6c 69 tok-kw">const</span>.functionAli
d55a0 61 73 20 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d as.=.functionName;..<span.class=
d55c0 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 "tok-kw">fn</span>.<span.class="
d55e0 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 54 65 6d 70 6c 61 74 65 46 75 6e 63 74 69 6f 6e 3c 2f 73 70 tok-fn">ListTemplateFunction</sp
d5600 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d an>(<span.class="tok-kw">comptim
d5620 65 3c 2f 73 70 61 6e 3e 20 43 68 69 6c 64 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d e</span>.ChildType:.<span.class=
d5640 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c "tok-type">type</span>,.<span.cl
d5660 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 78 ass="tok-kw">comptime</span>.fix
d5680 65 64 5f 73 69 7a 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ed_size:.<span.class="tok-type">
d56a0 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 usize</span>).<span.class="tok-t
d56c0 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ype">type</span>.{.....<span.cla
d56e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 4c 69 73 74 28 43 ss="tok-kw">return</span>.List(C
d5700 68 69 6c 64 54 79 70 65 2c 20 66 69 78 65 64 5f 73 69 7a 65 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 hildType,.fixed_size);.}..<span.
d5720 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 class="tok-kw">fn</span>.<span.c
d5740 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 53 68 6f 72 74 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c lass="tok-fn">ShortList</span>(<
d5760 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 span.class="tok-kw">comptime</sp
d5780 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 an>.T:.<span.class="tok-type">ty
d57a0 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pe</span>,.<span.class="tok-kw">
d57c0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 comptime</span>.n:.<span.class="
d57e0 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c tok-type">usize</span>).<span.cl
d5800 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 ass="tok-type">type</span>.{....
d5820 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 .<span.class="tok-kw">return</sp
d5840 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c an>.<span.class="tok-kw">struct<
d5860 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 6e 5d /span>.{.........field_name:.[n]
d5880 54 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e T,.........<span.class="tok-kw">
d58a0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d fn</span>.<span.class="tok-fn">m
d58c0 65 74 68 6f 64 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ethodName</span>().<span.class="
d58e0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 0a 20 20 20 20 7d 3b 0a tok-type">void</span>.{}.....};.
d5900 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 }..<span.class="tok-comment">//.
d5920 54 68 65 20 77 6f 72 64 20 58 4d 4c 20 6c 6f 73 65 73 20 69 74 73 20 63 61 73 69 6e 67 20 77 68 The.word.XML.loses.its.casing.wh
d5940 65 6e 20 75 73 65 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 73 2e 3c 2f 73 70 61 en.used.in.Zig.identifiers.</spa
d5960 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 n>.<span.class="tok-kw">const</s
d5980 70 61 6e 3e 20 78 6d 6c 5f 64 6f 63 75 6d 65 6e 74 20 3d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c pan>.xml_document.=.....<span.cl
d59a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 3f 78 6d 6c 20 76 65 72 73 69 6f 6e ass="tok-str">\\&lt;?xml.version
d59c0 3d 26 71 75 6f 74 3b 31 2e 30 26 71 75 6f 74 3b 20 65 6e 63 6f 64 69 6e 67 3d 26 71 75 6f 74 3b =&quot;1.0&quot;.encoding=&quot;
d59e0 55 54 46 2d 38 26 71 75 6f 74 3b 3f 26 67 74 3b 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 61 UTF-8&quot;?&gt;.</span>....<spa
d5a00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 64 6f 63 75 6d 65 6e 74 n.class="tok-str">\\&lt;document
d5a20 26 67 74 3b 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b &gt;.</span>....<span.class="tok
d5a40 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 2f 64 6f 63 75 6d 65 6e 74 26 67 74 3b 0a 3c 2f 73 70 61 6e -str">\\&lt;/document&gt;.</span
d5a60 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 >;.<span.class="tok-kw">const</s
d5a80 70 61 6e 3e 20 58 6d 6c 50 61 72 73 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.XmlParser.=.<span.class="to
d5aa0 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 69 65 6c 64 3a k-kw">struct</span>.{.....field:
d5ac0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 .<span.class="tok-type">i32</spa
d5ae0 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 n>,.};..<span.class="tok-comment
d5b00 22 3e 2f 2f 20 54 68 65 20 69 6e 69 74 69 61 6c 73 20 42 45 20 28 42 69 67 20 45 6e 64 69 61 6e ">//.The.initials.BE.(Big.Endian
d5b20 29 20 61 72 65 20 6a 75 73 74 20 61 6e 6f 74 68 65 72 20 77 6f 72 64 20 69 6e 20 5a 69 67 20 69 ).are.just.another.word.in.Zig.i
d5b40 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c dentifier.names.</span>.<span.cl
d5b60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ass="tok-kw">fn</span>.<span.cla
d5b80 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 61 64 55 33 32 42 65 3c 2f 73 70 61 6e 3e 28 29 20 3c ss="tok-fn">readU32Be</span>().<
d5ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e span.class="tok-type">u32</span>
d5bc0 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 .{}</code></pre></figure>.......
d5be0 3c 70 3e 0a 20 20 20 20 20 20 53 65 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d <p>.......See.the.<a.href="#Zig-
d5c00 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c Standard-Library">Zig.Standard.L
d5c20 69 62 72 61 72 79 3c 2f 61 3e 20 66 6f 72 20 6d 6f 72 65 20 65 78 61 6d 70 6c 65 73 2e 0a 20 20 ibrary</a>.for.more.examples....
d5c40 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 6f ....</p>..............<h3.id="Do
d5c60 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f c-Comment-Guidance"><a.href="#to
d5c80 63 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 44 6f 63 20 43 6f 6d 6d c-Doc-Comment-Guidance">Doc.Comm
d5ca0 65 6e 74 20 47 75 69 64 61 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 ent.Guidance</a>.<a.class="hdr".
d5cc0 68 72 65 66 3d 22 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e c2 a7 3c href="#Doc-Comment-Guidance">..<
d5ce0 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 /a></h3>........<ul>.........<li
d5d00 3e 4f 6d 69 74 20 61 6e 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 69 73 20 72 65 >Omit.any.information.that.is.re
d5d20 64 75 6e 64 61 6e 74 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 dundant.based.on.the.name.of.the
d5d40 20 74 68 69 6e 67 20 62 65 69 6e 67 20 64 6f 63 75 6d 65 6e 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 .thing.being.documented.</li>...
d5d60 20 20 20 20 20 20 3c 6c 69 3e 44 75 70 6c 69 63 61 74 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f ......<li>Duplicating.informatio
d5d80 6e 20 6f 6e 74 6f 20 6d 75 6c 74 69 70 6c 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e n.onto.multiple.similar.function
d5da0 73 20 69 73 20 65 6e 63 6f 75 72 61 67 65 64 20 62 65 63 61 75 73 65 20 69 74 20 68 65 6c 70 73 s.is.encouraged.because.it.helps
d5dc0 20 49 44 45 73 20 61 6e 64 20 6f 74 68 65 72 20 74 6f 6f 6c 73 20 70 72 6f 76 69 64 65 20 62 65 .IDEs.and.other.tools.provide.be
d5de0 74 74 65 72 20 68 65 6c 70 20 74 65 78 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 tter.help.text.</li>.........<li
d5e00 3e 55 73 65 20 74 68 65 20 77 6f 72 64 20 3c 73 74 72 6f 6e 67 3e 61 73 73 75 6d 65 3c 2f 73 74 >Use.the.word.<strong>assume</st
d5e20 72 6f 6e 67 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 69 6e 76 61 72 69 61 6e 74 73 20 74 68 61 rong>.to.indicate.invariants.tha
d5e40 74 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 t.cause.<a.href="#Undefined-Beha
d5e60 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 77 68 65 vior">Undefined.Behavior</a>.whe
d5e80 6e 20 76 69 6f 6c 61 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 n.violated.</li>.........<li>Use
d5ea0 20 74 68 65 20 77 6f 72 64 20 3c 73 74 72 6f 6e 67 3e 61 73 73 65 72 74 3c 2f 73 74 72 6f 6e 67 .the.word.<strong>assert</strong
d5ec0 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 69 6e 76 61 72 69 61 6e 74 73 20 74 68 61 74 20 63 61 >.to.indicate.invariants.that.ca
d5ee0 75 73 65 20 3c 65 6d 3e 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 3c 2f 65 6d 3e 20 3c 61 20 68 use.<em>safety-checked</em>.<a.h
d5f00 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 ref="#Undefined-Behavior">Undefi
d5f20 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 77 68 65 6e 20 76 69 6f 6c 61 74 65 64 2e 3c ned.Behavior</a>.when.violated.<
d5f40 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 /li>.......</ul>................
d5f60 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 3c 61 .....<h2.id="Source-Encoding"><a
d5f80 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 .href="#toc-Source-Encoding">Sou
d5fa0 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 rce.Encoding</a>.<a.class="hdr".
d5fc0 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f href="#Source-Encoding">..</a></
d5fe0 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 h2>........<p>Zig.source.code.is
d6000 20 65 6e 63 6f 64 65 64 20 69 6e 20 55 54 46 2d 38 2e 20 41 6e 20 69 6e 76 61 6c 69 64 20 55 54 .encoded.in.UTF-8..An.invalid.UT
d6020 46 2d 38 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 63 F-8.byte.sequence.results.in.a.c
d6040 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 72 6f 75 ompile.error.</p>.......<p>Throu
d6060 67 68 6f 75 74 20 61 6c 6c 20 7a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 28 69 6e 63 6c 75 ghout.all.zig.source.code.(inclu
d6080 64 69 6e 67 20 69 6e 20 63 6f 6d 6d 65 6e 74 73 29 2c 20 73 6f 6d 65 20 63 6f 64 65 20 70 6f 69 ding.in.comments),.some.code.poi
d60a0 6e 74 73 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 nts.are.never.allowed:</p>......
d60c0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 73 63 69 69 20 63 6f 6e 74 72 6f 6c 20 .<ul>.........<li>Ascii.control.
d60e0 63 68 61 72 61 63 74 65 72 73 2c 20 65 78 63 65 70 74 20 66 6f 72 20 55 2b 30 30 30 61 20 28 4c characters,.except.for.U+000a.(L
d6100 46 29 2c 20 55 2b 30 30 30 64 20 28 43 52 29 2c 20 61 6e 64 20 55 2b 30 30 30 39 20 28 48 54 29 F),.U+000d.(CR),.and.U+0009.(HT)
d6120 3a 20 55 2b 30 30 30 30 20 2d 20 55 2b 30 30 30 38 2c 20 55 2b 30 30 30 62 20 2d 20 55 2b 30 30 :.U+0000.-.U+0008,.U+000b.-.U+00
d6140 30 63 2c 20 55 2b 30 30 30 65 20 2d 20 55 2b 30 30 30 31 66 2c 20 55 2b 30 30 37 66 2e 3c 2f 6c 0c,.U+000e.-.U+0001f,.U+007f.</l
d6160 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 6e 2d 41 73 63 69 69 20 55 6e 69 63 6f 64 65 i>.........<li>Non-Ascii.Unicode
d6180 20 6c 69 6e 65 20 65 6e 64 69 6e 67 73 3a 20 55 2b 30 30 38 35 20 28 4e 45 4c 29 2c 20 55 2b 32 .line.endings:.U+0085.(NEL),.U+2
d61a0 30 32 38 20 28 4c 53 29 2c 20 55 2b 32 30 32 39 20 28 50 53 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 028.(LS),.U+2029.(PS).</li>.....
d61c0 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 46 20 28 62 79 74 65 ..</ul>.......<p>.......LF.(byte
d61e0 20 76 61 6c 75 65 20 30 78 30 61 2c 20 63 6f 64 65 20 70 6f 69 6e 74 20 55 2b 30 30 30 61 2c 20 .value.0x0a,.code.point.U+000a,.
d6200 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 6e 27 <code><span.class="tok-str">'\n'
d6220 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 73 20 74 68 65 20 6c 69 6e 65 20 74 65 72 6d </span></code>).is.the.line.term
d6240 69 6e 61 74 6f 72 20 69 6e 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 20 20 20 20 inator.in.Zig.source.code.......
d6260 20 54 68 69 73 20 62 79 74 65 20 76 61 6c 75 65 20 74 65 72 6d 69 6e 61 74 65 73 20 65 76 65 72 .This.byte.value.terminates.ever
d6280 79 20 6c 69 6e 65 20 6f 66 20 7a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 65 78 63 65 70 74 y.line.of.zig.source.code.except
d62a0 20 74 68 65 20 6c 61 73 74 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 .the.last.line.of.the.file......
d62c0 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 61 74 20 6e 6f 6e 2d 65 6d 70 ..It.is.recommended.that.non-emp
d62e0 74 79 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 65 6e 64 20 77 69 74 68 20 61 6e 20 65 6d 70 74 ty.source.files.end.with.an.empt
d6300 79 20 6c 69 6e 65 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 65 20 6c 61 73 74 20 62 79 74 y.line,.which.means.the.last.byt
d6320 65 20 77 6f 75 6c 64 20 62 65 20 30 78 30 61 20 28 4c 46 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e e.would.be.0x0a.(LF)........</p>
d6340 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 4c 46 20 6d 61 79 20 62 65 20 .......<p>.......Each.LF.may.be.
d6360 69 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65 64 65 64 20 62 79 20 61 20 73 69 6e 67 6c 65 immediately.preceded.by.a.single
d6380 20 43 52 20 28 62 79 74 65 20 76 61 6c 75 65 20 30 78 30 64 2c 20 63 6f 64 65 20 70 6f 69 6e 74 .CR.(byte.value.0x0d,.code.point
d63a0 20 55 2b 30 30 30 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .U+000d,.<code><span.class="tok-
d63c0 73 74 72 22 3e 27 5c 72 27 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 20 20 74 str">'\r'</span></code>).......t
d63e0 6f 20 66 6f 72 6d 20 61 20 57 69 6e 64 6f 77 73 20 73 74 79 6c 65 20 6c 69 6e 65 20 65 6e 64 69 o.form.a.Windows.style.line.endi
d6400 6e 67 2c 20 62 75 74 20 74 68 69 73 20 69 73 20 64 69 73 63 6f 75 72 61 67 65 64 2e 20 4e 6f 74 ng,.but.this.is.discouraged..Not
d6420 65 20 74 68 61 74 20 69 6e 20 6d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 73 2c 20 43 52 4c e.that.in.multiline.strings,.CRL
d6440 46 20 73 65 71 75 65 6e 63 65 73 20 77 69 6c 6c 0a 20 20 20 20 20 20 62 65 20 65 6e 63 6f 64 65 F.sequences.will.......be.encode
d6460 64 20 61 73 20 4c 46 20 77 68 65 6e 20 63 6f 6d 70 69 6c 65 64 20 69 6e 74 6f 20 61 20 7a 69 67 d.as.LF.when.compiled.into.a.zig
d6480 20 70 72 6f 67 72 61 6d 2e 0a 20 20 20 20 20 20 41 20 43 52 20 69 6e 20 61 6e 79 20 6f 74 68 65 .program........A.CR.in.any.othe
d64a0 72 20 63 6f 6e 74 65 78 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 20 20 20 20 20 20 r.context.is.not.allowed........
d64c0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 54 20 68 61 72 64 20 74 61 62 </p>.......<p>.......HT.hard.tab
d64e0 73 20 28 62 79 74 65 20 76 61 6c 75 65 20 30 78 30 39 2c 20 63 6f 64 65 20 70 6f 69 6e 74 20 55 s.(byte.value.0x09,.code.point.U
d6500 2b 30 30 30 39 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 +0009,.<code><span.class="tok-st
d6520 72 22 3e 27 5c 74 27 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 72 65 20 69 6e 74 65 72 r">'\t'</span></code>).are.inter
d6540 63 68 61 6e 67 65 61 62 6c 65 20 77 69 74 68 0a 20 20 20 20 20 20 53 50 20 73 70 61 63 65 73 20 changeable.with.......SP.spaces.
d6560 28 62 79 74 65 20 76 61 6c 75 65 20 30 78 32 30 2c 20 63 6f 64 65 20 70 6f 69 6e 74 20 55 2b 30 (byte.value.0x20,.code.point.U+0
d6580 30 32 30 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 020,.<code><span.class="tok-str"
d65a0 3e 27 20 27 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 73 20 61 20 74 6f 6b 65 6e 20 73 >'.'</span></code>).as.a.token.s
d65c0 65 70 61 72 61 74 6f 72 2c 0a 20 20 20 20 20 20 62 75 74 20 75 73 65 20 6f 66 20 68 61 72 64 20 eparator,.......but.use.of.hard.
d65e0 74 61 62 73 20 69 73 20 64 69 73 63 6f 75 72 61 67 65 64 2e 20 53 65 65 20 3c 61 20 68 72 65 66 tabs.is.discouraged..See.<a.href
d6600 3d 22 23 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c ="#Grammar">Grammar</a>........<
d6620 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 63 6f 6d 70 61 74 69 62 /p>.......<p>.......For.compatib
d6640 69 6c 69 74 79 20 77 69 74 68 20 6f 74 68 65 72 20 74 6f 6f 6c 73 2c 20 74 68 65 20 63 6f 6d 70 ility.with.other.tools,.the.comp
d6660 69 6c 65 72 20 69 67 6e 6f 72 65 73 20 61 20 55 54 46 2d 38 2d 65 6e 63 6f 64 65 64 20 62 79 74 iler.ignores.a.UTF-8-encoded.byt
d6680 65 20 6f 72 64 65 72 20 6d 61 72 6b 20 28 55 2b 46 45 46 46 29 0a 20 20 20 20 20 20 69 66 20 69 e.order.mark.(U+FEFF).......if.i
d66a0 74 20 69 73 20 74 68 65 20 66 69 72 73 74 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e t.is.the.first.Unicode.code.poin
d66c0 74 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 74 65 78 74 2e 20 41 20 62 79 74 65 20 6f 72 64 t.in.the.source.text..A.byte.ord
d66e0 65 72 20 6d 61 72 6b 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 61 6e 79 77 68 65 72 65 20 er.mark.is.not.allowed.anywhere.
d6700 65 6c 73 65 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 else.in.the.source........</p>..
d6720 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 72 75 6e 6e 69 6e 67 .....<p>.......Note.that.running
d6740 20 3c 6b 62 64 3e 7a 69 67 20 66 6d 74 3c 2f 6b 62 64 3e 20 6f 6e 20 61 20 73 6f 75 72 63 65 20 .<kbd>zig.fmt</kbd>.on.a.source.
d6760 66 69 6c 65 20 77 69 6c 6c 20 69 6d 70 6c 65 6d 65 6e 74 20 61 6c 6c 20 72 65 63 6f 6d 6d 65 6e file.will.implement.all.recommen
d6780 64 61 74 69 6f 6e 73 20 6d 65 6e 74 69 6f 6e 65 64 20 68 65 72 65 2e 0a 20 20 20 20 20 20 3c 2f dations.mentioned.here........</
d67a0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 61 20 74 p>.......<p>.......Note.that.a.t
d67c0 6f 6f 6c 20 72 65 61 64 69 6e 67 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 61 6e 20 ool.reading.Zig.source.code.can.
d67e0 6d 61 6b 65 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 69 66 20 74 68 65 20 73 6f 75 72 63 65 20 63 make.assumptions.if.the.source.c
d6800 6f 64 65 20 69 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 63 6f 72 72 65 63 74 20 5a 69 67 ode.is.assumed.to.be.correct.Zig
d6820 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 69 .code........For.example,.when.i
d6840 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 65 6e 64 73 20 6f 66 20 6c 69 6e 65 73 2c 20 61 20 dentifying.the.ends.of.lines,.a.
d6860 74 6f 6f 6c 20 63 61 6e 20 75 73 65 20 61 20 6e 61 69 76 65 20 73 65 61 72 63 68 20 73 75 63 68 tool.can.use.a.naive.search.such
d6880 20 61 73 20 3c 63 6f 64 65 3e 2f 5c 6e 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 6f 72 20 .as.<code>/\n/</code>,.......or.
d68a0 61 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 6d 73 64 6e 2e 6d 69 63 72 6f 73 6f an.<a.href="https://msdn.microso
d68c0 66 74 2e 63 6f 6d 2f 65 6e 2d 75 73 2f 6c 69 62 72 61 72 79 2f 64 64 34 30 39 37 39 37 2e 61 73 ft.com/en-us/library/dd409797.as
d68e0 70 78 22 3e 61 64 76 61 6e 63 65 64 3c 2f 61 3e 0a 20 20 20 20 20 20 73 65 61 72 63 68 20 73 75 px">advanced</a>.......search.su
d6900 63 68 20 61 73 20 3c 63 6f 64 65 3e 2f 5c 72 5c 6e 3f 7c 5b 5c 6e 5c 75 30 30 38 35 5c 75 32 30 ch.as.<code>/\r\n?|[\n\u0085\u20
d6920 32 38 5c 75 32 30 32 39 5d 2f 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 69 6e 20 65 69 74 68 65 72 28\u2029]/</code>,.and.in.either
d6940 20 63 61 73 65 20 6c 69 6e 65 20 65 6e 64 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 63 6f 72 72 65 .case.line.endings.will.be.corre
d6960 63 74 6c 79 20 69 64 65 6e 74 69 66 69 65 64 2e 0a 20 20 20 20 20 20 46 6f 72 20 61 6e 6f 74 68 ctly.identified........For.anoth
d6980 65 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 er.example,.when.identifying.the
d69a0 20 77 68 69 74 65 73 70 61 63 65 20 62 65 66 6f 72 65 20 74 68 65 20 66 69 72 73 74 20 74 6f 6b .whitespace.before.the.first.tok
d69c0 65 6e 20 6f 6e 20 61 20 6c 69 6e 65 2c 0a 20 20 20 20 20 20 61 20 74 6f 6f 6c 20 63 61 6e 20 65 en.on.a.line,.......a.tool.can.e
d69e0 69 74 68 65 72 20 75 73 65 20 61 20 6e 61 69 76 65 20 73 65 61 72 63 68 20 73 75 63 68 20 61 73 ither.use.a.naive.search.such.as
d6a00 20 3c 63 6f 64 65 3e 2f 5b 20 5c 74 5d 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 6f 72 20 .<code>/[.\t]/</code>,.......or.
d6a20 61 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 74 63 33 39 2e 65 73 2f 65 63 6d 61 an.<a.href="https://tc39.es/ecma
d6a40 32 36 32 2f 23 73 65 63 2d 63 68 61 72 61 63 74 65 72 63 6c 61 73 73 65 73 63 61 70 65 22 3e 61 262/#sec-characterclassescape">a
d6a60 64 76 61 6e 63 65 64 3c 2f 61 3e 20 73 65 61 72 63 68 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 dvanced</a>.search.such.as.<code
d6a80 3e 2f 5c 73 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 61 6e 64 20 69 6e 20 65 69 74 68 65 >/\s/</code>,.......and.in.eithe
d6aa0 72 20 63 61 73 65 20 77 68 69 74 65 73 70 61 63 65 20 77 69 6c 6c 20 62 65 20 63 6f 72 72 65 63 r.case.whitespace.will.be.correc
d6ac0 74 6c 79 20 69 64 65 6e 74 69 66 69 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 tly.identified........</p>......
d6ae0 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e .........<h2.id="Keyword-Referen
d6b00 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 ce"><a.href="#toc-Keyword-Refere
d6b20 6e 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 66 65 72 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c nce">Keyword.Reference</a>.<a.cl
d6b40 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e ass="hdr".href="#Keyword-Referen
d6b60 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 ce">..</a></h2>........<div.clas
d6b80 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e s="table-wrapper">.......<table>
d6ba0 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 .........<thead>.........<tr>...
d6bc0 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 4b 65 79 77 6f 72 64 3c ........<th.scope="col">Keyword<
d6be0 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 44 /th>...........<th.scope="col">D
d6c00 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 escription</th>.........</tr>...
d6c20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 ......</thead>.........<tbody>..
d6c40 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d .......<tr>...........<th.scope=
d6c60 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 "row">.............<pre><code><s
d6c80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 64 64 72 73 70 61 63 65 3c 2f 73 70 pan.class="tok-kw">addrspace</sp
d6ca0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e an></code></pre>...........</th>
d6cc0 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 ...........<td>.............The.
d6ce0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 64 64 72 73 <code><span.class="tok-kw">addrs
d6d00 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e 0a 20 20 20 20 pace</span></code>.keyword......
d6d20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 ........<ul>...............<li>T
d6d40 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 61 64 64 72 73 70 ODO.add.documentation.for.addrsp
d6d60 61 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 ace</li>.............</ul>......
d6d80 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .....</td>.........</tr>........
d6da0 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e .<tr>...........<th.scope="row">
d6dc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .............<pre><code><span.cl
d6de0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ass="tok-kw">align</span></code>
d6e00 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 </pre>...........</th>..........
d6e20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .<td>.............<code><span.cl
d6e40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ass="tok-kw">align</span></code>
d6e60 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 61 6c 69 67 .can.be.used.to.specify.the.alig
d6e80 6e 6d 65 6e 74 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 nment.of.a.pointer..............
d6ea0 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 66 74 65 72 20 61 20 76 61 72 69 It.can.also.be.used.after.a.vari
d6ec0 61 62 6c 65 20 6f 72 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 6f 20 able.or.function.declaration.to.
d6ee0 73 70 65 63 69 66 79 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 70 6f 69 6e 74 65 72 specify.the.alignment.of.pointer
d6f00 73 20 74 6f 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 20 6f 72 20 66 75 6e 63 74 69 6f 6e 2e 0a s.to.that.variable.or.function..
d6f20 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ............<ul>...............<
d6f40 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 li>See.also.<a.href="#Alignment"
d6f60 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >Alignment</a></li>.............
d6f80 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f </ul>...........</td>.........</
d6fa0 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 tr>.........<tr>...........<th.s
d6fc0 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f cope="row">.............<pre><co
d6fe0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 de><span.class="tok-kw">allowzer
d7000 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 o</span></code></pre>...........
d7020 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </th>...........<td>............
d7040 20 54 68 65 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 20 3c 63 6f 64 65 3e 3c 73 70 .The.pointer.attribute.<code><sp
d7060 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 an.class="tok-kw">allowzero</spa
d7080 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6c 6c 6f 77 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 68 61 n></code>.allows.a.pointer.to.ha
d70a0 76 65 20 61 64 64 72 65 73 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c ve.address.zero..............<ul
d70c0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 >...............<li>See.also.<a.
d70e0 68 72 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c href="#allowzero">allowzero</a><
d7100 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 /li>.............</ul>..........
d7120 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 .</td>.........</tr>.........<tr
d7140 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 >...........<th.scope="row">....
d7160 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .........<pre><code><span.class=
d7180 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e "tok-kw">and</span></code></pre>
d71a0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a ...........</th>...........<td>.
d71c0 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 62 6f 6f 6c 65 61 6e 20 6f 70 65 72 61 74 6f 72 ............The.boolean.operator
d71e0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c .<code><span.class="tok-kw">and<
d7200 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a /span></code>..............<ul>.
d7220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 ..............<li>See.also.<a.hr
d7240 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c ef="#Operators">Operators</a></l
d7260 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c i>.............</ul>...........<
d7280 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a /td>.........</tr>.........<tr>.
d72a0 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 ..........<th.scope="row">......
d72c0 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .......<pre><code><span.class="t
d72e0 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ok-kw">anyframe</span></code></p
d7300 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 re>...........</th>...........<t
d7320 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 d>.............<code><span.class
d7340 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ="tok-kw">anyframe</span></code>
d7360 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 74 79 70 65 20 66 6f 72 20 76 61 72 69 61 .can.be.used.as.a.type.for.varia
d7380 62 6c 65 73 20 77 68 69 63 68 20 68 6f 6c 64 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 66 75 6e 63 bles.which.hold.pointers.to.func
d73a0 74 69 6f 6e 20 66 72 61 6d 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 tion.frames..............<ul>...
d73c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 ............<li>See.also.<a.href
d73e0 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 ="#Async-Functions">Async.Functi
d7400 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ons</a></li>.............</ul>..
d7420 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 .........</td>.........</tr>....
d7440 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 .....<tr>...........<th.scope="r
d7460 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 ow">.............<pre><code><spa
d7480 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c n.class="tok-kw">anytype</span><
d74a0 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 /code></pre>...........</th>....
d74c0 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e .......<td>.............Function
d74e0 20 70 61 72 61 6d 65 74 65 72 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 65 64 20 77 69 74 68 .parameters.can.be.declared.with
d7500 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 .<code><span.class="tok-kw">anyt
d7520 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 74 68 ype</span></code>.in.place.of.th
d7540 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 77 69 6c e.type..............The.type.wil
d7560 6c 20 62 65 20 69 6e 66 65 72 72 65 64 20 77 68 65 72 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e l.be.inferred.where.the.function
d7580 20 69 73 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 .is.called..............<ul>....
d75a0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d ...........<li>See.also.<a.href=
d75c0 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 "#Function-Parameter-Type-Infere
d75e0 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 nce">Function.Parameter.Type.Inf
d7600 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c erence</a></li>.............</ul
d7620 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a >...........</td>.........</tr>.
d7640 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 ........<tr>...........<th.scope
d7660 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c ="row">.............<pre><code><
d7680 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 3c 2f span.class="tok-kw">asm</span></
d76a0 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 code></pre>...........</th>.....
d76c0 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 ......<td>.............<code><sp
d76e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f an.class="tok-kw">asm</span></co
d7700 64 65 3e 20 62 65 67 69 6e 73 20 61 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 de>.begins.an.inline.assembly.ex
d7720 70 72 65 73 73 69 6f 6e 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 64 69 72 65 63 74 pression..This.allows.for.direct
d7740 6c 79 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 ly.controlling.the.machine.code.
d7760 67 65 6e 65 72 61 74 65 64 20 6f 6e 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 generated.on.compilation........
d7780 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 ......<ul>...............<li>See
d77a0 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 65 6d 62 .also.<a.href="#Assembly">Assemb
d77c0 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ly</a></li>.............</ul>...
d77e0 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 ........</td>.........</tr>.....
d7800 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f ....<tr>...........<th.scope="ro
d7820 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e w">.............<pre><code><span
d7840 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="tok-kw">async</span></co
d7860 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 de></pre>...........</th>.......
d7880 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ....<td>.............<code><span
d78a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="tok-kw">async</span></co
d78c0 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 65 66 6f 72 65 20 61 20 66 75 6e 63 74 69 6f de>.can.be.used.before.a.functio
d78e0 6e 20 63 61 6c 6c 20 74 6f 20 67 65 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 66 n.call.to.get.a.pointer.to.the.f
d7900 75 6e 63 74 69 6f 6e 27 73 20 66 72 61 6d 65 20 77 68 65 6e 20 69 74 20 73 75 73 70 65 6e 64 73 unction's.frame.when.it.suspends
d7920 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............<ul>..............
d7940 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 .<li>See.also.<a.href="#Async-Fu
d7960 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 nctions">Async.Functions</a></li
d7980 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f >.............</ul>...........</
d79a0 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 td>.........</tr>.........<tr>..
d79c0 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 .........<th.scope="row">.......
d79e0 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
d7a00 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a k-kw">await</span></code></pre>.
d7a20 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ..........</th>...........<td>..
d7a40 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ...........<code><span.class="to
d7a60 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 k-kw">await</span></code>.can.be
d7a80 20 75 73 65 64 20 74 6f 20 73 75 73 70 65 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e .used.to.suspend.the.current.fun
d7aa0 63 74 69 6f 6e 20 75 6e 74 69 6c 20 74 68 65 20 66 72 61 6d 65 20 70 72 6f 76 69 64 65 64 20 61 ction.until.the.frame.provided.a
d7ac0 66 74 65 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d fter.the.<code><span.class="tok-
d7ae0 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 6d 70 6c 65 74 65 kw">await</span></code>.complete
d7b00 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 s..............<code><span.class
d7b20 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f ="tok-kw">await</span></code>.co
d7b40 70 69 65 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 74 68 65 pies.the.value.returned.from.the
d7b60 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 27 73 20 66 72 61 6d 65 20 74 6f 20 74 68 65 20 .target.function's.frame.to.the.
d7b80 63 61 6c 6c 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 caller..............<ul>........
d7ba0 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 .......<li>See.also.<a.href="#As
d7bc0 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f ync-Functions">Async.Functions</
d7be0 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 a></li>.............</ul>.......
d7c00 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 ....</td>.........</tr>.........
d7c20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a <tr>...........<th.scope="row">.
d7c40 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ............<pre><code><span.cla
d7c60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ss="tok-kw">break</span></code><
d7c80 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 /pre>...........</th>...........
d7ca0 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 <td>.............<code><span.cla
d7cc0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ss="tok-kw">break</span></code>.
d7ce0 63 61 6e 20 62 65 20 75 73 65 64 20 77 69 74 68 20 61 20 62 6c 6f 63 6b 20 6c 61 62 65 6c 20 74 can.be.used.with.a.block.label.t
d7d00 6f 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 2e o.return.a.value.from.the.block.
d7d20 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 .............It.can.also.be.used
d7d40 20 74 6f 20 65 78 69 74 20 61 20 6c 6f 6f 70 20 62 65 66 6f 72 65 20 69 74 65 72 61 74 69 6f 6e .to.exit.a.loop.before.iteration
d7d60 20 63 6f 6d 70 6c 65 74 65 73 20 6e 61 74 75 72 61 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 .completes.naturally............
d7d80 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 ..<ul>...............<li>See.als
d7da0 6f 20 3c 61 20 68 72 65 66 3d 22 23 42 6c 6f 63 6b 73 22 3e 42 6c 6f 63 6b 73 3c 2f 61 3e 2c 20 o.<a.href="#Blocks">Blocks</a>,.
d7dc0 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 <a.href="#while">while</a>,.<a.h
d7de0 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ref="#for">for</a></li>.........
d7e00 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 ....</ul>...........</td>.......
d7e20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ..</tr>.........<tr>...........<
d7e40 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 th.scope="row">.............<pre
d7e60 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c ><code><span.class="tok-kw">call
d7e80 63 6f 6e 76 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 conv</span></code></pre>........
d7ea0 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 ...</th>...........<td>.........
d7ec0 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ....<code><span.class="tok-kw">c
d7ee0 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 allconv</span></code>.can.be.use
d7f00 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 d.to.specify.the.calling.convent
d7f20 69 6f 6e 20 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 ion.in.a.function.type..........
d7f40 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 ....<ul>...............<li>See.a
d7f60 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f lso.<a.href="#Functions">Functio
d7f80 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ns</a></li>.............</ul>...
d7fa0 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 ........</td>.........</tr>.....
d7fc0 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f ....<tr>...........<th.scope="ro
d7fe0 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e w">.............<pre><code><span
d8000 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="tok-kw">catch</span></co
d8020 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 de></pre>...........</th>.......
d8040 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ....<td>.............<code><span
d8060 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="tok-kw">catch</span></co
d8080 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 65 76 61 6c 75 61 74 65 20 61 6e 20 65 de>.can.be.used.to.evaluate.an.e
d80a0 78 70 72 65 73 73 69 6f 6e 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 66 6f xpression.if.the.expression.befo
d80c0 72 65 20 69 74 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 re.it.evaluates.to.an.error.....
d80e0 20 20 20 20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 61 66 74 65 72 20 74 68 .........The.expression.after.th
d8100 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 e.<code><span.class="tok-kw">cat
d8120 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 ch</span></code>.can.optionally.
d8140 63 61 70 74 75 72 65 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 capture.the.error.value.........
d8160 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 .....<ul>...............<li>See.
d8180 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 2c also.<a.href="#catch">catch</a>,
d81a0 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c .<a.href="#Operators">Operators<
d81c0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 /a></li>.............</ul>......
d81e0 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .....</td>.........</tr>........
d8200 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e .<tr>...........<th.scope="row">
d8220 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .............<pre><code><span.cl
d8240 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ass="tok-kw">comptime</span></co
d8260 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 de></pre>...........</th>.......
d8280 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ....<td>.............<code><span
d82a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c .class="tok-kw">comptime</span><
d82c0 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 63 61 6e 20 /code>.before.a.declaration.can.
d82e0 62 65 20 75 73 65 64 20 74 6f 20 6c 61 62 65 6c 20 76 61 72 69 61 62 6c 65 73 20 6f 72 20 66 75 be.used.to.label.variables.or.fu
d8300 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f nction.parameters.as.known.at.co
d8320 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 mpile.time..............It.can.a
d8340 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 61 6e 20 65 78 70 72 lso.be.used.to.guarantee.an.expr
d8360 65 73 73 69 6f 6e 20 69 73 20 72 75 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 ession.is.run.at.compile.time...
d8380 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c ...........<ul>...............<l
d83a0 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 i>See.also.<a.href="#comptime">c
d83c0 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 omptime</a></li>.............</u
d83e0 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e l>...........</td>.........</tr>
d8400 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 .........<tr>...........<th.scop
d8420 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e e="row">.............<pre><code>
d8440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
d8460 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 ></code></pre>...........</th>..
d8480 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e .........<td>.............<code>
d84a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e <span.class="tok-kw">const</span
d84c0 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 ></code>.declares.a.variable.tha
d84e0 74 20 63 61 6e 20 6e 6f 74 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 t.can.not.be.modified...........
d8500 20 20 20 55 73 65 64 20 61 73 20 61 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 2c 20 ...Used.as.a.pointer.attribute,.
d8520 69 74 20 64 65 6e 6f 74 65 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 66 65 72 65 6e 63 65 64 20 it.denotes.the.value.referenced.
d8540 62 79 20 74 68 65 20 70 6f 69 6e 74 65 72 20 63 61 6e 6e 6f 74 20 62 65 20 6d 6f 64 69 66 69 65 by.the.pointer.cannot.be.modifie
d8560 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 d..............<ul>.............
d8580 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 56 61 72 69 61 62 6c ..<li>See.also.<a.href="#Variabl
d85a0 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 es">Variables</a></li>..........
d85c0 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 ...</ul>...........</td>........
d85e0 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 .</tr>.........<tr>...........<t
d8600 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e h.scope="row">.............<pre>
d8620 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 <code><span.class="tok-kw">conti
d8640 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 nue</span></code></pre>.........
d8660 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ..</th>...........<td>..........
d8680 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f ...<code><span.class="tok-kw">co
d86a0 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 ntinue</span></code>.can.be.used
d86c0 20 69 6e 20 61 20 6c 6f 6f 70 20 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 74 68 65 20 62 .in.a.loop.to.jump.back.to.the.b
d86e0 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 20 20 20 20 20 eginning.of.the.loop............
d8700 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 ..<ul>...............<li>See.als
d8720 6f 20 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 o.<a.href="#while">while</a>,.<a
d8740 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .href="#for">for</a></li>.......
d8760 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 ......</ul>...........</td>.....
d8780 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 ....</tr>.........<tr>..........
d87a0 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 .<th.scope="row">.............<p
d87c0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 re><code><span.class="tok-kw">de
d87e0 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 fer</span></code></pre>.........
d8800 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ..</th>...........<td>..........
d8820 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 ...<code><span.class="tok-kw">de
d8840 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 fer</span></code>.will.execute.a
d8860 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 65 6e 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 6c n.expression.when.control.flow.l
d8880 65 61 76 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 eaves.the.current.block.........
d88a0 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 .....<ul>...............<li>See.
d88c0 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c also.<a.href="#defer">defer</a><
d88e0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 /li>.............</ul>..........
d8900 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 .</td>.........</tr>.........<tr
d8920 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 >...........<th.scope="row">....
d8940 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .........<pre><code><span.class=
d8960 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 "tok-kw">else</span></code></pre
d8980 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</th>...........<td>
d89a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .............<code><span.class="
d89c0 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 tok-kw">else</span></code>.can.b
d89e0 65 20 75 73 65 64 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 61 6c 74 65 72 6e 61 74 65 20 62 e.used.to.provide.an.alternate.b
d8a00 72 61 6e 63 68 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ranch.for.<code><span.class="tok
d8a20 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 -kw">if</span></code>,.<code><sp
d8a40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c an.class="tok-kw">switch</span><
d8a60 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 /code>,.............<code><span.
d8a80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 class="tok-kw">while</span></cod
d8aa0 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b e>,.and.<code><span.class="tok-k
d8ac0 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 w">for</span></code>.expressions
d8ae0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............<ul>..............
d8b00 20 3c 6c 69 3e 49 66 20 75 73 65 64 20 61 66 74 65 72 20 61 6e 20 69 66 20 65 78 70 72 65 73 73 .<li>If.used.after.an.if.express
d8b20 69 6f 6e 2c 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 77 69 6c 6c 20 62 65 20 65 78 65 ion,.the.else.branch.will.be.exe
d8b40 63 75 74 65 64 20 69 66 20 74 68 65 20 74 65 73 74 20 76 61 6c 75 65 20 72 65 74 75 72 6e 73 20 cuted.if.the.test.value.returns.
d8b60 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 false,.null,.or.an.error.</li>..
d8b80 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 75 73 65 64 20 77 69 74 68 69 6e 20 .............<li>If.used.within.
d8ba0 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 68 65 20 65 6c 73 65 20 62 72 a.switch.expression,.the.else.br
d8bc0 61 6e 63 68 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 66 20 74 68 65 20 74 65 73 anch.will.be.executed.if.the.tes
d8be0 74 20 76 61 6c 75 65 20 6d 61 74 63 68 65 73 20 6e 6f 20 6f 74 68 65 72 20 63 61 73 65 73 2e 3c t.value.matches.no.other.cases.<
d8c00 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 75 73 65 64 20 61 /li>...............<li>If.used.a
d8c20 66 74 65 72 20 61 20 6c 6f 6f 70 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 68 65 20 65 6c 73 65 fter.a.loop.expression,.the.else
d8c40 20 62 72 61 6e 63 68 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 66 20 74 68 65 20 .branch.will.be.executed.if.the.
d8c60 6c 6f 6f 70 20 66 69 6e 69 73 68 65 73 20 77 69 74 68 6f 75 74 20 62 72 65 61 6b 69 6e 67 2e 3c loop.finishes.without.breaking.<
d8c80 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 /li>...............<li>See.also.
d8ca0 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 <a.href="#if">if</a>,.<a.href="#
d8cc0 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 77 68 switch">switch</a>,.<a.href="#wh
d8ce0 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 ile">while</a>,.<a.href="#for">f
d8d00 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 or</a></li>.............</ul>...
d8d20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 ........</td>.........</tr>.....
d8d40 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f ....<tr>...........<th.scope="ro
d8d60 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e w">.............<pre><code><span
d8d80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 .class="tok-kw">enum</span></cod
d8da0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 e></pre>...........</th>........
d8dc0 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ...<td>.............<code><span.
d8de0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 class="tok-kw">enum</span></code
d8e00 3e 20 64 65 66 69 6e 65 73 20 61 6e 20 65 6e 75 6d 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 >.defines.an.enum.type..........
d8e20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 ....<ul>...............<li>See.a
d8e40 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 lso.<a.href="#enum">enum</a></li
d8e60 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f >.............</ul>...........</
d8e80 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 td>.........</tr>.........<tr>..
d8ea0 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 .........<th.scope="row">.......
d8ec0 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
d8ee0 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 k-kw">errdefer</span></code></pr
d8f00 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 e>...........</th>...........<td
d8f20 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.............<code><span.class=
d8f40 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 "tok-kw">errdefer</span></code>.
d8f60 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 65 6e 20 will.execute.an.expression.when.
d8f80 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 6c 65 61 76 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 control.flow.leaves.the.current.
d8fa0 62 6c 6f 63 6b 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 6e block.if.the.function.returns.an
d8fc0 20 65 72 72 6f 72 2c 20 74 68 65 20 65 72 72 64 65 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e 20 .error,.the.errdefer.expression.
d8fe0 63 61 6e 20 63 61 70 74 75 72 65 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 2e can.capture.the.unwrapped.value.
d9000 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............<ul>...............
d9020 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 <li>See.also.<a.href="#errdefer"
d9040 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c >errdefer</a></li>.............<
d9060 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 /ul>...........</td>.........</t
d9080 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 r>.........<tr>...........<th.sc
d90a0 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ope="row">.............<pre><cod
d90c0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 e><span.class="tok-kw">error</sp
d90e0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e an></code></pre>...........</th>
d9100 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 ...........<td>.............<cod
d9120 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 e><span.class="tok-kw">error</sp
d9140 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 6e 20 65 72 72 6f 72 20 74 79 70 65 an></code>.defines.an.error.type
d9160 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............<ul>..............
d9180 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e .<li>See.also.<a.href="#Errors">
d91a0 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c Errors</a></li>.............</ul
d91c0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a >...........</td>.........</tr>.
d91e0 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 ........<tr>...........<th.scope
d9200 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c ="row">.............<pre><code><
d9220 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e span.class="tok-kw">export</span
d9240 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 ></code></pre>...........</th>..
d9260 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e .........<td>.............<code>
d9280 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 <span.class="tok-kw">export</spa
d92a0 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 76 61 n></code>.makes.a.function.or.va
d92c0 72 69 61 62 6c 65 20 65 78 74 65 72 6e 61 6c 6c 79 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 65 riable.externally.visible.in.the
d92e0 20 67 65 6e 65 72 61 74 65 64 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 .generated.object.file..........
d9300 20 20 20 20 45 78 70 6f 72 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 64 65 66 61 75 6c 74 20 74 ....Exported.functions.default.t
d9320 6f 20 74 68 65 20 43 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 o.the.C.calling.convention......
d9340 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 ........<ul>...............<li>S
d9360 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e ee.also.<a.href="#Functions">Fun
d9380 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c ctions</a></li>.............</ul
d93a0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a >...........</td>.........</tr>.
d93c0 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 ........<tr>...........<th.scope
d93e0 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c ="row">.............<pre><code><
d9400 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e span.class="tok-kw">extern</span
d9420 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 ></code></pre>...........</th>..
d9440 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e .........<td>.............<code>
d9460 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 <span.class="tok-kw">extern</spa
d9480 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 63 6c 61 72 65 n></code>.can.be.used.to.declare
d94a0 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 77 69 6c .a.function.or.variable.that.wil
d94c0 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2c 20 77 68 65 6e l.be.resolved.at.link.time,.when
d94e0 20 6c 69 6e 6b 69 6e 67 20 73 74 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 .linking.statically.............
d9500 6f 72 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 64 79 6e 61 or.at.runtime,.when.linking.dyna
d9520 6d 69 63 61 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 mically..............<ul>.......
d9540 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 ........<li>See.also.<a.href="#F
d9560 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 unctions">Functions</a></li>....
d9580 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 .........</ul>...........</td>..
d95a0 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 .......</tr>.........<tr>.......
d95c0 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ....<th.scope="row">............
d95e0 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 .<pre><code><span.class="tok-kw"
d9600 3e 66 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 >fn</span></code></pre>.........
d9620 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ..</th>...........<td>..........
d9640 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e ...<code><span.class="tok-kw">fn
d9660 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 66 75 6e 63 74 69 </span></code>.declares.a.functi
d9680 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 on..............<ul>............
d96a0 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 ...<li>See.also.<a.href="#Functi
d96c0 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ons">Functions</a></li>.........
d96e0 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 ....</ul>...........</td>.......
d9700 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ..</tr>.........<tr>...........<
d9720 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 th.scope="row">.............<pre
d9740 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c ><code><span.class="tok-kw">for<
d9760 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f /span></code></pre>...........</
d9780 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 th>...........<td>.............A
d97a0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c .<code><span.class="tok-kw">for<
d97c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 /span></code>.expression.can.be.
d97e0 75 73 65 64 20 74 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 65 6c 65 6d 65 6e 74 used.to.iterate.over.the.element
d9800 73 20 6f 66 20 61 20 73 6c 69 63 65 2c 20 61 72 72 61 79 2c 20 6f 72 20 74 75 70 6c 65 2e 0a 20 s.of.a.slice,.array,.or.tuple...
d9820 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c ...........<ul>...............<l
d9840 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 i>See.also.<a.href="#for">for</a
d9860 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 ></li>.............</ul>........
d9880 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c ...</td>.........</tr>.........<
d98a0 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 tr>...........<th.scope="row">..
d98c0 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ...........<pre><code><span.clas
d98e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 s="tok-kw">if</span></code></pre
d9900 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</th>...........<td>
d9920 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 .............An.<code><span.clas
d9940 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 s="tok-kw">if</span></code>.expr
d9960 65 73 73 69 6f 6e 20 63 61 6e 20 74 65 73 74 20 62 6f 6f 6c 65 61 6e 20 65 78 70 72 65 73 73 69 ession.can.test.boolean.expressi
d9980 6f 6e 73 2c 20 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 73 2c 20 6f 72 20 65 72 72 6f 72 20 75 ons,.optional.values,.or.error.u
d99a0 6e 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 6f 70 74 69 6f 6e 61 6c 20 nions..............For.optional.
d99c0 76 61 6c 75 65 73 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2c 20 74 68 65 20 69 66 20 65 values.or.error.unions,.the.if.e
d99e0 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 63 61 70 74 75 72 65 20 74 68 65 20 75 6e 77 72 61 70 xpression.can.capture.the.unwrap
d9a00 70 65 64 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ped.value..............<ul>.....
d9a20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 ..........<li>See.also.<a.href="
d9a40 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 #if">if</a></li>.............</u
d9a60 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e l>...........</td>.........</tr>
d9a80 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 .........<tr>...........<th.scop
d9aa0 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e e="row">.............<pre><code>
d9ac0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 <span.class="tok-kw">inline</spa
d9ae0 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a n></code></pre>...........</th>.
d9b00 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 ..........<td>.............<code
d9b20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 ><span.class="tok-kw">inline</sp
d9b40 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 61 62 65 6c 20 an></code>.can.be.used.to.label.
d9b60 61 20 6c 6f 6f 70 20 65 78 70 72 65 73 73 69 6f 6e 20 73 75 63 68 20 74 68 61 74 20 69 74 20 77 a.loop.expression.such.that.it.w
d9b80 69 6c 6c 20 62 65 20 75 6e 72 6f 6c 6c 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e ill.be.unrolled.at.compile.time.
d9ba0 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 .............It.can.also.be.used
d9bc0 20 74 6f 20 66 6f 72 63 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 69 6e 6c 69 6e .to.force.a.function.to.be.inlin
d9be0 65 64 20 61 74 20 61 6c 6c 20 63 61 6c 6c 20 73 69 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 ed.at.all.call.sites............
d9c00 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 ..<ul>...............<li>See.als
d9c20 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 o.<a.href="#inline-while">inline
d9c40 20 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 .while</a>,.<a.href="#inline-for
d9c60 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 ">inline.for</a>,.<a.href="#Func
d9c80 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 tions">Functions</a></li>.......
d9ca0 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 ......</ul>...........</td>.....
d9cc0 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 ....</tr>.........<tr>..........
d9ce0 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 .<th.scope="row">.............<p
d9d00 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6c 69 re><code><span.class="tok-kw">li
d9d20 6e 6b 73 65 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 nksection</span></code></pre>...
d9d40 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 ........</th>...........<td>....
d9d60 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .........The.<code><span.class="
d9d80 74 6f 6b 2d 6b 77 22 3e 6c 69 6e 6b 73 65 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 tok-kw">linksection</span></code
d9da0 3e 20 6b 65 79 77 6f 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 >.keyword.can.be.used.to.specify
d9dc0 20 77 68 61 74 20 73 65 63 74 69 6f 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 67 6c .what.section.the.function.or.gl
d9de0 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 77 69 6c 6c 20 62 65 20 70 75 74 20 69 6e 74 6f 20 28 obal.variable.will.be.put.into.(
d9e00 65 2e 67 2e 20 3c 63 6f 64 65 3e 2e 74 65 78 74 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 e.g..<code>.text</code>)........
d9e20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 ....</td>.........</tr>.........
d9e40 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a <tr>...........<th.scope="row">.
d9e60 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ............<pre><code><span.cla
d9e80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ss="tok-kw">noalias</span></code
d9ea0 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 ></pre>...........</th>.........
d9ec0 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 ..<td>.............The.<code><sp
d9ee0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e an.class="tok-kw">noalias</span>
d9f00 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c </code>.keyword..............<ul
d9f20 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 >...............<li>TODO.add.doc
d9f40 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 6e 6f 61 6c 69 61 73 3c 2f 6c 69 3e 0a 20 20 20 20 umentation.for.noalias</li>.....
d9f60 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 ........</ul>...........</td>...
d9f80 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 ......</tr>.........<tr>........
d9fa0 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...<th.scope="row">.............
d9fc0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e <pre><code><span.class="tok-kw">
d9fe0 6e 6f 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 noinline</span></code></pre>....
da000 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 .......</th>...........<td>.....
da020 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ........<code><span.class="tok-k
da040 77 22 3e 6e 6f 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 69 73 61 6c 6c w">noinline</span></code>.disall
da060 6f 77 73 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 69 6e 6c 69 6e 65 64 20 69 6e 20 61 6c ows.function.to.be.inlined.in.al
da080 6c 20 63 61 6c 6c 20 73 69 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 l.call.sites..............<ul>..
da0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 .............<li>See.also.<a.hre
da0c0 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 f="#Functions">Functions</a></li
da0e0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f >.............</ul>...........</
da100 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 td>.........</tr>.........<tr>..
da120 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 .........<th.scope="row">.......
da140 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
da160 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 k-kw">nosuspend</span></code></p
da180 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 re>...........</th>...........<t
da1a0 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 d>.............The.<code><span.c
da1c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-kw">nosuspend</span></
da1e0 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 66 72 6f code>.keyword.can.be.used.in.fro
da200 6e 74 20 6f 66 20 61 20 62 6c 6f 63 6b 2c 20 73 74 61 74 65 6d 65 6e 74 20 6f 72 20 65 78 70 72 nt.of.a.block,.statement.or.expr
da220 65 73 73 69 6f 6e 2c 20 74 6f 20 6d 61 72 6b 20 61 20 73 63 6f 70 65 20 77 68 65 72 65 20 6e 6f ession,.to.mark.a.scope.where.no
da240 20 73 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 73 20 61 72 65 20 72 65 61 63 68 65 64 2e 0a .suspension.points.are.reached..
da260 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 69 6e 73 69 64 ............In.particular,.insid
da280 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e e.a.<code><span.class="tok-kw">n
da2a0 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 63 6f 70 65 3a 0a 20 20 osuspend</span></code>.scope:...
da2c0 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 ..........<ul>...............<li
da2e0 3e 55 73 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >Using.the.<code><span.class="to
da300 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 k-kw">suspend</span></code>.keyw
da320 6f 72 64 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c ord.results.in.a.compile.error.<
da340 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 69 6e 67 20 3c 63 6f /li>...............<li>Using.<co
da360 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 de><span.class="tok-kw">await</s
da380 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 20 pan></code>.on.a.function.frame.
da3a0 77 68 69 63 68 20 68 61 73 6e 27 74 20 63 6f 6d 70 6c 65 74 65 64 20 79 65 74 20 72 65 73 75 6c which.hasn't.completed.yet.resul
da3c0 74 73 20 69 6e 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 ts.in.safety-checked.<a.href="#U
da3e0 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 ndefined-Behavior">Undefined.Beh
da400 61 76 69 6f 72 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c avior</a>.</li>...............<l
da420 69 3e 43 61 6c 6c 69 6e 67 20 61 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20 i>Calling.an.async.function.may.
da440 72 65 73 75 6c 74 20 69 6e 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 result.in.safety-checked.<a.href
da460 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 ="#Undefined-Behavior">Undefined
da480 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2c 20 62 65 63 61 75 73 65 20 69 74 27 73 20 65 71 75 69 .Behavior</a>,.because.it's.equi
da4a0 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 61 77 61 69 74 20 61 73 79 6e 63 20 73 6f 6d 65 valent.to.<code>await.async.some
da4c0 5f 61 73 79 6e 63 5f 66 6e 28 29 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 63 6f 6e 74 61 69 _async_fn()</code>,.which.contai
da4e0 6e 73 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ns.an.<code><span.class="tok-kw"
da500 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 >await</span></code>.</li>......
da520 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 64 65 20 69 6e .......</ul>.............Code.in
da540 73 69 64 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 side.a.<code><span.class="tok-kw
da560 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 63 6f 70 65 20 ">nosuspend</span></code>.scope.
da580 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 66 75 6e does.not.cause.the.enclosing.fun
da5a0 63 74 69 6f 6e 20 74 6f 20 62 65 63 6f 6d 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 ction.to.become.an.<a.href="#Asy
da5c0 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e nc-Functions">async.function</a>
da5e0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............<ul>..............
da600 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 .<li>See.also.<a.href="#Async-Fu
da620 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 nctions">Async.Functions</a></li
da640 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f >.............</ul>...........</
da660 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 td>.........</tr>.........<tr>..
da680 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 .........<th.scope="row">.......
da6a0 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
da6c0 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e k-kw">opaque</span></code></pre>
da6e0 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a ...........</th>...........<td>.
da700 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ............<code><span.class="t
da720 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 ok-kw">opaque</span></code>.defi
da740 6e 65 73 20 61 6e 20 6f 70 61 71 75 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 nes.an.opaque.type..............
da760 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 <ul>...............<li>See.also.
da780 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 <a.href="#opaque">opaque</a></li
da7a0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f >.............</ul>...........</
da7c0 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 td>.........</tr>.........<tr>..
da7e0 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 .........<th.scope="row">.......
da800 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ......<pre><code><span.class="to
da820 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 k-kw">or</span></code></pre>....
da840 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 .......</th>...........<td>.....
da860 20 20 20 20 20 20 20 20 54 68 65 20 62 6f 6f 6c 65 61 6e 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f ........The.boolean.operator.<co
da880 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e de><span.class="tok-kw">or</span
da8a0 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 ></code>..............<ul>......
da8c0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 .........<li>See.also.<a.href="#
da8e0 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 Operators">Operators</a></li>...
da900 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a ..........</ul>...........</td>.
da920 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 ........</tr>.........<tr>......
da940 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 .....<th.scope="row">...........
da960 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ..<pre><code><span.class="tok-kw
da980 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 ">orelse</span></code></pre>....
da9a0 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 .......</th>...........<td>.....
da9c0 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ........<code><span.class="tok-k
da9e0 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 w">orelse</span></code>.can.be.u
daa00 73 65 64 20 74 6f 20 65 76 61 6c 75 61 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 66 sed.to.evaluate.an.expression.if
daa20 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 66 6f 72 65 20 69 74 20 65 76 61 6c 75 61 .the.expression.before.it.evalua
daa40 74 65 73 20 74 6f 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 tes.to.null..............<ul>...
daa60 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 ............<li>See.also.<a.href
daa80 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 2c 20 3c 61 20 ="#Optionals">Optionals</a>,.<a.
daaa0 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c href="#Operators">Operators</a><
daac0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 /li>.............</ul>..........
daae0 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 .</td>.........</tr>.........<tr
dab00 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 >...........<th.scope="row">....
dab20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .........<pre><code><span.class=
dab40 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 "tok-kw">packed</span></code></p
dab60 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 re>...........</th>...........<t
dab80 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 d>.............The.<code><span.c
daba0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 lass="tok-kw">packed</span></cod
dabc0 65 3e 20 6b 65 79 77 6f 72 64 20 62 65 66 6f 72 65 20 61 20 73 74 72 75 63 74 20 64 65 66 69 6e e>.keyword.before.a.struct.defin
dabe0 69 74 69 6f 6e 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 74 72 75 63 74 27 73 20 69 6e 2d 6d 65 ition.changes.the.struct's.in-me
dac00 6d 6f 72 79 20 6c 61 79 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 67 mory.layout.............to.the.g
dac20 75 61 72 61 6e 74 65 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b uaranteed.<code><span.class="tok
dac40 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 61 79 6f 75 74 -kw">packed</span></code>.layout
dac60 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............<ul>..............
dac80 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 .<li>See.also.<a.href="#packed-s
daca0 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 truct">packed.struct</a></li>...
dacc0 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a ..........</ul>...........</td>.
dace0 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 ........</tr>.........<tr>......
dad00 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 .....<th.scope="row">...........
dad20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ..<pre><code><span.class="tok-kw
dad40 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 ">pub</span></code></pre>.......
dad60 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 ....</th>...........<td>........
dad80 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .....The.<code><span.class="tok-
dada0 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f kw">pub</span></code>.in.front.o
dadc0 66 20 61 20 74 6f 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6d 61 6b 65 73 20 f.a.top.level.declaration.makes.
dade0 74 68 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 the.declaration.available.......
dae00 20 20 20 20 20 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 66 72 6f 6d 20 61 20 64 69 66 66 65 72 ......to.reference.from.a.differ
dae20 65 6e 74 20 66 69 6c 65 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 20 69 74 20 69 73 20 64 65 63 6c ent.file.than.the.one.it.is.decl
dae40 61 72 65 64 20 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ared.in..............<ul>.......
dae60 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 ........<li>See.also.<a.href="#i
dae80 6d 70 6f 72 74 22 3e 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 mport">import</a></li>..........
daea0 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 ...</ul>...........</td>........
daec0 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 .</tr>.........<tr>...........<t
daee0 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e h.scope="row">.............<pre>
daf00 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d <code><span.class="tok-kw">resum
daf20 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 e</span></code></pre>...........
daf40 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </th>...........<td>............
daf60 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 .<code><span.class="tok-kw">resu
daf80 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 65 me</span></code>.will.continue.e
dafa0 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 20 61 66 74 xecution.of.a.function.frame.aft
dafc0 65 72 20 74 68 65 20 70 6f 69 6e 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 73 75 er.the.point.the.function.was.su
dafe0 73 70 65 6e 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 spended............</td>........
db000 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 .</tr>.........<tr>...........<t
db020 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e h.scope="row">.............<pre>
db040 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 <code><span.class="tok-kw">retur
db060 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 n</span></code></pre>...........
db080 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </th>...........<td>............
db0a0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 .<code><span.class="tok-kw">retu
db0c0 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 69 74 73 20 61 20 66 75 6e 63 74 69 6f rn</span></code>.exits.a.functio
db0e0 6e 20 77 69 74 68 20 61 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e n.with.a.value..............<ul>
db100 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 ...............<li>See.also.<a.h
db120 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f ref="#Functions">Functions</a></
db140 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 li>.............</ul>...........
db160 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e </td>.........</tr>.........<tr>
db180 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 ...........<th.scope="row">.....
db1a0 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ........<pre><code><span.class="
db1c0 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 tok-kw">struct</span></code></pr
db1e0 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 e>...........</th>...........<td
db200 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.............<code><span.class=
db220 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 "tok-kw">struct</span></code>.de
db240 66 69 6e 65 73 20 61 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e fines.a.struct..............<ul>
db260 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 ...............<li>See.also.<a.h
db280 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ref="#struct">struct</a></li>...
db2a0 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a ..........</ul>...........</td>.
db2c0 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 ........</tr>.........<tr>......
db2e0 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 .....<th.scope="row">...........
db300 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ..<pre><code><span.class="tok-kw
db320 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ">suspend</span></code></pre>...
db340 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 ........</th>...........<td>....
db360 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .........<code><span.class="tok-
db380 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 63 kw">suspend</span></code>.will.c
db3a0 61 75 73 65 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 74 ause.control.flow.to.return.to.t
db3c0 68 65 20 63 61 6c 6c 20 73 69 74 65 20 6f 72 20 72 65 73 75 6d 65 72 20 6f 66 20 74 68 65 20 66 he.call.site.or.resumer.of.the.f
db3e0 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e unction..............<code><span
db400 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-kw">suspend</span></
db420 63 6f 64 65 3e 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 62 65 66 6f 72 65 20 61 20 code>.can.also.be.used.before.a.
db440 62 6c 6f 63 6b 20 77 69 74 68 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 block.within.a.function,........
db460 20 20 20 20 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 73 .....to.allow.the.function.acces
db480 73 20 74 6f 20 69 74 73 20 66 72 61 6d 65 20 62 65 66 6f 72 65 20 63 6f 6e 74 72 6f 6c 20 66 6c s.to.its.frame.before.control.fl
db4a0 6f 77 20 72 65 74 75 72 6e 73 20 74 6f 20 74 68 65 20 63 61 6c 6c 20 73 69 74 65 2e 0a 20 20 20 ow.returns.to.the.call.site.....
db4c0 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 .......</td>.........</tr>......
db4e0 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 ...<tr>...........<th.scope="row
db500 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ">.............<pre><code><span.
db520 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f class="tok-kw">switch</span></co
db540 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 de></pre>...........</th>.......
db560 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 ....<td>.............A.<code><sp
db580 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c an.class="tok-kw">switch</span><
db5a0 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f /code>.expression.can.be.used.to
db5c0 20 74 65 73 74 20 76 61 6c 75 65 73 20 6f 66 20 61 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 2e 0a 20 .test.values.of.a.common.type...
db5e0 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ...........<code><span.class="to
db600 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 73 65 73 k-kw">switch</span></code>.cases
db620 20 63 61 6e 20 63 61 70 74 75 72 65 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 6f 66 20 61 20 3c .can.capture.field.values.of.a.<
db640 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e a.href="#Tagged-union">Tagged.un
db660 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ion</a>..............<ul>.......
db680 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 ........<li>See.also.<a.href="#s
db6a0 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 witch">switch</a></li>..........
db6c0 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 ...</ul>...........</td>........
db6e0 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 .</tr>.........<tr>...........<t
db700 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e h.scope="row">.............<pre>
db720 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c <code><span.class="tok-kw">test<
db740 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f /span></code></pre>...........</
db760 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 th>...........<td>.............T
db780 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 he.<code><span.class="tok-kw">te
db7a0 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 63 61 6e 20 62 65 20 st</span></code>.keyword.can.be.
db7c0 75 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 62 6c 6f 63 6b used.to.denote.a.top-level.block
db7e0 20 6f 66 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 64 20 74 6f 20 6d 61 6b .of.code.............used.to.mak
db800 65 20 73 75 72 65 20 62 65 68 61 76 69 6f 72 20 6d 65 65 74 73 20 65 78 70 65 63 74 61 74 69 6f e.sure.behavior.meets.expectatio
db820 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ns..............<ul>............
db840 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 54 65 ...<li>See.also.<a.href="#Zig-Te
db860 73 74 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 st">Zig.Test</a></li>...........
db880 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ..</ul>...........</td>.........
db8a0 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 </tr>.........<tr>...........<th
db8c0 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c .scope="row">.............<pre><
db8e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 64 code><span.class="tok-kw">thread
db900 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 local</span></code></pre>.......
db920 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 ....</th>...........<td>........
db940 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e .....<code><span.class="tok-kw">
db960 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 threadlocal</span></code>.can.be
db980 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 76 61 72 69 61 62 6c 65 20 61 73 20 74 .used.to.specify.a.variable.as.t
db9a0 68 72 65 61 64 2d 6c 6f 63 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 hread-local..............<ul>...
db9c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 ............<li>See.also.<a.href
db9e0 3d 22 23 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 ="#Thread-Local-Variables">Threa
dba00 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 d.Local.Variables</a></li>......
dba20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 .......</ul>...........</td>....
dba40 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 .....</tr>.........<tr>.........
dba60 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ..<th.scope="row">.............<
dba80 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 pre><code><span.class="tok-kw">t
dbaa0 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 ry</span></code></pre>..........
dbac0 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 .</th>...........<td>...........
dbae0 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 ..<code><span.class="tok-kw">try
dbb00 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 76 61 6c 75 61 74 65 73 20 61 6e 20 65 72 72 6f </span></code>.evaluates.an.erro
dbb20 72 20 75 6e 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 r.union.expression..............
dbb40 49 66 20 69 74 20 69 73 20 61 6e 20 65 72 72 6f 72 2c 20 69 74 20 72 65 74 75 72 6e 73 20 66 72 If.it.is.an.error,.it.returns.fr
dbb60 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 om.the.current.function.with.the
dbb80 20 73 61 6d 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 .same.error..............Otherwi
dbba0 73 65 2c 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 74 68 se,.the.expression.results.in.th
dbbc0 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c e.unwrapped.value..............<
dbbe0 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c ul>...............<li>See.also.<
dbc00 61 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 a.href="#try">try</a></li>......
dbc20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 .......</ul>...........</td>....
dbc40 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 .....</tr>.........<tr>.........
dbc60 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ..<th.scope="row">.............<
dbc80 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 pre><code><span.class="tok-kw">u
dbca0 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 nion</span></code></pre>........
dbcc0 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 ...</th>...........<td>.........
dbce0 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 ....<code><span.class="tok-kw">u
dbd00 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 20 75 6e 69 nion</span></code>.defines.a.uni
dbd20 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 on..............<ul>............
dbd40 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 ...<li>See.also.<a.href="#union"
dbd60 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c >union</a></li>.............</ul
dbd80 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a >...........</td>.........</tr>.
dbda0 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 ........<tr>...........<th.scope
dbdc0 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c ="row">.............<pre><code><
dbde0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c span.class="tok-kw">unreachable<
dbe00 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f /span></code></pre>...........</
dbe20 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c th>...........<td>.............<
dbe40 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 code><span.class="tok-kw">unreac
dbe60 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 hable</span></code>.can.be.used.
dbe80 74 6f 20 61 73 73 65 72 74 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c 6c to.assert.that.control.flow.will
dbea0 20 6e 65 76 65 72 20 68 61 70 70 65 6e 20 75 70 6f 6e 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 .never.happen.upon.a.particular.
dbec0 6c 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 70 65 6e 64 69 6e 67 20 location..............Depending.
dbee0 6f 6e 20 74 68 65 20 62 75 69 6c 64 20 6d 6f 64 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 on.the.build.mode,.<code><span.c
dbf00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e lass="tok-kw">unreachable</span>
dbf20 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 65 6d 69 74 20 61 20 70 61 6e 69 63 2e 0a 20 20 20 20 20 20 </code>.may.emit.a.panic........
dbf40 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6d 69 ......<ul>...............<li>Emi
dbf60 74 73 20 61 20 70 61 6e 69 63 20 69 6e 20 3c 63 6f 64 65 3e 44 65 62 75 67 3c 2f 63 6f 64 65 3e ts.a.panic.in.<code>Debug</code>
dbf80 20 61 6e 64 20 3c 63 6f 64 65 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 63 6f 64 65 3e 20 6d 6f .and.<code>ReleaseSafe</code>.mo
dbfa0 64 65 2c 20 6f 72 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c de,.or.when.using.<kbd>zig.test<
dbfc0 2f 6b 62 64 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 6f /kbd>.</li>...............<li>Do
dbfe0 65 73 20 6e 6f 74 20 65 6d 69 74 20 61 20 70 61 6e 69 63 20 69 6e 20 3c 63 6f 64 65 3e 52 65 6c es.not.emit.a.panic.in.<code>Rel
dc000 65 61 73 65 46 61 73 74 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 52 65 6c 65 61 73 easeFast</code>.and.<code>Releas
dc020 65 53 6d 61 6c 6c 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 eSmall</code>.mode.</li>........
dc040 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 75 6e .......<li>See.also.<a.href="#un
dc060 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a reachable">unreachable</a></li>.
dc080 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 ............</ul>...........</td
dc0a0 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 >.........</tr>.........<tr>....
dc0c0 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 .......<th.scope="row">.........
dc0e0 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ....<pre><code><span.class="tok-
dc100 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e kw">usingnamespace</span></code>
dc120 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 </pre>...........</th>..........
dc140 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .<td>.............<code><span.cl
dc160 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 ass="tok-kw">usingnamespace</spa
dc180 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 n></code>.is.a.top-level.declara
dc1a0 74 69 6f 6e 20 74 68 61 74 20 69 6d 70 6f 72 74 73 20 61 6c 6c 20 74 68 65 20 70 75 62 6c 69 63 tion.that.imports.all.the.public
dc1c0 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 2c 0a 20 20 .declarations.of.the.operand,...
dc1e0 20 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 75 63 74 ..........which.must.be.a.struct
dc200 2c 20 75 6e 69 6f 6e 2c 20 6f 72 20 65 6e 75 6d 2c 20 69 6e 74 6f 20 74 68 65 20 63 75 72 72 65 ,.union,.or.enum,.into.the.curre
dc220 6e 74 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 nt.scope..............<ul>......
dc240 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 .........<li>See.also.<a.href="#
dc260 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f usingnamespace">usingnamespace</
dc280 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 a></li>.............</ul>.......
dc2a0 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 ....</td>.........</tr>.........
dc2c0 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a <tr>...........<th.scope="row">.
dc2e0 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ............<pre><code><span.cla
dc300 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ss="tok-kw">var</span></code></p
dc320 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 re>...........</th>...........<t
dc340 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 d>.............<code><span.class
dc360 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c ="tok-kw">var</span></code>.decl
dc380 61 72 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 6d 61 79 20 62 65 20 6d 6f 64 69 ares.a.variable.that.may.be.modi
dc3a0 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 fied..............<ul>..........
dc3c0 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 56 61 72 69 .....<li>See.also.<a.href="#Vari
dc3e0 61 62 6c 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ables">Variables</a></li>.......
dc400 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 ......</ul>...........</td>.....
dc420 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 ....</tr>.........<tr>..........
dc440 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 .<th.scope="row">.............<p
dc460 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f re><code><span.class="tok-kw">vo
dc480 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 latile</span></code></pre>......
dc4a0 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</th>...........<td>.......
dc4c0 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ......<code><span.class="tok-kw"
dc4e0 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 >volatile</span></code>.can.be.u
dc500 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 6c 6f 61 64 73 20 6f 72 20 73 74 6f 72 65 73 20 6f 66 sed.to.denote.loads.or.stores.of
dc520 20 61 20 70 6f 69 6e 74 65 72 20 68 61 76 65 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 20 20 .a.pointer.have.side.effects....
dc540 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 6d 6f 64 69 66 79 20 61 6e 20 ..........It.can.also.modify.an.
dc560 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 74 6f 20 64 65 inline.assembly.expression.to.de
dc580 6e 6f 74 65 20 69 74 20 68 61 73 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 20 20 20 20 20 20 note.it.has.side.effects........
dc5a0 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 ......<ul>...............<li>See
dc5c0 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 .also.<a.href="#volatile">volati
dc5e0 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 65 le</a>,.<a.href="#Assembly">Asse
dc600 6d 62 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a mbly</a></li>.............</ul>.
dc620 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 ..........</td>.........</tr>...
dc640 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 ......<tr>...........<th.scope="
dc660 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 row">.............<pre><code><sp
dc680 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-kw">while</span></
dc6a0 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 code></pre>...........</th>.....
dc6c0 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c ......<td>.............A.<code><
dc6e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e span.class="tok-kw">while</span>
dc700 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 </code>.expression.can.be.used.t
dc720 6f 20 72 65 70 65 61 74 65 64 6c 79 20 74 65 73 74 20 61 20 62 6f 6f 6c 65 61 6e 2c 20 6f 70 74 o.repeatedly.test.a.boolean,.opt
dc740 69 6f 6e 61 6c 2c 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e ional,.or.error.union.expression
dc760 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 63 65 61 73 65 20 6c 6f 6f 70 69 6e 67 20 ,.............and.cease.looping.
dc780 77 68 65 6e 20 74 68 61 74 20 65 78 70 72 65 73 73 69 6f 6e 20 65 76 61 6c 75 61 74 65 73 20 74 when.that.expression.evaluates.t
dc7a0 6f 20 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 2c 20 72 65 73 70 o.false,.null,.or.an.error,.resp
dc7c0 65 63 74 69 76 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 ectively..............<ul>......
dc7e0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 .........<li>See.also.<a.href="#
dc800 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 while">while</a></li>...........
dc820 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ..</ul>...........</td>.........
dc840 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 </tr>.........</tbody>.......</t
dc860 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 able>.......</div>..............
dc880 20 3c 68 32 20 69 64 3d 22 41 70 70 65 6e 64 69 78 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 .<h2.id="Appendix"><a.href="#toc
dc8a0 2d 41 70 70 65 6e 64 69 78 22 3e 41 70 70 65 6e 64 69 78 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 -Appendix">Appendix</a>.<a.class
dc8c0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 70 70 65 6e 64 69 78 22 3e c2 a7 3c 2f 61 3e 3c 2f ="hdr".href="#Appendix">..</a></
dc8e0 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 6f 6e 74 61 69 6e 65 72 73 22 3e 3c h2>........<h3.id="Containers"><
dc900 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6e 74 61 69 6e 65 72 73 22 3e 43 6f 6e 74 61 69 6e a.href="#toc-Containers">Contain
dc920 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f ers</a>.<a.class="hdr".href="#Co
dc940 6e 74 61 69 6e 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e ntainers">..</a></h3>........<p>
dc960 0a 20 20 20 20 20 20 41 20 3c 65 6d 3e 63 6f 6e 74 61 69 6e 65 72 3c 2f 65 6d 3e 20 69 6e 20 5a .......A.<em>container</em>.in.Z
dc980 69 67 20 69 73 20 61 6e 79 20 73 79 6e 74 61 63 74 69 63 61 6c 20 63 6f 6e 73 74 72 75 63 74 20 ig.is.any.syntactical.construct.
dc9a0 74 68 61 74 20 61 63 74 73 20 61 73 20 61 20 6e 61 6d 65 73 70 61 63 65 20 74 6f 20 68 6f 6c 64 that.acts.as.a.namespace.to.hold
dc9c0 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 .<a.href="#Container-Level-Varia
dc9e0 62 6c 65 73 22 3e 76 61 72 69 61 62 6c 65 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 bles">variable</a>.and.<a.href="
dca00 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 20 64 65 63 6c 61 72 61 #Functions">function</a>.declara
dca20 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 73 20 61 72 65 20 61 6c 73 6f tions........Containers.are.also
dca40 20 74 79 70 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 69 .type.definitions.which.can.be.i
dca60 6e 73 74 61 6e 74 69 61 74 65 64 2e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 nstantiated........<a.href="#str
dca80 75 63 74 22 3e 53 74 72 75 63 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d uct">Structs</a>,.<a.href="#enum
dcaa0 22 3e 65 6e 75 6d 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e ">enums</a>,.<a.href="#union">un
dcac0 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 ions</a>,.<a.href="#opaque">opaq
dcae0 75 65 73 3c 2f 61 3e 2c 20 61 6e 64 20 65 76 65 6e 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c ues</a>,.and.even.Zig.source.fil
dcb00 65 73 20 74 68 65 6d 73 65 6c 76 65 73 20 61 72 65 20 63 6f 6e 74 61 69 6e 65 72 73 2e 0a 20 20 es.themselves.are.containers....
dcb20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 74 68 6f 75 67 ....</p>.......<p>.......Althoug
dcb40 68 20 63 6f 6e 74 61 69 6e 65 72 73 20 28 65 78 63 65 70 74 20 5a 69 67 20 73 6f 75 72 63 65 20 h.containers.(except.Zig.source.
dcb60 66 69 6c 65 73 29 20 75 73 65 20 63 75 72 6c 79 20 62 72 61 63 65 73 20 74 6f 20 73 75 72 72 6f files).use.curly.braces.to.surro
dcb80 75 6e 64 20 74 68 65 69 72 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 74 68 65 79 20 73 68 6f 75 6c und.their.definition,.they.shoul
dcba0 64 20 6e 6f 74 20 62 65 20 63 6f 6e 66 75 73 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 d.not.be.confused.with.<a.href="
dcbc0 23 42 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f 61 3e 20 6f 72 20 66 75 6e 63 74 69 6f 6e 73 #Blocks">blocks</a>.or.functions
dcbe0 2e 0a 20 20 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f 6e 74 61 69 ........Containers.do.not.contai
dcc00 6e 20 73 74 61 74 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a n.statements........</p>........
dcc20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 47 72 61 6d 6d 61 72 22 3e 3c 61 20 68 72 65 66 3d .......<h3.id="Grammar"><a.href=
dcc40 22 23 74 6f 63 2d 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 20 3c 61 20 63 6c "#toc-Grammar">Grammar</a>.<a.cl
dcc60 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 47 72 61 6d 6d 61 72 22 3e c2 a7 3c 2f 61 3e ass="hdr".href="#Grammar">..</a>
dcc80 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e </h3>........<figure><figcaption
dcca0 20 63 6c 61 73 73 3d 22 70 65 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 .class="peg-cap"><cite.class="fi
dccc0 6c 65 22 3e 67 72 61 6d 6d 61 72 2e 70 65 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 le">grammar.peg</cite></figcapti
dcce0 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 52 6f 6f 74 20 26 6c 74 3b 2d 20 73 6b 69 70 20 63 6f on><pre><code>Root.&lt;-.skip.co
dcd00 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 43 6f 6e 74 61 69 6e 65 72 4d 65 ntainer_doc_comment?.ContainerMe
dcd20 6d 62 65 72 73 20 65 6f 66 0a 0a 23 20 2a 2a 2a 20 54 6f 70 20 6c 65 76 65 6c 20 2a 2a 2a 0a 43 mbers.eof..#.***.Top.level.***.C
dcd40 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 26 6c 74 3b 2d 20 43 6f 6e 74 61 69 6e 65 72 44 ontainerMembers.&lt;-.ContainerD
dcd60 65 63 6c 61 72 61 74 69 6f 6e 2a 20 28 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 43 4f 4d 4d eclaration*.(ContainerField.COMM
dcd80 41 29 2a 20 28 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 2f 20 43 6f 6e 74 61 69 6e 65 72 44 A)*.(ContainerField./.ContainerD
dcda0 65 63 6c 61 72 61 74 69 6f 6e 2a 29 0a 0a 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 eclaration*)..ContainerDeclarati
dcdc0 6f 6e 20 26 6c 74 3b 2d 20 54 65 73 74 44 65 63 6c 20 2f 20 43 6f 6d 70 74 69 6d 65 44 65 63 6c on.&lt;-.TestDecl./.ComptimeDecl
dcde0 20 2f 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 4b 45 59 57 4f 52 44 5f 70 75 62 3f 20 44 65 63 ./.doc_comment?.KEYWORD_pub?.Dec
dce00 6c 0a 0a 54 65 73 74 44 65 63 6c 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 74 65 73 74 20 28 l..TestDecl.&lt;-.KEYWORD_test.(
dce20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 20 2f 20 49 44 45 4e 54 49 46 49 45 52 STRINGLITERALSINGLE./.IDENTIFIER
dce40 29 3f 20 42 6c 6f 63 6b 0a 0a 43 6f 6d 70 74 69 6d 65 44 65 63 6c 20 26 6c 74 3b 2d 20 4b 45 59 )?.Block..ComptimeDecl.&lt;-.KEY
dce60 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 42 6c 6f 63 6b 0a 0a 44 65 63 6c 0a 20 20 20 20 26 6c WORD_comptime.Block..Decl.....&l
dce80 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 t;-.(KEYWORD_export./.KEYWORD_ex
dcea0 74 65 72 6e 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 20 2f 20 4b 45 59 57 tern.STRINGLITERALSINGLE?./.KEYW
dcec0 4f 52 44 5f 69 6e 6c 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 29 3f 20 ORD_inline./.KEYWORD_noinline)?.
dcee0 46 6e 50 72 6f 74 6f 20 28 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 42 6c 6f 63 6b 29 0a 20 20 20 20 FnProto.(SEMICOLON./.Block).....
dcf00 20 2f 20 28 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 ./.(KEYWORD_export./.KEYWORD_ext
dcf20 65 72 6e 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 29 3f 20 4b 45 59 57 4f ern.STRINGLITERALSINGLE?)?.KEYWO
dcf40 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 3f 20 47 6c 6f 62 61 6c 56 61 72 44 65 63 6c 0a 20 20 RD_threadlocal?.GlobalVarDecl...
dcf60 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 45 78 70 72 .../.KEYWORD_usingnamespace.Expr
dcf80 20 53 45 4d 49 43 4f 4c 4f 4e 0a 0a 46 6e 50 72 6f 74 6f 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 .SEMICOLON..FnProto.&lt;-.KEYWOR
dcfa0 44 5f 66 6e 20 49 44 45 4e 54 49 46 49 45 52 3f 20 4c 50 41 52 45 4e 20 50 61 72 61 6d 44 65 63 D_fn.IDENTIFIER?.LPAREN.ParamDec
dcfc0 6c 4c 69 73 74 20 52 50 41 52 45 4e 20 42 79 74 65 41 6c 69 67 6e 3f 20 41 64 64 72 53 70 61 63 lList.RPAREN.ByteAlign?.AddrSpac
dcfe0 65 3f 20 4c 69 6e 6b 53 65 63 74 69 6f 6e 3f 20 43 61 6c 6c 43 6f 6e 76 3f 20 45 58 43 4c 41 4d e?.LinkSection?.CallConv?.EXCLAM
dd000 41 54 49 4f 4e 4d 41 52 4b 3f 20 54 79 70 65 45 78 70 72 0a 0a 56 61 72 44 65 63 6c 50 72 6f 74 ATIONMARK?.TypeExpr..VarDeclProt
dd020 6f 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 o.&lt;-.(KEYWORD_const./.KEYWORD
dd040 5f 76 61 72 29 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4c 4f 4e 20 54 79 70 65 45 78 70 72 _var).IDENTIFIER.(COLON.TypeExpr
dd060 29 3f 20 42 79 74 65 41 6c 69 67 6e 3f 20 41 64 64 72 53 70 61 63 65 3f 20 4c 69 6e 6b 53 65 63 )?.ByteAlign?.AddrSpace?.LinkSec
dd080 74 69 6f 6e 3f 0a 0a 47 6c 6f 62 61 6c 56 61 72 44 65 63 6c 20 26 6c 74 3b 2d 20 56 61 72 44 65 tion?..GlobalVarDecl.&lt;-.VarDe
dd0a0 63 6c 50 72 6f 74 6f 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 20 53 45 4d 49 43 4f 4c 4f 4e 0a clProto.(EQUAL.Expr)?.SEMICOLON.
dd0c0 0a 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e .ContainerField.&lt;-.doc_commen
dd0e0 74 3f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 3f 20 21 4b 45 59 57 4f 52 44 5f 66 6e t?.KEYWORD_comptime?.!KEYWORD_fn
dd100 20 28 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 29 3f 20 54 79 70 65 45 78 70 72 20 42 79 .(IDENTIFIER.COLON)?.TypeExpr.By
dd120 74 65 41 6c 69 67 6e 3f 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 0a 0a 23 20 2a 2a 2a 20 42 6c teAlign?.(EQUAL.Expr)?..#.***.Bl
dd140 6f 63 6b 20 4c 65 76 65 6c 20 2a 2a 2a 0a 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c 74 3b ock.Level.***.Statement.....&lt;
dd160 2d 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 43 6f 6d 70 74 69 6d 65 53 74 61 74 65 -.KEYWORD_comptime.ComptimeState
dd180 6d 65 6e 74 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 42 6c ment....../.KEYWORD_nosuspend.Bl
dd1a0 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f ockExprStatement....../.KEYWORD_
dd1c0 73 75 73 70 65 6e 64 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 suspend.BlockExprStatement......
dd1e0 2f 20 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 /.KEYWORD_defer.BlockExprStateme
dd200 6e 74 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 50 61 79 6c 6f nt....../.KEYWORD_errdefer.Paylo
dd220 61 64 3f 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 49 66 ad?.BlockExprStatement....../.If
dd240 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 4c 61 62 65 6c 65 64 53 74 61 74 65 6d 65 6e Statement....../.LabeledStatemen
dd260 74 0a 20 20 20 20 20 2f 20 53 77 69 74 63 68 45 78 70 72 0a 20 20 20 20 20 2f 20 56 61 72 44 65 t....../.SwitchExpr....../.VarDe
dd280 63 6c 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 0a 43 6f 6d 70 74 69 6d 65 53 74 61 74 65 6d 65 clExprStatement..ComptimeStateme
dd2a0 6e 74 0a 20 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 45 78 70 72 0a 20 20 20 20 20 2f 20 56 61 nt.....&lt;-.BlockExpr....../.Va
dd2c0 72 44 65 63 6c 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 0a 49 66 53 74 61 74 65 6d 65 6e 74 0a rDeclExprStatement..IfStatement.
dd2e0 20 20 20 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 42 6c 6f 63 6b 45 78 70 72 20 28 20 4b ....&lt;-.IfPrefix.BlockExpr.(.K
dd300 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 EYWORD_else.Payload?.Statement.)
dd320 3f 0a 20 20 20 20 20 2f 20 49 66 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 28 20 53 ?....../.IfPrefix.AssignExpr.(.S
dd340 45 4d 49 43 4f 4c 4f 4e 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f EMICOLON./.KEYWORD_else.Payload?
dd360 20 53 74 61 74 65 6d 65 6e 74 20 29 0a 0a 4c 61 62 65 6c 65 64 53 74 61 74 65 6d 65 6e 74 20 26 .Statement.)..LabeledStatement.&
dd380 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 28 42 6c 6f 63 6b 20 2f 20 4c 6f 6f 70 53 74 lt;-.BlockLabel?.(Block./.LoopSt
dd3a0 61 74 65 6d 65 6e 74 29 0a 0a 4c 6f 6f 70 53 74 61 74 65 6d 65 6e 74 20 26 6c 74 3b 2d 20 4b 45 atement)..LoopStatement.&lt;-.KE
dd3c0 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 28 46 6f 72 53 74 61 74 65 6d 65 6e 74 20 2f 20 57 68 YWORD_inline?.(ForStatement./.Wh
dd3e0 69 6c 65 53 74 61 74 65 6d 65 6e 74 29 0a 0a 46 6f 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 ileStatement)..ForStatement.....
dd400 26 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 42 6c 6f 63 6b 45 78 70 72 20 28 20 4b 45 59 57 &lt;-.ForPrefix.BlockExpr.(.KEYW
dd420 4f 52 44 5f 65 6c 73 65 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 0a 20 20 20 20 20 2f 20 46 6f 72 ORD_else.Statement.)?....../.For
dd440 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 28 20 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 Prefix.AssignExpr.(.SEMICOLON./.
dd460 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 53 74 61 74 65 6d 65 6e 74 20 29 0a 0a 57 68 69 6c 65 53 KEYWORD_else.Statement.)..WhileS
dd480 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 42 tatement.....&lt;-.WhilePrefix.B
dd4a0 6c 6f 63 6b 45 78 70 72 20 28 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f lockExpr.(.KEYWORD_else.Payload?
dd4c0 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 0a 20 20 20 20 20 2f 20 57 68 69 6c 65 50 72 65 66 69 78 .Statement.)?....../.WhilePrefix
dd4e0 20 41 73 73 69 67 6e 45 78 70 72 20 28 20 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 4b 45 59 57 4f 52 .AssignExpr.(.SEMICOLON./.KEYWOR
dd500 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 0a 0a 42 6c 6f D_else.Payload?.Statement.)..Blo
dd520 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 45 ckExprStatement.....&lt;-.BlockE
dd540 78 70 72 0a 20 20 20 20 20 2f 20 41 73 73 69 67 6e 45 78 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 0a xpr....../.AssignExpr.SEMICOLON.
dd560 0a 42 6c 6f 63 6b 45 78 70 72 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 42 6c 6f .BlockExpr.&lt;-.BlockLabel?.Blo
dd580 63 6b 0a 0a 23 20 41 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 61 73 73 69 67 6e 6d 65 6e 74 2c ck..#.An.expression,.assignment,
dd5a0 20 6f 72 20 61 6e 79 20 64 65 73 74 72 75 63 74 75 72 65 2c 20 61 73 20 61 20 73 74 61 74 65 6d .or.any.destructure,.as.a.statem
dd5c0 65 6e 74 2e 0a 56 61 72 44 65 63 6c 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c ent..VarDeclExprStatement.....&l
dd5e0 74 3b 2d 20 56 61 72 44 65 63 6c 50 72 6f 74 6f 20 28 43 4f 4d 4d 41 20 28 56 61 72 44 65 63 6c t;-.VarDeclProto.(COMMA.(VarDecl
dd600 50 72 6f 74 6f 20 2f 20 45 78 70 72 29 29 2a 20 45 51 55 41 4c 20 45 78 70 72 20 53 45 4d 49 43 Proto./.Expr))*.EQUAL.Expr.SEMIC
dd620 4f 4c 4f 4e 0a 20 20 20 20 20 2f 20 45 78 70 72 20 28 41 73 73 69 67 6e 4f 70 20 45 78 70 72 20 OLON....../.Expr.(AssignOp.Expr.
dd640 2f 20 28 43 4f 4d 4d 41 20 28 56 61 72 44 65 63 6c 50 72 6f 74 6f 20 2f 20 45 78 70 72 29 29 2b /.(COMMA.(VarDeclProto./.Expr))+
dd660 20 45 51 55 41 4c 20 45 78 70 72 29 3f 20 53 45 4d 49 43 4f 4c 4f 4e 0a 0a 23 20 2a 2a 2a 20 45 .EQUAL.Expr)?.SEMICOLON..#.***.E
dd680 78 70 72 65 73 73 69 6f 6e 20 4c 65 76 65 6c 20 2a 2a 2a 0a 0a 23 20 41 6e 20 61 73 73 69 67 6e xpression.Level.***..#.An.assign
dd6a0 6d 65 6e 74 20 6f 72 20 61 20 64 65 73 74 72 75 63 74 75 72 65 20 77 68 6f 73 65 20 4c 48 53 20 ment.or.a.destructure.whose.LHS.
dd6c0 61 72 65 20 61 6c 6c 20 6c 76 61 6c 75 65 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 41 73 73 69 are.all.lvalue.expressions..Assi
dd6e0 67 6e 45 78 70 72 20 26 6c 74 3b 2d 20 45 78 70 72 20 28 41 73 73 69 67 6e 4f 70 20 45 78 70 72 gnExpr.&lt;-.Expr.(AssignOp.Expr
dd700 20 2f 20 28 43 4f 4d 4d 41 20 45 78 70 72 29 2b 20 45 51 55 41 4c 20 45 78 70 72 29 3f 0a 0a 53 ./.(COMMA.Expr)+.EQUAL.Expr)?..S
dd720 69 6e 67 6c 65 41 73 73 69 67 6e 45 78 70 72 20 26 6c 74 3b 2d 20 45 78 70 72 20 28 41 73 73 69 ingleAssignExpr.&lt;-.Expr.(Assi
dd740 67 6e 4f 70 20 45 78 70 72 29 3f 0a 0a 45 78 70 72 20 26 6c 74 3b 2d 20 42 6f 6f 6c 4f 72 45 78 gnOp.Expr)?..Expr.&lt;-.BoolOrEx
dd760 70 72 0a 0a 42 6f 6f 6c 4f 72 45 78 70 72 20 26 6c 74 3b 2d 20 42 6f 6f 6c 41 6e 64 45 78 70 72 pr..BoolOrExpr.&lt;-.BoolAndExpr
dd780 20 28 4b 45 59 57 4f 52 44 5f 6f 72 20 42 6f 6f 6c 41 6e 64 45 78 70 72 29 2a 0a 0a 42 6f 6f 6c .(KEYWORD_or.BoolAndExpr)*..Bool
dd7a0 41 6e 64 45 78 70 72 20 26 6c 74 3b 2d 20 43 6f 6d 70 61 72 65 45 78 70 72 20 28 4b 45 59 57 4f AndExpr.&lt;-.CompareExpr.(KEYWO
dd7c0 52 44 5f 61 6e 64 20 43 6f 6d 70 61 72 65 45 78 70 72 29 2a 0a 0a 43 6f 6d 70 61 72 65 45 78 70 RD_and.CompareExpr)*..CompareExp
dd7e0 72 20 26 6c 74 3b 2d 20 42 69 74 77 69 73 65 45 78 70 72 20 28 43 6f 6d 70 61 72 65 4f 70 20 42 r.&lt;-.BitwiseExpr.(CompareOp.B
dd800 69 74 77 69 73 65 45 78 70 72 29 3f 0a 0a 42 69 74 77 69 73 65 45 78 70 72 20 26 6c 74 3b 2d 20 itwiseExpr)?..BitwiseExpr.&lt;-.
dd820 42 69 74 53 68 69 66 74 45 78 70 72 20 28 42 69 74 77 69 73 65 4f 70 20 42 69 74 53 68 69 66 74 BitShiftExpr.(BitwiseOp.BitShift
dd840 45 78 70 72 29 2a 0a 0a 42 69 74 53 68 69 66 74 45 78 70 72 20 26 6c 74 3b 2d 20 41 64 64 69 74 Expr)*..BitShiftExpr.&lt;-.Addit
dd860 69 6f 6e 45 78 70 72 20 28 42 69 74 53 68 69 66 74 4f 70 20 41 64 64 69 74 69 6f 6e 45 78 70 72 ionExpr.(BitShiftOp.AdditionExpr
dd880 29 2a 0a 0a 41 64 64 69 74 69 6f 6e 45 78 70 72 20 26 6c 74 3b 2d 20 4d 75 6c 74 69 70 6c 79 45 )*..AdditionExpr.&lt;-.MultiplyE
dd8a0 78 70 72 20 28 41 64 64 69 74 69 6f 6e 4f 70 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 29 2a 0a 0a xpr.(AdditionOp.MultiplyExpr)*..
dd8c0 4d 75 6c 74 69 70 6c 79 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 45 78 70 72 20 28 4d MultiplyExpr.&lt;-.PrefixExpr.(M
dd8e0 75 6c 74 69 70 6c 79 4f 70 20 50 72 65 66 69 78 45 78 70 72 29 2a 0a 0a 50 72 65 66 69 78 45 78 ultiplyOp.PrefixExpr)*..PrefixEx
dd900 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 4f 70 2a 20 50 72 69 6d 61 72 79 45 78 70 72 0a 0a pr.&lt;-.PrefixOp*.PrimaryExpr..
dd920 50 72 69 6d 61 72 79 45 78 70 72 0a 20 20 20 20 26 6c 74 3b 2d 20 41 73 6d 45 78 70 72 0a 20 20 PrimaryExpr.....&lt;-.AsmExpr...
dd940 20 20 20 2f 20 49 66 45 78 70 72 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b .../.IfExpr....../.KEYWORD_break
dd960 20 42 72 65 61 6b 4c 61 62 65 6c 3f 20 45 78 70 72 3f 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 .BreakLabel?.Expr?....../.KEYWOR
dd980 44 5f 63 6f 6d 70 74 69 6d 65 20 45 78 70 72 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6e D_comptime.Expr....../.KEYWORD_n
dd9a0 6f 73 75 73 70 65 6e 64 20 45 78 70 72 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e osuspend.Expr....../.KEYWORD_con
dd9c0 74 69 6e 75 65 20 42 72 65 61 6b 4c 61 62 65 6c 3f 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 tinue.BreakLabel?....../.KEYWORD
dd9e0 5f 72 65 73 75 6d 65 20 45 78 70 72 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 74 75 _resume.Expr....../.KEYWORD_retu
dda00 72 6e 20 45 78 70 72 3f 0a 20 20 20 20 20 2f 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 4c 6f 6f 70 rn.Expr?....../.BlockLabel?.Loop
dda20 45 78 70 72 0a 20 20 20 20 20 2f 20 42 6c 6f 63 6b 0a 20 20 20 20 20 2f 20 43 75 72 6c 79 53 75 Expr....../.Block....../.CurlySu
dda40 66 66 69 78 45 78 70 72 0a 0a 49 66 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 ffixExpr..IfExpr.&lt;-.IfPrefix.
dda60 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 45 78 70 72 Expr.(KEYWORD_else.Payload?.Expr
dda80 29 3f 0a 0a 42 6c 6f 63 6b 20 26 6c 74 3b 2d 20 4c 42 52 41 43 45 20 53 74 61 74 65 6d 65 6e 74 )?..Block.&lt;-.LBRACE.Statement
ddaa0 2a 20 52 42 52 41 43 45 0a 0a 4c 6f 6f 70 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 *.RBRACE..LoopExpr.&lt;-.KEYWORD
ddac0 5f 69 6e 6c 69 6e 65 3f 20 28 46 6f 72 45 78 70 72 20 2f 20 57 68 69 6c 65 45 78 70 72 29 0a 0a _inline?.(ForExpr./.WhileExpr)..
ddae0 46 6f 72 45 78 70 72 20 26 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 ForExpr.&lt;-.ForPrefix.Expr.(KE
ddb00 59 57 4f 52 44 5f 65 6c 73 65 20 45 78 70 72 29 3f 0a 0a 57 68 69 6c 65 45 78 70 72 20 26 6c 74 YWORD_else.Expr)?..WhileExpr.&lt
ddb20 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 ;-.WhilePrefix.Expr.(KEYWORD_els
ddb40 65 20 50 61 79 6c 6f 61 64 3f 20 45 78 70 72 29 3f 0a 0a 43 75 72 6c 79 53 75 66 66 69 78 45 78 e.Payload?.Expr)?..CurlySuffixEx
ddb60 70 72 20 26 6c 74 3b 2d 20 54 79 70 65 45 78 70 72 20 49 6e 69 74 4c 69 73 74 3f 0a 0a 49 6e 69 pr.&lt;-.TypeExpr.InitList?..Ini
ddb80 74 4c 69 73 74 0a 20 20 20 20 26 6c 74 3b 2d 20 4c 42 52 41 43 45 20 46 69 65 6c 64 49 6e 69 74 tList.....&lt;-.LBRACE.FieldInit
ddba0 20 28 43 4f 4d 4d 41 20 46 69 65 6c 64 49 6e 69 74 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 .(COMMA.FieldInit)*.COMMA?.RBRAC
ddbc0 45 0a 20 20 20 20 20 2f 20 4c 42 52 41 43 45 20 45 78 70 72 20 28 43 4f 4d 4d 41 20 45 78 70 72 E....../.LBRACE.Expr.(COMMA.Expr
ddbe0 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 45 0a 20 20 20 20 20 2f 20 4c 42 52 41 43 45 20 52 )*.COMMA?.RBRACE....../.LBRACE.R
ddc00 42 52 41 43 45 0a 0a 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 54 79 70 65 BRACE..TypeExpr.&lt;-.PrefixType
ddc20 4f 70 2a 20 45 72 72 6f 72 55 6e 69 6f 6e 45 78 70 72 0a 0a 45 72 72 6f 72 55 6e 69 6f 6e 45 78 Op*.ErrorUnionExpr..ErrorUnionEx
ddc40 70 72 20 26 6c 74 3b 2d 20 53 75 66 66 69 78 45 78 70 72 20 28 45 58 43 4c 41 4d 41 54 49 4f 4e pr.&lt;-.SuffixExpr.(EXCLAMATION
ddc60 4d 41 52 4b 20 54 79 70 65 45 78 70 72 29 3f 0a 0a 53 75 66 66 69 78 45 78 70 72 0a 20 20 20 20 MARK.TypeExpr)?..SuffixExpr.....
ddc80 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 73 79 6e 63 20 50 72 69 6d 61 72 79 54 79 70 65 45 &lt;-.KEYWORD_async.PrimaryTypeE
ddca0 78 70 72 20 53 75 66 66 69 78 4f 70 2a 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 0a 20 20 xpr.SuffixOp*.FnCallArguments...
ddcc0 20 20 20 2f 20 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 20 28 53 75 66 66 69 78 4f 70 20 2f .../.PrimaryTypeExpr.(SuffixOp./
ddce0 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 29 2a 0a 0a 50 72 69 6d 61 72 79 54 79 70 65 45 .FnCallArguments)*..PrimaryTypeE
ddd00 78 70 72 0a 20 20 20 20 26 6c 74 3b 2d 20 42 55 49 4c 54 49 4e 49 44 45 4e 54 49 46 49 45 52 20 xpr.....&lt;-.BUILTINIDENTIFIER.
ddd20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 2f 20 43 48 41 52 5f 4c 49 54 45 FnCallArguments....../.CHAR_LITE
ddd40 52 41 4c 0a 20 20 20 20 20 2f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 0a 20 20 20 20 20 2f 20 RAL....../.ContainerDecl....../.
ddd60 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 0a 20 20 20 20 20 2f 20 44 4f 54 20 49 6e 69 74 4c 69 DOT.IDENTIFIER....../.DOT.InitLi
ddd80 73 74 0a 20 20 20 20 20 2f 20 45 72 72 6f 72 53 65 74 44 65 63 6c 0a 20 20 20 20 20 2f 20 46 4c st....../.ErrorSetDecl....../.FL
ddda0 4f 41 54 0a 20 20 20 20 20 2f 20 46 6e 50 72 6f 74 6f 0a 20 20 20 20 20 2f 20 47 72 6f 75 70 65 OAT....../.FnProto....../.Groupe
dddc0 64 45 78 70 72 0a 20 20 20 20 20 2f 20 4c 61 62 65 6c 65 64 54 79 70 65 45 78 70 72 0a 20 20 20 dExpr....../.LabeledTypeExpr....
ddde0 20 20 2f 20 49 44 45 4e 54 49 46 49 45 52 0a 20 20 20 20 20 2f 20 49 66 54 79 70 65 45 78 70 72 ../.IDENTIFIER....../.IfTypeExpr
dde00 0a 20 20 20 20 20 2f 20 49 4e 54 45 47 45 52 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 ....../.INTEGER....../.KEYWORD_c
dde20 6f 6d 70 74 69 6d 65 20 54 79 70 65 45 78 70 72 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f omptime.TypeExpr....../.KEYWORD_
dde40 65 72 72 6f 72 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 0a 20 20 20 20 20 2f 20 4b 45 59 57 error.DOT.IDENTIFIER....../.KEYW
dde60 4f 52 44 5f 61 6e 79 66 72 61 6d 65 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 72 65 ORD_anyframe....../.KEYWORD_unre
dde80 61 63 68 61 62 6c 65 0a 20 20 20 20 20 2f 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 0a 20 20 20 achable....../.STRINGLITERAL....
ddea0 20 20 2f 20 53 77 69 74 63 68 45 78 70 72 0a 0a 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 20 26 6c ../.SwitchExpr..ContainerDecl.&l
ddec0 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 70 61 t;-.(KEYWORD_extern./.KEYWORD_pa
ddee0 63 6b 65 64 29 3f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 41 75 74 6f 0a 0a 45 72 72 6f 72 53 cked)?.ContainerDeclAuto..ErrorS
ddf00 65 74 44 65 63 6c 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 4c 42 52 41 43 etDecl.&lt;-.KEYWORD_error.LBRAC
ddf20 45 20 49 64 65 6e 74 69 66 69 65 72 4c 69 73 74 20 52 42 52 41 43 45 0a 0a 47 72 6f 75 70 65 64 E.IdentifierList.RBRACE..Grouped
ddf40 45 78 70 72 20 26 6c 74 3b 2d 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 49 Expr.&lt;-.LPAREN.Expr.RPAREN..I
ddf60 66 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 54 79 70 65 45 78 70 fTypeExpr.&lt;-.IfPrefix.TypeExp
ddf80 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 54 79 70 65 45 78 70 r.(KEYWORD_else.Payload?.TypeExp
ddfa0 72 29 3f 0a 0a 4c 61 62 65 6c 65 64 54 79 70 65 45 78 70 72 0a 20 20 20 20 26 6c 74 3b 2d 20 42 r)?..LabeledTypeExpr.....&lt;-.B
ddfc0 6c 6f 63 6b 4c 61 62 65 6c 20 42 6c 6f 63 6b 0a 20 20 20 20 20 2f 20 42 6c 6f 63 6b 4c 61 62 65 lockLabel.Block....../.BlockLabe
ddfe0 6c 3f 20 4c 6f 6f 70 54 79 70 65 45 78 70 72 0a 0a 4c 6f 6f 70 54 79 70 65 45 78 70 72 20 26 6c l?.LoopTypeExpr..LoopTypeExpr.&l
de000 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 28 46 6f 72 54 79 70 65 45 78 70 72 t;-.KEYWORD_inline?.(ForTypeExpr
de020 20 2f 20 57 68 69 6c 65 54 79 70 65 45 78 70 72 29 0a 0a 46 6f 72 54 79 70 65 45 78 70 72 20 26 ./.WhileTypeExpr)..ForTypeExpr.&
de040 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 lt;-.ForPrefix.TypeExpr.(KEYWORD
de060 5f 65 6c 73 65 20 54 79 70 65 45 78 70 72 29 3f 0a 0a 57 68 69 6c 65 54 79 70 65 45 78 70 72 20 _else.TypeExpr)?..WhileTypeExpr.
de080 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 &lt;-.WhilePrefix.TypeExpr.(KEYW
de0a0 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 54 79 70 65 45 78 70 72 29 3f 0a 0a 53 77 ORD_else.Payload?.TypeExpr)?..Sw
de0c0 69 74 63 68 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 4c 50 itchExpr.&lt;-.KEYWORD_switch.LP
de0e0 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 4c 42 52 41 43 45 20 53 77 69 74 63 68 50 72 AREN.Expr.RPAREN.LBRACE.SwitchPr
de100 6f 6e 67 4c 69 73 74 20 52 42 52 41 43 45 0a 0a 23 20 2a 2a 2a 20 41 73 73 65 6d 62 6c 79 20 2a ongList.RBRACE..#.***.Assembly.*
de120 2a 2a 0a 41 73 6d 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 4b 45 59 **.AsmExpr.&lt;-.KEYWORD_asm.KEY
de140 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 3f 20 4c 50 41 52 45 4e 20 45 78 70 72 20 41 73 6d 4f 75 WORD_volatile?.LPAREN.Expr.AsmOu
de160 74 70 75 74 3f 20 52 50 41 52 45 4e 0a 0a 41 73 6d 4f 75 74 70 75 74 20 26 6c 74 3b 2d 20 43 4f tput?.RPAREN..AsmOutput.&lt;-.CO
de180 4c 4f 4e 20 41 73 6d 4f 75 74 70 75 74 4c 69 73 74 20 41 73 6d 49 6e 70 75 74 3f 0a 0a 41 73 6d LON.AsmOutputList.AsmInput?..Asm
de1a0 4f 75 74 70 75 74 49 74 65 6d 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 49 44 45 4e 54 49 OutputItem.&lt;-.LBRACKET.IDENTI
de1c0 46 49 45 52 20 52 42 52 41 43 4b 45 54 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 20 4c 50 41 52 FIER.RBRACKET.STRINGLITERAL.LPAR
de1e0 45 4e 20 28 4d 49 4e 55 53 52 41 52 52 4f 57 20 54 79 70 65 45 78 70 72 20 2f 20 49 44 45 4e 54 EN.(MINUSRARROW.TypeExpr./.IDENT
de200 49 46 49 45 52 29 20 52 50 41 52 45 4e 0a 0a 41 73 6d 49 6e 70 75 74 20 26 6c 74 3b 2d 20 43 4f IFIER).RPAREN..AsmInput.&lt;-.CO
de220 4c 4f 4e 20 41 73 6d 49 6e 70 75 74 4c 69 73 74 20 41 73 6d 43 6c 6f 62 62 65 72 73 3f 0a 0a 41 LON.AsmInputList.AsmClobbers?..A
de240 73 6d 49 6e 70 75 74 49 74 65 6d 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 49 44 45 4e 54 smInputItem.&lt;-.LBRACKET.IDENT
de260 49 46 49 45 52 20 52 42 52 41 43 4b 45 54 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 20 4c 50 41 IFIER.RBRACKET.STRINGLITERAL.LPA
de280 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 41 73 6d 43 6c 6f 62 62 65 72 73 20 26 6c 74 REN.Expr.RPAREN..AsmClobbers.&lt
de2a0 3b 2d 20 43 4f 4c 4f 4e 20 53 74 72 69 6e 67 4c 69 73 74 0a 0a 23 20 2a 2a 2a 20 48 65 6c 70 65 ;-.COLON.StringList..#.***.Helpe
de2c0 72 20 67 72 61 6d 6d 61 72 20 2a 2a 2a 0a 42 72 65 61 6b 4c 61 62 65 6c 20 26 6c 74 3b 2d 20 43 r.grammar.***.BreakLabel.&lt;-.C
de2e0 4f 4c 4f 4e 20 49 44 45 4e 54 49 46 49 45 52 0a 0a 42 6c 6f 63 6b 4c 61 62 65 6c 20 26 6c 74 3b OLON.IDENTIFIER..BlockLabel.&lt;
de300 2d 20 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 0a 0a 46 69 65 6c 64 49 6e 69 74 20 26 6c -.IDENTIFIER.COLON..FieldInit.&l
de320 74 3b 2d 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 20 45 51 55 41 4c 20 45 78 70 72 0a 0a 57 t;-.DOT.IDENTIFIER.EQUAL.Expr..W
de340 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 4c 50 41 hileContinueExpr.&lt;-.COLON.LPA
de360 52 45 4e 20 41 73 73 69 67 6e 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 4c 69 6e 6b 53 65 63 74 69 REN.AssignExpr.RPAREN..LinkSecti
de380 6f 6e 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f 6e 20 4c 50 41 on.&lt;-.KEYWORD_linksection.LPA
de3a0 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 41 64 64 72 53 70 61 63 65 20 26 6c 74 3b 2d REN.Expr.RPAREN..AddrSpace.&lt;-
de3c0 20 4b 45 59 57 4f 52 44 5f 61 64 64 72 73 70 61 63 65 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 .KEYWORD_addrspace.LPAREN.Expr.R
de3e0 50 41 52 45 4e 0a 0a 23 20 46 6e 20 73 70 65 63 69 66 69 63 0a 43 61 6c 6c 43 6f 6e 76 20 26 6c PAREN..#.Fn.specific.CallConv.&l
de400 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 4c 50 41 52 45 4e 20 45 78 70 72 t;-.KEYWORD_callconv.LPAREN.Expr
de420 20 52 50 41 52 45 4e 0a 0a 50 61 72 61 6d 44 65 63 6c 0a 20 20 20 20 26 6c 74 3b 2d 20 64 6f 63 .RPAREN..ParamDecl.....&lt;-.doc
de440 5f 63 6f 6d 6d 65 6e 74 3f 20 28 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 2f 20 4b 45 59 _comment?.(KEYWORD_noalias./.KEY
de460 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 29 3f 20 28 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f WORD_comptime)?.(IDENTIFIER.COLO
de480 4e 29 3f 20 50 61 72 61 6d 54 79 70 65 0a 20 20 20 20 20 2f 20 44 4f 54 33 0a 0a 50 61 72 61 6d N)?.ParamType....../.DOT3..Param
de4a0 54 79 70 65 0a 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 0a 20 Type.....&lt;-.KEYWORD_anytype..
de4c0 20 20 20 20 2f 20 54 79 70 65 45 78 70 72 0a 0a 23 20 43 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 70 ..../.TypeExpr..#.Control.flow.p
de4e0 72 65 66 69 78 65 73 0a 49 66 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 refixes.IfPrefix.&lt;-.KEYWORD_i
de500 66 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 50 61 79 6c 6f 61 64 3f f.LPAREN.Expr.RPAREN.PtrPayload?
de520 0a 0a 57 68 69 6c 65 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 77 68 69 6c ..WhilePrefix.&lt;-.KEYWORD_whil
de540 65 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 50 61 79 6c 6f 61 64 3f e.LPAREN.Expr.RPAREN.PtrPayload?
de560 20 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 3f 0a 0a 46 6f 72 50 72 65 66 69 78 20 26 .WhileContinueExpr?..ForPrefix.&
de580 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 66 6f 72 20 4c 50 41 52 45 4e 20 46 6f 72 41 72 67 75 6d lt;-.KEYWORD_for.LPAREN.ForArgum
de5a0 65 6e 74 73 4c 69 73 74 20 52 50 41 52 45 4e 20 50 74 72 4c 69 73 74 50 61 79 6c 6f 61 64 0a 0a entsList.RPAREN.PtrListPayload..
de5c0 23 20 50 61 79 6c 6f 61 64 73 0a 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 49 44 #.Payloads.Payload.&lt;-.PIPE.ID
de5e0 45 4e 54 49 46 49 45 52 20 50 49 50 45 0a 0a 50 74 72 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 ENTIFIER.PIPE..PtrPayload.&lt;-.
de600 50 49 50 45 20 41 53 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 50 49 50 45 0a 0a PIPE.ASTERISK?.IDENTIFIER.PIPE..
de620 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 41 53 54 45 52 PtrIndexPayload.&lt;-.PIPE.ASTER
de640 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4d 4d 41 20 49 44 45 4e 54 49 46 49 45 ISK?.IDENTIFIER.(COMMA.IDENTIFIE
de660 52 29 3f 20 50 49 50 45 0a 0a 50 74 72 4c 69 73 74 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 R)?.PIPE..PtrListPayload.&lt;-.P
de680 49 50 45 20 41 53 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4d 4d 41 20 IPE.ASTERISK?.IDENTIFIER.(COMMA.
de6a0 41 53 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 29 2a 20 43 4f 4d 4d 41 3f 20 50 49 ASTERISK?.IDENTIFIER)*.COMMA?.PI
de6c0 50 45 0a 0a 23 20 53 77 69 74 63 68 20 73 70 65 63 69 66 69 63 0a 53 77 69 74 63 68 50 72 6f 6e PE..#.Switch.specific.SwitchPron
de6e0 67 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 53 77 69 74 63 68 43 61 g.&lt;-.KEYWORD_inline?.SwitchCa
de700 73 65 20 45 51 55 41 4c 52 41 52 52 4f 57 20 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 3f 20 se.EQUALRARROW.PtrIndexPayload?.
de720 53 69 6e 67 6c 65 41 73 73 69 67 6e 45 78 70 72 0a 0a 53 77 69 74 63 68 43 61 73 65 0a 20 20 20 SingleAssignExpr..SwitchCase....
de740 20 26 6c 74 3b 2d 20 53 77 69 74 63 68 49 74 65 6d 20 28 43 4f 4d 4d 41 20 53 77 69 74 63 68 49 .&lt;-.SwitchItem.(COMMA.SwitchI
de760 74 65 6d 29 2a 20 43 4f 4d 4d 41 3f 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 tem)*.COMMA?....../.KEYWORD_else
de780 0a 0a 53 77 69 74 63 68 49 74 65 6d 20 26 6c 74 3b 2d 20 45 78 70 72 20 28 44 4f 54 33 20 45 78 ..SwitchItem.&lt;-.Expr.(DOT3.Ex
de7a0 70 72 29 3f 0a 0a 23 20 46 6f 72 20 73 70 65 63 69 66 69 63 0a 46 6f 72 41 72 67 75 6d 65 6e 74 pr)?..#.For.specific.ForArgument
de7c0 73 4c 69 73 74 20 26 6c 74 3b 2d 20 46 6f 72 49 74 65 6d 20 28 43 4f 4d 4d 41 20 46 6f 72 49 74 sList.&lt;-.ForItem.(COMMA.ForIt
de7e0 65 6d 29 2a 20 43 4f 4d 4d 41 3f 0a 0a 46 6f 72 49 74 65 6d 20 26 6c 74 3b 2d 20 45 78 70 72 20 em)*.COMMA?..ForItem.&lt;-.Expr.
de800 28 44 4f 54 32 20 45 78 70 72 3f 29 3f 0a 0a 23 20 4f 70 65 72 61 74 6f 72 73 0a 41 73 73 69 67 (DOT2.Expr?)?..#.Operators.Assig
de820 6e 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 45 52 49 53 4b 45 51 55 41 4c 0a 20 20 20 20 nOp.....&lt;-.ASTERISKEQUAL.....
de840 20 2f 20 41 53 54 45 52 49 53 4b 50 49 50 45 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 53 4c 41 53 ./.ASTERISKPIPEEQUAL....../.SLAS
de860 48 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 50 45 52 43 45 4e 54 45 51 55 41 4c 0a 20 20 20 20 20 HEQUAL....../.PERCENTEQUAL......
de880 2f 20 50 4c 55 53 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 50 4c 55 53 50 49 50 45 45 51 55 41 4c /.PLUSEQUAL....../.PLUSPIPEEQUAL
de8a0 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 ....../.MINUSEQUAL....../.MINUSP
de8c0 49 50 45 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 32 45 51 55 41 4c 0a 20 20 20 IPEEQUAL....../.LARROW2EQUAL....
de8e0 20 20 2f 20 4c 41 52 52 4f 57 32 50 49 50 45 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 52 41 52 52 ../.LARROW2PIPEEQUAL....../.RARR
de900 4f 57 32 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e 44 45 51 55 41 4c 0a 20 OW2EQUAL....../.AMPERSANDEQUAL..
de920 20 20 20 20 2f 20 43 41 52 45 54 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 50 49 50 45 45 51 55 41 ..../.CARETEQUAL....../.PIPEEQUA
de940 4c 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 55 41 4c 0a 20 20 L....../.ASTERISKPERCENTEQUAL...
de960 20 20 20 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 4d 49 4e .../.PLUSPERCENTEQUAL....../.MIN
de980 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 45 51 55 41 4c 0a 0a 43 6f 6d USPERCENTEQUAL....../.EQUAL..Com
de9a0 70 61 72 65 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 45 51 55 41 4c 45 51 55 41 4c 0a 20 20 20 20 pareOp.....&lt;-.EQUALEQUAL.....
de9c0 20 2f 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 4c ./.EXCLAMATIONMARKEQUAL....../.L
de9e0 41 52 52 4f 57 0a 20 20 20 20 20 2f 20 52 41 52 52 4f 57 0a 20 20 20 20 20 2f 20 4c 41 52 52 4f ARROW....../.RARROW....../.LARRO
dea00 57 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 52 41 52 52 4f 57 45 51 55 41 4c 0a 0a 42 69 74 77 69 WEQUAL....../.RARROWEQUAL..Bitwi
dea20 73 65 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 41 4d 50 45 52 53 41 4e 44 0a 20 20 20 20 20 2f 20 seOp.....&lt;-.AMPERSAND....../.
dea40 43 41 52 45 54 0a 20 20 20 20 20 2f 20 50 49 50 45 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 CARET....../.PIPE....../.KEYWORD
dea60 5f 6f 72 65 6c 73 65 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 50 61 79 _orelse....../.KEYWORD_catch.Pay
dea80 6c 6f 61 64 3f 0a 0a 42 69 74 53 68 69 66 74 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 4c 41 52 52 load?..BitShiftOp.....&lt;-.LARR
deaa0 4f 57 32 0a 20 20 20 20 20 2f 20 52 41 52 52 4f 57 32 0a 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 OW2....../.RARROW2....../.LARROW
deac0 32 50 49 50 45 0a 0a 41 64 64 69 74 69 6f 6e 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 50 4c 55 53 2PIPE..AdditionOp.....&lt;-.PLUS
deae0 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 0a 20 20 20 20 20 2f 20 50 4c 55 53 32 0a 20 20 20 20 20 ....../.MINUS....../.PLUS2......
deb00 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e /.PLUSPERCENT....../.MINUSPERCEN
deb20 54 0a 20 20 20 20 20 2f 20 50 4c 55 53 50 49 50 45 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 49 T....../.PLUSPIPE....../.MINUSPI
deb40 50 45 0a 0a 4d 75 6c 74 69 70 6c 79 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 50 49 50 45 32 0a 20 PE..MultiplyOp.....&lt;-.PIPE2..
deb60 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 0a 20 20 20 20 20 2f 20 53 4c 41 53 48 0a 20 20 20 20 ..../.ASTERISK....../.SLASH.....
deb80 20 2f 20 50 45 52 43 45 4e 54 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 32 0a 20 20 20 20 ./.PERCENT....../.ASTERISK2.....
deba0 20 2f 20 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 ./.ASTERISKPERCENT....../.ASTERI
debc0 53 4b 50 49 50 45 0a 0a 50 72 65 66 69 78 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 45 58 43 4c 41 SKPIPE..PrefixOp.....&lt;-.EXCLA
debe0 4d 41 54 49 4f 4e 4d 41 52 4b 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 0a 20 20 20 20 20 2f 20 54 MATIONMARK....../.MINUS....../.T
dec00 49 4c 44 45 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e 54 0a 20 20 20 20 20 2f 20 ILDE....../.MINUSPERCENT....../.
dec20 41 4d 50 45 52 53 41 4e 44 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 74 72 79 0a 20 20 20 AMPERSAND....../.KEYWORD_try....
dec40 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 0a 0a 50 72 65 66 69 78 54 79 70 65 4f 70 0a ../.KEYWORD_await..PrefixTypeOp.
dec60 20 20 20 20 26 6c 74 3b 2d 20 51 55 45 53 54 49 4f 4e 4d 41 52 4b 0a 20 20 20 20 20 2f 20 4b 45 ....&lt;-.QUESTIONMARK....../.KE
dec80 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 20 4d 49 4e 55 53 52 41 52 52 4f 57 0a 20 20 20 20 20 YWORD_anyframe.MINUSRARROW......
deca0 2f 20 53 6c 69 63 65 54 79 70 65 53 74 61 72 74 20 28 42 79 74 65 41 6c 69 67 6e 20 2f 20 41 64 /.SliceTypeStart.(ByteAlign./.Ad
decc0 64 72 53 70 61 63 65 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 drSpace./.KEYWORD_const./.KEYWOR
dece0 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 29 2a D_volatile./.KEYWORD_allowzero)*
ded00 0a 20 20 20 20 20 2f 20 50 74 72 54 79 70 65 53 74 61 72 74 20 28 41 64 64 72 53 70 61 63 65 20 ....../.PtrTypeStart.(AddrSpace.
ded20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 4c 50 41 52 45 4e 20 45 78 70 72 20 28 43 4f 4c /.KEYWORD_align.LPAREN.Expr.(COL
ded40 4f 4e 20 45 78 70 72 20 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 20 52 50 41 52 45 4e 20 2f 20 4b 45 ON.Expr.COLON.Expr)?.RPAREN./.KE
ded60 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 2f YWORD_const./.KEYWORD_volatile./
ded80 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 29 2a 0a 20 20 20 20 20 2f 20 41 72 72 61 .KEYWORD_allowzero)*....../.Arra
deda0 79 54 79 70 65 53 74 61 72 74 0a 0a 53 75 66 66 69 78 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 4c yTypeStart..SuffixOp.....&lt;-.L
dedc0 42 52 41 43 4b 45 54 20 45 78 70 72 20 28 44 4f 54 32 20 28 45 78 70 72 3f 20 28 43 4f 4c 4f 4e BRACKET.Expr.(DOT2.(Expr?.(COLON
dede0 20 45 78 70 72 29 3f 29 3f 29 3f 20 52 42 52 41 43 4b 45 54 0a 20 20 20 20 20 2f 20 44 4f 54 20 .Expr)?)?)?.RBRACKET....../.DOT.
dee00 49 44 45 4e 54 49 46 49 45 52 0a 20 20 20 20 20 2f 20 44 4f 54 41 53 54 45 52 49 53 4b 0a 20 20 IDENTIFIER....../.DOTASTERISK...
dee20 20 20 20 2f 20 44 4f 54 51 55 45 53 54 49 4f 4e 4d 41 52 4b 0a 0a 46 6e 43 61 6c 6c 41 72 67 75 .../.DOTQUESTIONMARK..FnCallArgu
dee40 6d 65 6e 74 73 20 26 6c 74 3b 2d 20 4c 50 41 52 45 4e 20 45 78 70 72 4c 69 73 74 20 52 50 41 52 ments.&lt;-.LPAREN.ExprList.RPAR
dee60 45 4e 0a 0a 23 20 50 74 72 20 73 70 65 63 69 66 69 63 0a 53 6c 69 63 65 54 79 70 65 53 74 61 72 EN..#.Ptr.specific.SliceTypeStar
dee80 74 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 28 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 20 52 t.&lt;-.LBRACKET.(COLON.Expr)?.R
deea0 42 52 41 43 4b 45 54 0a 0a 50 74 72 54 79 70 65 53 74 61 72 74 0a 20 20 20 20 26 6c 74 3b 2d 20 BRACKET..PtrTypeStart.....&lt;-.
deec0 41 53 54 45 52 49 53 4b 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 32 0a 20 20 20 20 20 2f ASTERISK....../.ASTERISK2....../
deee0 20 4c 42 52 41 43 4b 45 54 20 41 53 54 45 52 49 53 4b 20 28 4c 45 54 54 45 52 43 20 2f 20 43 4f .LBRACKET.ASTERISK.(LETTERC./.CO
def00 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 0a 0a 41 72 72 61 79 54 79 70 65 53 74 LON.Expr)?.RBRACKET..ArrayTypeSt
def20 61 72 74 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 45 78 70 72 20 28 43 4f 4c 4f 4e 20 45 art.&lt;-.LBRACKET.Expr.(COLON.E
def40 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 0a 0a 23 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 20 xpr)?.RBRACKET..#.ContainerDecl.
def60 73 70 65 63 69 66 69 63 0a 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 41 75 74 6f 20 26 6c 74 3b 2d specific.ContainerDeclAuto.&lt;-
def80 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 54 79 70 65 20 4c 42 52 41 43 45 20 63 6f 6e 74 61 69 .ContainerDeclType.LBRACE.contai
defa0 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 ner_doc_comment?.ContainerMember
defc0 73 20 52 42 52 41 43 45 0a 0a 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 54 79 70 65 0a 20 20 20 20 s.RBRACE..ContainerDeclType.....
defe0 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 20 28 4c 50 41 52 45 4e 20 45 78 70 &lt;-.KEYWORD_struct.(LPAREN.Exp
df000 72 20 52 50 41 52 45 4e 29 3f 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 r.RPAREN)?....../.KEYWORD_opaque
df020 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 28 4c 50 41 52 45 4e 20 45 78 70 ....../.KEYWORD_enum.(LPAREN.Exp
df040 72 20 52 50 41 52 45 4e 29 3f 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 r.RPAREN)?....../.KEYWORD_union.
df060 28 4c 50 41 52 45 4e 20 28 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 28 4c 50 41 52 45 4e 20 45 78 (LPAREN.(KEYWORD_enum.(LPAREN.Ex
df080 70 72 20 52 50 41 52 45 4e 29 3f 20 2f 20 45 78 70 72 29 20 52 50 41 52 45 4e 29 3f 0a 0a 23 20 pr.RPAREN)?./.Expr).RPAREN)?..#.
df0a0 41 6c 69 67 6e 6d 65 6e 74 0a 42 79 74 65 41 6c 69 67 6e 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 Alignment.ByteAlign.&lt;-.KEYWOR
df0c0 44 5f 61 6c 69 67 6e 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 23 20 4c 69 D_align.LPAREN.Expr.RPAREN..#.Li
df0e0 73 74 73 0a 49 64 65 6e 74 69 66 69 65 72 4c 69 73 74 20 26 6c 74 3b 2d 20 28 64 6f 63 5f 63 6f sts.IdentifierList.&lt;-.(doc_co
df100 6d 6d 65 6e 74 3f 20 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4d 4d 41 29 2a 20 28 64 6f 63 5f 63 mment?.IDENTIFIER.COMMA)*.(doc_c
df120 6f 6d 6d 65 6e 74 3f 20 49 44 45 4e 54 49 46 49 45 52 29 3f 0a 0a 53 77 69 74 63 68 50 72 6f 6e omment?.IDENTIFIER)?..SwitchPron
df140 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 77 69 74 63 68 50 72 6f 6e 67 20 43 4f 4d 4d 41 29 2a gList.&lt;-.(SwitchProng.COMMA)*
df160 20 53 77 69 74 63 68 50 72 6f 6e 67 3f 0a 0a 41 73 6d 4f 75 74 70 75 74 4c 69 73 74 20 26 6c 74 .SwitchProng?..AsmOutputList.&lt
df180 3b 2d 20 28 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 20 43 4f 4d 4d 41 29 2a 20 41 73 6d 4f 75 74 ;-.(AsmOutputItem.COMMA)*.AsmOut
df1a0 70 75 74 49 74 65 6d 3f 0a 0a 41 73 6d 49 6e 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 28 41 73 putItem?..AsmInputList.&lt;-.(As
df1c0 6d 49 6e 70 75 74 49 74 65 6d 20 43 4f 4d 4d 41 29 2a 20 41 73 6d 49 6e 70 75 74 49 74 65 6d 3f mInputItem.COMMA)*.AsmInputItem?
df1e0 0a 0a 53 74 72 69 6e 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 54 52 49 4e 47 4c 49 54 45 52 41 ..StringList.&lt;-.(STRINGLITERA
df200 4c 20 43 4f 4d 4d 41 29 2a 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 3f 0a 0a 50 61 72 61 6d 44 L.COMMA)*.STRINGLITERAL?..ParamD
df220 65 63 6c 4c 69 73 74 20 26 6c 74 3b 2d 20 28 50 61 72 61 6d 44 65 63 6c 20 43 4f 4d 4d 41 29 2a eclList.&lt;-.(ParamDecl.COMMA)*
df240 20 50 61 72 61 6d 44 65 63 6c 3f 0a 0a 45 78 70 72 4c 69 73 74 20 26 6c 74 3b 2d 20 28 45 78 70 .ParamDecl?..ExprList.&lt;-.(Exp
df260 72 20 43 4f 4d 4d 41 29 2a 20 45 78 70 72 3f 0a 0a 23 20 2a 2a 2a 20 54 6f 6b 65 6e 73 20 2a 2a r.COMMA)*.Expr?..#.***.Tokens.**
df280 2a 0a 65 6f 66 20 26 6c 74 3b 2d 20 21 2e 0a 62 69 6e 20 26 6c 74 3b 2d 20 5b 30 31 5d 0a 62 69 *.eof.&lt;-.!..bin.&lt;-.[01].bi
df2a0 6e 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 62 69 6e 0a 6f 63 74 20 26 6c 74 3b 2d 20 5b 30 2d 37 n_.&lt;-.'_'?.bin.oct.&lt;-.[0-7
df2c0 5d 0a 6f 63 74 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 6f 63 74 0a 68 65 78 20 26 6c 74 3b 2d 20 ].oct_.&lt;-.'_'?.oct.hex.&lt;-.
df2e0 5b 30 2d 39 61 2d 66 41 2d 46 5d 0a 68 65 78 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 68 65 78 0a [0-9a-fA-F].hex_.&lt;-.'_'?.hex.
df300 64 65 63 20 26 6c 74 3b 2d 20 5b 30 2d 39 5d 0a 64 65 63 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 dec.&lt;-.[0-9].dec_.&lt;-.'_'?.
df320 64 65 63 0a 0a 62 69 6e 5f 69 6e 74 20 26 6c 74 3b 2d 20 62 69 6e 20 62 69 6e 5f 2a 0a 6f 63 74 dec..bin_int.&lt;-.bin.bin_*.oct
df340 5f 69 6e 74 20 26 6c 74 3b 2d 20 6f 63 74 20 6f 63 74 5f 2a 0a 64 65 63 5f 69 6e 74 20 26 6c 74 _int.&lt;-.oct.oct_*.dec_int.&lt
df360 3b 2d 20 64 65 63 20 64 65 63 5f 2a 0a 68 65 78 5f 69 6e 74 20 26 6c 74 3b 2d 20 68 65 78 20 68 ;-.dec.dec_*.hex_int.&lt;-.hex.h
df380 65 78 5f 2a 0a 0a 6f 78 38 30 5f 6f 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 37 37 ex_*..ox80_oxBF.&lt;-.[\200-\277
df3a0 5d 0a 6f 78 46 34 20 26 6c 74 3b 2d 20 27 5c 33 36 34 27 0a 6f 78 38 30 5f 6f 78 38 46 20 26 6c ].oxF4.&lt;-.'\364'.ox80_ox8F.&l
df3c0 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 31 37 5d 0a 6f 78 46 31 5f 6f 78 46 33 20 26 6c 74 3b 2d 20 t;-.[\200-\217].oxF1_oxF3.&lt;-.
df3e0 5b 5c 33 36 31 2d 5c 33 36 33 5d 0a 6f 78 46 30 20 26 6c 74 3b 2d 20 27 5c 33 36 30 27 0a 6f 78 [\361-\363].oxF0.&lt;-.'\360'.ox
df400 39 30 5f 30 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 32 30 2d 5c 32 37 37 5d 0a 6f 78 45 45 5f 6f 90_0xBF.&lt;-.[\220-\277].oxEE_o
df420 78 45 46 20 26 6c 74 3b 2d 20 5b 5c 33 35 36 2d 5c 33 35 37 5d 0a 6f 78 45 44 20 26 6c 74 3b 2d xEF.&lt;-.[\356-\357].oxED.&lt;-
df440 20 27 5c 33 35 35 27 0a 6f 78 38 30 5f 6f 78 39 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 .'\355'.ox80_ox9F.&lt;-.[\200-\2
df460 33 37 5d 0a 6f 78 45 31 5f 6f 78 45 43 20 26 6c 74 3b 2d 20 5b 5c 33 34 31 2d 5c 33 35 34 5d 0a 37].oxE1_oxEC.&lt;-.[\341-\354].
df480 6f 78 45 30 20 26 6c 74 3b 2d 20 27 5c 33 34 30 27 0a 6f 78 41 30 5f 6f 78 42 46 20 26 6c 74 3b oxE0.&lt;-.'\340'.oxA0_oxBF.&lt;
df4a0 2d 20 5b 5c 32 34 30 2d 5c 32 37 37 5d 0a 6f 78 43 32 5f 6f 78 44 46 20 26 6c 74 3b 2d 20 5b 5c -.[\240-\277].oxC2_oxDF.&lt;-.[\
df4c0 33 30 32 2d 5c 33 33 37 5d 0a 0a 23 20 46 72 6f 6d 20 68 74 74 70 73 3a 2f 2f 6c 65 6d 69 72 65 302-\337]..#.From.https://lemire
df4e0 2e 6d 65 2f 62 6c 6f 67 2f 32 30 31 38 2f 30 35 2f 30 39 2f 68 6f 77 2d 71 75 69 63 6b 6c 79 2d .me/blog/2018/05/09/how-quickly-
df500 63 61 6e 2d 79 6f 75 2d 63 68 65 63 6b 2d 74 68 61 74 2d 61 2d 73 74 72 69 6e 67 2d 69 73 2d 76 can-you-check-that-a-string-is-v
df520 61 6c 69 64 2d 75 6e 69 63 6f 64 65 2d 75 74 66 2d 38 2f 0a 23 20 46 69 72 73 74 20 42 79 74 65 alid-unicode-utf-8/.#.First.Byte
df540 20 20 20 20 20 20 53 65 63 6f 6e 64 20 42 79 74 65 20 20 20 20 20 54 68 69 72 64 20 42 79 74 65 ......Second.Byte.....Third.Byte
df560 20 20 20 20 20 20 46 6f 75 72 74 68 20 42 79 74 65 0a 23 20 5b 30 78 30 30 2c 30 78 37 46 5d 0a ......Fourth.Byte.#.[0x00,0x7F].
df580 23 20 5b 30 78 43 32 2c 30 78 44 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 0a 23 20 #.[0xC2,0xDF].....[0x80,0xBF].#.
df5a0 20 20 20 30 78 45 30 20 20 20 20 20 20 20 20 20 5b 30 78 41 30 2c 30 78 42 46 5d 20 20 20 20 20 ...0xE0.........[0xA0,0xBF].....
df5c0 5b 30 78 38 30 2c 30 78 42 46 5d 0a 23 20 5b 30 78 45 31 2c 30 78 45 43 5d 20 20 20 20 20 5b 30 [0x80,0xBF].#.[0xE1,0xEC].....[0
df5e0 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 0a 23 20 20 20 20 30 x80,0xBF].....[0x80,0xBF].#....0
df600 78 45 44 20 20 20 20 20 20 20 20 20 5b 30 78 38 30 2c 30 78 39 46 5d 20 20 20 20 20 5b 30 78 38 xED.........[0x80,0x9F].....[0x8
df620 30 2c 30 78 42 46 5d 0a 23 20 5b 30 78 45 45 2c 30 78 45 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 0,0xBF].#.[0xEE,0xEF].....[0x80,
df640 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 0a 23 20 20 20 20 30 78 46 30 20 0xBF].....[0x80,0xBF].#....0xF0.
df660 20 20 20 20 20 20 20 20 5b 30 78 39 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 ........[0x90,0xBF].....[0x80,0x
df680 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 0a 23 20 5b 30 78 46 31 2c 30 78 46 33 BF].....[0x80,0xBF].#.[0xF1,0xF3
df6a0 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 ].....[0x80,0xBF].....[0x80,0xBF
df6c0 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 0a 23 20 20 20 20 30 78 46 34 20 20 20 20 20 ].....[0x80,0xBF].#....0xF4.....
df6e0 20 20 20 20 5b 30 78 38 30 2c 30 78 38 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 ....[0x80,0x8F].....[0x80,0xBF].
df700 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 0a 0a 6d 62 5f 75 74 66 38 5f 6c 69 74 65 72 61 6c ....[0x80,0xBF]..mb_utf8_literal
df720 20 26 6c 74 3b 2d 0a 20 20 20 20 20 20 20 6f 78 46 34 20 20 20 20 20 20 6f 78 38 30 5f 6f 78 38 .&lt;-........oxF4......ox80_ox8
df740 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 0a 20 20 20 20 20 2f 20 6f 78 46 F.ox80_oxBF.ox80_oxBF....../.oxF
df760 31 5f 6f 78 46 33 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 1_oxF3.ox80_oxBF.ox80_oxBF.ox80_
df780 6f 78 42 46 0a 20 20 20 20 20 2f 20 6f 78 46 30 20 20 20 20 20 20 6f 78 39 30 5f 30 78 42 46 20 oxBF....../.oxF0......ox90_0xBF.
df7a0 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 0a 20 20 20 20 20 2f 20 6f 78 45 45 5f ox80_oxBF.ox80_oxBF....../.oxEE_
df7c0 6f 78 45 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 0a 20 20 20 20 20 2f 20 oxEF.ox80_oxBF.ox80_oxBF....../.
df7e0 6f 78 45 44 20 20 20 20 20 20 6f 78 38 30 5f 6f 78 39 46 20 6f 78 38 30 5f 6f 78 42 46 0a 20 20 oxED......ox80_ox9F.ox80_oxBF...
df800 20 20 20 2f 20 6f 78 45 31 5f 6f 78 45 43 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 .../.oxE1_oxEC.ox80_oxBF.ox80_ox
df820 42 46 0a 20 20 20 20 20 2f 20 6f 78 45 30 20 20 20 20 20 20 6f 78 41 30 5f 6f 78 42 46 20 6f 78 BF....../.oxE0......oxA0_oxBF.ox
df840 38 30 5f 6f 78 42 46 0a 20 20 20 20 20 2f 20 6f 78 43 32 5f 6f 78 44 46 20 6f 78 38 30 5f 6f 78 80_oxBF....../.oxC2_oxDF.ox80_ox
df860 42 46 0a 0a 61 73 63 69 69 5f 63 68 61 72 5f 6e 6f 74 5f 6e 6c 5f 73 6c 61 73 68 5f 73 71 75 6f BF..ascii_char_not_nl_slash_squo
df880 74 65 20 26 6c 74 3b 2d 20 5b 5c 30 30 30 2d 5c 30 31 31 5c 30 31 33 2d 5c 30 34 36 5c 30 35 30 te.&lt;-.[\000-\011\013-\046\050
df8a0 2d 5c 31 33 33 5c 31 33 35 2d 5c 31 37 37 5d 0a 0a 63 68 61 72 5f 65 73 63 61 70 65 0a 20 20 20 -\133\135-\177]..char_escape....
df8c0 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 5c 5c 78 26 71 75 6f 74 3b 20 68 65 78 20 68 65 78 0a 20 .&lt;-.&quot;\\x&quot;.hex.hex..
df8e0 20 20 20 20 2f 20 26 71 75 6f 74 3b 5c 5c 75 7b 26 71 75 6f 74 3b 20 68 65 78 2b 20 26 71 75 6f ..../.&quot;\\u{&quot;.hex+.&quo
df900 74 3b 7d 26 71 75 6f 74 3b 0a 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 5c 5c 26 71 75 6f 74 3b 20 t;}&quot;....../.&quot;\\&quot;.
df920 5b 6e 72 5c 5c 74 27 26 71 75 6f 74 3b 5d 0a 63 68 61 72 5f 63 68 61 72 0a 20 20 20 20 26 6c 74 [nr\\t'&quot;].char_char.....&lt
df940 3b 2d 20 6d 62 5f 75 74 66 38 5f 6c 69 74 65 72 61 6c 0a 20 20 20 20 20 2f 20 63 68 61 72 5f 65 ;-.mb_utf8_literal....../.char_e
df960 73 63 61 70 65 0a 20 20 20 20 20 2f 20 61 73 63 69 69 5f 63 68 61 72 5f 6e 6f 74 5f 6e 6c 5f 73 scape....../.ascii_char_not_nl_s
df980 6c 61 73 68 5f 73 71 75 6f 74 65 0a 0a 73 74 72 69 6e 67 5f 63 68 61 72 0a 20 20 20 20 26 6c 74 lash_squote..string_char.....&lt
df9a0 3b 2d 20 63 68 61 72 5f 65 73 63 61 70 65 0a 20 20 20 20 20 2f 20 5b 5e 5c 5c 26 71 75 6f 74 3b ;-.char_escape....../.[^\\&quot;
df9c0 5c 6e 5d 0a 0a 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d \n]..container_doc_comment.&lt;-
df9e0 20 28 27 2f 2f 21 27 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a 20 73 6b 69 70 29 2b 0a 64 6f 63 .('//!'.[^\n]*.[.\n]*.skip)+.doc
dfa00 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 28 27 2f 2f 2f 27 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c _comment.&lt;-.('///'.[^\n]*.[.\
dfa20 6e 5d 2a 20 73 6b 69 70 29 2b 0a 6c 69 6e 65 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 27 2f n]*.skip)+.line_comment.&lt;-.'/
dfa40 2f 27 20 21 5b 21 2f 5d 5b 5e 5c 6e 5d 2a 20 2f 20 27 2f 2f 2f 2f 27 20 5b 5e 5c 6e 5d 2a 0a 6c /'.![!/][^\n]*./.'////'.[^\n]*.l
dfa60 69 6e 65 5f 73 74 72 69 6e 67 20 26 6c 74 3b 2d 20 28 26 71 75 6f 74 3b 5c 5c 5c 5c 26 71 75 6f ine_string.&lt;-.(&quot;\\\\&quo
dfa80 74 3b 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a 29 2b 0a 73 6b 69 70 20 26 6c 74 3b 2d 20 28 5b t;.[^\n]*.[.\n]*)+.skip.&lt;-.([
dfaa0 20 5c 6e 5d 20 2f 20 6c 69 6e 65 5f 63 6f 6d 6d 65 6e 74 29 2a 0a 0a 43 48 41 52 5f 4c 49 54 45 .\n]./.line_comment)*..CHAR_LITE
dfac0 52 41 4c 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 20 63 68 61 72 5f 63 68 61 RAL.&lt;-.&quot;'&quot;.char_cha
dfae0 72 20 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 20 73 6b 69 70 0a 46 4c 4f 41 54 0a 20 20 20 20 26 r.&quot;'&quot;.skip.FLOAT.....&
dfb00 6c 74 3b 2d 20 26 71 75 6f 74 3b 30 78 26 71 75 6f 74 3b 20 68 65 78 5f 69 6e 74 20 26 71 75 6f lt;-.&quot;0x&quot;.hex_int.&quo
dfb20 74 3b 2e 26 71 75 6f 74 3b 20 68 65 78 5f 69 6e 74 20 28 5b 70 50 5d 20 5b 2d 2b 5d 3f 20 64 65 t;.&quot;.hex_int.([pP].[-+]?.de
dfb40 63 5f 69 6e 74 29 3f 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 c_int)?.skip....../......dec_int
dfb60 20 26 71 75 6f 74 3b 2e 26 71 75 6f 74 3b 20 64 65 63 5f 69 6e 74 20 28 5b 65 45 5d 20 5b 2d 2b .&quot;.&quot;.dec_int.([eE].[-+
dfb80 5d 3f 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 30 ]?.dec_int)?.skip....../.&quot;0
dfba0 78 26 71 75 6f 74 3b 20 68 65 78 5f 69 6e 74 20 5b 70 50 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 x&quot;.hex_int.[pP].[-+]?.dec_i
dfbc0 6e 74 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 5b 65 45 5d nt.skip....../......dec_int.[eE]
dfbe0 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 20 73 6b 69 70 0a 49 4e 54 45 47 45 52 0a 20 20 20 20 .[-+]?.dec_int.skip.INTEGER.....
dfc00 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 30 62 26 71 75 6f 74 3b 20 62 69 6e 5f 69 6e 74 20 73 6b 69 &lt;-.&quot;0b&quot;.bin_int.ski
dfc20 70 0a 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 30 6f 26 71 75 6f 74 3b 20 6f 63 74 5f 69 6e 74 20 p....../.&quot;0o&quot;.oct_int.
dfc40 73 6b 69 70 0a 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 30 78 26 71 75 6f 74 3b 20 68 65 78 5f 69 skip....../.&quot;0x&quot;.hex_i
dfc60 6e 74 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 20 20 73 6b nt.skip....../......dec_int...sk
dfc80 69 70 0a 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 20 26 6c 74 3b 2d 20 26 71 75 ip.STRINGLITERALSINGLE.&lt;-.&qu
dfca0 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 73 74 72 69 6e 67 5f 63 68 61 72 2a 20 26 71 ot;\&quot;&quot;.string_char*.&q
dfcc0 75 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 73 6b 69 70 0a 53 54 52 49 4e 47 4c 49 54 uot;\&quot;&quot;.skip.STRINGLIT
dfce0 45 52 41 4c 0a 20 20 20 20 26 6c 74 3b 2d 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 ERAL.....&lt;-.STRINGLITERALSING
dfd00 4c 45 0a 20 20 20 20 20 2f 20 28 6c 69 6e 65 5f 73 74 72 69 6e 67 20 20 20 20 20 20 20 20 20 20 LE....../.(line_string..........
dfd20 20 20 20 20 20 20 20 73 6b 69 70 29 2b 0a 49 44 45 4e 54 49 46 49 45 52 0a 20 20 20 20 26 6c 74 .......skip)+.IDENTIFIER.....&lt
dfd40 3b 2d 20 21 6b 65 79 77 6f 72 64 20 5b 41 2d 5a 61 2d 7a 5f 5d 20 5b 41 2d 5a 61 2d 7a 30 2d 39 ;-.!keyword.[A-Za-z_].[A-Za-z0-9
dfd60 5f 5d 2a 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 40 26 71 75 6f 74 3b 20 53 54 _]*.skip....../.&quot;@&quot;.ST
dfd80 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 0a 42 55 49 4c 54 49 4e 49 44 45 4e 54 49 46 RINGLITERALSINGLE.BUILTINIDENTIF
dfda0 49 45 52 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 40 26 71 75 6f 74 3b 5b 41 2d 5a 61 2d 7a 5f 5d IER.&lt;-.&quot;@&quot;[A-Za-z_]
dfdc0 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 5d 2a 20 73 6b 69 70 0a 0a 0a 41 4d 50 45 52 53 41 4e 44 20 20 [A-Za-z0-9_]*.skip...AMPERSAND..
dfde0 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 61 6d 70 3b 27 20 20 20 20 20 20 21 5b 3d ..........&lt;-.'&amp;'......![=
dfe00 5d 20 20 20 20 20 20 73 6b 69 70 0a 41 4d 50 45 52 53 41 4e 44 45 51 55 41 4c 20 20 20 20 20 20 ]......skip.AMPERSANDEQUAL......
dfe20 20 26 6c 74 3b 2d 20 27 26 61 6d 70 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b .&lt;-.'&amp;='...............sk
dfe40 69 70 0a 41 53 54 45 52 49 53 4b 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a ip.ASTERISK.............&lt;-.'*
dfe60 27 20 20 20 20 20 20 21 5b 2a 25 3d 7c 5d 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 32 20 '......![*%=|]...skip.ASTERISK2.
dfe80 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 2a 27 20 20 20 20 20 20 20 20 20 20 20 ...........&lt;-.'**'...........
dfea0 20 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 45 51 55 41 4c 20 20 20 20 20 20 20 20 26 6c ....skip.ASTERISKEQUAL........&l
dfec0 74 3b 2d 20 27 2a 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 41 53 54 45 t;-.'*='...............skip.ASTE
dfee0 52 49 53 4b 50 45 52 43 45 4e 54 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 25 27 20 20 20 20 20 RISKPERCENT......&lt;-.'*%'.....
dff00 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 ![=]......skip.ASTERISKPERCENTEQ
dff20 55 41 4c 20 26 6c 74 3b 2d 20 27 2a 25 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 UAL.&lt;-.'*%='..............ski
dff40 70 0a 41 53 54 45 52 49 53 4b 50 49 50 45 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 7c p.ASTERISKPIPE.........&lt;-.'*|
dff60 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 50 49 50 '.....![=]......skip.ASTERISKPIP
dff80 45 45 51 55 41 4c 20 20 20 20 26 6c 74 3b 2d 20 27 2a 7c 3d 27 20 20 20 20 20 20 20 20 20 20 20 EEQUAL....&lt;-.'*|='...........
dffa0 20 20 20 73 6b 69 70 0a 43 41 52 45 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 ...skip.CARET................&lt
dffc0 3b 2d 20 27 5e 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 43 41 52 45 54 ;-.'^'......![=]......skip.CARET
dffe0 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5e 3d 27 20 20 20 20 20 20 EQUAL...........&lt;-.'^='......
e0000 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 .........skip.COLON.............
e0020 20 20 20 26 6c 74 3b 2d 20 27 3a 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 ...&lt;-.':'................skip
e0040 0a 43 4f 4d 4d 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2c 27 20 .COMMA................&lt;-.','.
e0060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 44 4f 54 20 20 20 20 20 20 20 20 20 ...............skip.DOT.........
e0080 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 27 20 20 20 20 20 20 21 5b 2a 2e 3f 5d 20 20 .........&lt;-.'.'......![*.?]..
e00a0 20 20 73 6b 69 70 0a 44 4f 54 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b ..skip.DOT2.................&lt;
e00c0 2d 20 27 2e 2e 27 20 20 20 20 20 21 5b 2e 5d 20 20 20 20 20 20 73 6b 69 70 0a 44 4f 54 33 20 20 -.'..'.....![.]......skip.DOT3..
e00e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 2e 2e 27 20 20 20 20 20 20 ...............&lt;-.'...'......
e0100 20 20 20 20 20 20 20 20 73 6b 69 70 0a 44 4f 54 41 53 54 45 52 49 53 4b 20 20 20 20 20 20 20 20 ........skip.DOTASTERISK........
e0120 20 20 26 6c 74 3b 2d 20 27 2e 2a 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a ..&lt;-.'.*'...............skip.
e0140 44 4f 54 51 55 45 53 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 3f 27 20 DOTQUESTIONMARK......&lt;-.'.?'.
e0160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 45 51 55 41 4c 20 20 20 20 20 20 20 20 ..............skip.EQUAL........
e0180 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 ........&lt;-.'='......![&gt;=].
e01a0 20 20 20 20 73 6b 69 70 0a 45 51 55 41 4c 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c ....skip.EQUALEQUAL...........&l
e01c0 74 3b 2d 20 27 3d 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 45 51 55 41 t;-.'=='...............skip.EQUA
e01e0 4c 52 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 26 67 74 3b 27 20 20 LRARROW..........&lt;-.'=&gt;'..
e0200 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 .............skip.EXCLAMATIONMAR
e0220 4b 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 21 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 K......&lt;-.'!'......![=]......
e0240 73 6b 69 70 0a 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 51 55 41 4c 20 26 6c 74 3b 2d 20 skip.EXCLAMATIONMARKEQUAL.&lt;-.
e0260 27 21 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 4f 57 20 20 '!='...............skip.LARROW..
e0280 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 27 20 20 20 20 20 20 21 .............&lt;-.'&lt;'......!
e02a0 5b 26 6c 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 4f 57 32 20 20 20 20 20 20 20 20 [&lt;=].....skip.LARROW2........
e02c0 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 27 20 20 20 20 20 21 5b 3d 7c 5d ......&lt;-.'&lt;&lt;'.....![=|]
e02e0 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 4f 57 32 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 .....skip.LARROW2EQUAL.........&
e0300 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b lt;-.'&lt;&lt;='..............sk
e0320 69 70 0a 4c 41 52 52 4f 57 32 50 49 50 45 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 ip.LARROW2PIPE..........&lt;-.'&
e0340 6c 74 3b 26 6c 74 3b 7c 27 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 lt;&lt;|'....![=]......skip.LARR
e0360 4f 57 32 50 49 50 45 45 51 55 41 4c 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b OW2PIPEEQUAL.....&lt;-.'&lt;&lt;
e0380 7c 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 4f 57 45 51 55 41 4c |='.............skip.LARROWEQUAL
e03a0 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 3d 27 20 20 20 20 20 20 20 20 20 ..........&lt;-.'&lt;='.........
e03c0 20 20 20 20 20 20 73 6b 69 70 0a 4c 42 52 41 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......skip.LBRACE...............
e03e0 26 6c 74 3b 2d 20 27 7b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 42 &lt;-.'{'................skip.LB
e0400 52 41 43 4b 45 54 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5b 27 20 20 20 20 RACKET.............&lt;-.'['....
e0420 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 50 41 52 45 4e 20 20 20 20 20 20 20 20 20 ............skip.LPAREN.........
e0440 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 28 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 ......&lt;-.'('................s
e0460 6b 69 70 0a 4d 49 4e 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 kip.MINUS................&lt;-.'
e0480 2d 27 20 20 20 20 20 20 21 5b 25 3d 26 67 74 3b 7c 5d 20 20 20 73 6b 69 70 0a 4d 49 4e 55 53 45 -'......![%=&gt;|]...skip.MINUSE
e04a0 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 3d 27 20 20 20 20 20 20 20 QUAL...........&lt;-.'-='.......
e04c0 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4d 49 4e 55 53 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 ........skip.MINUSPERCENT.......
e04e0 20 20 26 6c 74 3b 2d 20 27 2d 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a ..&lt;-.'-%'.....![=]......skip.
e0500 4d 49 4e 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 26 6c 74 3b 2d 20 27 2d 25 3d 27 MINUSPERCENTEQUAL....&lt;-.'-%='
e0520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4d 49 4e 55 53 50 49 50 45 20 20 20 20 ..............skip.MINUSPIPE....
e0540 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 7c 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 ........&lt;-.'-|'.....![=].....
e0560 20 73 6b 69 70 0a 4d 49 4e 55 53 50 49 50 45 45 51 55 41 4c 20 20 20 20 20 20 20 26 6c 74 3b 2d .skip.MINUSPIPEEQUAL.......&lt;-
e0580 20 27 2d 7c 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4d 49 4e 55 53 52 41 .'-|='..............skip.MINUSRA
e05a0 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 26 67 74 3b 27 20 20 20 20 20 RROW..........&lt;-.'-&gt;'.....
e05c0 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 ..........skip.PERCENT..........
e05e0 20 20 20 20 26 6c 74 3b 2d 20 27 25 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 ....&lt;-.'%'......![=]......ski
e0600 70 0a 50 45 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 25 3d p.PERCENTEQUAL.........&lt;-.'%=
e0620 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 49 50 45 20 20 20 20 20 20 20 '...............skip.PIPE.......
e0640 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7c 27 20 20 20 20 20 20 21 5b 7c 3d 5d 20 20 ..........&lt;-.'|'......![|=]..
e0660 20 20 20 73 6b 69 70 0a 50 49 50 45 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 ...skip.PIPE2................&lt
e0680 3b 2d 20 27 7c 7c 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 49 50 45 45 ;-.'||'...............skip.PIPEE
e06a0 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7c 3d 27 20 20 20 20 20 20 QUAL............&lt;-.'|='......
e06c0 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 4c 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........skip.PLUS..............
e06e0 20 20 20 26 6c 74 3b 2d 20 27 2b 27 20 20 20 20 20 20 21 5b 25 2b 3d 7c 5d 20 20 20 73 6b 69 70 ...&lt;-.'+'......![%+=|]...skip
e0700 0a 50 4c 55 53 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 2b 27 .PLUS2................&lt;-.'++'
e0720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 4c 55 53 45 51 55 41 4c 20 20 20 ...............skip.PLUSEQUAL...
e0740 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 .........&lt;-.'+='.............
e0760 20 20 73 6b 69 70 0a 50 4c 55 53 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b ..skip.PLUSPERCENT..........&lt;
e0780 2d 20 27 2b 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 50 4c 55 53 50 45 -.'+%'.....![=]......skip.PLUSPE
e07a0 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 25 3d 27 20 20 20 20 20 20 RCENTEQUAL.....&lt;-.'+%='......
e07c0 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 4c 55 53 50 49 50 45 20 20 20 20 20 20 20 20 20 20 20 ........skip.PLUSPIPE...........
e07e0 20 20 26 6c 74 3b 2d 20 27 2b 7c 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a ..&lt;-.'+|'.....![=]......skip.
e0800 50 4c 55 53 50 49 50 45 45 51 55 41 4c 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 7c 3d 27 PLUSPIPEEQUAL........&lt;-.'+|='
e0820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 45 54 54 45 52 43 20 20 20 20 20 20 ..............skip.LETTERC......
e0840 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.'c'...............
e0860 20 73 6b 69 70 0a 51 55 45 53 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d .skip.QUESTIONMARK.........&lt;-
e0880 20 27 3f 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 52 41 52 52 4f 57 20 .'?'................skip.RARROW.
e08a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 27 20 20 20 20 20 20 ..............&lt;-.'&gt;'......
e08c0 21 5b 26 67 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 0a 52 41 52 52 4f 57 32 20 20 20 20 20 20 20 ![&gt;=].....skip.RARROW2.......
e08e0 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 26 67 74 3b 27 20 20 20 20 20 21 5b 3d 5d .......&lt;-.'&gt;&gt;'.....![=]
e0900 20 20 20 20 20 20 73 6b 69 70 0a 52 41 52 52 4f 57 32 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 ......skip.RARROW2EQUAL.........
e0920 26 6c 74 3b 2d 20 27 26 67 74 3b 26 67 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 &lt;-.'&gt;&gt;='..............s
e0940 6b 69 70 0a 52 41 52 52 4f 57 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 kip.RARROWEQUAL..........&lt;-.'
e0960 26 67 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 52 42 52 41 43 45 &gt;='...............skip.RBRACE
e0980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7d 27 20 20 20 20 20 20 20 20 ...............&lt;-.'}'........
e09a0 20 20 20 20 20 20 20 20 73 6b 69 70 0a 52 42 52 41 43 4b 45 54 20 20 20 20 20 20 20 20 20 20 20 ........skip.RBRACKET...........
e09c0 20 20 26 6c 74 3b 2d 20 27 5d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a ..&lt;-.']'................skip.
e09e0 52 50 41 52 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 29 27 20 20 RPAREN...............&lt;-.')'..
e0a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 53 45 4d 49 43 4f 4c 4f 4e 20 20 20 20 ..............skip.SEMICOLON....
e0a20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.';'...............
e0a40 20 73 6b 69 70 0a 53 4c 41 53 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d .skip.SLASH................&lt;-
e0a60 20 27 2f 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 53 4c 41 53 48 45 51 .'/'......![=]......skip.SLASHEQ
e0a80 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2f 3d 27 20 20 20 20 20 20 20 20 UAL...........&lt;-.'/='........
e0aa0 20 20 20 20 20 20 20 73 6b 69 70 0a 54 49 4c 44 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......skip.TILDE...............
e0ac0 20 26 6c 74 3b 2d 20 27 7e 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 0a .&lt;-.'~'................skip..
e0ae0 65 6e 64 5f 6f 66 5f 77 6f 72 64 20 26 6c 74 3b 2d 20 21 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 5d 20 end_of_word.&lt;-.![a-zA-Z0-9_].
e0b00 73 6b 69 70 0a 4b 45 59 57 4f 52 44 5f 61 64 64 72 73 70 61 63 65 20 20 20 26 6c 74 3b 2d 20 27 skip.KEYWORD_addrspace...&lt;-.'
e0b20 61 64 64 72 73 70 61 63 65 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 addrspace'...end_of_word.KEYWORD
e0b40 5f 61 6c 69 67 6e 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6c 69 67 6e 27 20 20 20 20 20 20 _align.......&lt;-.'align'......
e0b60 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 20 .end_of_word.KEYWORD_allowzero..
e0b80 20 26 6c 74 3b 2d 20 27 61 6c 6c 6f 77 7a 65 72 6f 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'allowzero'...end_of_word
e0ba0 0a 4b 45 59 57 4f 52 44 5f 61 6e 64 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 64 27 .KEYWORD_and.........&lt;-.'and'
e0bc0 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 6e 79 .........end_of_word.KEYWORD_any
e0be0 66 72 61 6d 65 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 79 66 72 61 6d 65 27 20 20 20 20 65 6e 64 frame....&lt;-.'anyframe'....end
e0c00 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 20 20 20 20 26 6c 74 _of_word.KEYWORD_anytype.....&lt
e0c20 3b 2d 20 27 61 6e 79 74 79 70 65 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 ;-.'anytype'.....end_of_word.KEY
e0c40 57 4f 52 44 5f 61 73 6d 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 73 6d 27 20 20 20 20 WORD_asm.........&lt;-.'asm'....
e0c60 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 73 79 6e 63 20 20 .....end_of_word.KEYWORD_async..
e0c80 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 73 79 6e 63 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'async'.......end_of_
e0ca0 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 word.KEYWORD_await.......&lt;-.'
e0cc0 61 77 61 69 74 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 await'.......end_of_word.KEYWORD
e0ce0 5f 62 72 65 61 6b 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 62 72 65 61 6b 27 20 20 20 20 20 20 _break.......&lt;-.'break'......
e0d00 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 20 20 .end_of_word.KEYWORD_callconv...
e0d20 20 26 6c 74 3b 2d 20 27 63 61 6c 6c 63 6f 6e 76 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'callconv'....end_of_word
e0d40 0a 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 61 74 63 .KEYWORD_catch.......&lt;-.'catc
e0d60 68 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 63 6f 6d h'.......end_of_word.KEYWORD_com
e0d80 70 74 69 6d 65 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6d 70 74 69 6d 65 27 20 20 20 20 65 6e 64 ptime....&lt;-.'comptime'....end
e0da0 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 20 20 20 20 20 20 26 6c 74 _of_word.KEYWORD_const.......&lt
e0dc0 3b 2d 20 27 63 6f 6e 73 74 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 ;-.'const'.......end_of_word.KEY
e0de0 57 4f 52 44 5f 63 6f 6e 74 69 6e 75 65 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6e 74 69 6e 75 65 WORD_continue....&lt;-.'continue
e0e00 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 20 '....end_of_word.KEYWORD_defer..
e0e20 20 20 20 20 20 26 6c 74 3b 2d 20 27 64 65 66 65 72 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'defer'.......end_of_
e0e40 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 word.KEYWORD_else........&lt;-.'
e0e60 65 6c 73 65 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 else'........end_of_word.KEYWORD
e0e80 5f 65 6e 75 6d 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 6e 75 6d 27 20 20 20 20 20 20 20 _enum........&lt;-.'enum'.......
e0ea0 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 20 20 .end_of_word.KEYWORD_errdefer...
e0ec0 20 26 6c 74 3b 2d 20 27 65 72 72 64 65 66 65 72 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'errdefer'....end_of_word
e0ee0 0a 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 72 72 6f .KEYWORD_error.......&lt;-.'erro
e0f00 72 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 65 78 70 r'.......end_of_word.KEYWORD_exp
e0f20 6f 72 74 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 78 70 6f 72 74 27 20 20 20 20 20 20 65 6e 64 ort......&lt;-.'export'......end
e0f40 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 20 20 20 20 20 26 6c 74 _of_word.KEYWORD_extern......&lt
e0f60 3b 2d 20 27 65 78 74 65 72 6e 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 ;-.'extern'......end_of_word.KEY
e0f80 57 4f 52 44 5f 66 6e 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 6e 27 20 20 20 20 20 WORD_fn..........&lt;-.'fn'.....
e0fa0 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 66 6f 72 20 20 20 20 .....end_of_word.KEYWORD_for....
e0fc0 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 6f 72 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'for'.........end_of_
e0fe0 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 69 66 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 word.KEYWORD_if..........&lt;-.'
e1000 69 66 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 if'..........end_of_word.KEYWORD
e1020 5f 69 6e 6c 69 6e 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 69 6e 6c 69 6e 65 27 20 20 20 20 20 _inline......&lt;-.'inline'.....
e1040 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 20 20 20 .end_of_word.KEYWORD_noalias....
e1060 20 26 6c 74 3b 2d 20 27 6e 6f 61 6c 69 61 73 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'noalias'.....end_of_word
e1080 0a 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 20 20 26 6c 74 3b 2d 20 27 6e 6f 73 75 .KEYWORD_nosuspend...&lt;-.'nosu
e10a0 73 70 65 6e 64 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6e 6f 69 spend'...end_of_word.KEYWORD_noi
e10c0 6e 6c 69 6e 65 20 20 20 20 26 6c 74 3b 2d 20 27 6e 6f 69 6e 6c 69 6e 65 27 20 20 20 20 65 6e 64 nline....&lt;-.'noinline'....end
e10e0 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 20 20 20 20 20 20 26 6c 74 _of_word.KEYWORD_opaque......&lt
e1100 3b 2d 20 27 6f 70 61 71 75 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 ;-.'opaque'......end_of_word.KEY
e1120 57 4f 52 44 5f 6f 72 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 72 27 20 20 20 20 20 WORD_or..........&lt;-.'or'.....
e1140 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 20 .....end_of_word.KEYWORD_orelse.
e1160 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 72 65 6c 73 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'orelse'......end_of_
e1180 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 word.KEYWORD_packed......&lt;-.'
e11a0 70 61 63 6b 65 64 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 packed'......end_of_word.KEYWORD
e11c0 5f 70 75 62 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 70 75 62 27 20 20 20 20 20 20 20 20 _pub.........&lt;-.'pub'........
e11e0 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 20 20 20 20 .end_of_word.KEYWORD_resume.....
e1200 20 26 6c 74 3b 2d 20 27 72 65 73 75 6d 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'resume'......end_of_word
e1220 0a 4b 45 59 57 4f 52 44 5f 72 65 74 75 72 6e 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 72 65 74 75 .KEYWORD_return......&lt;-.'retu
e1240 72 6e 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6c 69 6e rn'......end_of_word.KEYWORD_lin
e1260 6b 73 65 63 74 69 6f 6e 20 26 6c 74 3b 2d 20 27 6c 69 6e 6b 73 65 63 74 69 6f 6e 27 20 65 6e 64 ksection.&lt;-.'linksection'.end
e1280 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 20 20 20 20 20 20 26 6c 74 _of_word.KEYWORD_struct......&lt
e12a0 3b 2d 20 27 73 74 72 75 63 74 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 ;-.'struct'......end_of_word.KEY
e12c0 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 75 73 70 65 6e 64 27 WORD_suspend.....&lt;-.'suspend'
e12e0 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 .....end_of_word.KEYWORD_switch.
e1300 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 77 69 74 63 68 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'switch'......end_of_
e1320 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 74 65 73 74 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 word.KEYWORD_test........&lt;-.'
e1340 74 65 73 74 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 test'........end_of_word.KEYWORD
e1360 5f 74 68 72 65 61 64 6c 6f 63 61 6c 20 26 6c 74 3b 2d 20 27 74 68 72 65 61 64 6c 6f 63 61 6c 27 _threadlocal.&lt;-.'threadlocal'
e1380 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 74 72 79 20 20 20 20 20 20 20 20 .end_of_word.KEYWORD_try........
e13a0 20 26 6c 74 3b 2d 20 27 74 72 79 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'try'.........end_of_word
e13c0 0a 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 75 6e 69 6f .KEYWORD_union.......&lt;-.'unio
e13e0 6e 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 75 6e 72 n'.......end_of_word.KEYWORD_unr
e1400 65 61 63 68 61 62 6c 65 20 26 6c 74 3b 2d 20 27 75 6e 72 65 61 63 68 61 62 6c 65 27 20 65 6e 64 eachable.&lt;-.'unreachable'.end
e1420 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 _of_word.KEYWORD_usingnamespace.
e1440 26 6c 74 3b 2d 20 27 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 27 20 65 6e 64 5f 6f 66 5f 77 6f &lt;-.'usingnamespace'.end_of_wo
e1460 72 64 0a 4b 45 59 57 4f 52 44 5f 76 61 72 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 76 61 rd.KEYWORD_var.........&lt;-.'va
e1480 72 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 76 r'.........end_of_word.KEYWORD_v
e14a0 6f 6c 61 74 69 6c 65 20 20 20 20 26 6c 74 3b 2d 20 27 76 6f 6c 61 74 69 6c 65 27 20 20 20 20 65 olatile....&lt;-.'volatile'....e
e14c0 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 20 20 20 20 20 20 20 26 nd_of_word.KEYWORD_while.......&
e14e0 6c 74 3b 2d 20 27 77 68 69 6c 65 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 0a lt;-.'while'.......end_of_word..
e1500 6b 65 79 77 6f 72 64 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 64 64 72 73 70 61 63 65 20 keyword.&lt;-.KEYWORD_addrspace.
e1520 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a /.KEYWORD_align./.KEYWORD_allowz
e1540 65 72 6f 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 64 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 ero./.KEYWORD_and........../.KEY
e1560 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 WORD_anyframe./.KEYWORD_anytype.
e1580 2f 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 2f 20 4b 45 59 57 4f 52 44 5f 61 73 79 6e 63 0a 20 20 /.KEYWORD_asm./.KEYWORD_async...
e15a0 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 20 2f 20 4b 45 59 57 4f 52 44 ......./.KEYWORD_await./.KEYWORD
e15c0 5f 62 72 65 61 6b 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 2f 20 4b 45 59 57 _break./.KEYWORD_callconv./.KEYW
e15e0 4f 52 44 5f 63 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d ORD_catch........../.KEYWORD_com
e1600 70 74 69 6d 65 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f ptime./.KEYWORD_const./.KEYWORD_
e1620 63 6f 6e 74 69 6e 75 65 20 2f 20 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 0a 20 20 20 20 20 20 20 continue./.KEYWORD_defer........
e1640 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 ../.KEYWORD_else./.KEYWORD_enum.
e1660 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 /.KEYWORD_errdefer./.KEYWORD_err
e1680 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 2f 20 4b or./.KEYWORD_export........../.K
e16a0 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 6e 20 2f 20 4b 45 59 EYWORD_extern./.KEYWORD_fn./.KEY
e16c0 57 4f 52 44 5f 66 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 69 66 0a 20 20 20 20 20 20 20 20 20 2f WORD_for./.KEYWORD_if........../
e16e0 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 .KEYWORD_inline./.KEYWORD_noalia
e1700 73 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f s./.KEYWORD_nosuspend./.KEYWORD_
e1720 6e 6f 69 6e 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 noinline........../.KEYWORD_opaq
e1740 75 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 ue./.KEYWORD_or./.KEYWORD_orelse
e1760 20 2f 20 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 ./.KEYWORD_packed........../.KEY
e1780 57 4f 52 44 5f 70 75 62 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 2f 20 4b 45 59 57 WORD_pub./.KEYWORD_resume./.KEYW
e17a0 4f 52 44 5f 72 65 74 75 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f 6e ORD_return./.KEYWORD_linksection
e17c0 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 20 2f 20 4b 45 59 ........../.KEYWORD_struct./.KEY
e17e0 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 2f 20 WORD_suspend./.KEYWORD_switch./.
e1800 4b 45 59 57 4f 52 44 5f 74 65 73 74 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f KEYWORD_test........../.KEYWORD_
e1820 74 68 72 65 61 64 6c 6f 63 61 6c 20 2f 20 4b 45 59 57 4f 52 44 5f 74 72 79 20 2f 20 4b 45 59 57 threadlocal./.KEYWORD_try./.KEYW
e1840 4f 52 44 5f 75 6e 69 6f 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 0a ORD_union./.KEYWORD_unreachable.
e1860 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 ........./.KEYWORD_usingnamespac
e1880 65 20 2f 20 4b 45 59 57 4f 52 44 5f 76 61 72 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 e./.KEYWORD_var./.KEYWORD_volati
e18a0 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c le./.KEYWORD_while</code></pre><
e18c0 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 5a 65 /figure>..............<h3.id="Ze
e18e0 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 20 3c 61 n"><a.href="#toc-Zen">Zen</a>.<a
e1900 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 65 6e 22 3e c2 a7 3c 2f 61 3e 3c .class="hdr".href="#Zen">..</a><
e1920 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d /h3>........<ul>.........<li>Com
e1940 6d 75 6e 69 63 61 74 65 20 69 6e 74 65 6e 74 20 70 72 65 63 69 73 65 6c 79 2e 3c 2f 6c 69 3e 0a municate.intent.precisely.</li>.
e1960 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 64 67 65 20 63 61 73 65 73 20 6d 61 74 74 65 72 2e 3c 2f ........<li>Edge.cases.matter.</
e1980 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 76 6f 72 20 72 65 61 64 69 6e 67 20 63 6f li>.........<li>Favor.reading.co
e19a0 64 65 20 6f 76 65 72 20 77 72 69 74 69 6e 67 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 de.over.writing.code.</li>......
e19c0 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 6f 6e 65 20 6f 62 76 69 6f 75 73 20 77 61 79 20 74 6f 20 64 ...<li>Only.one.obvious.way.to.d
e19e0 6f 20 74 68 69 6e 67 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 75 6e 74 69 o.things.</li>.........<li>Runti
e1a00 6d 65 20 63 72 61 73 68 65 73 20 61 72 65 20 62 65 74 74 65 72 20 74 68 61 6e 20 62 75 67 73 2e me.crashes.are.better.than.bugs.
e1a20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 </li>.........<li>Compile.errors
e1a40 20 61 72 65 20 62 65 74 74 65 72 20 74 68 61 6e 20 72 75 6e 74 69 6d 65 20 63 72 61 73 68 65 73 .are.better.than.runtime.crashes
e1a60 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 63 72 65 6d 65 6e 74 61 6c 20 69 .</li>.........<li>Incremental.i
e1a80 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 76 mprovements.</li>.........<li>Av
e1aa0 6f 69 64 20 6c 6f 63 61 6c 20 6d 61 78 69 6d 75 6d 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 oid.local.maximums.</li>........
e1ac0 20 3c 6c 69 3e 52 65 64 75 63 65 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 6e 65 20 6d 75 73 74 20 .<li>Reduce.the.amount.one.must.
e1ae0 72 65 6d 65 6d 62 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 6f 63 75 73 remember.</li>.........<li>Focus
e1b00 20 6f 6e 20 63 6f 64 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 73 74 79 6c 65 2e 3c 2f 6c 69 3e .on.code.rather.than.style.</li>
e1b20 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 73 6f 75 72 63 65 20 61 6c 6c 6f 63 61 74 69 6f 6e .........<li>Resource.allocation
e1b40 20 6d 61 79 20 66 61 69 6c 3b 20 72 65 73 6f 75 72 63 65 20 64 65 61 6c 6c 6f 63 61 74 69 6f 6e .may.fail;.resource.deallocation
e1b60 20 6d 75 73 74 20 73 75 63 63 65 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e .must.succeed.</li>.........<li>
e1b80 4d 65 6d 6f 72 79 20 69 73 20 61 20 72 65 73 6f 75 72 63 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 Memory.is.a.resource.</li>......
e1ba0 20 20 20 3c 6c 69 3e 54 6f 67 65 74 68 65 72 20 77 65 20 73 65 72 76 65 20 74 68 65 20 75 73 65 ...<li>Together.we.serve.the.use
e1bc0 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 rs.</li>.......</ul>............
e1be0 20 20 0a 20 20 20 20 20 20 3c 2f 6d 61 69 6e 3e 3c 2f 64 69 76 3e 0a 20 20 20 20 3c 2f 64 69 76 .........</main></div>.....</div
e1c00 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b 01 02 14 00 14 00 00 00 00 00 >...</body>.</html>.PK..........
e1c20 00 00 21 52 6f 61 ab 2c 14 00 00 00 14 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..!Roa.,........................
e1c40 00 00 6d 69 6d 65 74 79 70 65 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 6f 92 d0 0a fc 00 ..mimetypePK............!Ro.....
e1c60 00 00 fc 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 3a 00 00 00 4d 45 54 41 2d 49 4e 46 ....................:...META-INF
e1c80 2f 63 6f 6e 74 61 69 6e 65 72 2e 78 6d 6c 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 e8 13 /container.xmlPK............!R..
e1ca0 71 8b c4 02 00 00 c4 02 00 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 01 00 00 4f 45 42 50 q.......................j...OEBP
e1cc0 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 66 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 f4 4f 90 S/content.opfPK............!R.O.
e1ce0 37 25 88 00 00 25 88 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 5d 04 00 00 4f 45 42 50 53 7%...%.................]...OEBPS
e1d00 2f 6e 61 76 2e 78 68 74 6d 6c 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 99 0a 47 eb 36 8f /nav.xhtmlPK............!R..G.6.
e1d20 0d 00 36 8f 0d 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 af 8c 00 00 4f 45 42 50 53 2f 69 6e ..6.....................OEBPS/in
e1d40 64 65 78 2e 78 68 74 6d 6c 50 4b 05 06 00 00 00 00 05 00 05 00 35 01 00 00 14 1c 0e 00 00 00 dex.xhtmlPK..........5.........