aboutsummaryrefslogtreecommitdiffstats
path: root/epubs/zig-0.11.0.epub
blob: 1dfc0f0e4572bf85667562bc8c428471ed934277 (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 af 51 13 00 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 31 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.11.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 31 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 11.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 77 35 16 6e 84 86 00 00 84 86 00 00 0f 00 00 00 4f 45 42 50 53 .........!Rw5.n............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 31 2e 30 29 3c Zig.Language.Reference.(0.11.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 31 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 1.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 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .Declarations</a></li>..........
0ce0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4e 65 73 74 65 64 2d 43 6f 6e 74 61 69 6e ...<li><a.id="toc-Nested-Contain
0d00 65 72 2d 54 65 73 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4e 65 73 74 er-Tests".href="index.xhtml#Nest
0d20 65 64 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e 4e 65 73 74 65 64 20 43 6f 6e 74 61 ed-Container-Tests">Nested.Conta
0d40 69 6e 65 72 20 54 65 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 iner.Tests</a></li>.............
0d60 3c 6c 69 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 <li><a.id="toc-Test-Failure".hre
0d80 66 3d 22 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 f="index.xhtml#Test-Failure">Tes
0da0 74 20 46 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 t.Failure</a></li>.............<
0dc0 6c 69 3e 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 li><a.id="toc-Skip-Tests".href="
0de0 69 6e 64 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 index.xhtml#Skip-Tests">Skip.Tes
0e00 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 3e 3c 61 20 69 ts</a></li>.............<li><a.i
0e20 64 3d 22 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 d="toc-Report-Memory-Leaks".href
0e40 3d 22 69 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 ="index.xhtml#Report-Memory-Leak
0e60 73 22 3e 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 s">Report.Memory.Leaks</a></li>.
0e80 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 44 65 74 65 63 ............<li><a.id="toc-Detec
0ea0 74 69 6e 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 ting-Test-Build".href="index.xht
0ec0 6d 6c 23 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 ml#Detecting-Test-Build">Detecti
0ee0 6e 67 20 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 ng.Test.Build</a></li>..........
0f00 20 20 20 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 ...<li><a.id="toc-Test-Output-an
0f20 64 2d 4c 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 d-Logging".href="index.xhtml#Tes
0f40 74 2d 4f 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 t-Output-and-Logging">Test.Outpu
0f60 74 20 61 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 t.and.Logging</a></li>..........
0f80 20 20 20 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 ...<li><a.id="toc-The-Testing-Na
0fa0 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 54 68 65 2d 54 mespace".href="index.xhtml#The-T
0fc0 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 67 20 4e 61 esting-Namespace">The.Testing.Na
0fe0 6d 65 73 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 mespace</a></li>.............<li
1000 3e 3c 61 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 ><a.id="toc-Test-Tool-Documentat
1020 69 6f 6e 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 ion".href="index.xhtml#Test-Tool
1040 2d 44 6f 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 -Documentation">Test.Tool.Docume
1060 6e 74 61 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 ntation</a></li>.........</ol></
1080 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 56 61 72 69 61 li>.........<li><a.id="toc-Varia
10a0 62 6c 65 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 bles".href="index.xhtml#Variable
10c0 73 22 3e 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 s">Variables</a>.........<ol>...
10e0 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 64 65 6e 74 69 66 ..........<li><a.id="toc-Identif
1100 69 65 72 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 iers".href="index.xhtml#Identifi
1120 65 72 73 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 ers">Identifiers</a></li>.......
1140 20 20 20 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 ......<li><a.id="toc-Container-L
1160 65 76 65 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 evel-Variables".href="index.xhtm
1180 6c 23 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 l#Container-Level-Variables">Con
11a0 74 61 69 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 tainer.Level.Variables</a></li>.
11c0 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 74 61 74 69 ............<li><a.id="toc-Stati
11e0 63 2d 4c 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 c-Local-Variables".href="index.x
1200 68 74 6d 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 html#Static-Local-Variables">Sta
1220 74 69 63 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 tic.Local.Variables</a></li>....
1240 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 72 65 61 64 2d 4c .........<li><a.id="toc-Thread-L
1260 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
1280 6c 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 64 l#Thread-Local-Variables">Thread
12a0 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>.......
12c0 20 20 20 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 ......<li><a.id="toc-Local-Varia
12e0 62 6c 65 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 bles".href="index.xhtml#Local-Va
1300 72 69 61 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 riables">Local.Variables</a></li
1320 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 6c 69 >.........</ol></li>.........<li
1340 3e 3c 61 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 ><a.id="toc-Integers".href="inde
1360 78 2e 78 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 x.xhtml#Integers">Integers</a>..
1380 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
13a0 64 3d 22 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 d="toc-Integer-Literals".href="i
13c0 6e 64 65 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 ndex.xhtml#Integer-Literals">Int
13e0 65 67 65 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 eger.Literals</a></li>..........
1400 20 20 20 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 ...<li><a.id="toc-Runtime-Intege
1420 72 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 52 75 6e 74 r-Values".href="index.xhtml#Runt
1440 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
1460 67 65 72 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 ger.Values</a></li>.........</ol
1480 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 46 6c ></li>.........<li><a.id="toc-Fl
14a0 6f 61 74 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 oats".href="index.xhtml#Floats">
14c0 46 6c 6f 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 Floats</a>.........<ol>.........
14e0 20 20 20 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 ....<li><a.id="toc-Float-Literal
1500 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 2d 4c 69 74 65 72 s".href="index.xhtml#Float-Liter
1520 61 6c 73 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 als">Float.Literals</a></li>....
1540 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 6c 6f 61 74 69 6e 67 .........<li><a.id="toc-Floating
1560 2d 50 6f 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 -Point-Operations".href="index.x
1580 68 74 6d 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 html#Floating-Point-Operations">
15a0 46 6c 6f 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 Floating.Point.Operations</a></l
15c0 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 6c i>.........</ol></li>.........<l
15e0 69 3e 3c 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 i><a.id="toc-Operators".href="in
1600 64 65 78 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 dex.xhtml#Operators">Operators</
1620 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 3e a>.........<ol>.............<li>
1640 3c 61 20 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 <a.id="toc-Table-of-Operators".h
1660 72 65 66 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 ref="index.xhtml#Table-of-Operat
1680 6f 72 73 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 ors">Table.of.Operators</a></li>
16a0 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 50 72 65 63 .............<li><a.id="toc-Prec
16c0 65 64 65 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 edence".href="index.xhtml#Preced
16e0 65 6e 63 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 ence">Precedence</a></li>.......
1700 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="
1720 74 6f 63 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 toc-Arrays".href="index.xhtml#Ar
1740 72 61 79 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 rays">Arrays</a>.........<ol>...
1760 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 4d 75 6c 74 69 64 69 ..........<li><a.id="toc-Multidi
1780 6d 65 6e 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 mensional-Arrays".href="index.xh
17a0 74 6d 6c 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 tml#Multidimensional-Arrays">Mul
17c0 74 69 64 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 tidimensional.Arrays</a></li>...
17e0 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 65 6e 74 69 6e 65 ..........<li><a.id="toc-Sentine
1800 6c 2d 54 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 l-Terminated-Arrays".href="index
1820 2e 78 68 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 .xhtml#Sentinel-Terminated-Array
1840 73 22 3e 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 s">Sentinel-Terminated.Arrays</a
1860 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 20 ></li>.........</ol></li>.......
1880 20 20 3c 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 ..<li><a.id="toc-Vectors".href="
18a0 69 6e 64 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 index.xhtml#Vectors">Vectors</a>
18c0 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 50 6f 69 </li>.........<li><a.id="toc-Poi
18e0 6e 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 6f 69 6e 74 65 72 nters".href="index.xhtml#Pointer
1900 73 22 3e 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 s">Pointers</a>.........<ol>....
1920 20 20 20 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 .........<li><a.id="toc-volatile
1940 22 20 68 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 ".href="index.xhtml#volatile">vo
1960 6c 61 74 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 latile</a></li>.............<li>
1980 3c 61 20 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 <a.id="toc-Alignment".href="inde
19a0 78 2e 78 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 x.xhtml#Alignment">Alignment</a>
19c0 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
19e0 2d 61 6c 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 -allowzero".href="index.xhtml#al
1a00 6c 6f 77 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 lowzero">allowzero</a></li>.....
1a20 20 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 ........<li><a.id="toc-Sentinel-
1a40 54 65 72 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 Terminated-Pointers".href="index
1a60 2e 78 68 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 .xhtml#Sentinel-Terminated-Point
1a80 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 72 ers">Sentinel-Terminated.Pointer
1aa0 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 20 s</a></li>.........</ol></li>...
1ac0 20 20 20 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 ......<li><a.id="toc-Slices".hre
1ae0 66 3d 22 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 f="index.xhtml#Slices">Slices</a
1b00 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 3e 3c >.........<ol>.............<li><
1b20 61 20 69 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 a.id="toc-Sentinel-Terminated-Sl
1b40 69 63 65 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 ices".href="index.xhtml#Sentinel
1b60 2d 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 -Terminated-Slices">Sentinel-Ter
1b80 6d 69 6e 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 minated.Slices</a></li>.........
1ba0 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 6f </ol></li>.........<li><a.id="to
1bc0 63 2d 73 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 c-struct".href="index.xhtml#stru
1be0 63 74 22 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 ct">struct</a>.........<ol>.....
1c00 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 66 61 75 6c 74 2d 46 ........<li><a.id="toc-Default-F
1c20 69 65 6c 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 ield-Values".href="index.xhtml#D
1c40 65 66 61 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 efault-Field-Values">Default.Fie
1c60 6c 64 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 20 20 20 20 3c ld.Values</a></li>.............<
1c80 6c 69 3e 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 li><a.id="toc-extern-struct".hre
1ca0 66 3d 22 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 f="index.xhtml#extern-struct">ex
1cc0 74 65 72 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 tern.struct</a></li>............
1ce0 20 3c 6c 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 .<li><a.id="toc-packed-struct".h
1d00 72 65 66 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 ref="index.xhtml#packed-struct">
1d20 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 20 20 20 20 20 20 20 packed.struct</a></li>..........
1d40 20 20 20 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 ...<li><a.id="toc-Struct-Naming"
1d60 20 68 72 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 .href="index.xhtml#Struct-Naming
1d80 22 3e 53 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 ">Struct.Naming</a></li>........
1da0 20 20 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 53 74 .....<li><a.id="toc-Anonymous-St
1dc0 72 75 63 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 ruct-Literals".href="index.xhtml
1de0 23 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 41 6e 6f 6e #Anonymous-Struct-Literals">Anon
1e00 79 6d 6f 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 ymous.Struct.Literals</a></li>..
1e20 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 75 70 6c 65 73 ...........<li><a.id="toc-Tuples
1e40 22 20 68 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 ".href="index.xhtml#Tuples">Tupl
1e60 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 6c 69 3e 0a 20 es</a></li>.........</ol></li>..
1e80 20 20 20 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 .......<li><a.id="toc-enum".href
1ea0 3d 22 69 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 ="index.xhtml#enum">enum</a>....
1ec0 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=
1ee0 22 74 6f 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 "toc-extern-enum".href="index.xh
1f00 74 6d 6c 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 tml#extern-enum">extern.enum</a>
1f20 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
1f40 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
1f60 6c 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 l#Enum-Literals">Enum.Literals</
1f80 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
1fa0 6f 63 2d 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 oc-Non-exhaustive-enum".href="in
1fc0 64 65 78 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 dex.xhtml#Non-exhaustive-enum">N
1fe0 6f 6e 2d 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 on-exhaustive.enum</a></li>.....
2000 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
2020 3d 22 74 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 ="toc-union".href="index.xhtml#u
2040 6e 69 6f 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 nion">union</a>.........<ol>....
2060 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 61 67 67 65 64 2d 75 .........<li><a.id="toc-Tagged-u
2080 6e 69 6f 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 nion".href="index.xhtml#Tagged-u
20a0 6e 69 6f 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 nion">Tagged.union</a></li>.....
20c0 20 20 20 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 ........<li><a.id="toc-extern-un
20e0 69 6f 6e 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 ion".href="index.xhtml#extern-un
2100 69 6f 6e 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 ion">extern.union</a></li>......
2120 20 20 20 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 .......<li><a.id="toc-packed-uni
2140 6f 6e 22 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 on".href="index.xhtml#packed-uni
2160 6f 6e 22 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 on">packed.union</a></li>.......
2180 20 20 20 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 ......<li><a.id="toc-Anonymous-U
21a0 6e 69 6f 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 nion-Literals".href="index.xhtml
21c0 23 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 41 6e 6f 6e 79 #Anonymous-Union-Literals">Anony
21e0 6d 6f 75 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 mous.Union.Literals</a></li>....
2200 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
2220 64 3d 22 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 d="toc-opaque".href="index.xhtml
2240 23 6f 70 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 #opaque">opaque</a></li>........
2260 20 3c 6c 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 .<li><a.id="toc-Blocks".href="in
2280 64 65 78 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 dex.xhtml#Blocks">Blocks</a>....
22a0 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=
22c0 22 74 6f 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 "toc-Shadowing".href="index.xhtm
22e0 6c 23 53 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 l#Shadowing">Shadowing</a></li>.
2300 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 6d 70 74 79 ............<li><a.id="toc-Empty
2320 2d 42 6c 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 -Blocks".href="index.xhtml#Empty
2340 2d 42 6c 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 -Blocks">Empty.Blocks</a></li>..
2360 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
2380 20 69 64 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 .id="toc-switch".href="index.xht
23a0 6d 6c 23 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 ml#switch">switch</a>.........<o
23c0 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 45 78 l>.............<li><a.id="toc-Ex
23e0 68 61 75 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 haustive-Switching".href="index.
2400 78 68 74 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 xhtml#Exhaustive-Switching">Exha
2420 75 73 74 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 ustive.Switching</a></li>.......
2440 20 20 20 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 ......<li><a.id="toc-Switching-w
2460 69 74 68 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 ith-Enum-Literals".href="index.x
2480 68 74 6d 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 html#Switching-with-Enum-Literal
24a0 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 73 3c s">Switching.with.Enum.Literals<
24c0 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="
24e0 74 6f 63 2d 49 6e 6c 69 6e 65 2d 73 77 69 74 63 68 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 toc-Inline-switch".href="index.x
2500 68 74 6d 6c 23 49 6e 6c 69 6e 65 2d 73 77 69 74 63 68 22 3e 49 6e 6c 69 6e 65 20 73 77 69 74 63 html#Inline-switch">Inline.switc
2520 68 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 h</a></li>.........</ol></li>...
2540 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 22 20 68 72 65 66 ......<li><a.id="toc-while".href
2560 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 0a 20 ="index.xhtml#while">while</a>..
2580 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
25a0 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 d="toc-Labeled-while".href="inde
25c0 78 2e 78 68 74 6d 6c 23 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 x.xhtml#Labeled-while">Labeled.w
25e0 68 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 hile</a></li>.............<li><a
2600 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 .id="toc-while-with-Optionals".h
2620 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 ref="index.xhtml#while-with-Opti
2640 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c onals">while.with.Optionals</a><
2660 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-
2680 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 while-with-Error-Unions".href="i
26a0 6e 64 65 78 2e 78 68 74 6d 6c 23 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f ndex.xhtml#while-with-Error-Unio
26c0 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c ns">while.with.Error.Unions</a><
26e0 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-
2700 69 6e 6c 69 6e 65 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 inline-while".href="index.xhtml#
2720 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f inline-while">inline.while</a></
2740 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>.........<
2760 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 li><a.id="toc-for".href="index.x
2780 68 74 6d 6c 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 html#for">for</a>.........<ol>..
27a0 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 61 62 65 6c 65 ...........<li><a.id="toc-Labele
27c0 64 2d 66 6f 72 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 64 d-for".href="index.xhtml#Labeled
27e0 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 -for">Labeled.for</a></li>......
2800 20 20 20 20 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 6f 72 .......<li><a.id="toc-inline-for
2820 22 20 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 66 6f 72 22 3e ".href="index.xhtml#inline-for">
2840 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c inline.for</a></li>.........</ol
2860 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 69 66 ></li>.........<li><a.id="toc-if
2880 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f ".href="index.xhtml#if">if</a></
28a0 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 64 65 66 65 72 li>.........<li><a.id="toc-defer
28c0 22 20 68 72 65 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 ".href="index.xhtml#defer">defer
28e0 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 64 3d 22 74 6f 63 </a></li>.........<li><a.id="toc
2900 2d 75 6e 72 65 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 -unreachable".href="index.xhtml#
2920 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 0a 20 20 20 unreachable">unreachable</a>....
2940 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=
2960 22 74 6f 63 2d 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 "toc-Basics".href="index.xhtml#B
2980 61 73 69 63 73 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 asics">Basics</a></li>..........
29a0 20 20 20 3c 6c 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 ...<li><a.id="toc-At-Compile-Tim
29c0 65 22 20 68 72 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 e".href="index.xhtml#At-Compile-
29e0 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 3c 2f 6c 69 3e 0a 20 Time">At.Compile-Time</a></li>..
2a00 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
2a20 20 69 64 3d 22 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 .id="toc-noreturn".href="index.x
2a40 68 74 6d 6c 23 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 html#noreturn">noreturn</a></li>
2a60 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 75 6e 63 74 69 6f 6e .........<li><a.id="toc-Function
2a80 73 22 20 68 72 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 s".href="index.xhtml#Functions">
2aa0 46 75 6e 63 74 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 Functions</a>.........<ol>......
2ac0 20 20 20 20 20 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 .......<li><a.id="toc-Pass-by-va
2ae0 6c 75 65 2d 50 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 lue-Parameters".href="index.xhtm
2b00 6c 23 50 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 50 61 73 73 l#Pass-by-value-Parameters">Pass
2b20 2d 62 79 2d 76 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 -by-value.Parameters</a></li>...
2b40 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 75 6e 63 74 69 6f ..........<li><a.id="toc-Functio
2b60 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 20 68 72 65 66 n-Parameter-Type-Inference".href
2b80 3d 22 69 6e 64 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 ="index.xhtml#Function-Parameter
2ba0 2d 54 79 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 -Type-Inference">Function.Parame
2bc0 74 65 72 20 54 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 ter.Type.Inference</a></li>.....
2be0 20 20 20 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 ........<li><a.id="toc-Function-
2c00 52 65 66 6c 65 63 74 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 75 Reflection".href="index.xhtml#Fu
2c20 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 6c nction-Reflection">Function.Refl
2c40 65 63 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 ection</a></li>.........</ol></l
2c60 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 45 72 72 6f 72 73 i>.........<li><a.id="toc-Errors
2c80 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 73 22 3e 45 72 72 6f ".href="index.xhtml#Errors">Erro
2ca0 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 20 20 20 20 20 20 rs</a>.........<ol>.............
2cc0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 20 68 <li><a.id="toc-Error-Set-Type".h
2ce0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 ref="index.xhtml#Error-Set-Type"
2d00 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >Error.Set.Type</a>.............
2d20 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 64 3d 22 <ol>.................<li><a.id="
2d40 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 20 68 72 65 66 3d 22 toc-The-Global-Error-Set".href="
2d60 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 index.xhtml#The-Global-Error-Set
2d80 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 6c 69 3e 0a ">The.Global.Error.Set</a></li>.
2da0 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>..........
2dc0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 ...<li><a.id="toc-Error-Union-Ty
2de0 70 65 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 55 6e 69 6f pe".href="index.xhtml#Error-Unio
2e00 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 0a 20 20 20 n-Type">Error.Union.Type</a>....
2e20 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
2e40 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 74 63 68 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e i><a.id="toc-catch".href="index.
2e60 78 68 74 6d 6c 23 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 xhtml#catch">catch</a></li>.....
2e80 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 72 79 22 20 ............<li><a.id="toc-try".
2ea0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 3c 2f href="index.xhtml#try">try</a></
2ec0 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 22 74 li>.................<li><a.id="t
2ee0 6f 63 2d 65 72 72 64 65 66 65 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 oc-errdefer".href="index.xhtml#e
2f00 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 rrdefer">errdefer</a></li>......
2f20 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 6f 6d 6d 6f 6e ...........<li><a.id="toc-Common
2f40 2d 65 72 72 64 65 66 65 72 2d 53 6c 69 70 2d 55 70 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e -errdefer-Slip-Ups".href="index.
2f60 78 68 74 6d 6c 23 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 xhtml#Common-errdefer-Slip-Ups">
2f80 43 6f 6d 6d 6f 6e 20 65 72 72 64 65 66 65 72 20 53 6c 69 70 2d 55 70 73 3c 2f 61 3e 3c 2f 6c 69 Common.errdefer.Slip-Ups</a></li
2fa0 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 63 >.................<li><a.id="toc
2fc0 2d 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 -Merging-Error-Sets".href="index
2fe0 2e 78 68 74 6d 6c 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 .xhtml#Merging-Error-Sets">Mergi
3000 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ng.Error.Sets</a></li>..........
3020 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 66 65 72 72 65 64 2d 45 .......<li><a.id="toc-Inferred-E
3040 72 72 6f 72 2d 53 65 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 66 rror-Sets".href="index.xhtml#Inf
3060 65 72 72 65 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 erred-Error-Sets">Inferred.Error
3080 20 53 65 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 6f 6c 3e .Sets</a></li>.............</ol>
30a0 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
30c0 2d 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 -Error-Return-Traces".href="inde
30e0 78 2e 78 68 74 6d 6c 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 x.xhtml#Error-Return-Traces">Err
3100 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 or.Return.Traces</a>............
3120 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 64 3d .<ol>.................<li><a.id=
3140 22 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 20 68 72 65 "toc-Implementation-Details".hre
3160 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 f="index.xhtml#Implementation-De
3180 74 61 69 6c 73 22 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 tails">Implementation.Details</a
31a0 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 20 ></li>.............</ol></li>...
31c0 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 20 ......</ol></li>.........<li><a.
31e0 69 64 3d 22 74 6f 63 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 id="toc-Optionals".href="index.x
3200 68 74 6d 6c 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 0a 20 20 html#Optionals">Optionals</a>...
3220 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 64 ......<ol>.............<li><a.id
3240 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 ="toc-Optional-Type".href="index
3260 2e 78 68 74 6d 6c 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 .xhtml#Optional-Type">Optional.T
3280 79 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 ype</a></li>.............<li><a.
32a0 69 64 3d 22 74 6f 63 2d 6e 75 6c 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 id="toc-null".href="index.xhtml#
32c0 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 null">null</a></li>.............
32e0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 <li><a.id="toc-Optional-Pointers
3300 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 2d 50 6f 69 ".href="index.xhtml#Optional-Poi
3320 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 2f 6c 69 nters">Optional.Pointers</a></li
3340 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 6c 69 >.........</ol></li>.........<li
3360 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 ><a.id="toc-Casting".href="index
3380 2e 78 68 74 6d 6c 23 43 61 73 74 69 6e 67 22 3e 43 61 73 74 69 6e 67 3c 2f 61 3e 0a 20 20 20 20 .xhtml#Casting">Casting</a>.....
33a0 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="
33c0 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 toc-Type-Coercion".href="index.x
33e0 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f html#Type-Coercion">Type.Coercio
3400 6e 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 n</a>.............<ol>..........
3420 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 63 .......<li><a.id="toc-Type-Coerc
3440 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 20 68 72 65 66 ion-Stricter-Qualification".href
3460 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 53 74 72 69 ="index.xhtml#Type-Coercion-Stri
3480 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 43 6f 65 72 63 69 6f cter-Qualification">Type.Coercio
34a0 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 3c 2f 61 3e 3c 2f 6c n:.Stricter.Qualification</a></l
34c0 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 22 74 6f i>.................<li><a.id="to
34e0 63 2d 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 61 c-Type-Coercion-Integer-and-Floa
3500 74 2d 57 69 64 65 6e 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 t-Widening".href="index.xhtml#Ty
3520 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 61 74 2d 57 69 pe-Coercion-Integer-and-Float-Wi
3540 64 65 6e 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 dening">Type.Coercion:.Integer.a
3560 6e 64 20 46 6c 6f 61 74 20 57 69 64 65 6e 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 nd.Float.Widening</a></li>......
3580 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 2d 43 ...........<li><a.id="toc-Type-C
35a0 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 oercion-Float-to-Int".href="inde
35c0 78 2e 78 68 74 6d 6c 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 x.xhtml#Type-Coercion-Float-to-I
35e0 6e 74 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 3c nt">Type.Coercion:.Float.to.Int<
3600 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.
3620 69 64 3d 22 74 6f 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 id="toc-Type-Coercion-Slices-Arr
3640 61 79 73 2d 61 6e 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 ays-and-Pointers".href="index.xh
3660 74 6d 6c 23 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 tml#Type-Coercion-Slices-Arrays-
3680 61 6e 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 and-Pointers">Type.Coercion:.Sli
36a0 63 65 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 3c 2f 6c 69 ces,.Arrays.and.Pointers</a></li
36c0 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 63 >.................<li><a.id="toc
36e0 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 3d 22 -Type-Coercion-Optionals".href="
3700 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 4f 70 74 69 6f 6e index.xhtml#Type-Coercion-Option
3720 61 6c 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 als">Type.Coercion:.Optionals</a
3740 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 64 ></li>.................<li><a.id
3760 3d 22 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 6f 6e 73 ="toc-Type-Coercion-Error-Unions
3780 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 6f ".href="index.xhtml#Type-Coercio
37a0 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 n-Error-Unions">Type.Coercion:.E
37c0 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 20 20 rror.Unions</a></li>............
37e0 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 6f .....<li><a.id="toc-Type-Coercio
3800 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 20 68 72 n-Compile-Time-Known-Numbers".hr
3820 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 6f 6e 2d 43 6f ef="index.xhtml#Type-Coercion-Co
3840 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 54 79 70 65 20 43 mpile-Time-Known-Numbers">Type.C
3860 6f 65 72 63 69 6f 6e 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 oercion:.Compile-Time.Known.Numb
3880 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 20 20 3c 6c 69 ers</a></li>.................<li
38a0 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 55 6e 69 6f 6e 73 ><a.id="toc-Type-Coercion-Unions
38c0 2d 61 6e 64 2d 45 6e 75 6d 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 -and-Enums".href="index.xhtml#Ty
38e0 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 22 3e 54 79 pe-Coercion-Unions-and-Enums">Ty
3900 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 73 3c 2f 61 pe.Coercion:.Unions.and.Enums</a
3920 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 64 ></li>.................<li><a.id
3940 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 20 68 ="toc-Type-Coercion-undefined".h
3960 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 6f 6e 2d 75 ref="index.xhtml#Type-Coercion-u
3980 6e 64 65 66 69 6e 65 64 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 64 65 66 69 6e ndefined">Type.Coercion:.undefin
39a0 65 64 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 ed</a></li>.................<li>
39c0 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 54 75 70 6c 65 73 2d <a.id="toc-Type-Coercion-Tuples-
39e0 74 6f 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 54 79 70 to-Arrays".href="index.xhtml#Typ
3a00 65 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 3e 54 79 70 e-Coercion-Tuples-to-Arrays">Typ
3a20 65 20 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 e.Coercion:.Tuples.to.Arrays</a>
3a40 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 20 20 </li>.............</ol></li>....
3a60 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 70 6c 69 63 69 74 .........<li><a.id="toc-Explicit
3a80 2d 43 61 73 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 70 6c 69 63 -Casts".href="index.xhtml#Explic
3aa0 69 74 2d 43 61 73 74 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 3c 2f 61 3e 3c 2f 6c 69 it-Casts">Explicit.Casts</a></li
3ac0 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 50 65 65 >.............<li><a.id="toc-Pee
3ae0 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 r-Type-Resolution".href="index.x
3b00 68 74 6d 6c 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 html#Peer-Type-Resolution">Peer.
3b20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 Type.Resolution</a></li>........
3b40 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
3b60 6f 63 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 oc-Zero-Bit-Types".href="index.x
3b80 68 74 6d 6c 23 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 79 html#Zero-Bit-Types">Zero.Bit.Ty
3ba0 70 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 20 20 20 20 20 20 pes</a>.........<ol>............
3bc0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 76 6f 69 64 22 20 68 72 65 66 3d 22 69 6e 64 65 .<li><a.id="toc-void".href="inde
3be0 78 2e 78 68 74 6d 6c 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 x.xhtml#void">void</a></li>.....
3c00 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
3c20 3d 22 74 6f 63 2d 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 ="toc-Result-Location-Semantics"
3c40 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 .href="index.xhtml#Result-Locati
3c60 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 20 53 65 on-Semantics">Result.Location.Se
3c80 6d 61 6e 74 69 63 73 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 mantics</a></li>.........<li><a.
3ca0 69 64 3d 22 74 6f 63 2d 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 20 68 72 65 66 3d 22 69 6e id="toc-usingnamespace".href="in
3cc0 64 65 78 2e 78 68 74 6d 6c 23 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e dex.xhtml#usingnamespace">usingn
3ce0 61 6d 65 73 70 61 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 amespace</a></li>.........<li><a
3d00 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 74 69 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 .id="toc-comptime".href="index.x
3d20 68 74 6d 6c 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 html#comptime">comptime</a>.....
3d40 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="
3d60 74 6f 63 2d 49 6e 74 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 toc-Introducing-the-Compile-Time
3d80 2d 43 6f 6e 63 65 70 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 72 -Concept".href="index.xhtml#Intr
3da0 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 74 oducing-the-Compile-Time-Concept
3dc0 22 3e 49 6e 74 72 6f 64 75 63 69 6e 67 20 74 68 65 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 43 ">Introducing.the.Compile-Time.C
3de0 6f 6e 63 65 70 74 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 oncept</a>.............<ol>.....
3e00 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 6f 6d 70 69 ............<li><a.id="toc-Compi
3e20 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e le-Time-Parameters".href="index.
3e40 78 68 74 6d 6c 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 43 xhtml#Compile-Time-Parameters">C
3e60 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a ompile-Time.Parameters</a></li>.
3e80 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 43 ................<li><a.id="toc-C
3ea0 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 ompile-Time-Variables".href="ind
3ec0 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 ex.xhtml#Compile-Time-Variables"
3ee0 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e >Compile-Time.Variables</a></li>
3f00 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 63 2d .................<li><a.id="toc-
3f20 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 20 68 72 65 66 3d 22 Compile-Time-Expressions".href="
3f40 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 index.xhtml#Compile-Time-Express
3f60 69 6f 6e 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 45 78 70 72 65 73 73 69 6f 6e 73 3c 2f ions">Compile-Time.Expressions</
3f80 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>..
3fa0 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 65 6e 65 72 69 ...........<li><a.id="toc-Generi
3fc0 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 c-Data-Structures".href="index.x
3fe0 68 74 6d 6c 23 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 47 65 html#Generic-Data-Structures">Ge
4000 6e 65 72 69 63 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 neric.Data.Structures</a></li>..
4020 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 65 2d 53 ...........<li><a.id="toc-Case-S
4040 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 tudy-print-in-Zig".href="index.x
4060 68 74 6d 6c 23 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 43 61 html#Case-Study-print-in-Zig">Ca
4080 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 3c 2f 6c 69 3e 0a se.Study:.print.in.Zig</a></li>.
40a0 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><
40c0 61 20 69 64 3d 22 74 6f 63 2d 41 73 73 65 6d 62 6c 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e a.id="toc-Assembly".href="index.
40e0 78 68 74 6d 6c 23 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 0a 20 20 20 xhtml#Assembly">Assembly</a>....
4100 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=
4120 22 74 6f 63 2d 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 20 68 72 65 66 3d 22 69 "toc-Output-Constraints".href="i
4140 6e 64 65 78 2e 78 68 74 6d 6c 23 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 4f ndex.xhtml#Output-Constraints">O
4160 75 74 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 20 20 20 20 utput.Constraints</a></li>......
4180 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 70 75 74 2d 43 6f 6e 73 .......<li><a.id="toc-Input-Cons
41a0 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 23 49 6e 70 75 74 traints".href="index.xhtml#Input
41c0 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 73 3c -Constraints">Input.Constraints<
41e0 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="
4200 74 6f 63 2d 43 6c 6f 62 62 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 toc-Clobbers".href="index.xhtml#
4220 43 6c 6f 62 62 65 72 73 22 3e 43 6c 6f 62 62 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 Clobbers">Clobbers</a></li>.....
4240 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 ........<li><a.id="toc-Global-As
4260 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 47 6c 6f 62 61 6c sembly".href="index.xhtml#Global
4280 2d 41 73 73 65 6d 62 6c 79 22 3e 47 6c 6f 62 61 6c 20 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 3c 2f -Assembly">Global.Assembly</a></
42a0 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>.........<
42c0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 6f 6d 69 63 73 22 20 68 72 65 66 3d 22 69 6e 64 li><a.id="toc-Atomics".href="ind
42e0 65 78 2e 78 68 74 6d 6c 23 41 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 3c 2f 6c ex.xhtml#Atomics">Atomics</a></l
4300 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 41 73 79 6e 63 2d i>.........<li><a.id="toc-Async-
4320 46 75 6e 63 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 41 73 79 Functions".href="index.xhtml#Asy
4340 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 61 nc-Functions">Async.Functions</a
4360 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 42 75 ></li>.........<li><a.id="toc-Bu
4380 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 iltin-Functions".href="index.xht
43a0 6d 6c 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 75 ml#Builtin-Functions">Builtin.Fu
43c0 6e 63 74 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 20 73 74 79 6c 65 3d 22 63 nctions</a>.........<ol.style="c
43e0 6f 6c 75 6d 6e 73 3a 20 32 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 olumns:.2">.............<li><a.i
4400 64 3d 22 74 6f 63 2d 61 64 64 72 53 70 61 63 65 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 d="toc-addrSpaceCast".href="inde
4420 78 2e 78 68 74 6d 6c 23 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e 40 61 64 64 72 53 70 61 63 x.xhtml#addrSpaceCast">@addrSpac
4440 65 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 3c 6c 69 3e 3c eCast</a></li>.............<li><
4460 61 20 69 64 3d 22 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d a.id="toc-addWithOverflow".href=
4480 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 "index.xhtml#addWithOverflow">@a
44a0 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>.........
44c0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 6c 69 67 6e 43 61 73 74 22 20 68 72 ....<li><a.id="toc-alignCast".hr
44e0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 ef="index.xhtml#alignCast">@alig
4500 6e 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 3c 6c 69 3e 3c nCast</a></li>.............<li><
4520 61 20 69 64 3d 22 74 6f 63 2d 61 6c 69 67 6e 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 a.id="toc-alignOf".href="index.x
4540 68 74 6d 6c 23 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a html#alignOf">@alignOf</a></li>.
4560 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 73 22 20 68 ............<li><a.id="toc-as".h
4580 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 73 22 3e 40 61 73 3c 2f 61 3e 3c 2f 6c 69 ref="index.xhtml#as">@as</a></li
45a0 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 74 6f >.............<li><a.id="toc-ato
45c0 6d 69 63 4c 6f 61 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 74 6f 6d 69 micLoad".href="index.xhtml#atomi
45e0 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 20 20 20 20 cLoad">@atomicLoad</a></li>.....
4600 20 20 20 20 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 52 6d 77 ........<li><a.id="toc-atomicRmw
4620 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 ".href="index.xhtml#atomicRmw">@
4640 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c atomicRmw</a></li>.............<
4660 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 74 6f 6d 69 63 53 74 6f 72 65 22 20 68 72 65 66 3d li><a.id="toc-atomicStore".href=
4680 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 "index.xhtml#atomicStore">@atomi
46a0 63 53 74 6f 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 cStore</a></li>.............<li>
46c0 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e <a.id="toc-bitCast".href="index.
46e0 78 68 74 6d 6c 23 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e xhtml#bitCast">@bitCast</a></li>
4700 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 62 69 74 4f .............<li><a.id="toc-bitO
4720 66 66 73 65 74 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 69 74 4f 66 ffsetOf".href="index.xhtml#bitOf
4740 66 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 20 20 fsetOf">@bitOffsetOf</a></li>...
4760 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 62 69 74 53 69 7a 65 ..........<li><a.id="toc-bitSize
4780 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 69 74 53 69 7a 65 4f 66 22 Of".href="index.xhtml#bitSizeOf"
47a0 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 >@bitSizeOf</a></li>............
47c0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 72 65 61 6b 70 6f 69 6e 74 22 20 68 72 65 66 .<li><a.id="toc-breakpoint".href
47e0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b ="index.xhtml#breakpoint">@break
4800 70 6f 69 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 point</a></li>.............<li><
4820 61 20 69 64 3d 22 74 6f 63 2d 6d 75 6c 41 64 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 a.id="toc-mulAdd".href="index.xh
4840 74 6d 6c 23 6d 75 6c 41 64 64 22 3e 40 6d 75 6c 41 64 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 tml#mulAdd">@mulAdd</a></li>....
4860 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 79 74 65 53 77 61 70 .........<li><a.id="toc-byteSwap
4880 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 79 74 65 53 77 61 70 22 3e 40 62 ".href="index.xhtml#byteSwap">@b
48a0 79 74 65 53 77 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 yteSwap</a></li>.............<li
48c0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 74 52 65 76 65 72 73 65 22 20 68 72 65 66 3d 22 69 6e ><a.id="toc-bitReverse".href="in
48e0 64 65 78 2e 78 68 74 6d 6c 23 62 69 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 dex.xhtml#bitReverse">@bitRevers
4900 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 64 e</a></li>.............<li><a.id
4920 3d 22 74 6f 63 2d 6f 66 66 73 65 74 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d ="toc-offsetOf".href="index.xhtm
4940 6c 23 6f 66 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 20 l#offsetOf">@offsetOf</a></li>..
4960 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 6c 6c 22 20 ...........<li><a.id="toc-call".
4980 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 href="index.xhtml#call">@call</a
49a0 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
49c0 63 2d 63 44 65 66 69 6e 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 44 65 c-cDefine".href="index.xhtml#cDe
49e0 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 fine">@cDefine</a></li>.........
4a00 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 22 20 68 72 65 66 ....<li><a.id="toc-cImport".href
4a20 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c ="index.xhtml#cImport">@cImport<
4a40 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="
4a60 74 6f 63 2d 63 49 6e 63 6c 75 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 toc-cInclude".href="index.xhtml#
4a80 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 0a 20 20 20 cInclude">@cInclude</a></li>....
4aa0 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 6c 7a 22 20 68 72 65 .........<li><a.id="toc-clz".hre
4ac0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 f="index.xhtml#clz">@clz</a></li
4ae0 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 63 6d 70 >.............<li><a.id="toc-cmp
4b00 78 63 68 67 53 74 72 6f 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6d xchgStrong".href="index.xhtml#cm
4b20 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 2f 61 3e 3c pxchgStrong">@cmpxchgStrong</a><
4b40 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-
4b60 63 6d 70 78 63 68 67 57 65 61 6b 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 cmpxchgWeak".href="index.xhtml#c
4b80 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 69 mpxchgWeak">@cmpxchgWeak</a></li
4ba0 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 63 6f 6d >.............<li><a.id="toc-com
4bc0 70 69 6c 65 45 72 72 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6d pileError".href="index.xhtml#com
4be0 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 69 pileError">@compileError</a></li
4c00 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 63 6f 6d >.............<li><a.id="toc-com
4c20 70 69 6c 65 4c 6f 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6d 70 69 pileLog".href="index.xhtml#compi
4c40 6c 65 4c 6f 67 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 leLog">@compileLog</a></li>.....
4c60 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6e 73 74 43 61 73 74 ........<li><a.id="toc-constCast
4c80 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6e 73 74 43 61 73 74 22 3e 40 ".href="index.xhtml#constCast">@
4ca0 63 6f 6e 73 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 3c constCast</a></li>.............<
4cc0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 74 7a 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 li><a.id="toc-ctz".href="index.x
4ce0 68 74 6d 6c 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 html#ctz">@ctz</a></li>.........
4d00 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 55 6e 64 65 66 22 20 68 72 65 66 3d ....<li><a.id="toc-cUndef".href=
4d20 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e "index.xhtml#cUndef">@cUndef</a>
4d40 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
4d60 2d 63 56 61 41 72 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 56 61 41 72 -cVaArg".href="index.xhtml#cVaAr
4d80 67 22 3e 40 63 56 61 41 72 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 g">@cVaArg</a></li>.............
4da0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 56 61 43 6f 70 79 22 20 68 72 65 66 3d 22 69 6e <li><a.id="toc-cVaCopy".href="in
4dc0 64 65 78 2e 78 68 74 6d 6c 23 63 56 61 43 6f 70 79 22 3e 40 63 56 61 43 6f 70 79 3c 2f 61 3e 3c dex.xhtml#cVaCopy">@cVaCopy</a><
4de0 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-
4e00 63 56 61 45 6e 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 56 61 45 6e 64 cVaEnd".href="index.xhtml#cVaEnd
4e20 22 3e 40 63 56 61 45 6e 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ">@cVaEnd</a></li>.............<
4e40 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 56 61 53 74 61 72 74 22 20 68 72 65 66 3d 22 69 6e li><a.id="toc-cVaStart".href="in
4e60 64 65 78 2e 78 68 74 6d 6c 23 63 56 61 53 74 61 72 74 22 3e 40 63 56 61 53 74 61 72 74 3c 2f 61 dex.xhtml#cVaStart">@cVaStart</a
4e80 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
4ea0 63 2d 64 69 76 45 78 61 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 64 69 c-divExact".href="index.xhtml#di
4ec0 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 vExact">@divExact</a></li>......
4ee0 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 46 6c 6f 6f 72 22 20 .......<li><a.id="toc-divFloor".
4f00 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 href="index.xhtml#divFloor">@div
4f20 46 6c 6f 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 Floor</a></li>.............<li><
4f40 61 20 69 64 3d 22 74 6f 63 2d 64 69 76 54 72 75 6e 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e a.id="toc-divTrunc".href="index.
4f60 78 68 74 6d 6c 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 xhtml#divTrunc">@divTrunc</a></l
4f80 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 6d i>.............<li><a.id="toc-em
4fa0 62 65 64 46 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 6d 62 65 64 bedFile".href="index.xhtml#embed
4fc0 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 20 20 20 20 20 20 File">@embedFile</a></li>.......
4fe0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6e 75 6d 46 72 6f 6d 49 6e 74 ......<li><a.id="toc-enumFromInt
5000 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 ".href="index.xhtml#enumFromInt"
5020 3e 40 65 6e 75 6d 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 >@enumFromInt</a></li>..........
5040 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 20 ...<li><a.id="toc-errorFromInt".
5060 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 6f 72 46 72 6f 6d 49 6e 74 22 3e href="index.xhtml#errorFromInt">
5080 40 65 72 72 6f 72 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 @errorFromInt</a></li>..........
50a0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 4e 61 6d 65 22 20 68 72 65 ...<li><a.id="toc-errorName".hre
50c0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 6f 72 4e 61 6d 65 22 3e 40 65 72 72 6f 72 f="index.xhtml#errorName">@error
50e0 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 3c 6c 69 3e 3c 61 Name</a></li>.............<li><a
5100 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 20 68 72 65 66 3d .id="toc-errorReturnTrace".href=
5120 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e 40 "index.xhtml#errorReturnTrace">@
5140 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 errorReturnTrace</a></li>.......
5160 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 53 65 74 43 61 73 74 22 ......<li><a.id="toc-errSetCast"
5180 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 53 65 74 43 61 73 74 22 3e 40 .href="index.xhtml#errSetCast">@
51a0 65 72 72 53 65 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 errSetCast</a></li>.............
51c0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 70 6f 72 74 22 20 68 72 65 66 3d 22 69 6e 64 <li><a.id="toc-export".href="ind
51e0 65 78 2e 78 68 74 6d 6c 23 65 78 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 ex.xhtml#export">@export</a></li
5200 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 78 74 >.............<li><a.id="toc-ext
5220 65 72 6e 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 22 3e 40 ern".href="index.xhtml#extern">@
5240 65 78 74 65 72 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 extern</a></li>.............<li>
5260 3c 61 20 69 64 3d 22 74 6f 63 2d 66 65 6e 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 <a.id="toc-fence".href="index.xh
5280 74 6d 6c 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 tml#fence">@fence</a></li>......
52a0 20 20 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 22 20 68 72 65 .......<li><a.id="toc-field".hre
52c0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 69 65 6c 64 22 3e 40 66 69 65 6c 64 3c 2f 61 3e f="index.xhtml#field">@field</a>
52e0 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
5300 2d 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 -fieldParentPtr".href="index.xht
5320 6d 6c 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 ml#fieldParentPtr">@fieldParentP
5340 74 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 69 tr</a></li>.............<li><a.i
5360 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 d="toc-floatCast".href="index.xh
5380 74 6d 6c 23 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c tml#floatCast">@floatCast</a></l
53a0 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 6c i>.............<li><a.id="toc-fl
53c0 6f 61 74 46 72 6f 6d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6c oatFromInt".href="index.xhtml#fl
53e0 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 3e 3c 2f 6c oatFromInt">@floatFromInt</a></l
5400 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 72 i>.............<li><a.id="toc-fr
5420 61 6d 65 41 64 64 72 65 73 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 72 ameAddress".href="index.xhtml#fr
5440 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 3c 2f 6c ameAddress">@frameAddress</a></l
5460 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 68 61 i>.............<li><a.id="toc-ha
5480 73 44 65 63 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 68 61 73 44 65 63 6c sDecl".href="index.xhtml#hasDecl
54a0 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ">@hasDecl</a></li>.............
54c0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 68 61 73 46 69 65 6c 64 22 20 68 72 65 66 3d 22 69 <li><a.id="toc-hasField".href="i
54e0 6e 64 65 78 2e 78 68 74 6d 6c 23 68 61 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f ndex.xhtml#hasField">@hasField</
5500 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
5520 6f 63 2d 69 6d 70 6f 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6d 70 oc-import".href="index.xhtml#imp
5540 6f 72 74 22 3e 40 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 20 ort">@import</a></li>...........
5560 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 43 6f 6d 70 74 69 6d 65 22 20 68 72 65 ..<li><a.id="toc-inComptime".hre
5580 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 43 6f 6d 70 74 69 6d 65 22 3e 40 69 6e 43 6f f="index.xhtml#inComptime">@inCo
55a0 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 6c 69 3e mptime</a></li>.............<li>
55c0 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e <a.id="toc-intCast".href="index.
55e0 78 68 74 6d 6c 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e xhtml#intCast">@intCast</a></li>
5600 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 74 46 .............<li><a.id="toc-intF
5620 72 6f 6d 42 6f 6f 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 romBool".href="index.xhtml#intFr
5640 6f 6d 42 6f 6f 6c 22 3e 40 69 6e 74 46 72 6f 6d 42 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 omBool">@intFromBool</a></li>...
5660 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 74 46 72 6f 6d ..........<li><a.id="toc-intFrom
5680 45 6e 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 45 Enum".href="index.xhtml#intFromE
56a0 6e 75 6d 22 3e 40 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 num">@intFromEnum</a></li>......
56c0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 45 72 72 .......<li><a.id="toc-intFromErr
56e0 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 45 72 72 or".href="index.xhtml#intFromErr
5700 6f 72 22 3e 40 69 6e 74 46 72 6f 6d 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 or">@intFromError</a></li>......
5720 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 46 6c 6f .......<li><a.id="toc-intFromFlo
5740 61 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 46 6c 6f at".href="index.xhtml#intFromFlo
5760 61 74 22 3e 40 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 at">@intFromFloat</a></li>......
5780 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 46 72 6f 6d 50 74 72 .......<li><a.id="toc-intFromPtr
57a0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 46 72 6f 6d 50 74 72 22 3e ".href="index.xhtml#intFromPtr">
57c0 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 @intFromPtr</a></li>............
57e0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 61 78 22 20 68 72 65 66 3d 22 69 6e 64 65 78 .<li><a.id="toc-max".href="index
5800 2e 78 68 74 6d 6c 23 6d 61 78 22 3e 40 6d 61 78 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .xhtml#max">@max</a></li>.......
5820 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 65 6d 63 70 79 22 20 68 72 65 ......<li><a.id="toc-memcpy".hre
5840 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 3c 2f f="index.xhtml#memcpy">@memcpy</
5860 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
5880 6f 63 2d 6d 65 6d 73 65 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 65 6d oc-memset".href="index.xhtml#mem
58a0 73 65 74 22 3e 40 6d 65 6d 73 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 set">@memset</a></li>...........
58c0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 69 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 ..<li><a.id="toc-min".href="inde
58e0 78 2e 78 68 74 6d 6c 23 6d 69 6e 22 3e 40 6d 69 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 x.xhtml#min">@min</a></li>......
5900 20 20 20 20 20 20 20 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 .......<li><a.id="toc-wasmMemory
5920 53 69 7a 65 22 20 68 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 Size".href="index.xhtml#wasmMemo
5940 72 79 53 69 7a 65 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e rySize">@wasmMemorySize</a></li>
5960 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 61 73 6d .............<li><a.id="toc-wasm
5980 4d 65 6d 6f 72 79 47 72 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 61 MemoryGrow".href="index.xhtml#wa
59a0 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 61 smMemoryGrow">@wasmMemoryGrow</a
59c0 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
59e0 63 2d 6d 6f 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 6f 64 22 3e 40 6d c-mod".href="index.xhtml#mod">@m
5a00 6f 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 3c 61 20 69 od</a></li>.............<li><a.i
5a20 64 3d 22 74 6f 63 2d 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e d="toc-mulWithOverflow".href="in
5a40 64 65 78 2e 78 68 74 6d 6c 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 dex.xhtml#mulWithOverflow">@mulW
5a60 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 20 20 20 ithOverflow</a></li>............
5a80 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 6e 69 63 22 20 68 72 65 66 3d 22 69 6e 64 .<li><a.id="toc-panic".href="ind
5aa0 65 78 2e 78 68 74 6d 6c 23 70 61 6e 69 63 22 3e 40 70 61 6e 69 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a ex.xhtml#panic">@panic</a></li>.
5ac0 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 70 6f 70 43 6f ............<li><a.id="toc-popCo
5ae0 75 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 6f 70 43 6f 75 6e 74 22 unt".href="index.xhtml#popCount"
5b00 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >@popCount</a></li>.............
5b20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 72 65 66 65 74 63 68 22 20 68 72 65 66 3d 22 69 <li><a.id="toc-prefetch".href="i
5b40 6e 64 65 78 2e 78 68 74 6d 6c 23 70 72 65 66 65 74 63 68 22 3e 40 70 72 65 66 65 74 63 68 3c 2f ndex.xhtml#prefetch">@prefetch</
5b60 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
5b80 6f 63 2d 70 74 72 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 74 oc-ptrCast".href="index.xhtml#pt
5ba0 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 rCast">@ptrCast</a></li>........
5bc0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 74 72 46 72 6f 6d 49 6e 74 22 20 .....<li><a.id="toc-ptrFromInt".
5be0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 74 72 46 72 6f 6d 49 6e 74 22 3e 40 70 href="index.xhtml#ptrFromInt">@p
5c00 74 72 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 20 20 3c trFromInt</a></li>.............<
5c20 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 72 65 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 li><a.id="toc-rem".href="index.x
5c40 68 74 6d 6c 23 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 html#rem">@rem</a></li>.........
5c60 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 72 65 74 75 72 6e 41 64 64 72 65 73 73 ....<li><a.id="toc-returnAddress
5c80 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 72 65 74 75 72 6e 41 64 64 72 65 73 ".href="index.xhtml#returnAddres
5ca0 73 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 s">@returnAddress</a></li>......
5cc0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 6c 65 63 74 22 20 68 72 .......<li><a.id="toc-select".hr
5ce0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c ef="index.xhtml#select">@select<
5d00 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="
5d20 74 6f 63 2d 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 toc-setAlignStack".href="index.x
5d40 68 74 6d 6c 23 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 html#setAlignStack">@setAlignSta
5d60 63 6b 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 ck</a></li>.............<li><a.i
5d80 64 3d 22 74 6f 63 2d 73 65 74 43 6f 6c 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d d="toc-setCold".href="index.xhtm
5da0 6c 23 73 65 74 43 6f 6c 64 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 l#setCold">@setCold</a></li>....
5dc0 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 45 76 61 6c 42 .........<li><a.id="toc-setEvalB
5de0 72 61 6e 63 68 51 75 6f 74 61 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 ranchQuota".href="index.xhtml#se
5e00 74 45 76 61 6c 42 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 tEvalBranchQuota">@setEvalBranch
5e20 51 75 6f 74 61 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 Quota</a></li>.............<li><
5e40 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 20 68 72 65 66 3d 22 69 6e a.id="toc-setFloatMode".href="in
5e60 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 dex.xhtml#setFloatMode">@setFloa
5e80 74 4d 6f 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 tMode</a></li>.............<li><
5ea0 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 20 68 72 65 66 a.id="toc-setRuntimeSafety".href
5ec0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e ="index.xhtml#setRuntimeSafety">
5ee0 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 @setRuntimeSafety</a></li>......
5f00 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 45 78 61 63 74 22 20 .......<li><a.id="toc-shlExact".
5f20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c href="index.xhtml#shlExact">@shl
5f40 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 3e 3c Exact</a></li>.............<li><
5f60 61 20 69 64 3d 22 74 6f 63 2d 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d a.id="toc-shlWithOverflow".href=
5f80 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 "index.xhtml#shlWithOverflow">@s
5fa0 68 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 20 20 20 20 20 20 hlWithOverflow</a></li>.........
5fc0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 72 45 78 61 63 74 22 20 68 72 65 ....<li><a.id="toc-shrExact".hre
5fe0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 f="index.xhtml#shrExact">@shrExa
6000 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 3e 3c 61 20 69 ct</a></li>.............<li><a.i
6020 64 3d 22 74 6f 63 2d 73 68 75 66 66 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d d="toc-shuffle".href="index.xhtm
6040 6c 23 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 l#shuffle">@shuffle</a></li>....
6060 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 69 7a 65 4f 66 22 20 .........<li><a.id="toc-sizeOf".
6080 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f href="index.xhtml#sizeOf">@sizeO
60a0 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
60c0 3d 22 74 6f 63 2d 73 70 6c 61 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 ="toc-splat".href="index.xhtml#s
60e0 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 plat">@splat</a></li>...........
6100 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 72 65 64 75 63 65 22 20 68 72 65 66 3d 22 69 ..<li><a.id="toc-reduce".href="i
6120 6e 64 65 78 2e 78 68 74 6d 6c 23 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 3c 2f ndex.xhtml#reduce">@reduce</a></
6140 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
6160 72 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 72 63 22 3e 40 73 72 63 3c rc".href="index.xhtml#src">@src<
6180 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="
61a0 74 6f 63 2d 73 71 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 71 72 74 toc-sqrt".href="index.xhtml#sqrt
61c0 22 3e 40 73 71 72 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 ">@sqrt</a></li>.............<li
61e0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 69 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 ><a.id="toc-sin".href="index.xht
6200 6d 6c 23 73 69 6e 22 3e 40 73 69 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ml#sin">@sin</a></li>...........
6220 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 73 22 20 68 72 65 66 3d 22 69 6e 64 65 ..<li><a.id="toc-cos".href="inde
6240 78 2e 78 68 74 6d 6c 23 63 6f 73 22 3e 40 63 6f 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 x.xhtml#cos">@cos</a></li>......
6260 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 61 6e 22 20 68 72 65 66 3d .......<li><a.id="toc-tan".href=
6280 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 61 6e 22 3e 40 74 61 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a "index.xhtml#tan">@tan</a></li>.
62a0 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 78 70 22 20 ............<li><a.id="toc-exp".
62c0 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e 3c href="index.xhtml#exp">@exp</a><
62e0 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-
6300 65 78 70 32 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 70 32 22 3e 40 65 exp2".href="index.xhtml#exp2">@e
6320 78 70 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 xp2</a></li>.............<li><a.
6340 69 64 3d 22 74 6f 63 2d 6c 6f 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6c id="toc-log".href="index.xhtml#l
6360 6f 67 22 3e 40 6c 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 og">@log</a></li>.............<l
6380 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 32 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 i><a.id="toc-log2".href="index.x
63a0 68 74 6d 6c 23 6c 6f 67 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 html#log2">@log2</a></li>.......
63c0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 31 30 22 20 68 72 65 66 ......<li><a.id="toc-log10".href
63e0 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6c 6f 67 31 30 22 3e 40 6c 6f 67 31 30 3c 2f 61 3e 3c ="index.xhtml#log10">@log10</a><
6400 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-
6420 66 61 62 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 61 62 73 22 3e 40 66 fabs".href="index.xhtml#fabs">@f
6440 61 62 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 abs</a></li>.............<li><a.
6460 69 64 3d 22 74 6f 63 2d 66 6c 6f 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c id="toc-floor".href="index.xhtml
6480 23 66 6c 6f 6f 72 22 3e 40 66 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 #floor">@floor</a></li>.........
64a0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 65 69 6c 22 20 68 72 65 66 3d 22 69 ....<li><a.id="toc-ceil".href="i
64c0 6e 64 65 78 2e 78 68 74 6d 6c 23 63 65 69 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a ndex.xhtml#ceil">@ceil</a></li>.
64e0 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 72 75 6e 63 ............<li><a.id="toc-trunc
6500 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 72 75 6e 63 22 3e 40 74 72 75 6e ".href="index.xhtml#trunc">@trun
6520 63 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 c</a></li>.............<li><a.id
6540 3d 22 74 6f 63 2d 72 6f 75 6e 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 72 ="toc-round".href="index.xhtml#r
6560 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ound">@round</a></li>...........
6580 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 ..<li><a.id="toc-subWithOverflow
65a0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 75 62 57 69 74 68 4f 76 65 72 66 ".href="index.xhtml#subWithOverf
65c0 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 3c 2f 6c 69 3e 0a 20 low">@subWithOverflow</a></li>..
65e0 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 61 67 4e 61 6d ...........<li><a.id="toc-tagNam
6600 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 61 67 4e 61 6d 65 22 3e 40 74 e".href="index.xhtml#tagName">@t
6620 61 67 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 3c 6c 69 3e agName</a></li>.............<li>
6640 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 69 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 <a.id="toc-This".href="index.xht
6660 6d 6c 23 54 68 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ml#This">@This</a></li>.........
6680 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 61 70 22 20 68 72 65 66 3d 22 69 ....<li><a.id="toc-trap".href="i
66a0 6e 64 65 78 2e 78 68 74 6d 6c 23 74 72 61 70 22 3e 40 74 72 61 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a ndex.xhtml#trap">@trap</a></li>.
66c0 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 72 75 6e 63 ............<li><a.id="toc-trunc
66e0 61 74 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 72 75 6e 63 61 74 65 22 ate".href="index.xhtml#truncate"
6700 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >@truncate</a></li>.............
6720 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 <li><a.id="toc-Type".href="index
6740 2e 78 68 74 6d 6c 23 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 .xhtml#Type">@Type</a></li>.....
6760 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 49 6e 66 6f 22 ........<li><a.id="toc-typeInfo"
6780 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 .href="index.xhtml#typeInfo">@ty
67a0 70 65 49 6e 66 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 69 3e peInfo</a></li>.............<li>
67c0 3c 61 20 69 64 3d 22 74 6f 63 2d 74 79 70 65 4e 61 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 <a.id="toc-typeName".href="index
67e0 2e 78 68 74 6d 6c 23 74 79 70 65 4e 61 6d 65 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 61 3e 3c 2f .xhtml#typeName">@typeName</a></
6800 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
6820 79 70 65 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 4f 66 22 ypeOf".href="index.xhtml#TypeOf"
6840 3e 40 54 79 70 65 4f 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 >@TypeOf</a></li>.............<l
6860 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 69 6f 6e 49 6e 69 74 22 20 68 72 65 66 3d 22 69 6e i><a.id="toc-unionInit".href="in
6880 64 65 78 2e 78 68 74 6d 6c 23 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c dex.xhtml#unionInit">@unionInit<
68a0 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="
68c0 74 6f 63 2d 56 65 63 74 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 56 65 toc-Vector".href="index.xhtml#Ve
68e0 63 74 6f 72 22 3e 40 56 65 63 74 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 ctor">@Vector</a></li>..........
6900 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 43 61 73 74 22 20 ...<li><a.id="toc-volatileCast".
6920 68 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 43 61 73 74 22 3e href="index.xhtml#volatileCast">
6940 40 76 6f 6c 61 74 69 6c 65 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 @volatileCast</a></li>..........
6960 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 6f 72 6b 47 72 6f 75 70 49 64 22 20 68 ...<li><a.id="toc-workGroupId".h
6980 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 6f 72 6b 47 72 6f 75 70 49 64 22 3e 40 77 ref="index.xhtml#workGroupId">@w
69a0 6f 72 6b 47 72 6f 75 70 49 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 orkGroupId</a></li>.............
69c0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 20 68 72 <li><a.id="toc-workGroupSize".hr
69e0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 22 3e 40 ef="index.xhtml#workGroupSize">@
6a00 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 workGroupSize</a></li>..........
6a20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 6f 72 6b 49 74 65 6d 49 64 22 20 68 72 ...<li><a.id="toc-workItemId".hr
6a40 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 6f 72 6b 49 74 65 6d 49 64 22 3e 40 77 6f 72 ef="index.xhtml#workItemId">@wor
6a60 6b 49 74 65 6d 49 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 kItemId</a></li>.........</ol></
6a80 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 42 75 69 6c 64 li>.........<li><a.id="toc-Build
6aa0 2d 4d 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 42 75 69 6c 64 2d 4d -Mode".href="index.xhtml#Build-M
6ac0 6f 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e ode">Build.Mode</a>.........<ol>
6ae0 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 44 65 62 75 .............<li><a.id="toc-Debu
6b00 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 62 75 67 22 3e 44 65 62 75 g".href="index.xhtml#Debug">Debu
6b20 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 69 3e 3c 61 20 69 64 g</a></li>.............<li><a.id
6b40 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 46 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 ="toc-ReleaseFast".href="index.x
6b60 68 74 6d 6c 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 html#ReleaseFast">ReleaseFast</a
6b80 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
6ba0 63 2d 52 65 6c 65 61 73 65 53 61 66 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c c-ReleaseSafe".href="index.xhtml
6bc0 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 3c 2f 6c #ReleaseSafe">ReleaseSafe</a></l
6be0 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 52 65 i>.............<li><a.id="toc-Re
6c00 6c 65 61 73 65 53 6d 61 6c 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 leaseSmall".href="index.xhtml#Re
6c20 6c 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 3c 2f 6c 69 leaseSmall">ReleaseSmall</a></li
6c40 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 6c 69 >.........</ol></li>.........<li
6c60 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c ><a.id="toc-Single-Threaded-Buil
6c80 64 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 69 6e 67 6c 65 2d 54 68 72 ds".href="index.xhtml#Single-Thr
6ca0 65 61 64 65 64 2d 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 eaded-Builds">Single.Threaded.Bu
6cc0 69 6c 64 73 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 64 3d ilds</a></li>.........<li><a.id=
6ce0 22 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 20 68 72 65 66 3d 22 69 "toc-Undefined-Behavior".href="i
6d00 6e 64 65 78 2e 78 68 74 6d 6c 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 ndex.xhtml#Undefined-Behavior">U
6d20 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f ndefined.Behavior</a>.........<o
6d40 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 52 65 l>.............<li><a.id="toc-Re
6d60 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 69 aching-Unreachable-Code".href="i
6d80 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d ndex.xhtml#Reaching-Unreachable-
6da0 43 6f 64 65 22 3e 52 65 61 63 68 69 6e 67 20 55 6e 72 65 61 63 68 61 62 6c 65 20 43 6f 64 65 3c Code">Reaching.Unreachable.Code<
6dc0 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="
6de0 74 6f 63 2d 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 20 68 72 65 66 3d 22 69 toc-Index-out-of-Bounds".href="i
6e00 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e ndex.xhtml#Index-out-of-Bounds">
6e20 49 6e 64 65 78 20 6f 75 74 20 6f 66 20 42 6f 75 6e 64 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 Index.out.of.Bounds</a></li>....
6e40 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 4e 65 67 .........<li><a.id="toc-Cast-Neg
6e60 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 72 ative-Number-to-Unsigned-Integer
6e80 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 61 73 74 2d 4e 65 67 61 74 69 76 ".href="index.xhtml#Cast-Negativ
6ea0 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 72 22 3e 43 61 e-Number-to-Unsigned-Integer">Ca
6ec0 73 74 20 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 st.Negative.Number.to.Unsigned.I
6ee0 6e 74 65 67 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 6c 69 3e nteger</a></li>.............<li>
6f00 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 20 <a.id="toc-Cast-Truncates-Data".
6f20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 href="index.xhtml#Cast-Truncates
6f40 2d 44 61 74 61 22 3e 43 61 73 74 20 54 72 75 6e 63 61 74 65 73 20 44 61 74 61 3c 2f 61 3e 3c 2f -Data">Cast.Truncates.Data</a></
6f60 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 49 li>.............<li><a.id="toc-I
6f80 6e 74 65 67 65 72 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 nteger-Overflow".href="index.xht
6fa0 6d 6c 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 ml#Integer-Overflow">Integer.Ove
6fc0 72 66 6c 6f 77 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 rflow</a>.............<ol>......
6fe0 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 44 65 66 61 75 6c ...........<li><a.id="toc-Defaul
7000 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 6c 23 t-Operations".href="index.xhtml#
7020 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 20 4f 70 65 72 Default-Operations">Default.Oper
7040 61 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 20 20 20 20 ations</a></li>.................
7060 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d <li><a.id="toc-Standard-Library-
7080 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d Math-Functions".href="index.xhtm
70a0 6c 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 6e l#Standard-Library-Math-Function
70c0 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 75 6e 63 74 69 6f s">Standard.Library.Math.Functio
70e0 6e 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 ns</a></li>.................<li>
7100 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 <a.id="toc-Builtin-Overflow-Func
7120 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
7140 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 74 69 6e 20 4f 76 65 -Overflow-Functions">Builtin.Ove
7160 72 66 6c 6f 77 20 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 rflow.Functions</a></li>........
7180 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 61 70 70 69 6e 67 .........<li><a.id="toc-Wrapping
71a0 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 6c 23 57 -Operations".href="index.xhtml#W
71c0 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 rapping-Operations">Wrapping.Ope
71e0 72 61 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 6f rations</a></li>.............</o
7200 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
7220 6f 63 2d 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 20 68 72 oc-Exact-Left-Shift-Overflow".hr
7240 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 ef="index.xhtml#Exact-Left-Shift
7260 2d 4f 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 -Overflow">Exact.Left.Shift.Over
7280 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
72a0 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 .id="toc-Exact-Right-Shift-Overf
72c0 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 61 63 74 2d 52 69 67 low".href="index.xhtml#Exact-Rig
72e0 68 74 2d 53 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 ht-Shift-Overflow">Exact.Right.S
7300 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 20 20 20 20 20 20 20 hift.Overflow</a></li>..........
7320 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 ...<li><a.id="toc-Division-by-Ze
7340 72 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 69 76 69 73 69 6f 6e 2d 62 ro".href="index.xhtml#Division-b
7360 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 3c 2f 6c 69 y-Zero">Division.by.Zero</a></li
7380 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 52 65 6d >.............<li><a.id="toc-Rem
73a0 61 69 6e 64 65 72 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 ainder-Division-by-Zero".href="i
73c0 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 ndex.xhtml#Remainder-Division-by
73e0 2d 5a 65 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 -Zero">Remainder.Division.by.Zer
7400 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 69 3e 3c 61 20 69 64 o</a></li>.............<li><a.id
7420 3d 22 74 6f 63 2d 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 20 ="toc-Exact-Division-Remainder".
7440 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e href="index.xhtml#Exact-Division
7460 2d 52 65 6d 61 69 6e 64 65 72 22 3e 45 78 61 63 74 20 44 69 76 69 73 69 6f 6e 20 52 65 6d 61 69 -Remainder">Exact.Division.Remai
7480 6e 64 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 6c 69 3e 3c 61 nder</a></li>.............<li><a
74a0 20 69 64 3d 22 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 6c 22 .id="toc-Attempt-to-Unwrap-Null"
74c0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e .href="index.xhtml#Attempt-to-Un
74e0 77 72 61 70 2d 4e 75 6c 6c 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 4e 75 6c wrap-Null">Attempt.to.Unwrap.Nul
7500 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 3c 61 20 69 64 l</a></li>.............<li><a.id
7520 3d 22 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 20 68 ="toc-Attempt-to-Unwrap-Error".h
7540 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 ref="index.xhtml#Attempt-to-Unwr
7560 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 70 20 45 72 72 6f ap-Error">Attempt.to.Unwrap.Erro
7580 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 69 64 r</a></li>.............<li><a.id
75a0 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 ="toc-Invalid-Error-Code".href="
75c0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e index.xhtml#Invalid-Error-Code">
75e0 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 43 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 Invalid.Error.Code</a></li>.....
7600 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 76 61 6c 69 64 2d 45 ........<li><a.id="toc-Invalid-E
7620 6e 75 6d 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 6e 76 61 num-Cast".href="index.xhtml#Inva
7640 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 6e 75 6d 20 43 61 73 74 lid-Enum-Cast">Invalid.Enum.Cast
7660 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=
7680 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 20 68 72 65 "toc-Invalid-Error-Set-Cast".hre
76a0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 f="index.xhtml#Invalid-Error-Set
76c0 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 3c 2f 61 -Cast">Invalid.Error.Set.Cast</a
76e0 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
7700 63 2d 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 20 68 c-Incorrect-Pointer-Alignment".h
7720 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 ref="index.xhtml#Incorrect-Point
7740 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 49 6e 63 6f 72 72 65 63 74 20 50 6f 69 6e 74 65 72 20 er-Alignment">Incorrect.Pointer.
7760 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 3c Alignment</a></li>.............<
7780 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d li><a.id="toc-Wrong-Union-Field-
77a0 41 63 63 65 73 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 72 6f 6e 67 2d Access".href="index.xhtml#Wrong-
77c0 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.
77e0 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 Field.Access</a></li>...........
7800 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 ..<li><a.id="toc-Out-of-Bounds-F
7820 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 loat-to-Integer-Cast".href="inde
7840 78 2e 78 68 74 6d 6c 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 x.xhtml#Out-of-Bounds-Float-to-I
7860 6e 74 65 67 65 72 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 nteger-Cast">Out.of.Bounds.Float
7880 20 74 6f 20 49 6e 74 65 67 65 72 20 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .to.Integer.Cast</a></li>.......
78a0 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 72 2d 43 61 73 ......<li><a.id="toc-Pointer-Cas
78c0 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d t-Invalid-Null".href="index.xhtm
78e0 6c 23 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 3e 50 6f 69 l#Pointer-Cast-Invalid-Null">Poi
7900 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a nter.Cast.Invalid.Null</a></li>.
7920 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><
7940 61 20 69 64 3d 22 74 6f 63 2d 4d 65 6d 6f 72 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 a.id="toc-Memory".href="index.xh
7960 74 6d 6c 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c tml#Memory">Memory</a>.........<
7980 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 43 ol>.............<li><a.id="toc-C
79a0 68 6f 6f 73 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 6e 64 65 hoosing-an-Allocator".href="inde
79c0 78 2e 78 68 74 6d 6c 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 x.xhtml#Choosing-an-Allocator">C
79e0 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 hoosing.an.Allocator</a></li>...
7a00 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 65 72 65 2d 61 ..........<li><a.id="toc-Where-a
7a20 72 65 2d 74 68 65 2d 62 79 74 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 re-the-bytes".href="index.xhtml#
7a40 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 57 68 65 72 65 20 61 72 65 20 74 Where-are-the-bytes">Where.are.t
7a60 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c he.bytes?</a></li>.............<
7a80 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c li><a.id="toc-Implementing-an-Al
7aa0 6c 6f 63 61 74 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6d 70 6c 65 locator".href="index.xhtml#Imple
7ac0 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
7ae0 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ng.an.Allocator</a></li>........
7b00 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 48 65 61 70 2d 41 6c 6c 6f 63 61 74 .....<li><a.id="toc-Heap-Allocat
7b20 69 6f 6e 2d 46 61 69 6c 75 72 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 48 ion-Failure".href="index.xhtml#H
7b40 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 6c 6c eap-Allocation-Failure">Heap.All
7b60 6f 63 61 74 69 6f 6e 20 46 61 69 6c 75 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ocation.Failure</a></li>........
7b80 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 63 75 72 73 69 6f 6e 22 20 68 .....<li><a.id="toc-Recursion".h
7ba0 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 63 75 72 73 69 6f 6e 22 3e 52 65 63 75 ref="index.xhtml#Recursion">Recu
7bc0 72 73 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 6c 69 3e 3c rsion</a></li>.............<li><
7be0 61 20 69 64 3d 22 74 6f 63 2d 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 a.id="toc-Lifetime-and-Ownership
7c00 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4c 69 66 65 74 69 6d 65 2d 61 6e 64 ".href="index.xhtml#Lifetime-and
7c20 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 68 -Ownership">Lifetime.and.Ownersh
7c40 69 70 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 ip</a></li>.........</ol></li>..
7c60 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 56 61 .......<li><a.id="toc-Compile-Va
7c80 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 6f 6d 70 69 riables".href="index.xhtml#Compi
7ca0 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 3c le-Variables">Compile.Variables<
7cc0 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-
7ce0 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 Root-Source-File".href="index.xh
7d00 74 6d 6c 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 tml#Root-Source-File">Root.Sourc
7d20 65 20 46 69 6c 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 69 e.File</a></li>.........<li><a.i
7d40 64 3d 22 74 6f 63 2d 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 20 68 72 65 66 3d 22 69 d="toc-Zig-Build-System".href="i
7d60 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 ndex.xhtml#Zig-Build-System">Zig
7d80 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 .Build.System</a>.........<ol>..
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 42 75 69 6c 64 69 ...........<li><a.id="toc-Buildi
7dc0 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 ng-an-Executable".href="index.xh
7de0 74 6d 6c 23 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 3e 42 75 69 6c tml#Building-an-Executable">Buil
7e00 64 69 6e 67 20 61 6e 20 45 78 65 63 75 74 61 62 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ding.an.Executable</a></li>.....
7e20 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 64 69 6e 67 2d ........<li><a.id="toc-Building-
7e40 61 2d 4c 69 62 72 61 72 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 42 75 69 a-Library".href="index.xhtml#Bui
7e60 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 72 79 22 3e 42 75 69 6c 64 69 6e 67 20 61 20 4c 69 62 72 lding-a-Library">Building.a.Libr
7e80 61 72 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 20 ary</a></li>.............<li><a.
7ea0 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 72 63 65 2d 43 6f 64 65 22 id="toc-Compiling-C-Source-Code"
7ec0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 .href="index.xhtml#Compiling-C-S
7ee0 6f 75 72 63 65 2d 43 6f 64 65 22 3e 43 6f 6d 70 69 6c 69 6e 67 20 43 20 53 6f 75 72 63 65 20 43 ource-Code">Compiling.C.Source.C
7f00 6f 64 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 69 3e 0a ode</a></li>.........</ol></li>.
7f20 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 20 68 72 65 66 3d 22 ........<li><a.id="toc-C".href="
7f40 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 20 20 20 20 3c 6f 6c index.xhtml#C">C</a>.........<ol
7f60 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 43 2d 54 >.............<li><a.id="toc-C-T
7f80 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 65 78 2e 78 68 74 6d ype-Primitives".href="index.xhtm
7fa0 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 70 65 20 50 72 69 6d l#C-Type-Primitives">C.Type.Prim
7fc0 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 20 20 20 3c 6c 69 3e itives</a></li>.............<li>
7fe0 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 48 65 61 64 65 72 2d <a.id="toc-Import-from-C-Header-
8000 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 6d 70 6f 72 74 2d 66 File".href="index.xhtml#Import-f
8020 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 6f 6d 20 43 rom-C-Header-File">Import.from.C
8040 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 20 20 20 20 20 20 20 .Header.File</a></li>...........
8060 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 61 74 69 6f 6e 2d 43 ..<li><a.id="toc-C-Translation-C
8080 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 72 61 6e 73 6c 61 74 LI".href="index.xhtml#C-Translat
80a0 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 0a 20 ion-CLI">C.Translation.CLI</a>..
80c0 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 20 20 ...........<ol>.................
80e0 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 6e 65 2d 66 6c 61 67 <li><a.id="toc-Command-line-flag
8100 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 61 6e 64 2d 6c 69 6e s".href="index.xhtml#Command-lin
8120 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 67 73 3c 2f 61 3e 3c e-flags">Command.line.flags</a><
8140 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 22 /li>.................<li><a.id="
8160 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 6c 61 67 73 22 20 68 toc-Using--target-and--cflags".h
8180 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 61 72 67 65 74 2d 61 ref="index.xhtml#Using--target-a
81a0 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
81c0 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 20 20 20 20 20 20 3c flags</a></li>.................<
81e0 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 74 72 61 6e 73 6c 61 li><a.id="toc-cImport-vs-transla
8200 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 49 6d 70 6f 72 74 2d te-c".href="index.xhtml#cImport-
8220 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 76 73 20 74 72 61 6e vs-translate-c">@cImport.vs.tran
8240 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 20 20 20 20 3c 2f 6f slate-c</a></li>.............</o
8260 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
8280 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 20 68 72 65 66 3d 22 oc-C-Translation-Caching".href="
82a0 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 2d 43 61 63 68 69 6e index.xhtml#C-Translation-Cachin
82c0 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 2f 61 3e 3c 2f 6c 69 g">C.Translation.Caching</a></li
82e0 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 72 61 >.............<li><a.id="toc-Tra
8300 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 69 6e 64 65 78 2e 78 nslation-failures".href="index.x
8320 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 22 3e 54 72 61 6e 73 html#Translation-failures">Trans
8340 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 20 20 20 20 20 20 20 lation.failures</a></li>........
8360 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 72 6f 73 22 20 68 72 .....<li><a.id="toc-C-Macros".hr
8380 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 3e 43 20 4d 61 63 72 ef="index.xhtml#C-Macros">C.Macr
83a0 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 20 69 os</a></li>.............<li><a.i
83c0 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 69 6e 64 65 78 2e 78 d="toc-C-Pointers".href="index.x
83e0 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 72 73 3c 2f 61 3e 3c html#C-Pointers">C.Pointers</a><
8400 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-
8420 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 66 3d 22 69 6e 64 65 C-Variadic-Functions".href="inde
8440 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 6f 6e 73 22 3e 43 20 x.xhtml#C-Variadic-Functions">C.
8460 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 69 3e 0a 20 20 20 20 Variadic.Functions</a></li>.....
8480 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 70 6f 72 74 69 6e 67 ........<li><a.id="toc-Exporting
84a0 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 2e 78 68 74 6d 6c 23 -a-C-Library".href="index.xhtml#
84c0 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 70 6f 72 74 69 6e 67 Exporting-a-C-Library">Exporting
84e0 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 20 20 20 20 20 20 20 .a.C.Library</a></li>...........
8500 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 62 6a 65 63 74 2d 46 ..<li><a.id="toc-Mixing-Object-F
8520 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 69 78 69 6e 67 2d 4f iles".href="index.xhtml#Mixing-O
8540 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 46 69 6c 65 73 bject-Files">Mixing.Object.Files
8560 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>....
8580 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 73 65 6d 62 6c 79 22 .....<li><a.id="toc-WebAssembly"
85a0 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 65 6d 62 6c 79 22 3e .href="index.xhtml#WebAssembly">
85c0 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 6f 6c 3e 0a 20 20 20 WebAssembly</a>.........<ol>....
85e0 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 72 65 65 73 74 61 6e .........<li><a.id="toc-Freestan
8600 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 72 65 65 73 74 61 6e ding".href="index.xhtml#Freestan
8620 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 69 3e 0a 20 20 20 20 ding">Freestanding</a></li>.....
8640 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 53 49 22 20 68 72 65 ........<li><a.id="toc-WASI".hre
8660 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 3c 2f 61 3e 3c 2f 6c f="index.xhtml#WASI">WASI</a></l
8680 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 6c i>.........</ol></li>.........<l
86a0 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 66 3d 22 69 6e 64 65 i><a.id="toc-Targets".href="inde
86c0 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 2f 61 3e 3c 2f 6c 69 x.xhtml#Targets">Targets</a></li
86e0 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 74 79 6c 65 2d 47 >.........<li><a.id="toc-Style-G
8700 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 74 79 6c 65 2d 47 75 uide".href="index.xhtml#Style-Gu
8720 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 20 20 20 20 3c 6f 6c ide">Style.Guide</a>.........<ol
8740 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 69 >.............<li><a.id="toc-Whi
8760 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 65 tespace".href="index.xhtml#White
8780 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 20 space">Whitespace</a></li>......
87a0 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 65 .......<li><a.id="toc-Names".hre
87c0 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 3c f="index.xhtml#Names">Names</a><
87e0 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-
8800 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 6d Examples".href="index.xhtml#Exam
8820 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 20 ples">Examples</a></li>.........
8840 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 47 ....<li><a.id="toc-Doc-Comment-G
8860 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 43 uidance".href="index.xhtml#Doc-C
8880 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 69 omment-Guidance">Doc.Comment.Gui
88a0 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 69 dance</a></li>.........</ol></li
88c0 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 2d >.........<li><a.id="toc-Source-
88e0 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 72 Encoding".href="index.xhtml#Sour
8900 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>
8920 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 79 </li>.........<li><a.id="toc-Key
8940 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 6d word-Reference".href="index.xhtm
8960 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 66 l#Keyword-Reference">Keyword.Ref
8980 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 69 erence</a></li>.........<li><a.i
89a0 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 74 d="toc-Appendix".href="index.xht
89c0 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 20 ml#Appendix">Appendix</a>.......
89e0 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
8a00 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 23 c-Containers".href="index.xhtml#
8a20 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 0a Containers">Containers</a></li>.
8a40 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 6d ............<li><a.id="toc-Gramm
8a60 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 47 ar".href="index.xhtml#Grammar">G
8a80 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 3e rammar</a></li>.............<li>
8aa0 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 6d <a.id="toc-Zen".href="index.xhtm
8ac0 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 6c l#Zen">Zen</a></li>.........</ol
8ae0 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 2f ></li>.....</ol>.....</nav>...</
8b00 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 5d 01 15 db body>.</html>.PK..........!R]...
8b20 2b fb 0f 00 2b fb 0f 00 11 00 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 6d 6c 3c 3f 78 +...+.......OEBPS/index.xhtml<?x
8b40 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 38 ml.version="1.0".encoding="utf-8
8b60 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 2e "?>..<html.xmlns="http://www.w3.
8b80 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 65 org/1999/xhtml".lang="en">...<he
8ba0 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 0a ad>.....<meta.charset="utf-8"/>.
8bc0 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 6e ....<meta.name="viewport".conten
8be0 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 73 t="width=device-width,.initial-s
8c00 63 61 6c 65 3d 31 2e 30 22 2f 3e 0a 20 20 20 20 3c 74 69 74 6c 65 3e 44 6f 63 75 6d 65 6e 74 61 cale=1.0"/>.....<title>Documenta
8c20 74 69 6f 6e 20 2d 20 54 68 65 20 5a 69 67 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 4c 61 6e 67 75 tion.-.The.Zig.Programming.Langu
8c40 61 67 65 3c 2f 74 69 74 6c 65 3e 0a 20 20 20 20 3c 6c 69 6e 6b 20 72 65 6c 3d 22 69 63 6f 6e 22 age</title>.....<link.rel="icon"
8c60 20 68 72 65 66 3d 22 64 61 74 61 3a 69 6d 61 67 65 2f 70 6e 67 3b 62 61 73 65 36 34 2c 69 56 42 .href="data:image/png;base64,iVB
8c80 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 42 41 41 41 41 41 51 43 41 59 ORw0KGgoAAAANSUhEUgAAABAAAAAQCAY
8ca0 41 41 41 41 66 38 2f 39 68 41 41 41 41 67 6b 6c 45 51 56 52 34 41 57 4d 59 57 75 44 37 45 6c 6c AAAAf8/9hAAAAgklEQVR4AWMYWuD7Ell
8cc0 4a 49 4d 34 47 34 67 34 67 35 6f 49 4a 2f 6f 64 68 4f 4a 38 77 54 6f 4f 78 53 54 58 67 4e 78 44 JIM4G4g4g5oIJ/odhOJ8wToOxSTXgNxD
8ce0 48 6f 65 69 42 4d 66 41 34 2b 77 47 53 68 6a 79 59 4f 43 6b 47 2f 49 47 71 57 51 7a 69 45 7a 59 HoeiBMfA4+wGShjyYOCkG/IGqWQziEzY
8d00 41 6f 55 41 65 69 46 39 44 35 55 2b 44 78 45 67 31 34 44 52 55 37 6a 57 49 54 35 49 42 49 4f 64 AoUAeiF9D5U+DxEg14DRU7jWIT5IBIOd
8d20 43 78 66 2b 41 2b 43 51 5a 41 41 6f 6f 70 45 42 37 51 4a 77 42 43 42 77 48 69 69 70 38 55 59 6d Cxf+A+CQZAAoopEB7QJwBCBwHiip8UYm
8d40 52 64 72 41 6c 44 70 49 4d 67 41 70 77 51 5a 4e 6e 4e 69 69 35 44 71 30 4d 42 67 43 78 78 79 63 RdrAlDpIMgApwQZNnNii5Dq0MBgCxxyc
8d60 42 6e 77 45 64 2b 77 41 41 41 41 42 4a 52 55 35 45 72 6b 4a 67 67 67 3d 3d 22 2f 3e 0a 20 20 20 BnwEd+wAAAABJRU5ErkJggg=="/>....
8d80 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 20 20 2d .<style>.......:root{..........-
8da0 2d 6e 61 76 2d 77 69 64 74 68 3a 20 32 34 65 6d 3b 0a 20 20 20 20 20 20 20 20 20 2d 2d 6e 61 76 -nav-width:.24em;..........--nav
8dc0 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 20 62 6f -margin-l:.1em;.......}.......bo
8de0 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 65 6d 2d dy{.........font-family:.system-
8e00 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 65 67 6f ui,.-apple-system,.Roboto,."Sego
8e20 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 72 67 69 e.UI",.sans-serif;.........margi
8e40 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 35 3b 0a n:.0;.........line-height:.1.5;.
8e60 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 20 20 70 ......}.......header.{.........p
8e80 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 23 63 6f adding:.0.1em;.......}.......#co
8ea0 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 30 65 6d ntents.{.........max-width:.60em
8ec0 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 20 20 20 ;.........margin:.auto;.........
8ee0 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 23 6e padding:.0.1em;.......}.......#n
8f00 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 30 20 31 avigation.{.........padding:.0.1
8f20 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 40 6d 65 64 69 61 20 73 63 72 65 65 6e em;.......}........@media.screen
8f40 20 61 6e 64 20 28 6d 69 6e 2d 77 69 64 74 68 3a 20 31 30 32 35 70 78 29 20 7b 0a 20 20 20 20 20 .and.(min-width:.1025px).{......
8f60 20 20 20 68 65 61 64 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 ...header.{...........margin-lef
8f80 74 3a 20 63 61 6c 63 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 t:.calc(var(--nav-width).+.var(-
8fa0 2d 6e 61 76 2d 6d 61 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 -nav-margin-l));.........}......
8fc0 20 20 20 68 65 61 64 65 72 20 68 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a ...header.h1.{...........margin:
8fe0 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 78 2d 77 69 64 74 68 3a 20 33 30 65 6d .auto;...........max-width:.30em
9000 3b 0a 20 20 20 20 20 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 ;.........}.........#navigation.
9020 7b 0a 20 20 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 20 {...........overflow:.auto;.....
9040 20 20 20 20 20 20 77 69 64 74 68 3a 20 76 61 72 28 2d 2d 6e 61 76 2d 77 69 64 74 68 29 3b 0a 20 ......width:.var(--nav-width);..
9060 20 20 20 20 20 20 20 20 20 68 65 69 67 68 74 3a 20 31 30 30 76 68 3b 0a 20 20 20 20 20 20 20 20 .........height:.100vh;.........
9080 20 20 70 6f 73 69 74 69 6f 6e 3a 20 66 69 78 65 64 3b 0a 20 20 20 20 20 20 20 20 20 20 74 6f 70 ..position:.fixed;...........top
90a0 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 6c 65 66 74 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 :0;...........left:0;...........
90c0 62 6f 74 74 6f 6d 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 75 6e 73 bottom:0;...........padding:.uns
90e0 65 74 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 76 61 72 28 2d et;...........margin-left:.var(-
9100 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 -nav-margin-l);.........}.......
9120 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 6e 61 76 20 75 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 ..#navigation.nav.ul.{..........
9140 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 .padding-left:.1em;.........}...
9160 20 20 20 20 20 20 23 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 72 20 7b 0a 20 20 20 20 20 20 ......#contents-wrapper.{.......
9180 20 20 20 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 ....margin-left:.calc(var(--nav-
91a0 77 69 64 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 width).+.var(--nav-margin-l));..
91c0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 61 3a 68 6f 76 65 72 2c .......}.......}........a:hover,
91e0 61 3a 66 6f 63 75 73 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 a:focus.{.........background:.#f
9200 66 66 32 61 38 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 64 74 20 7b 0a 20 20 20 20 20 20 ff2a8;.......}.......dt.{.......
9220 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 20 20 20 ..font-weight:.bold;.......}....
9240 20 20 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 62 6f 72 64 65 ...table,.th,.td.{.........borde
9260 72 2d 63 6f 6c 6c 61 70 73 65 3a 20 63 6f 6c 6c 61 70 73 65 3b 0a 20 20 20 20 20 20 20 20 62 6f r-collapse:.collapse;.........bo
9280 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 67 72 65 79 3b 0a 20 20 20 20 20 20 7d 0a 20 20 rder:.1px.solid.grey;.......}...
92a0 20 20 20 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e ....th,.td.{.........padding:.0.
92c0 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 68 5b 73 63 6f 70 65 3d 72 6f 77 5d 1em;.......}.......th[scope=row]
92e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 6c 65 66 74 3b 0a 20 .{...........text-align:.left;..
9300 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 .........font-weight:.normal;...
9320 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 66 6f ....}........sgr-1m.{.........fo
9340 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 20 2e nt-weight:.bold;.......}........
9360 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 37 3b sgr-2m.{.........color:.#575757;
9380 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 20 20 .......}........sgr-31_1m.{.....
93a0 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 20 20 ....color:.#b40000;.......}.....
93c0 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 67 72 ...sgr-32_1m.{.........color:.gr
93e0 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 7b 0a een;.......}........sgr-36_1m.{.
9400 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 7d 0a ........color:.#005C7A;.......}.
9420 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 67 68 .......file.{.........font-weigh
9440 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 3b 0a t:.bold;.........border:.unset;.
9460 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 61 63 ......}.......code.{.........bac
9480 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 65 72 kground:.#f8f8f8;.........border
94a0 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 61 64 :.1px.dotted.silver;.........pad
94c0 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 69 6e ding-left:.0.3em;.........paddin
94e0 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 70 72 g-right:.0.3em;.......}.......pr
9500 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 6f 63 e.>.code.{.........display:.bloc
9520 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 20 20 k;.........overflow:.auto;......
9540 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 64 65 ...padding:.0.5em;.........borde
9560 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 65 2d r:.1px.solid.#eee;.........line-
9580 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 73 61 height:.normal;.......}.......sa
95a0 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 66 61 mp.{.........background:.#fafafa
95c0 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 20 20 ;.......}.......pre.>.samp.{....
95e0 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 76 65 .....display:.block;.........ove
9600 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 30 2e rflow:.auto;.........padding:.0.
9620 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 20 23 5em;.........border:.1px.solid.#
9640 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 61 6c eee;.........line-height:.normal
9660 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 66 6f ;.......}.......kbd.{.........fo
9680 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 20 20 nt-weight:.normal;.......}......
96a0 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 68 3a ..table-wrapper.{.........width:
96c0 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 6f 3b .100%;.........overflow-x:.auto;
96e0 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 20 20 .......}.........tok-kw.{.......
9700 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 74 2d ....color:.#333;...........font-
9720 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 6f 6b weight:.bold;.......}........tok
9740 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 20 20 -str.{...........color:.#d14;...
9760 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 20 20 ....}........tok-builtin.{......
9780 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 20 20 .....color:.#005C7A;.......}....
97a0 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 6c 6f ....tok-comment.{...........colo
97c0 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 6c 65 r:.#545454;...........font-style
97e0 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 6e 20 :.italic;.......}........tok-fn.
9800 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 20 20 {...........color:.#900;........
9820 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 20 20 ...font-weight:.bold;.......}...
9840 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 72 3a .....tok-null.{...........color:
9860 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 75 6d .#005C5C;.......}........tok-num
9880 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 3b 0a ber.{...........color:.#005C5C;.
98a0 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 20 20 ......}........tok-type.{.......
98c0 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 74 2d ....color:.#458;...........font-
98e0 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 69 67 weight:.bold;.......}........fig
9900 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 20 20 ure.{.........margin:.auto.0;...
9920 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 20 20 ....}.......figure.pre.{........
9940 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 20 66 .margin-top:.0;.......}........f
9960 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 66 74 igcaption.{.........padding-left
9980 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 61 6c :.0.5em;.........font-size:.smal
99a0 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 69 75 l;.........border-top-left-radiu
99c0 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 68 74 s:.5px;.........border-top-right
99e0 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 67 63 -radius:.5px;.......}.......figc
9a00 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 72 6f aption.zig-cap.{.........backgro
9a20 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 67 63 und:.#fcdba5;.......}.......figc
9a40 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 75 6e aption.c-cap.{.........backgroun
9a60 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 30 3b d:.#a8b9cc;.........color:.#000;
9a80 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 63 61 .......}.......figcaption.peg-ca
9aa0 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 35 3b p.{.........background:.#fcdba5;
9ac0 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 73 63 .......}.......figcaption.javasc
9ae0 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 20 23 ript-cap.{.........background:.#
9b00 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 20 20 365d95;.........color:.#fff;....
9b20 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 70 20 ...}.......figcaption.shell-cap.
9b40 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 20 20 {.........background:.#ccc;.....
9b60 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 20 20 ....color:.#000;.......}........
9b80 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 2e 32 aside.{.........border-left:.0.2
9ba0 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 64 69 5em.solid.#f7a41d;.........paddi
9bc0 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 20 20 ng:.0.1em.0.1em;.......}........
9be0 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 0a 20 h1.a,.h2.a,.h3.a,.h4.a,.h5.a.{..
9c00 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 20 20 .......text-decoration:.none;...
9c20 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 20 20 ......color:.#333;.......}......
9c40 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 68 69 ..a.hdr.{.........visibility:.hi
9c60 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 20 61 dden;.......}.......h1:hover.>.a
9c80 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 65 72 .hdr,.h2:hover.>.a.hdr,.h3:hover
9ca0 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 3a 68 .>.a.hdr,.h4:hover.>.a.hdr,.h5:h
9cc0 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 69 74 over.>.a.hdr.{.........visibilit
9ce0 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 70 72 65 20 7b y:.visible;.......}........pre.{
9d00 0a 20 20 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 72 65 73 65 74 3a 20 6c 69 6e 65 3b 0a 20 20 .........counter-reset:.line;...
9d20 20 20 20 20 7d 0a 20 20 20 20 20 20 70 72 65 20 2e 6c 69 6e 65 3a 62 65 66 6f 72 65 20 7b 0a 20 ....}.......pre..line:before.{..
9d40 20 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 69 6e 63 72 65 6d 65 6e 74 3a 20 6c 69 6e 65 3b 0a .......counter-increment:.line;.
9d60 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 3a 20 63 6f 75 6e 74 65 72 28 6c 69 6e 65 29 3b 0a ........content:.counter(line);.
9d80 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 69 6e 6c 69 6e 65 2d 62 6c 6f 63 6b 3b 0a 20 ........display:.inline-block;..
9da0 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 72 69 67 68 74 3a 20 31 65 6d 3b 0a 20 20 20 20 20 .......padding-right:.1em;......
9dc0 20 20 20 77 69 64 74 68 3a 20 32 65 6d 3b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 61 6c 69 67 ...width:.2em;.........text-alig
9de0 6e 3a 20 72 69 67 68 74 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 39 39 3b 0a 20 n:.right;.........color:.#999;..
9e00 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 68 20 70 72 65 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 .....}.......th.pre.code.{......
9e20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 20 20 7d 0a 20 .....background:.none;.......}..
9e40 20 20 20 20 20 74 68 20 2e 6c 69 6e 65 3a 62 65 66 6f 72 65 20 7b 0a 20 20 20 20 20 20 20 20 20 .....th..line:before.{..........
9e60 20 64 69 73 70 6c 61 79 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 40 .display:.none;.......}........@
9e80 6d 65 64 69 61 20 28 70 72 65 66 65 72 73 2d 63 6f 6c 6f 72 2d 73 63 68 65 6d 65 3a 20 64 61 72 media.(prefers-color-scheme:.dar
9ea0 6b 29 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 k).{.........body{.............b
9ec0 61 63 6b 67 72 6f 75 6e 64 3a 23 31 32 31 32 31 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 ackground:#121212;.............c
9ee0 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 61 20 olor:.#ccc;.........}.........a.
9f00 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 38 38 66 3b 0a 20 20 20 20 20 {.............color:.#88f;......
9f20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 ...}.........a:hover,a:focus.{..
9f40 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 20 20 ...........color:.#000;.........
9f60 7d 0a 20 20 20 20 20 20 20 20 74 61 62 6c 65 2c 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 }.........table,.th,.td.{.......
9f80 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6f 72 3a 20 67 72 65 79 3b 0a 20 20 20 20 20 20 ......border-color:.grey;.......
9fa0 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 73 67 72 2d 32 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ..}..........sgr-2m.{...........
9fc0 20 20 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 20 20 ..color:.grey;.........}........
9fe0 20 2e 73 67 72 2d 33 31 5f 31 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a ..sgr-31_1m.{.............color:
a000 20 72 65 64 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 32 5f .red;.........}..........sgr-32_
a020 31 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 42 38 30 30 3b 1m.{.............color:.#00B800;
a040 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 36 5f 31 6d 20 7b 0a .........}..........sgr-36_1m.{.
a060 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 38 36 62 33 3b 0a 20 20 20 20 ............color:.#0086b3;.....
a080 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 ....}.........code.{...........b
a0a0 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 32 32 3b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 ackground:.#222;...........borde
a0c0 72 2d 63 6f 6c 6f 72 3a 20 23 34 34 34 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 r-color:.#444;.........}........
a0e0 20 70 72 65 20 3e 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a .pre.>.code.{.............color:
a100 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 .#ccc;.............background:.#
a120 32 32 32 3b 0a 20 20 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 222;.............border:.unset;.
a140 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 ........}.........samp.{........
a160 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 63 ...background:.#000;...........c
a180 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 70 72 olor:.#ccc;.........}.........pr
a1a0 65 20 3e 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 e.>.samp.{...........border:.uns
a1c0 65 74 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 6b 77 20 7b 0a et;.........}..........tok-kw.{.
a1e0 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 65 65 65 3b 0a 20 20 20 20 20 20 20 ............color:.#eee;........
a200 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 73 74 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .}..........tok-str.{...........
a220 20 20 63 6f 6c 6f 72 3a 20 23 32 65 35 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ..color:.#2e5;.........}........
a240 20 2e 74 6f 6b 2d 62 75 69 6c 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f ..tok-builtin.{.............colo
a260 72 3a 20 23 66 66 38 39 34 63 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 r:.#ff894c;.........}..........t
a280 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 ok-comment.{.............color:.
a2a0 23 61 61 37 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 66 6e 20 #aa7;.........}..........tok-fn.
a2c0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 42 31 41 30 46 38 3b 0a 20 20 {.............color:.#B1A0F8;...
a2e0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 ......}..........tok-null.{.....
a300 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 38 30 38 30 3b 0a 20 20 20 20 20 20 20 20 ........color:.#ff8080;.........
a320 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6d 62 65 72 20 7b 0a 20 20 20 20 20 20 20 20 }..........tok-number.{.........
a340 20 20 20 20 63 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 ....color:.#ff8080;.........}...
a360 20 20 20 20 20 20 2e 74 6f 6b 2d 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f .......tok-type.{.............co
a380 6c 6f 72 3a 20 23 36 38 66 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 68 31 20 lor:.#68f;.........}.........h1.
a3a0 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 0a 20 20 20 20 a,.h2.a,.h3.a,.h4.a,.h5.a.{.....
a3c0 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 61 61 61 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 ........color:.#aaa;.........}..
a3e0 20 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 7a 69 67 2d 63 61 70 20 7b 0a 20 20 20 20 .......figcaption.zig-cap.{.....
a400 20 20 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 ........background-color:.#b2730
a420 36 3b 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 6;.............color:.#000;.....
a440 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 70 65 67 2d 63 61 70 ....}.........figcaption.peg-cap
a460 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a .{.............background-color:
a480 20 23 62 32 37 33 30 36 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 .#b27306;.............color:.#00
a4a0 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 0;.........}.........figcaption.
a4c0 73 68 65 6c 6c 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 shell-cap.{...........background
a4e0 3a 20 23 32 61 32 61 32 61 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 66 :.#2a2a2a;...........color:.#fff
a500 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 40 6d 65 64 69 ;.........}.......}........@medi
a520 61 20 61 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 6d 61 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 a.all.{.........main.{..........
a540 20 63 6f 75 6e 74 65 72 2d 72 65 73 65 74 3a 20 73 65 63 74 69 6f 6e 2d 32 3b 0a 20 20 20 20 20 .counter-reset:.section-2;......
a560 20 20 20 7d 0a 20 20 20 20 20 20 20 20 68 32 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e ...}.........h2.{...........coun
a580 74 65 72 2d 72 65 73 65 74 3a 20 73 65 63 74 69 6f 6e 2d 33 3b 0a 20 20 20 20 20 20 20 20 7d 0a ter-reset:.section-3;.........}.
a5a0 20 20 20 20 20 20 20 20 68 32 3a 3a 62 65 66 6f 72 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 ........h2::before.{...........c
a5c0 6f 75 6e 74 65 72 2d 69 6e 63 72 65 6d 65 6e 74 3a 20 73 65 63 74 69 6f 6e 2d 32 3b 0a 20 20 20 ounter-increment:.section-2;....
a5e0 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 3a 20 63 6f 75 6e 74 65 72 28 73 65 63 74 69 6f 6e 2d .......content:.counter(section-
a600 32 29 20 22 2e 20 22 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 2)."..";...........font-weight:.
a620 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 68 33 20 7b 0a 20 normal;.........}.........h3.{..
a640 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 72 65 73 65 74 3a 20 73 65 63 74 69 6f 6e 2d .........counter-reset:.section-
a660 34 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 68 33 3a 3a 62 65 66 6f 72 65 20 4;.........}.........h3::before.
a680 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 69 6e 63 72 65 6d 65 6e 74 3a 20 73 {...........counter-increment:.s
a6a0 65 63 74 69 6f 6e 2d 33 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 3a 20 63 6f 75 ection-3;...........content:.cou
a6c0 6e 74 65 72 28 73 65 63 74 69 6f 6e 2d 32 29 20 22 2e 22 20 63 6f 75 6e 74 65 72 28 73 65 63 74 nter(section-2).".".counter(sect
a6e0 69 6f 6e 2d 33 29 20 22 2e 20 22 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 ion-3)."..";...........font-weig
a700 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 68 34 ht:.normal;.........}.........h4
a720 3a 3a 62 65 66 6f 72 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 69 6e 63 ::before.{...........counter-inc
a740 72 65 6d 65 6e 74 3a 20 73 65 63 74 69 6f 6e 2d 34 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e rement:.section-4;...........con
a760 74 65 6e 74 3a 20 63 6f 75 6e 74 65 72 28 73 65 63 74 69 6f 6e 2d 32 29 20 22 2e 22 20 63 6f 75 tent:.counter(section-2).".".cou
a780 6e 74 65 72 28 73 65 63 74 69 6f 6e 2d 33 29 20 22 2e 22 20 63 6f 75 6e 74 65 72 28 73 65 63 74 nter(section-3).".".counter(sect
a7a0 69 6f 6e 2d 34 29 20 22 2e 20 22 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 ion-4)."..";...........font-weig
a7c0 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 7a ht:.normal;.........}.........#z
a7e0 69 67 2d 76 65 72 73 69 6f 6e 3a 3a 62 65 66 6f 72 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 ig-version::before.{...........c
a800 6f 6e 74 65 6e 74 3a 20 22 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 74 ontent:."";.........}.........#t
a820 61 62 6c 65 2d 6f 66 2d 63 6f 6e 74 65 6e 74 73 3a 3a 62 65 66 6f 72 65 20 7b 0a 20 20 20 20 20 able-of-contents::before.{......
a840 20 20 20 20 20 63 6f 6e 74 65 6e 74 3a 20 22 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .....content:."";.........}.....
a860 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 3c 62 6f 64 79 3e 0a ..}.....</style>.</head>.<body>.
a880 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 65 20 52 65 66 65 72 ..<header><h1>Zig.Language.Refer
a8a0 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 20 69 64 3d 22 6d 61 ence</h1></header>...<div.id="ma
a8c0 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 20 3c 64 69 76 20 69 in-wrapper">..............<div.i
a8e0 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 6e 20 69 64 3d 22 63 d="contents-wrapper"><main.id="c
a900 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 6e 74 72 6f 64 75 63 ontents">.......<h2.id="Introduc
a920 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 64 75 63 74 69 6f 6e tion"><a.href="#toc-Introduction
a940 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 73 73 3d 22 68 64 72 ">Introduction</a>.<a.class="hdr
a960 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 3c 2f 61 3e 3c 2f 68 ".href="#Introduction">..</a></h
a980 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 65 66 3d 22 68 74 74 2>........<p>.......<a.href="htt
a9a0 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 20 69 73 20 61 20 67 ps://ziglang.org">Zig</a>.is.a.g
a9c0 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 67 20 6c 61 6e 67 75 eneral-purpose.programming.langu
a9e0 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 6e 74 61 69 6e 69 6e age.and.toolchain.for.maintainin
aa00 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 74 72 6f 6e 67 3e 2c g.......<strong>robust</strong>,
aa20 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 2c 20 61 6e 64 20 3c .<strong>optimal</strong>,.and.<
aa40 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 73 6f 66 74 77 61 72 strong>reusable</strong>.softwar
aa60 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 20 20 20 20 20 20 20 e........</p>.......<dl>........
aa80 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 69 6f 72 20 69 73 20 .<dt>Robust</dt><dd>Behavior.is.
aaa0 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 65 73 20 73 75 63 68 correct.even.for.edge.cases.such
aac0 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 20 20 20 20 20 20 20 .as.out.of.memory.</dd>.........
aae0 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 20 70 72 6f 67 72 61 <dt>Optimal</dt><dd>Write.progra
ab00 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 62 65 68 61 76 65 20 ms.the.best.way.they.can.behave.
ab20 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 20 3c 64 74 3e 52 65 and.perform.</dd>.........<dt>Re
ab40 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 6f 64 65 20 77 6f 72 usable</dt><dd>The.same.code.wor
ab60 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 68 69 63 68 20 68 61 ks.in.many.environments.which.ha
ab80 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 6e 73 74 72 61 69 6e ve.different...........constrain
aba0 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 74 61 69 6e 61 62 6c ts.</dd>.........<dt>Maintainabl
abc0 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 6e 69 63 61 74 65 20 e</dt><dd>Precisely.communicate.
abe0 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 64 0a 20 20 20 20 20 intent.to.the.compiler.and......
ac00 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 68 65 20 6c 61 6e 67 .....other.programmers..The.lang
ac20 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 61 64 20 74 6f 20 72 uage.imposes.a.low.overhead.to.r
ac40 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 20 20 20 20 72 65 73 eading.code.and.is...........res
ac60 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 65 6d 65 6e 74 73 20 ilient.to.changing.requirements.
ac80 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 20 20 20 20 3c 2f 64 and.environments.</dd>.......</d
aca0 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 74 68 65 20 6d 6f 73 l>.......<p>.......Often.the.mos
acc0 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 73 6f 6d 65 74 68 69 t.efficient.way.to.learn.somethi
ace0 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 2c 20 73 6f 0a 20 20 ng.new.is.to.see.examples,.so...
ad00 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 6f 77 73 20 68 6f 77 ....this.documentation.shows.how
ad20 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 74 75 72 65 73 2e 20 .to.use.each.of.Zig's.features..
ad40 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 67 65 20 73 6f 20 79 It.is.......all.on.one.page.so.y
ad60 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 72 6f 77 73 65 72 27 ou.can.search.with.your.browser'
ad80 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 0a 20 20 20 20 20 20 s.search.tool........</p>.......
ada0 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 73 20 69 6e 20 74 68 <p>.......The.code.samples.in.th
adc0 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 61 6e 64 20 74 65 73 is.document.are.compiled.and.tes
ade0 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 65 73 74 20 73 75 69 ted.as.part.of.the.main.test.sui
ae00 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 20 20 20 3c 70 3e 0a te.of.Zig........</p>.......<p>.
ae20 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 64 65 70 65 6e 64 73 ......This.HTML.document.depends
ae40 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 20 79 6f 75 20 63 61 .on.no.external.files,.so.you.ca
ae60 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 2f 70 3e 0a 20 20 20 n.use.it.offline........</p>....
ae80 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 61 6e 64 61 72 64 2d ...........<h2.id="Zig-Standard-
aea0 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 67 2d 53 74 61 6e 64 Library"><a.href="#toc-Zig-Stand
aec0 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 62 72 61 72 ard-Library">Zig.Standard.Librar
aee0 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 5a 69 67 2d y</a>.<a.class="hdr".href="#Zig-
af00 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 2f 68 32 3e 0a 0a 20 Standard-Library">..</a></h2>...
af20 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 72 65 66 3d 22 68 74 .....<p>.........The.<a.href="ht
af40 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 74 61 74 69 6f 6e 2f tps://ziglang.org/documentation/
af60 30 2e 31 31 2e 30 2f 73 74 64 2f 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 0.11.0/std/">Zig.Standard.Librar
af80 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 74 61 74 69 6f 6e 2e y</a>.has.its.own.documentation.
afa0 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 5a 69 .......</p>.......<p>.........Zi
afc0 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 61 69 6e 73 20 63 6f g's.Standard.Library.contains.co
afe0 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 61 74 61 20 73 74 72 mmonly.used.algorithms,.data.str
b000 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 74 6f 20 68 65 6c 70 uctures,.and.definitions.to.help
b020 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 62 72 61 72 69 65 73 .you.build.programs.or.libraries
b040 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 6e 79 20 65 78 61 6d ..........You.will.see.many.exam
b060 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 62 72 61 72 79 20 75 ples.of.Zig's.Standard.Library.u
b080 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 2e 20 54 6f 20 6c 65 sed.in.this.documentation..To.le
b0a0 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 61 6e 64 61 72 64 20 arn.more.about.the.Zig.Standard.
b0c0 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 65 20 6c 69 6e 6b 20 Library,.........visit.the.link.
b0e0 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 0a 20 20 20 20 20 20 above........</p>...............
b100 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 72 65 66 3d 22 23 74 <h2.id="Hello-World"><a.href="#t
b120 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 6c 64 3c 2f 61 3e 20 oc-Hello-World">Hello.World</a>.
b140 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 6c 6f 2d 57 6f 72 6c <a.class="hdr".href="#Hello-Worl
b160 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 69 67 75 72 65 3e 3c d">..</a></h2>.........<figure><
b180 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
b1a0 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 63 69 74 65 3e 3c 2f .class="file">hello.zig</cite></
b1c0 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
b1e0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
b200 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
b220 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.
b240 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;<
b260 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
b280 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
b2a0 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
b2c0 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
b2e0 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>().
b300 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
b320 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
b340 20 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</
b360 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 74 64 4f 75 74 28 span>.stdout.=.std.io.getStdOut(
b380 29 2e 77 72 69 74 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ).writer();</span>.<span.class="
b3a0 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
b3c0 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 6f 75 74 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 ry</span>.stdout.print(<span.cla
b3e0 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 7b 73 7d 21 5c 6e ss="tok-str">&quot;Hello,.{s}!\n
b400 26 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 &quot;</span>,..{<span.class="to
b420 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d k-str">&quot;world&quot;</span>}
b440 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
b460 73 70 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 span></code></pre></figure><figu
b480 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"
b4a0 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>$.
b4c0 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 6b 62 <kbd>zig.build-exe.hello.zig</kb
b4e0 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c 6c 6f 3c 2f 6b 62 64 3e 0a 48 65 6c 6c 6f 2c 20 77 d>.$.<kbd>./hello</kbd>.Hello,.w
b500 6f 72 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 orld!.</samp></pre></figure>....
b520 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 63 6f 64 65 20 73 61 6d 70 ...<p>.........The.Zig.code.samp
b540 6c 65 20 61 62 6f 76 65 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 6f 6e 65 20 77 61 79 20 74 6f le.above.demonstrates.one.way.to
b560 20 63 72 65 61 74 65 20 61 20 70 72 6f 67 72 61 6d 20 74 68 61 74 20 77 69 6c 6c 20 6f 75 74 70 .create.a.program.that.will.outp
b580 75 74 3a 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 61 6d 70 3e 2e 0a ut:.<samp>Hello,.world!</samp>..
b5a0 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 65 ......</p>.......<p>.........The
b5c0 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 73 68 6f 77 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 .code.sample.shows.the.contents.
b5e0 6f 66 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c of.a.file.named.<code.class="fil
b600 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e 2e 20 46 69 6c 65 73 20 73 74 6f 72 69 e">hello.zig</code>..Files.stori
b620 6e 67 20 5a 69 67 0a 20 20 20 20 20 20 20 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 72 65 20 3c ng.Zig.........source.code.are.<
b640 61 20 68 72 65 66 3d 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 a.href="#Source-Encoding">UTF-8.
b660 65 6e 63 6f 64 65 64 3c 2f 61 3e 20 74 65 78 74 20 66 69 6c 65 73 2e 20 54 68 65 20 66 69 6c 65 encoded</a>.text.files..The.file
b680 73 20 73 74 6f 72 69 6e 67 0a 20 20 20 20 20 20 20 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 s.storing.........Zig.source.cod
b6a0 65 20 6d 75 73 74 20 62 65 20 6e 61 6d 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 20 63 e.must.be.named.with.the.<code.c
b6c0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 3c 65 6d 3e 2e 7a 69 67 3c 2f 65 6d 3e 3c 2f 63 6f 64 65 3e lass="file"><em>.zig</em></code>
b6e0 20 65 78 74 65 6e 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 .extension........</p>.......<p>
b700 0a 20 20 20 20 20 20 20 20 46 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 .........Following.the.<code.cla
b720 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 5a 69 67 20 63 ss="file">hello.zig</code>.Zig.c
b740 6f 64 65 20 73 61 6d 70 6c 65 2c 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 ode.sample,.the.<a.href="#Zig-Bu
b760 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 3e ild-System">Zig.Build.System</a>
b780 20 69 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 74 6f 20 62 75 69 6c 64 20 61 6e 20 65 78 65 .is.used.........to.build.an.exe
b7a0 63 75 74 61 62 6c 65 20 70 72 6f 67 72 61 6d 20 66 72 6f 6d 20 74 68 65 20 3c 63 6f 64 65 20 63 cutable.program.from.the.<code.c
b7c0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 73 6f 75 lass="file">hello.zig</code>.sou
b7e0 72 63 65 20 63 6f 64 65 2e 20 54 68 65 6e 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 rce.code..Then,.the.........<cod
b800 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 3c 2f 63 6f 64 65 3e 20 70 72 6f 67 e.class="file">hello</code>.prog
b820 72 61 6d 20 69 73 20 65 78 65 63 75 74 65 64 20 73 68 6f 77 69 6e 67 20 69 74 73 20 6f 75 74 70 ram.is.executed.showing.its.outp
b840 75 74 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 61 6d 70 3e 2e 20 54 ut.<samp>Hello,.world!</samp>..T
b860 68 65 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 73 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 he.........lines.beginning.with.
b880 3c 73 61 6d 70 3e 24 3c 2f 73 61 6d 70 3e 20 72 65 70 72 65 73 65 6e 74 20 63 6f 6d 6d 61 6e 64 <samp>$</samp>.represent.command
b8a0 20 6c 69 6e 65 20 70 72 6f 6d 70 74 73 20 61 6e 64 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 .line.prompts.and.a.command.....
b8c0 20 20 20 20 20 45 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 20 69 73 20 70 72 6f 67 72 61 6d 20 .....Everything.else.is.program.
b8e0 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 0a 20 20 20 output........</p>.......<p>....
b900 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 62 65 67 69 6e 73 20 62 79 20 61 .....The.code.sample.begins.by.a
b920 64 64 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 dding.the.<a.href="#Zig-Standard
b940 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 62 72 61 72 79 3c 2f -Library">Zig.Standard.Library</
b960 61 3e 20 74 6f 20 74 68 65 20 62 75 69 6c 64 20 75 73 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 a>.to.the.build.using.the.<a.hre
b980 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 20 62 75 69 6c 74 69 6e 20 f="#import">@import</a>.builtin.
b9a0 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 function..........The.<code><spa
b9c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
b9e0 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
ba00 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 73 ass="tok-str">&quot;std&quot;</s
ba20 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c pan>)</span></code>.function.cal
ba40 6c 20 63 72 65 61 74 65 73 20 61 20 73 74 72 75 63 74 75 72 65 20 74 68 61 74 20 72 65 70 72 65 l.creates.a.structure.that.repre
ba60 73 65 6e 74 73 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 2e 0a sents.the.Zig.Standard.Library..
ba80 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 74 68 65 6e 20 3c 61 20 68 72 65 66 3d 22 23 ........The.code.then.<a.href="#
baa0 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 64 65 63 6c 61 Container-Level-Variables">decla
bac0 72 65 73 3c 2f 61 3e 20 61 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 41 73 73 69 res</a>.a.........<a.href="#Assi
bae0 67 6e 6d 65 6e 74 22 3e 63 6f 6e 73 74 61 6e 74 20 69 64 65 6e 74 69 66 69 65 72 3c 2f 61 3e 2c gnment">constant.identifier</a>,
bb00 20 6e 61 6d 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .named.<code><span.class="line">
bb20 73 74 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 61 74 20 67 69 76 65 73 20 61 63 std</span></code>,.that.gives.ac
bb40 63 65 73 73 20 74 6f 20 74 68 65 20 66 65 61 74 75 72 65 73 20 6f 66 20 74 68 65 20 5a 69 67 20 cess.to.the.features.of.the.Zig.
bb60 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 Standard.Library........</p>....
bb80 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 4e 65 78 74 2c 20 61 20 3c 61 20 68 72 65 66 3d 22 ...<p>.........Next,.a.<a.href="
bba0 23 46 75 6e 63 74 69 6f 6e 73 22 3e 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2c #Functions">public.function</a>,
bbc0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
bbe0 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.
bc00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c class="tok-kw">fn</span></span><
bc20 2f 63 6f 64 65 3e 2c 20 6e 61 6d 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d /code>,.named.<code><span.class=
bc40 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 "line">main</span></code>.......
bc60 20 20 69 73 20 64 65 63 6c 61 72 65 64 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ..is.declared..The.<code><span.c
bc80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 lass="line">main</span></code>.f
bca0 75 6e 63 74 69 6f 6e 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 62 65 63 61 75 73 65 20 69 74 20 unction.is.necessary.because.it.
bcc0 74 65 6c 6c 73 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 72 65 20 74 68 65 tells.the.Zig.compiler.where.the
bce0 20 73 74 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 78 .start.of.........the.program.ex
bd00 69 73 74 73 2e 20 50 72 6f 67 72 61 6d 73 20 64 65 73 69 67 6e 65 64 20 74 6f 20 62 65 20 65 78 ists..Programs.designed.to.be.ex
bd20 65 63 75 74 65 64 20 77 69 6c 6c 20 6e 65 65 64 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ecuted.will.need.a.<code><span.c
bd40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
bd60 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"
bd80 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">
bda0 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 main</span></span></code>.functi
bdc0 6f 6e 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 20 72 6f 6c 65 on........</p>.......<aside.role
bde0 3d 22 6e 6f 74 65 22 20 61 72 69 61 2d 6c 61 62 65 6c 3d 22 4e 6f 74 65 20 61 62 6f 75 74 20 6d ="note".aria-label="Note.about.m
be00 61 69 6e 20 66 75 6e 63 74 69 6f 6e 22 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ain.function">.........<p>......
be20 20 20 20 20 20 46 6f 72 20 6d 6f 72 65 20 61 64 76 61 6e 63 65 64 20 75 73 65 20 63 61 73 65 73 .....For.more.advanced.use.cases
be40 2c 20 5a 69 67 20 6f 66 66 65 72 73 20 6f 74 68 65 72 20 66 65 61 74 75 72 65 73 20 74 6f 20 69 ,.Zig.offers.other.features.to.i
be60 6e 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 77 68 65 72 65 20 74 68 65 20 73 74 61 nform.the.compiler.where.the.sta
be80 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 78 69 73 rt.of...........the.program.exis
bea0 74 73 2e 20 41 6c 73 6f 2c 20 6c 69 62 72 61 72 69 65 73 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 ts..Also,.libraries.do.not.need.
bec0 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e a.<code><span.class="line"><span
bee0 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
bf00 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.
bf20 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 3c 2f 73 70 61 6e class="tok-fn">main</span></span
bf40 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 ></code>.function.because.......
bf60 20 20 20 20 6c 69 62 72 61 72 79 20 63 6f 64 65 20 69 73 20 63 61 6c 6c 65 64 20 62 79 20 6f 74 ....library.code.is.called.by.ot
bf80 68 65 72 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 6c 69 62 72 61 72 69 65 73 2e 0a 20 20 20 20 20 her.programs.or.libraries.......
bfa0 20 20 20 3c 2f 70 3e 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 ...</p>.......</aside>.......<p>
bfc0 0a 20 20 20 20 20 20 20 20 41 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 62 6c 6f 63 6b 20 6f .........A.function.is.a.block.o
bfe0 66 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 61 74 65 6d 65 6e 74 73 20 61 6e 64 20 65 f.any.number.of.statements.and.e
c000 78 70 72 65 73 73 69 6f 6e 73 20 74 68 61 74 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 70 65 72 xpressions.that,.as.a.whole,.per
c020 66 6f 72 6d 20 61 20 74 61 73 6b 2e 0a 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 73 20 6d form.a.task..........Functions.m
c040 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 72 65 74 75 72 6e 20 64 61 74 61 20 61 66 74 65 72 20 ay.or.may.not.return.data.after.
c060 74 68 65 79 20 61 72 65 20 64 6f 6e 65 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 65 69 72 20 74 they.are.done.performing.their.t
c080 61 73 6b 2e 20 49 66 20 61 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 63 61 6e 6e 6f ask..If.a.function.........canno
c0a0 74 20 70 65 72 66 6f 72 6d 20 69 74 73 20 74 61 73 6b 2c 20 69 74 20 6d 69 67 68 74 20 72 65 74 t.perform.its.task,.it.might.ret
c0c0 75 72 6e 20 61 6e 20 65 72 72 6f 72 2e 20 5a 69 67 20 6d 61 6b 65 73 20 61 6c 6c 20 6f 66 20 74 urn.an.error..Zig.makes.all.of.t
c0e0 68 69 73 20 65 78 70 6c 69 63 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c his.explicit........</p>.......<
c100 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 p>.........In.the.<code.class="f
c120 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 20 73 61 6d 70 6c ile">hello.zig</code>.code.sampl
c140 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 6d 61 69 6e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f e,.the.<code>main</code>.functio
c160 6e 20 69 73 20 64 65 63 6c 61 72 65 64 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 3c n.is.declared.........with.the.<
c180 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 73 70 61 6e 20 63 code><span.class="line">!<span.c
c1a0 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 73 70 61 lass="tok-type">void</span></spa
c1c0 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 20 74 79 70 65 2e 20 54 68 69 73 20 72 65 74 75 n></code>.return.type..This.retu
c1e0 72 6e 20 74 79 70 65 20 69 73 20 6b 6e 6f 77 6e 20 61 73 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 rn.type.is.known.as.an.<a.href="
c200 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 6e 69 6f 6e 20 54 #Error-Union-Type">Error.Union.T
c220 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 73 79 6e 74 61 78 20 74 65 6c ype</a>..........This.syntax.tel
c240 6c 73 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 20 74 68 61 74 20 74 68 65 20 66 75 6e ls.the.Zig.compiler.that.the.fun
c260 63 74 69 6f 6e 20 77 69 6c 6c 20 65 69 74 68 65 72 20 72 65 74 75 72 6e 20 61 6e 0a 20 20 20 20 ction.will.either.return.an.....
c280 20 20 20 20 65 72 72 6f 72 20 6f 72 20 61 20 76 61 6c 75 65 2e 20 41 6e 20 65 72 72 6f 72 20 75 ....error.or.a.value..An.error.u
c2a0 6e 69 6f 6e 20 74 79 70 65 20 63 6f 6d 62 69 6e 65 73 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 nion.type.combines.an.<a.href="#
c2c0 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 3c 2f Error-Set-Type">Error.Set.Type</
c2e0 61 3e 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 64 61 74 61 20 74 79 70 65 0a 20 20 20 20 20 a>.and.any.other.data.type......
c300 20 20 20 28 65 2e 67 2e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 ...(e.g..a.<a.href="#Primitive-T
c320 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 3c 2f 61 3e 20 6f 72 20 61 20 75 73 ypes">Primitive.Type</a>.or.a.us
c340 65 72 2d 64 65 66 69 6e 65 64 20 74 79 70 65 20 73 75 63 68 20 61 73 20 61 20 3c 61 20 68 72 65 er-defined.type.such.as.a.<a.hre
c360 66 3d 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 f="#struct">struct</a>,.<a.href=
c380 22 23 65 6e 75 6d 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 75 "#enum">enum</a>,.or.<a.href="#u
c3a0 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 29 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 nion">union</a>)..........The.fu
c3c0 6c 6c 20 66 6f 72 6d 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 20 69 ll.form.of.an.error.union.type.i
c3e0 73 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 26 6c 74 3b 65 72 72 6f 72 20 73 65 74 20 74 79 s.........<code>&lt;error.set.ty
c400 70 65 26 67 74 3b 3c 2f 63 6f 64 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pe&gt;</code><code><span.class="
c420 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 63 6f 64 65 3e 26 6c 74 3b 61 line">!</span></code><code>&lt;a
c440 6e 79 20 64 61 74 61 20 74 79 70 65 26 67 74 3b 3c 2f 63 6f 64 65 3e 2e 20 49 6e 20 74 68 65 20 ny.data.type&gt;</code>..In.the.
c460 63 6f 64 65 0a 20 20 20 20 20 20 20 20 73 61 6d 70 6c 65 2c 20 74 68 65 20 65 72 72 6f 72 20 73 code.........sample,.the.error.s
c480 65 74 20 74 79 70 65 20 69 73 20 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c 79 20 77 72 69 74 74 65 et.type.is.not.explicitly.writte
c4a0 6e 20 6f 6e 20 74 68 65 20 6c 65 66 74 20 73 69 64 65 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e n.on.the.left.side.of.the.<code>
c4c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">!</span></cod
c4e0 65 3e 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 77 72 69 74 74 65 e>.operator..........When.writte
c500 6e 20 74 68 69 73 20 77 61 79 2c 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 69 n.this.way,.the.error.set.type.i
c520 73 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 s.an.<a.href="#Inferred-Error-Se
c540 74 73 22 3e 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 3c 2f 61 3e 2e ts">inferred.error.set.type</a>.
c560 20 54 68 65 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 .The.........<code><span.class="
c580 6c 69 6e 65 22 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 line"><span.class="tok-type">voi
c5a0 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 66 74 65 72 20 74 68 65 d</span></span></code>.after.the
c5c0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 .<code><span.class="line">!</spa
c5e0 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 0a 20 20 20 20 20 20 20 20 74 65 6c 6c 73 n></code>.operator.........tells
c600 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 .the.compiler.that.the.function.
c620 77 69 6c 6c 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 75 6e 64 65 72 20 6e 6f will.not.return.a.value.under.no
c640 72 6d 61 6c 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 28 69 2e 65 2e 20 77 68 65 6e 20 6e 6f rmal.circumstances.(i.e..when.no
c660 20 65 72 72 6f 72 73 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 .errors.occur)........</p>......
c680 20 3c 61 73 69 64 65 20 72 6f 6c 65 3d 22 6e 6f 74 65 22 20 61 72 69 61 2d 6c 61 62 65 6c 3d 22 .<aside.role="note".aria-label="
c6a0 4e 6f 74 65 20 74 6f 20 64 69 73 61 6d 62 69 67 75 61 74 65 20 65 78 63 6c 61 6d 61 74 69 6f 6e Note.to.disambiguate.exclamation
c6c0 20 6d 61 72 6b 20 6f 70 65 72 61 74 6f 72 22 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .mark.operator">.........<p>....
c6e0 20 20 20 20 20 20 20 4e 6f 74 65 20 74 6f 20 65 78 70 65 72 69 65 6e 63 65 64 20 70 72 6f 67 72 .......Note.to.experienced.progr
c700 61 6d 6d 65 72 73 3a 20 5a 69 67 20 61 6c 73 6f 20 68 61 73 20 74 68 65 20 62 6f 6f 6c 65 61 6e ammers:.Zig.also.has.the.boolean
c720 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 6f 70 65 72 61 74 6f 72 3c 2f .<a.href="#Operators">operator</
c740 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 61 3c 2f a>.<code><span.class="line">!a</
c760 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 77 68 65 72 65 20 3c 63 6f span></code>...........where.<co
c780 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">a</span></
c7a0 63 6f 64 65 3e 20 69 73 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c code>.is.a.value.of.type.<code><
c7c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
c7e0 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-type">bool</span></span></cod
c800 65 3e 2e 20 45 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 73 20 63 6f 6e 74 61 69 6e 20 74 68 e>..Error.union.types.contain.th
c820 65 0a 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 79 70 65 20 69 6e 20 e...........name.of.the.type.in.
c840 74 68 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c the.syntax:.<code><span.class="l
c860 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 63 6f 64 65 3e 26 6c 74 3b 61 6e ine">!</span></code><code>&lt;an
c880 79 20 64 61 74 61 20 74 79 70 65 26 67 74 3b 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 y.data.type&gt;</code>..........
c8a0 3c 2f 70 3e 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 20 </p>.......</aside>.......<p>...
c8c0 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 66 75 6e 63 74 69 6f 6e 27 73 20 62 6c 6f 63 6b ......In.Zig,.a.function's.block
c8e0 20 6f 66 20 73 74 61 74 65 6d 65 6e 74 73 20 61 6e 64 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 .of.statements.and.expressions.a
c900 72 65 20 73 75 72 72 6f 75 6e 64 65 64 20 62 79 20 61 6e 20 6f 70 65 6e 20 63 75 72 6c 79 2d 62 re.surrounded.by.an.open.curly-b
c920 72 61 63 65 20 3c 63 6f 64 65 3e 7b 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 race.<code>{</code>.and.........
c940 63 6c 6f 73 65 20 63 75 72 6c 79 2d 62 72 61 63 65 20 3c 63 6f 64 65 3e 7d 3c 2f 63 6f 64 65 3e close.curly-brace.<code>}</code>
c960 2e 20 49 6e 73 69 64 65 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ..Inside.of.the.<code><span.clas
c980 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 s="line">main</span></code>.func
c9a0 74 69 6f 6e 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 68 61 74 20 70 65 72 66 6f 72 tion.are.expressions.that.perfor
c9c0 6d 0a 20 20 20 20 20 20 20 20 74 68 65 20 74 61 73 6b 20 6f 66 20 6f 75 74 70 75 74 74 69 6e 67 m.........the.task.of.outputting
c9e0 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 61 6d 70 3e 20 74 6f 20 73 .<samp>Hello,.world!</samp>.to.s
ca00 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 tandard.output........</p>......
ca20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 46 69 72 73 74 2c 20 61 20 63 6f 6e 73 74 61 6e 74 20 69 .<p>.........First,.a.constant.i
ca40 64 65 6e 74 69 66 69 65 72 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 dentifier,.<code><span.class="li
ca60 6e 65 22 3e 73 74 64 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 73 20 69 6e 69 ne">stdout</span></code>,.is.ini
ca80 74 69 61 6c 69 7a 65 64 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 73 74 61 6e 64 61 72 64 20 6f tialized.to.represent.standard.o
caa0 75 74 70 75 74 27 73 0a 20 20 20 20 20 20 20 20 77 72 69 74 65 72 2e 20 54 68 65 6e 2c 20 74 68 utput's.........writer..Then,.th
cac0 65 20 70 72 6f 67 72 61 6d 20 74 72 69 65 73 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20 3c 73 61 e.program.tries.to.print.the.<sa
cae0 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 61 6d 70 3e 0a 20 20 20 20 20 20 20 20 mp>Hello,.world!</samp>.........
cb00 6d 65 73 73 61 67 65 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 message.to.standard.output......
cb20 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 46 75 6e 63 74 69 6f ..</p>.......<p>.........Functio
cb40 6e 73 20 73 6f 6d 65 74 69 6d 65 73 20 6e 65 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f ns.sometimes.need.information.to
cb60 20 70 65 72 66 6f 72 6d 20 74 68 65 69 72 20 74 61 73 6b 2e 20 49 6e 20 5a 69 67 2c 20 69 6e 66 .perform.their.task..In.Zig,.inf
cb80 6f 72 6d 61 74 69 6f 6e 20 69 73 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 20 20 74 6f 20 66 75 ormation.is.passed.........to.fu
cba0 6e 63 74 69 6f 6e 73 20 62 65 74 77 65 65 6e 20 61 6e 20 6f 70 65 6e 20 70 61 72 65 6e 74 68 65 nctions.between.an.open.parenthe
cbc0 73 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 2f sis.<code><span.class="line">(</
cbe0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 20 63 6c 6f 73 65 20 70 61 72 65 6e 74 68 span></code>.and.a.close.parenth
cc00 65 73 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 29 3c esis.<code><span.class="line">)<
cc20 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 6c 61 63 65 64 20 61 66 74 65 72 0a 20 20 20 20 20 /span></code>.placed.after......
cc40 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 6e 61 6d 65 2e 20 54 68 69 73 20 69 6e 66 ...the.function's.name..This.inf
cc60 6f 72 6d 61 74 69 6f 6e 20 69 73 20 61 6c 73 6f 20 6b 6e 6f 77 6e 20 61 73 20 61 72 67 75 6d 65 ormation.is.also.known.as.argume
cc80 6e 74 73 2e 20 57 68 65 6e 20 74 68 65 72 65 20 61 72 65 0a 20 20 20 20 20 20 20 20 6d 75 6c 74 nts..When.there.are.........mult
cca0 69 70 6c 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 61 20 66 75 6e 63 74 iple.arguments.passed.to.a.funct
ccc0 69 6f 6e 2c 20 74 68 65 79 20 61 72 65 20 73 65 70 61 72 61 74 65 64 20 62 79 20 63 6f 6d 6d 61 ion,.they.are.separated.by.comma
cce0 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2c 3c 2f 73 70 s.<code><span.class="line">,</sp
cd00 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>
cd20 0a 20 20 20 20 20 20 20 20 54 68 65 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 .........The.two.arguments.passe
cd40 64 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 6c 69 6e 65 d.to.the.<code><span.class="line
cd60 22 3e 73 74 64 6f 75 74 2e 70 72 69 6e 74 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 ">stdout.print()</span></code>.f
cd80 75 6e 63 74 69 6f 6e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 unction,.<code><span.class="line
cda0 22 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 3b 48 65 "><span.class="tok-str">&quot;He
cdc0 6c 6c 6f 2c 20 7b 73 7d 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c llo,.{s}!\n&quot;</span></span><
cde0 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 /code>.........and.<code><span.c
ce00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 lass="line">.{<span.class="tok-s
ce20 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 3c 2f 73 tr">&quot;world&quot;</span>}</s
ce40 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 3c 61 pan></code>,.are.evaluated.at.<a
ce60 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 3c 2f .href="#comptime">compile-time</
ce80 61 3e 2e 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 69 73 0a 20 20 20 20 20 20 20 20 70 a>..The.code.sample.is.........p
cea0 75 72 70 6f 73 65 6c 79 20 77 72 69 74 74 65 6e 20 74 6f 20 73 68 6f 77 20 68 6f 77 20 74 6f 20 urposely.written.to.show.how.to.
cec0 70 65 72 66 6f 72 6d 20 3c 61 20 68 72 65 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c perform.<a.href="#String-Literal
cee0 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 6c s-and-Unicode-Code-Point-Literal
cf00 73 22 3e 73 74 72 69 6e 67 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 73 75 62 73 74 69 74 75 74 69 s">string</a>.........substituti
cf20 6f 6e 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 6c 69 6e on.in.the.<code><span.class="lin
cf40 65 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2e e">print</span></code>.function.
cf60 20 54 68 65 20 63 75 72 6c 79 2d 62 72 61 63 65 73 20 69 6e 73 69 64 65 20 6f 66 20 74 68 65 20 .The.curly-braces.inside.of.the.
cf80 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 61 72 65 20 73 75 62 73 74 first.argument.........are.subst
cfa0 69 74 75 74 65 64 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f ituted.with.the.compile-time.kno
cfc0 77 6e 20 76 61 6c 75 65 20 69 6e 73 69 64 65 20 6f 66 20 74 68 65 20 73 65 63 6f 6e 64 20 61 72 wn.value.inside.of.the.second.ar
cfe0 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 28 6b 6e 6f 77 6e 20 61 73 20 61 20 3c 61 20 68 72 gument.........(known.as.a.<a.hr
d000 65 66 3d 22 23 54 75 70 6c 65 73 22 3e 74 75 70 6c 65 3c 2f 61 3e 29 2e 20 54 68 65 20 3c 63 6f ef="#Tuples">tuple</a>)..The.<co
d020 64 65 3e 5c 6e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 69 6e 73 69 64 65 20 6f 66 20 74 de>\n</code>.........inside.of.t
d040 68 65 20 64 6f 75 62 6c 65 2d 71 75 6f 74 65 73 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 61 72 he.double-quotes.of.the.first.ar
d060 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 2d 53 gument.is.the.<a.href="#Escape-S
d080 65 71 75 65 6e 63 65 73 22 3e 65 73 63 61 70 65 20 73 65 71 75 65 6e 63 65 3c 2f 61 3e 20 66 6f equences">escape.sequence</a>.fo
d0a0 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 2e r.the.........newline.character.
d0c0 20 54 68 65 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 78 70 72 .The.<a.href="#try">try</a>.expr
d0e0 65 73 73 69 6f 6e 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 3c ession.evaluates.the.result.of.<
d100 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 2e 70 code><span.class="line">stdout.p
d120 72 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 20 20 49 66 20 74 rint</span></code>..........If.t
d140 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 65 6e 20 74 68 65 20 he.result.is.an.error,.then.the.
d160 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
d180 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c lass="tok-kw">try</span></span><
d1a0 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 66 72 /code>.expression.will.return.fr
d1c0 6f 6d 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 6c 69 om.........<code><span.class="li
d1e0 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 74 68 65 20 ne">main</span></code>.with.the.
d200 65 72 72 6f 72 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 77 69 error..Otherwise,.the.program.wi
d220 6c 6c 20 63 6f 6e 74 69 6e 75 65 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 72 65 ll.continue..In.this.case,.there
d240 20 61 72 65 20 6e 6f 0a 20 20 20 20 20 20 20 20 6d 6f 72 65 20 73 74 61 74 65 6d 65 6e 74 73 20 .are.no.........more.statements.
d260 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 6c 65 66 74 20 74 6f 20 65 78 65 63 75 74 65 20 69 or.expressions.left.to.execute.i
d280 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 6c 69 6e 65 22 3e 6d n.the.<code><span.class="line">m
d2a0 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 73 6f 20 74 ain</span></code>.function,.so.t
d2c0 68 65 20 70 72 6f 67 72 61 6d 20 65 78 69 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 he.program.exits........</p>....
d2e0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 74 68 65 20 73 74 61 6e 64 ...<p>.........In.Zig,.the.stand
d300 61 72 64 20 6f 75 74 70 75 74 20 77 72 69 74 65 72 27 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ard.output.writer's.<code><span.
d320 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e class="line">print</span></code>
d340 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 66 61 69 6c 20 62 65 63 .function.is.allowed.to.fail.bec
d360 61 75 73 65 0a 20 20 20 20 20 20 20 20 69 74 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 20 66 75 ause.........it.is.actually.a.fu
d380 6e 63 74 69 6f 6e 20 64 65 66 69 6e 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 67 65 6e 65 nction.defined.as.part.of.a.gene
d3a0 72 69 63 20 57 72 69 74 65 72 2e 20 43 6f 6e 73 69 64 65 72 20 61 20 67 65 6e 65 72 69 63 20 57 ric.Writer..Consider.a.generic.W
d3c0 72 69 74 65 72 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 73 20 77 72 riter.that.........represents.wr
d3e0 69 74 69 6e 67 20 64 61 74 61 20 74 6f 20 61 20 66 69 6c 65 2e 20 57 68 65 6e 20 74 68 65 20 64 iting.data.to.a.file..When.the.d
d400 69 73 6b 20 69 73 20 66 75 6c 6c 2c 20 61 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 66 69 6c 65 isk.is.full,.a.write.to.the.file
d420 20 77 69 6c 6c 20 66 61 69 6c 2e 0a 20 20 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 77 65 20 .will.fail..........However,.we.
d440 74 79 70 69 63 61 6c 6c 79 20 64 6f 20 6e 6f 74 20 65 78 70 65 63 74 20 77 72 69 74 69 6e 67 20 typically.do.not.expect.writing.
d460 74 65 78 74 20 74 6f 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 74 6f 20 66 text.to.the.standard.output.to.f
d480 61 69 6c 2e 20 54 6f 20 61 76 6f 69 64 20 68 61 76 69 6e 67 0a 20 20 20 20 20 20 20 20 74 6f 20 ail..To.avoid.having.........to.
d4a0 68 61 6e 64 6c 65 20 74 68 65 20 66 61 69 6c 75 72 65 20 63 61 73 65 20 6f 66 20 70 72 69 6e 74 handle.the.failure.case.of.print
d4c0 69 6e 67 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2c 20 79 6f 75 20 63 61 6e 20 ing.to.standard.output,.you.can.
d4e0 75 73 65 20 61 6c 74 65 72 6e 61 74 65 20 66 75 6e 63 74 69 6f 6e 73 3a 20 74 68 65 0a 20 20 20 use.alternate.functions:.the....
d500 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .....functions.in.<code><span.cl
d520 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 6c 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ass="line">std.log</span></code>
d540 20 66 6f 72 20 70 72 6f 70 65 72 20 6c 6f 67 67 69 6e 67 20 6f 72 20 74 68 65 20 3c 63 6f 64 65 .for.proper.logging.or.the.<code
d560 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 2e 70 72 ><span.class="line">std.debug.pr
d580 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 int</span></code>.function......
d5a0 20 20 20 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 77 69 6c 6c 20 75 73 65 20 ....This.documentation.will.use.
d5c0 74 68 65 20 6c 61 74 74 65 72 20 6f 70 74 69 6f 6e 20 74 6f 20 70 72 69 6e 74 20 74 6f 20 73 74 the.latter.option.to.print.to.st
d5e0 61 6e 64 61 72 64 20 65 72 72 6f 72 20 28 73 74 64 65 72 72 29 20 61 6e 64 20 73 69 6c 65 6e 74 andard.error.(stderr).and.silent
d600 6c 79 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 54 68 ly.return.........on.failure..Th
d620 65 20 6e 65 78 74 20 63 6f 64 65 20 73 61 6d 70 6c 65 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d e.next.code.sample,.<code.class=
d640 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 5f 61 67 61 69 6e 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 64 65 "file">hello_again.zig</code>.de
d660 6d 6f 6e 73 74 72 61 74 65 73 20 74 68 65 20 75 73 65 20 6f 66 0a 20 20 20 20 20 20 20 20 3c 63 monstrates.the.use.of.........<c
d680 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 ode><span.class="line">std.debug
d6a0 2e 70 72 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 3c 2f 70 3e .print</span></code>........</p>
d6c0 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
d6e0 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
d700 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
d720 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 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
d740 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>
d760 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 75 69 6c 74 69 .print.=.<span.class="tok-builti
d780 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
d7a0 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>).
d7c0 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d debug.print;</span>.<span.class=
d7e0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
d800 22 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 "><span.class="tok-kw">pub</span
d820 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>
d840 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
d860 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<
d880 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
d8a0 65 22 3e 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 e">....print(<span.class="tok-st
d8c0 72 22 3e 26 71 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 r">&quot;Hello,.world!\n&quot;</
d8e0 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>,..{});</span>.<span.class=
d900 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
d920 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="
d940 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
d960 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 6c e><samp>$.<kbd>zig.build-exe.hel
d980 6c 6f 5f 61 67 61 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 lo_again.zig</kbd>.$.<kbd>./hell
d9a0 6f 5f 61 67 61 69 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 o_again</kbd>.Hello,.world!.</sa
d9c0 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>....
d9e0 20 20 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 6c 65 61 76 65 20 6f 66 66 20 74 ...Note.that.you.can.leave.off.t
da00 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 he.<code><span.class="line">!</s
da20 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 pan></code>.from.the.return.type
da40 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .because.<code><span.class="line
da60 22 3e 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ">std.debug.print</span></code>.
da80 63 61 6e 6e 6f 74 20 66 61 69 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 cannot.fail........</p>.......<p
daa0 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="
dac0 23 56 61 6c 75 65 73 22 3e 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 #Values">Values</a></li>.<li><a.
dae0 68 72 65 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 href="#import">@import</a></li>.
db00 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 3e <li><a.href="#Errors">Errors</a>
db20 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d </li>.<li><a.href="#Root-Source-
db40 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>.
db60 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 <li><a.href="#Source-Encoding">S
db80 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 ource.Encoding</a></li>.</ul>...
dba0 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 6f 6d 6d 65 6e 74 73 22 3e 3c 61 ............<h2.id="Comments"><a
dbc0 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 43 6f 6d 6d 65 6e 74 73 3c 2f .href="#toc-Comments">Comments</
dbe0 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 6d 6d 65 6e 74 a>.<a.class="hdr".href="#Comment
dc00 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 20 20 s">..</a></h2>........<p>.......
dc20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 33 20 74 79 70 65 73 20 6f 66 20 63 6f 6d 6d 65 6e 74 73 Zig.supports.3.types.of.comments
dc40 2e 20 4e 6f 72 6d 61 6c 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 69 67 6e 6f 72 65 64 2c 20 62 ..Normal.comments.are.ignored,.b
dc60 75 74 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 0a 20 20 20 20 20 20 61 6e 64 20 74 6f 70 2d 6c 65 ut.doc.comments.......and.top-le
dc80 76 65 6c 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 75 73 65 64 20 62 79 20 74 68 65 vel.doc.comments.are.used.by.the
dca0 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 67 65 6e 65 72 61 74 65 20 74 68 65 20 70 61 63 6b 61 67 .compiler.to.generate.the.packag
dcc0 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 e.documentation........</p>.....
dce0 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 67 65 6e 65 72 61 74 65 64 20 64 6f 63 75 6d 65 ..<p>.......The.generated.docume
dd00 6e 74 61 74 69 6f 6e 20 69 73 20 73 74 69 6c 6c 20 65 78 70 65 72 69 6d 65 6e 74 61 6c 2c 20 61 ntation.is.still.experimental,.a
dd20 6e 64 20 63 61 6e 20 62 65 20 70 72 6f 64 75 63 65 64 20 77 69 74 68 3a 0a 20 20 20 20 20 20 3c nd.can.be.produced.with:.......<
dd40 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
dd60 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
dd80 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 7a 69 67 20 74 65 73 74 20 2d 66 65 6d 69 74 2d 64 6f 63 n><pre><samp>zig.test.-femit-doc
dda0 73 20 6d 61 69 6e 2e 7a 69 67 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 s.main.zig.</samp></pre></figure
ddc0 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
dde0 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
de00 6f 6d 6d 65 6e 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 omments.zig</cite></figcaption><
de20 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
de40 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
de60 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 75 69 6c 74 69 6e 22 rint.=.<span.class="tok-builtin"
de80 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
dea0 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 64 65 -str">&quot;std&quot;</span>).de
dec0 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c bug.print;</span>.<span.class="l
dee0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
df00 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>.
df20 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>.<
df40 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>(
df60 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
df80 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
dfa0 3e 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">/
dfc0 2f 20 43 6f 6d 6d 65 6e 74 73 20 69 6e 20 5a 69 67 20 73 74 61 72 74 20 77 69 74 68 20 26 71 75 /.Comments.in.Zig.start.with.&qu
dfe0 6f 74 3b 2f 2f 26 71 75 6f 74 3b 20 61 6e 64 20 65 6e 64 20 61 74 20 74 68 65 20 6e 65 78 74 20 ot;//&quot;.and.end.at.the.next.
e000 4c 46 20 62 79 74 65 20 28 65 6e 64 20 6f 66 20 6c 69 6e 65 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 LF.byte.(end.of.line).</span></s
e020 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
e040 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 6c 69 6e n.class="tok-comment">//.The.lin
e060 65 20 62 65 6c 6f 77 20 69 73 20 61 20 63 6f 6d 6d 65 6e 74 20 61 6e 64 20 77 6f 6e 27 74 20 62 e.below.is.a.comment.and.won't.b
e080 65 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e.executed.</span></span>.<span.
e0a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
e0c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
e0e0 6d 65 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 ment">//print(&quot;Hello?&quot;
e100 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ,..{});</span></span>.<span.clas
e120 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
e140 6e 65 22 3e 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 ne">....print(<span.class="tok-s
e160 74 72 22 3e 26 71 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 tr">&quot;Hello,.world!\n&quot;<
e180 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 /span>,..{});.<span.class="tok-c
e1a0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 6f 74 68 65 72 20 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e omment">//.another.comment</span
e1c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ></span>.<span.class="line">}</s
e1e0 70 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 pan></code></pre></figure><figur
e200 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">
e220 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>$.<
e240 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f kbd>zig.build-exe.comments.zig</
e260 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 63 6f 6d 6d 65 6e 74 73 3c 2f 6b 62 64 3e 0a 48 65 6c kbd>.$.<kbd>./comments</kbd>.Hel
e280 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 66 69 67 75 72 65 lo,.world!.</samp></pre></figure
e2a0 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 65 20 6e 6f 20 6d >.......<p>.......There.are.no.m
e2c0 75 6c 74 69 6c 69 6e 65 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 5a 69 67 20 28 65 2e 67 2e 20 6c ultiline.comments.in.Zig.(e.g..l
e2e0 69 6b 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 2f 2a 20 2a 2f 3c 2f 63 6f 64 65 3e ike.<code.class="c">/*.*/</code>
e300 0a 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 43 29 2e 20 20 54 68 69 73 20 61 6c 6c .......comments.in.C)...This.all
e320 6f 77 73 20 5a 69 67 20 74 6f 20 68 61 76 65 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 74 68 61 ows.Zig.to.have.the.property.tha
e340 74 20 65 61 63 68 20 6c 69 6e 65 0a 20 20 20 20 20 20 6f 66 20 63 6f 64 65 20 63 61 6e 20 62 65 t.each.line.......of.code.can.be
e360 20 74 6f 6b 65 6e 69 7a 65 64 20 6f 75 74 20 6f 66 20 63 6f 6e 74 65 78 74 2e 0a 20 20 20 20 20 .tokenized.out.of.context.......
e380 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 .</p>.......<h3.id="Doc-Comments
e3a0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 44 6f "><a.href="#toc-Doc-Comments">Do
e3c0 63 20 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 72 c.Comments</a>.<a.class="hdr".hr
e3e0 65 66 3d 22 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ef="#Doc-Comments">..</a></h3>..
e400 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 73 ......<p>.......A.doc.comment.is
e420 20 6f 6e 65 20 74 68 61 74 20 62 65 67 69 6e 73 20 77 69 74 68 20 65 78 61 63 74 6c 79 20 74 68 .one.that.begins.with.exactly.th
e440 72 65 65 20 73 6c 61 73 68 65 73 20 28 69 2e 65 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 ree.slashes.(i.e........<code><s
e460 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
e480 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-comment">///</span></span></co
e4a0 64 65 3e 20 62 75 74 20 6e 6f 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c de>.but.not.<code><span.class="l
e4c0 69 6e 65 22 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 ine"><span.class="tok-comment">/
e4e0 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 3b 0a 20 20 20 20 20 ///</span></span></code>);......
e500 20 6d 75 6c 74 69 70 6c 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 61 20 72 6f 77 20 .multiple.doc.comments.in.a.row.
e520 61 72 65 20 6d 65 72 67 65 64 20 74 6f 67 65 74 68 65 72 20 74 6f 20 66 6f 72 6d 20 61 20 6d 75 are.merged.together.to.form.a.mu
e540 6c 74 69 6c 69 6e 65 0a 20 20 20 20 20 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 2e 20 20 54 68 65 20 ltiline.......doc.comment...The.
e560 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 64 6f 63 75 6d 65 6e 74 73 20 77 68 61 74 65 76 65 72 20 69 doc.comment.documents.whatever.i
e580 6d 6d 65 64 69 61 74 65 6c 79 20 66 6f 6c 6c 6f 77 73 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 mmediately.follows.it........</p
e5a0 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
e5c0 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 64 s="zig-cap"><cite.class="file">d
e5e0 6f 63 5f 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 oc_comments.zig</cite></figcapti
e600 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 6c 69 6e 65 22 on><pre><code><span.class="line"
e620 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 20 41 ><span.class="tok-comment">///.A
e640 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 74 61 .structure.for.storing.a.timesta
e660 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 28 74 mp,.with.nanosecond.precision.(t
e680 68 69 73 20 69 73 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 his.is.a</span></span>.<span.cla
e6a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
e6c0 6e 74 22 3e 2f 2f 2f 20 6d 75 6c 74 69 6c 69 6e 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 2e 3c nt">///.multiline.doc.comment).<
e6e0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
e700 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
e720 6e 3e 20 54 69 6d 65 73 74 61 6d 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.Timestamp.=.<span.class="tok-
e740 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e kw">struct</span>.{</span>.<span
e760 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
e780 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 ok-comment">///.The.number.of.se
e7a0 63 6f 6e 64 73 20 73 69 6e 63 65 20 74 68 65 20 65 70 6f 63 68 20 28 74 68 69 73 20 69 73 20 61 conds.since.the.epoch.(this.is.a
e7c0 6c 73 6f 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lso.a.doc.comment).</span></span
e7e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 63 6f 6e 64 73 >.<span.class="line">....seconds
e800 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 36 34 3c 2f 73 70 :.<span.class="tok-type">i64</sp
e820 61 6e 3e 2c 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 an>,..<span.class="tok-comment">
e840 2f 2f 20 73 69 67 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 //.signed.so.we.can.represent.pr
e860 65 2d 31 39 37 30 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 e-1970.(not.a.doc.comment)</span
e880 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
e8a0 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
e8c0 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
e8e0 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
e900 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
e920 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 74 79 70 65 22 3e ..nanos:.<span.class="tok-type">
e940 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 u32</span>,</span>.<span.class="
e960 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
e980 3e 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">/
e9a0 2f 2f 20 52 65 74 75 72 6e 73 20 61 20 60 54 69 6d 65 73 74 61 6d 70 60 20 73 74 72 75 63 74 20 //.Returns.a.`Timestamp`.struct.
e9c0 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 55 6e 69 78 20 65 70 6f 63 68 3b 20 74 68 61 representing.the.Unix.epoch;.tha
e9e0 74 20 69 73 2c 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t.is,.the</span></span>.<span.cl
ea00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
ea20 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6d 6f 6d 65 6e 74 20 6f 66 20 31 39 37 30 20 4a 61 6e 20 comment">///.moment.of.1970.Jan.
ea40 31 20 30 30 3a 30 30 3a 30 30 20 55 54 43 20 28 74 68 69 73 20 69 73 20 61 20 64 6f 63 20 63 6f 1.00:00:00.UTC.(this.is.a.doc.co
ea60 6d 6d 65 6e 74 20 74 6f 6f 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 mment.too).</span></span>.<span.
ea80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
eaa0 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
eac0 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
eae0 2d 66 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 -fn">unixEpoch</span>().Timestam
eb00 70 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 p.{</span>.<span.class="line">..
eb20 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 72 ......<span.class="tok-kw">retur
eb40 6e 3c 2f 73 70 61 6e 3e 20 54 69 6d 65 73 74 61 6d 70 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n</span>.Timestamp{</span>.<span
eb60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 65 63 6f 6e .class="line">.............secon
eb80 64 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 30 3c ds.=.<span.class="tok-number">0<
eba0 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
ebc0 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6e 61 6e 6f 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ">.............nanos.=.<span.cla
ebe0 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 3c 2f 73 70 61 6e 3e ss="tok-number">0</span>,</span>
ec00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f .<span.class="line">........};</
ec20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f span>.<span.class="line">....}</
ec40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 span>.<span.class="line">};</spa
ec60 6e 3e 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 n></code></pre></figure>.......<
ec80 70 3e 0a 20 20 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 p>.......Doc.comments.are.only.a
eca0 6c 6c 6f 77 65 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 llowed.in.certain.places;.it.is.
ecc0 61 20 63 6f 6d 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 a.compile.error.to.......have.a.
ece0 64 6f 63 20 63 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 doc.comment.in.an.unexpected.pla
ed00 63 65 2c 20 73 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 ce,.such.as.in.the.middle.of.an.
ed20 65 78 70 72 65 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 expression,.......or.just.before
ed40 20 61 20 6e 6f 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 .a.non-doc.comment........</p>..
ed60 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="
ed80 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 6e 76 61 zig-cap"><cite.class="file">inva
eda0 6c 69 64 5f 64 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 lid_doc-comment.zig</cite></figc
edc0 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 6c aption><pre><code><span.class="l
ede0 69 6e 65 22 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 ine"><span.class="tok-comment">/
ee00 2f 2f 20 64 6f 63 2d 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 //.doc-comment</span></span>.<sp
ee20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
ee40 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 74 6f 70 2d 6c 65 76 65 6c 20 64 6f 63 2d 63 6f 6d 6d -comment">//!.top-level.doc-comm
ee60 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ent</span></span>.<span.class="l
ee80 69 6e 65 22 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 ine"><span.class="tok-kw">const<
eea0 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
eec0 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
eee0 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
ef00 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 n>);</span></code></pre></figure
ef20 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
ef40 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
ef60 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 69 6e 76 61 6c 69 64 amp>$.<kbd>zig.build-obj.invalid
ef80 5f 64 6f 63 2d 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 _doc-comment.zig</kbd>.<span.cla
efa0 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 69 6e 76 61 6c 69 64 5f 64 ss="sgr-1m">docgen_tmp/invalid_d
efc0 6f 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3a 31 3a 31 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 oc-comment.zig:1:16:.</span><spa
efe0 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>
f000 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
f020 70 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 66 6f 75 6e 64 20 27 61 20 64 6f 63 75 6d 65 6e 74 pe.expression,.found.'a.document
f040 20 63 6f 6d 6d 65 6e 74 27 0a 3c 2f 73 70 61 6e 3e 2f 2f 2f 20 64 6f 63 2d 63 6f 6d 6d 65 6e 74 .comment'.</span>///.doc-comment
f060 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 73 73 3d 22 73 67 72 ................<span.class="sgr
f080 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 65 3e 3c 2f 66 -32m">^.</span>.</samp></pre></f
f0a0 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 69 6f 6e igure>.......<figure><figcaption
f0c0 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
f0e0 6c 65 22 3e 75 6e 61 74 74 61 63 68 65 64 5f 64 6f 63 2d 63 6f 6d 6d 65 6e 74 2e 7a 69 67 3c 2f le">unattached_doc-comment.zig</
f100 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
f120 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
f140 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
f160 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-
f180 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 3d 22 74 fn">main</span>().<span.class="t
f1a0 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 73 70 61 6e 3e 0a 3c ok-type">void</span>.{}</span>.<
f1c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
f1e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f class="line"><span.class="tok-co
f200 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 61 6e 3e 3c 2f 73 mment">///.End.of.file</span></s
f220 70 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 pan></code></pre></figure><figur
f240 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">
f260 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>$.<
f280 6b 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 kbd>zig.build-obj.unattached_doc
f2a0 2d 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 -comment.zig</kbd>.<span.class="
f2c0 73 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 sgr-1m">docgen_tmp/unattached_do
f2e0 63 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 c-comment.zig:3:1:.</span><span.
f300 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 73 class="sgr-31m">error:.</span><s
f320 70 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 pan.class="sgr-1m">unattached.do
f340 63 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 cumentation.comment.</span>///.E
f360 6e 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 nd.of.file.<span.class="sgr-32m"
f380 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 3c 2f 73 61 6d 70 3e >^~~~~~~~~~~~~~~.</span>.</samp>
f3a0 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>.......
f3c0 44 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 Doc.comments.can.be.interleaved.
f3e0 77 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 with.normal.comments..Currently,
f400 20 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 .when.producing.......the.packag
f420 65 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 e.documentation,.normal.comments
f440 20 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 .are.merged.with.doc.comments...
f460 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 54 .....</p>..............<h3.id="T
f480 6f 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 op-Level-Doc-Comments"><a.href="
f4a0 23 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 #toc-Top-Level-Doc-Comments">Top
f4c0 2d 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 -Level.Doc.Comments</a>.<a.class
f4e0 3d 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 ="hdr".href="#Top-Level-Doc-Comm
f500 65 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 ents">..</a></h3>........<p>....
f520 20 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 ...A.top-level.doc.comment.is.on
f540 65 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 e.that.begins.with.two.slashes.a
f560 6e 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 nd.an.exclamation.......point:.<
f580 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
f5a0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ass="tok-comment">//!</span></sp
f5c0 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 65 20 63 75 72 an></code>;.it.documents.the.cur
f5e0 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 20 20 20 3c 70 rent.module........</p>.......<p
f600 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 6f 72 20 69 66 >.......It.is.a.compile.error.if
f620 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 20 6e 6f 74 20 .a.top-level.doc.comment.is.not.
f640 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 66 20 61 20 3c placed.at.the.start.......of.a.<
f660 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</
f680 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 0a 20 20 20 20 a>,.before.any.expressions......
f6a0 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
f6c0 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
f6e0 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 65 3e 3c 2f 66 le">tldoc_comments.zig</cite></f
f700 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
f720 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-comment
f740 22 3e 2f 2f 21 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 70 72 6f 76 69 64 65 73 20 66 75 6e 63 74 ">//!.This.module.provides.funct
f760 69 6f 6e 73 20 66 6f 72 20 72 65 74 72 69 65 76 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 ions.for.retrieving.the.current.
f780 64 61 74 65 20 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 date.and</span></span>.<span.cla
f7a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
f7c0 6e 74 22 3e 2f 2f 21 20 74 69 6d 65 20 77 69 74 68 20 76 61 72 79 69 6e 67 20 64 65 67 72 65 65 nt">//!.time.with.varying.degree
f7e0 73 20 6f 66 20 70 72 65 63 69 73 69 6f 6e 20 61 6e 64 20 61 63 63 75 72 61 63 79 2e 20 49 74 20 s.of.precision.and.accuracy..It.
f800 64 6f 65 73 20 6e 6f 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 does.not</span></span>.<span.cla
f820 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
f840 6e 74 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 nt">//!.depend.on.libc,.but.will
f860 20 75 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 .use.functions.from.it.if.availa
f880 62 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ble.</span></span>.<span.class="
f8a0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
f8c0 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
f8e0 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 73 74 72 75 n>.S.=.<span.class="tok-kw">stru
f900 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ct</span>.{</span>.<span.class="
f920 6c 69 6e 65 22 3e 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 line">....<span.class="tok-comme
f940 6e 74 22 3e 2f 2f 21 20 54 6f 70 20 6c 65 76 65 6c 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 61 nt">//!.Top.level.comments.are.a
f960 6c 6c 6f 77 65 64 20 69 6e 73 69 64 65 20 61 20 63 6f 6e 74 61 69 6e 65 72 20 6f 74 68 65 72 20 llowed.inside.a.container.other.
f980 74 68 61 6e 20 61 20 6d 6f 64 75 6c 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 than.a.module,</span></span>.<sp
f9a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
f9c0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 62 75 74 20 69 74 20 69 73 20 6e 6f 74 20 "tok-comment">//!.but.it.is.not.
f9e0 76 65 72 79 20 75 73 65 66 75 6c 2e 20 20 43 75 72 72 65 6e 74 6c 79 2c 20 77 68 65 6e 20 70 72 very.useful...Currently,.when.pr
fa00 6f 64 75 63 69 6e 67 20 74 68 65 20 70 61 63 6b 61 67 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e oducing.the.package</span></span
fa20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
fa40 6c 61 73 73 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 lass="tok-comment">//!.documenta
fa60 74 69 6f 6e 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 tion,.these.comments.are.ignored
fa80 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
faa0 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 e">};</span></code></pre></figur
fac0 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 3d 22 56 e>.....................<h2.id="V
fae0 61 6c 75 65 73 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 alues"><a.href="#toc-Values">Val
fb00 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 65 66 3d 22 23 56 61 ues</a>.<a.class="hdr".href="#Va
fb20 6c 75 65 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 67 75 72 65 lues">..</a></h2>........<figure
fb40 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
fb60 74 65 20 63 6c 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 te.class="file">values.zig</cite
fb80 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
fba0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d lass="line"><span.class="tok-com
fbc0 6d 65 6e 74 22 3e 2f 2f 20 54 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 ment">//.Top-level.declarations.
fbe0 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 are.order-independent:</span></s
fc00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
fc20 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 6e 74 20 ass="tok-kw">const</span>.print.
fc40 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 =.std.debug.print;</span>.<span.
fc60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
fc80 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
fca0 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
fcc0 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
fce0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
fd00 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
fd20 74 3c 2f 73 70 61 6e 3e 20 6f 73 20 3d 20 73 74 64 2e 6f 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 t</span>.os.=.std.os;</span>.<sp
fd40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
fd60 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
fd80 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ebug.assert;</span>.<span.class=
fda0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
fdc0 22 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 "><span.class="tok-kw">pub</span
fde0 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>
fe00 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
fe20 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<
fe40 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
fe60 65 22 3e 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 e">....<span.class="tok-comment"
fe80 3e 2f 2f 20 69 6e 74 65 67 65 72 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >//.integers</span></span>.<span
fea0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
fec0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 ok-kw">const</span>.one_plus_one
fee0 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
ff00 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
ff20 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 2d 6e 75 6d 62 65 </span>.+.<span.class="tok-numbe
ff40 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
ff60 22 6c 69 6e 65 22 3e 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 "line">....print(<span.class="to
ff80 6b 2d 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 k-str">&quot;1.+.1.=.{}\n&quot;<
ffa0 2f 73 70 61 6e 3e 2c 20 2e 7b 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 7d 29 3b 3c 2f 73 70 61 6e 3e /span>,..{one_plus_one});</span>
ffc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
ffe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
10000 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 6c 6f 61 74 73 3c 2f 73 70 61 6e 3e 3c 2f 73 tok-comment">//.floats</span></s
10020 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
10040 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 65 n.class="tok-kw">const</span>.se
10060 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ven_div_three:.<span.class="tok-
10080 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 73 3d 22 type">f32</span>.=.<span.class="
100a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 2e 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 tok-number">7.0</span>./.<span.c
100c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 lass="tok-number">3.0</span>;</s
100e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e pan>.<span.class="line">....prin
10100 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 37 2e t(<span.class="tok-str">&quot;7.
10120 30 20 2f 20 33 2e 30 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 73 0./.3.0.=.{}\n&quot;</span>,..{s
10140 65 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 even_div_three});</span>.<span.c
10160 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
10180 22 6c 69 6e 65 22 3e 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 "line">....<span.class="tok-comm
101a0 65 6e 74 22 3e 2f 2f 20 62 6f 6f 6c 65 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ent">//.boolean</span></span>.<s
101c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e pan.class="line">....print(<span
101e0 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 5c 6e 7b 7d 5c 6e 7b .class="tok-str">&quot;{}\n{}\n{
10200 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 }\n&quot;</span>,..{</span>.<spa
10220 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
10240 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 20 3c 73 70 61 6e 20 ss="tok-null">true</span>.<span.
10260 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 3c 73 70 61 6e 20 class="tok-kw">and</span>.<span.
10280 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 3c 2f class="tok-null">false</span>,</
102a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
102c0 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 3c 2f 73 70 .<span.class="tok-null">true</sp
102e0 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 6f 72 3c 2f 73 70 61 an>.<span.class="tok-kw">or</spa
10300 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<
10320 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
10340 22 3e 20 20 20 20 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 ">........!<span.class="tok-null
10360 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">true</span>,</span>.<span.clas
10380 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c s="line">....});</span>.<span.cl
103a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
103c0 6c 69 6e 65 22 3e 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 line">....<span.class="tok-comme
103e0 6e 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 nt">//.optional</span></span>.<s
10400 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
10420 3d 22 74 6f 6b 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 76 61 ="tok-kw">var</span>.optional_va
10440 6c 75 65 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 lue:.?[]<span.class="tok-kw">con
10460 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"
10480 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 6e 75 >u8</span>.=.<span.class="tok-nu
104a0 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ll">null</span>;</span>.<span.cl
104c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 ass="line">....assert(optional_v
104e0 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 6c 6c 22 3e 6e alue.==.<span.class="tok-null">n
10500 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ull</span>);</span>.<span.class=
10520 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
10540 22 3e 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
10560 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 7b 7d 5c 6e ">&quot;\noptional.1\ntype:.{}\n
10580 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 3c 2f value:.{?s}\n&quot;</span>,..{</
105a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
105c0 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 79 70 65 .<span.class="tok-builtin">@Type
105e0 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 2c 20 6f 70 74 69 6f Of</span>(optional_value),.optio
10600 6e 61 6c 5f 76 61 6c 75 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nal_value,</span>.<span.class="l
10620 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ine">....});</span>.<span.class=
10640 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
10660 22 3e 20 20 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 ">....optional_value.=.<span.cla
10680 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
106a0 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
106c0 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 61 6e ..assert(optional_value.!=.<span
106e0 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 3c .class="tok-null">null</span>);<
10700 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
10720 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c >.<span.class="line">....print(<
10740 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 6f 70 74 span.class="tok-str">&quot;\nopt
10760 69 6f 6e 61 6c 20 32 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 3f 73 7d 5c 6e ional.2\ntype:.{}\nvalue:.{?s}\n
10780 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 &quot;</span>,..{</span>.<span.c
107a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
107c0 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 6f 70 74 "tok-builtin">@TypeOf</span>(opt
107e0 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 2c 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2c 3c 2f 73 ional_value),.optional_value,</s
10800 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c pan>.<span.class="line">....});<
10820 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
10840 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
10860 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 20 75 6e 69 6f lass="tok-comment">//.error.unio
10880 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n</span></span>.<span.class="lin
108a0 65 22 3e 20 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 e">....<span.class="tok-kw">var<
108c0 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 3a 20 3c 73 70 61 6e 20 63 6c /span>.number_or_error:.<span.cl
108e0 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 3c ass="tok-type">anyerror</span>!<
10900 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>
10920 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
10940 70 61 6e 3e 2e 41 72 67 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan>.ArgNotFound;</span>.<span.c
10960 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
10980 22 6c 69 6e 65 22 3e 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 "line">....print(<span.class="to
109a0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e 69 6f 6e 20 31 5c 6e 74 79 k-str">&quot;\nerror.union.1\nty
109c0 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 21 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e pe:.{}\nvalue:.{!}\n&quot;</span
109e0 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e >,..{</span>.<span.class="line">
10a00 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
10a20 22 3e 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 ">@TypeOf</span>(number_or_error
10a40 29 2c 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 2c 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ),.number_or_error,.});</span>.<
10a60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
10a80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 class="line">....number_or_error
10aa0 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
10ac0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
10ae0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
10b00 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 71 ..print(<span.class="tok-str">&q
10b20 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e 69 6f 6e 20 32 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 uot;\nerror.union.2\ntype:.{}\nv
10b40 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 3c 2f 73 70 alue:.{!}\n&quot;</span>,..{</sp
10b60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
10b80 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 66 span.class="tok-builtin">@TypeOf
10ba0 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 20 6e 75 6d 62 65 72 </span>(number_or_error),.number
10bc0 5f 6f 72 5f 65 72 72 6f 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c _or_error,</span>.<span.class="l
10be0 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ine">....});</span>.<span.class=
10c00 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
10c20 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="
10c40 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
10c60 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 6c e><samp>$.<kbd>zig.build-exe.val
10c80 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 6b ues.zig</kbd>.$.<kbd>./values</k
10ca0 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 33 bd>.1.+.1.=.2.7.0./.3.0.=.2.3333
10cc0 33 33 32 35 65 2b 30 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 3325e+00.false.true.false..optio
10ce0 6e 61 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 nal.1.type:.?[]const.u8.value:.n
10d00 75 6c 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 ull..optional.2.type:.?[]const.u
10d20 38 0a 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 8.value:.hi..error.union.1.type:
10d40 20 61 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 .anyerror!i32.value:.error.ArgNo
10d60 74 46 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 tFound..error.union.2.type:.anye
10d80 72 72 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 rror!i32.value:.1234.</samp></pr
10da0 65 3e 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 e></figure>.......<h3.id="Primit
10dc0 69 76 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 ive-Types"><a.href="#toc-Primiti
10de0 76 65 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 ve-Types">Primitive.Types</a>.<a
10e00 20 63 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 .class="hdr".href="#Primitive-Ty
10e20 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 64 69 76 20 63 6c 61 pes">..</a></h3>........<div.cla
10e40 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 74 61 62 6c 65 ss="table-wrapper">.......<table
10e60 3e 0a 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 >.........<caption>Primitive.Typ
10e80 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 64 3e 0a 20 20 20 es</caption>.........<thead>....
10ea0 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 63 .........<tr>.............<th.sc
10ec0 6f 70 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 ope="col">Type</th>.............
10ee0 3c 74 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 <th.scope="col">C.Equivalent</th
10f00 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 63 6f 6c 22 3e 44 65 >.............<th.scope="col">De
10f20 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 20 scription</th>.........</tr>....
10f40 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 20 .....</thead>.........<tbody>...
10f60 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 65 ......<tr>.............<th.scope
10f80 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 6c 69 6e 65 22 3e ="row"><code><span.class="line">
10fa0 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 3c 2f 73 70 61 6e 3e <span.class="tok-type">i8</span>
10fc0 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 3c 74 </span></code></th>...........<t
10fe0 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 64 65 3e 3c d><code.class="c">int8_t</code><
11000 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 62 69 74 20 /td>...........<td>signed.8-bit.
11020 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>......
11040 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
11060 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ow"><code><span.class="line"><sp
11080 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 3c 2f 73 an.class="tok-type">u8</span></s
110a0 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><
110c0 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 code.class="c">uint8_t</code></t
110e0 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 20 38 2d 62 69 74 20 d>...........<td>unsigned.8-bit.
11100 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>......
11120 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
11140 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ow"><code><span.class="line"><sp
11160 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 3c 2f an.class="tok-type">i16</span></
11180 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>
111a0 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c 2f <code.class="c">int16_t</code></
111c0 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 31 36 2d 62 69 74 20 td>...........<td>signed.16-bit.
111e0 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>......
11200 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
11220 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ow"><code><span.class="line"><sp
11240 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 3c 2f an.class="tok-type">u16</span></
11260 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>
11280 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c <code.class="c">uint16_t</code><
112a0 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 20 31 36 2d 62 /td>...........<td>unsigned.16-b
112c0 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 20 it.integer</td>.........</tr>...
112e0 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 65 ......<tr>.............<th.scope
11300 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 6c 69 6e 65 22 3e ="row"><code><span.class="line">
11320 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
11340 3e 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 3c ></span></code></th>...........<
11360 74 64 3e 3c 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 td><code.class="c">int32_t</code
11380 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 33 32 2d 62 ></td>...........<td>signed.32-b
113a0 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 20 it.integer</td>.........</tr>...
113c0 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 65 ......<tr>.............<th.scope
113e0 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 6c 69 6e 65 22 3e ="row"><code><span.class="line">
11400 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
11420 3e 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 3c ></span></code></th>...........<
11440 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 6f 64 td><code.class="c">uint32_t</cod
11460 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 20 33 e></td>...........<td>unsigned.3
11480 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 72 3e 2-bit.integer</td>.........</tr>
114a0 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
114c0 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 6c 69 6e ope="row"><code><span.class="lin
114e0 65 22 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 36 34 3c 2f 73 e"><span.class="tok-type">i64</s
11500 70 61 6e 3e 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 pan></span></code></th>.........
11520 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 36 34 5f 74 3c 2f 63 ..<td><code.class="c">int64_t</c
11540 6f 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 36 ode></td>...........<td>signed.6
11560 34 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 72 3e 4-bit.integer</td>.........</tr>
11580 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
115a0 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 6c 69 6e ope="row"><code><span.class="lin
115c0 65 22 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 36 34 3c 2f 73 e"><span.class="tok-type">u64</s
115e0 70 61 6e 3e 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 pan></span></code></th>.........
11600 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 36 34 5f 74 3c 2f ..<td><code.class="c">uint64_t</
11620 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 6e 65 code></td>...........<td>unsigne
11640 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 20 20 20 3c 2f d.64-bit.integer</td>.........</
11660 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 68 tr>.........<tr>.............<th
11680 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="
116a0 6c 69 6e 65 22 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 line"><span.class="tok-type">i12
116c0 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 8</span></span></code></th>.....
116e0 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 5f 5f 69 6e 74 31 ......<td><code.class="c">__int1
11700 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 74 64 3e 73 69 67 28</code></td>...........<td>sig
11720 6e 65 64 20 31 32 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 ned.128-bit.integer</td>........
11740 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 20 .</tr>.........<tr>.............
11760 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 73 <th.scope="row"><code><span.clas
11780 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e s="line"><span.class="tok-type">
117a0 75 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 u128</span></span></code></th>..
117c0 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 75 6e 73 .........<td><code.class="c">uns
117e0 69 67 6e 65 64 20 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 igned.__int128</code></td>......
11800 20 20 20 20 20 3c 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 .....<td>unsigned.128-bit.intege
11820 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 20 20 3c 74 72 r</td>.........</tr>.........<tr
11840 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
11860 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
11880 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 3e 3c 2f 73 70 61 6e ss="tok-type">isize</span></span
118a0 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
118c0 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>
118e0 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
11900 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>..
11920 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
11940 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 6c 69 6e 65 22 e="row"><code><span.class="line"
11960 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 73 69 7a 65 3c 2f 73 ><span.class="tok-type">usize</s
11980 70 61 6e 3e 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 pan></span></code></th>.........
119a0 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 70 74 72 5f 74 3c ..<td><code.class="c">uintptr_t<
119c0 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 7a 65 5f 74 3c 2f /code>,.<code.class="c">size_t</
119e0 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 6e 65 code></td>...........<td>unsigne
11a00 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 6c 73 6f 20 73 65 d.pointer.sized.integer..Also.se
11a20 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 69 e.<a.href="https://github.com/zi
11a40 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 38 35 3c 2f 61 3e glang/zig/issues/5185">#5185</a>
11a60 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 20 20 20 3c 74 72 </td>.........</tr>..........<tr
11a80 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
11aa0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
11ac0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ss="tok-type">c_char</span></spa
11ae0 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
11b00 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 63 68 61 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 de.class="c">char</code></td>...
11b20 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 74 ........<td>for.ABI.compatibilit
11b40 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 20 y.with.C</td>.........</tr>.....
11b60 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="
11b80 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 row"><code><span.class="line"><s
11ba0 70 61 6e 20 63 6c 61 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 pan.class="tok-type">c_short</sp
11bc0 61 6e 3e 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 an></span></code></th>..........
11be0 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 73 68 6f 72 74 3c 2f 63 6f 64 65 .<td><code.class="c">short</code
11c00 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 63 6f 6d ></td>...........<td>for.ABI.com
11c20 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 20 20 3c patibility.with.C</td>.........<
11c40 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
11c60 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=
11c80 22 6c 69 6e 65 22 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 "line"><span.class="tok-type">c_
11ca0 75 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e ushort</span></span></code></th>
11cc0 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 75 ...........<td><code.class="c">u
11ce0 6e 73 69 67 6e 65 64 20 73 68 6f 72 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 nsigned.short</code></td>.......
11d00 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 20 77 69 ....<td>for.ABI.compatibility.wi
11d20 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 20 20 20 th.C</td>.........</tr>.........
11d40 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"
11d60 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
11d80 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 3c 2f 73 class="tok-type">c_int</span></s
11da0 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><
11dc0 63 6f 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 code.class="c">int</code></td>..
11de0 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
11e00 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>....
11e20 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=
11e40 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 6c 69 6e 65 22 3e 3c "row"><code><span.class="line"><
11e60 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 6e 74 3c 2f 73 70 span.class="tok-type">c_uint</sp
11e80 61 6e 3e 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 an></span></code></th>..........
11ea0 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 69 6e .<td><code.class="c">unsigned.in
11ec0 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 66 6f 72 20 t</code></td>...........<td>for.
11ee0 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 3e 0a 20 20 ABI.compatibility.with.C</td>...
11f00 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>........
11f20 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 61 6e .....<th.scope="row"><code><span
11f40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .class="line"><span.class="tok-t
11f60 79 70 65 22 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ype">c_long</span></span></code>
11f80 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=
11fa0 22 63 22 3e 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 3c "c">long</code></td>...........<
11fc0 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 3c td>for.ABI.compatibility.with.C<
11fe0 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>.
12000 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
12020 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
12040 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ="tok-type">c_ulong</span></span
12060 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
12080 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 3c 2f 63 6f 64 65 3e e.class="c">unsigned.long</code>
120a0 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
120c0 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>.........</
120e0 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 68 tr>.........<tr>.............<th
12100 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="
12120 6c 69 6e 65 22 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 line"><span.class="tok-type">c_l
12140 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 onglong</span></span></code></th
12160 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">
12180 6c 6f 6e 67 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 long.long</code></td>...........
121a0 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
121c0 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>
121e0 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
12200 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
12220 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 6e 3e 3c s="tok-type">c_ulonglong</span><
12240 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 3c 74 64 /span></code></th>...........<td
12260 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 6c 6f 6e 67 20 6c ><code.class="c">unsigned.long.l
12280 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 3c 74 64 3e 66 6f ong</code></td>...........<td>fo
122a0 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 3e 0a r.ABI.compatibility.with.C</td>.
122c0 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>......
122e0 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
12300 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
12320 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e -type">c_longdouble</span></span
12340 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
12360 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 3c 2f e.class="c">long.double</code></
12380 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 61 74 td>...........<td>for.ABI.compat
123a0 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 74 72 ibility.with.C</td>.........</tr
123c0 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 68 20 >..........<tr>.............<th.
123e0 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 6c scope="row"><code><span.class="l
12400 69 6e 65 22 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 31 36 3c ine"><span.class="tok-type">f16<
12420 2f 73 70 61 6e 3e 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 /span></span></code></th>.......
12440 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 5f 46 6c 6f 61 74 31 36 ....<td><code.class="c">_Float16
12460 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 31 36 2d 62 69 </code></td>...........<td>16-bi
12480 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 31 30 2d 62 69 74 20 6d 61 6e 74 69 73 73 t.floating.point.(10-bit.mantiss
124a0 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 36 3c 2f 74 64 3e 0a 20 a).IEEE-754-2008.binary16</td>..
124c0 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>.......
124e0 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 61 ......<th.scope="row"><code><spa
12500 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
12520 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f type">f32</span></span></code></
12540 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
12560 22 3e 66 6c 6f 61 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 ">float</code></td>...........<t
12580 64 3e 33 32 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 32 33 2d 62 69 74 20 d>32-bit.floating.point.(23-bit.
125a0 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 33 32 mantissa).IEEE-754-2008.binary32
125c0 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>
125e0 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
12600 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
12620 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-type">f64</span></span></
12640 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 20 63 code></th>...........<td><code.c
12660 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 20 20 lass="c">double</code></td>.....
12680 20 20 20 20 20 20 3c 74 64 3e 36 34 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 ......<td>64-bit.floating.point.
126a0 28 35 32 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 38 20 (52-bit.mantissa).IEEE-754-2008.
126c0 62 69 6e 61 72 79 36 34 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 binary64</td>.........</tr>.....
126e0 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="
12700 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 row"><code><span.class="line"><s
12720 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><
12740 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 3c 74 64 /span></code></th>...........<td
12760 3e 3c 63 6f 64 65 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 ><code.class="c">double</code></
12780 74 64 3e 0a 20 20 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 td>...........<td>80-bit.floatin
127a0 67 20 70 6f 69 6e 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 g.point.(64-bit.mantissa).IEEE-7
127c0 35 34 2d 32 30 30 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 54-2008.80-bit.extended.precisio
127e0 6e 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 n</td>.........</tr>.........<tr
12800 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
12820 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
12840 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 3c 2f 73 70 61 6e 3e ss="tok-type">f128</span></span>
12860 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
12880 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
128a0 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
128c0 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-
128e0 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>.........
12900 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>.............<
12920 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
12940 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-type">b
12960 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 ool</span></span></code></th>...
12980 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 62 6f 6f 6c ........<td><code.class="c">bool
129a0 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 3c 63 6f 64 65 </code></td>...........<td><code
129c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
129e0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-null">true</span></span></c
12a00 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 6c 69 6e 65 22 ode>.or.<code><span.class="line"
12a20 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 73 ><span.class="tok-null">false</s
12a40 70 61 6e 3e 3c 2f 73 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 pan></span></code></td>.........
12a60 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>.............<
12a80 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
12aa0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-type">a
12ac0 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 nyopaque</span></span></code></t
12ae0 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 22 h>...........<td><code.class="c"
12b00 3e 76 6f 69 64 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 >void</code></td>...........<td>
12b20 55 73 65 64 20 66 6f 72 20 74 79 70 65 2d 65 72 61 73 65 64 20 70 6f 69 6e 74 65 72 73 2e 3c 2f Used.for.type-erased.pointers.</
12b40 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>..
12b60 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
12b80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
12ba0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-type">void</span></span></c
12bc0 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 6f 6e 65 29 3c 2f ode></th>...........<td>(none)</
12be0 74 64 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 td>...........<td>Always.the.val
12c00 75 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ue.<code><span.class="line"><spa
12c20 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 7b 7d n.class="tok-type">void</span>{}
12c40 3c 2f 73 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 </span></code></td>.........</tr
12c60 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
12c80 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 6c 69 cope="row"><code><span.class="li
12ca0 6e 65 22 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 ne"><span.class="tok-type">noret
12cc0 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 urn</span></span></code></th>...
12ce0 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 20 20 20 ........<td>(none)</td>.........
12d00 20 20 3c 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..<td>the.type.of.<code><span.cl
12d20 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
12d40 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 break</span></span></code>,.<cod
12d60 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
12d80 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 73 70 61 6e 3e ="tok-kw">continue</span></span>
12da0 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 6c 69 6e 65 </code>,.<code><span.class="line
12dc0 22 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 3c 2f 73 "><span.class="tok-kw">return</s
12de0 70 61 6e 3e 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 pan></span></code>,.<code><span.
12e00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
12e20 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ">unreachable</span></span></cod
12e40 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 6c 69 6e 65 22 e>,.and.<code><span.class="line"
12e60 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 73 70 61 ><span.class="tok-kw">while</spa
12e80 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<
12ea0 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 /span>).{}</span></code></td>...
12ec0 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>........
12ee0 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 61 6e .....<th.scope="row"><code><span
12f00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .class="line"><span.class="tok-t
12f20 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ype">type</span></span></code></
12f40 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 3e 0a 20 20 th>...........<td>(none)</td>...
12f60 20 20 20 20 20 20 20 20 3c 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 20 74 79 70 65 73 3c 2f 74 ........<td>the.type.of.types</t
12f80 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 20 d>.........</tr>.........<tr>...
12fa0 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>
12fc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
12fe0 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 3c 2f 73 70 61 6e 3e tok-type">anyerror</span></span>
13000 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 6f 6e 65 </code></th>...........<td>(none
13020 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 61 6e 20 65 72 72 6f 72 20 63 6f )</td>...........<td>an.error.co
13040 64 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 20 3c 74 de</td>.........</tr>.........<t
13060 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 3c r>.............<th.scope="row"><
13080 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
130a0 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
130c0 6e 3e 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 n></span></code></th>...........
130e0 3c 74 64 3e 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 4f 6e <td>(none)</td>...........<td>On
13100 6c 79 20 61 6c 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 ly.allowed.for.<a.href="#comptim
13120 65 22 3e 63 6f 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 e">comptime</a>-known.values..Th
13140 65 20 74 79 70 65 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 e.type.of.integer.literals.</td>
13160 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>.....
13180 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
131a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
131c0 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 70 61 6e 3e 3c 2f 73 k-type">comptime_float</span></s
131e0 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>(
13200 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
13220 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
13240 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
13260 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>.......
13280 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>.......<
132a0 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>..
132c0 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.
132e0 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
13300 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
13320 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
13340 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
13360 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
13380 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
133a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 lass="line"><span.class="tok-typ
133c0 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 e">i7</span></span></code>.refer
133e0 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 20 54 68 65 s.to.a.signed.7-bit.integer..The
13400 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 66 20 61 6e .maximum.allowed.bit-width.of.an
13420 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 3e 3c 73 70 .......integer.type.is.<code><sp
13440 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
13460 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f -number">65535</span></span></co
13480 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 61 6c 73 de>........</p>.......<p>See.als
134a0 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 6e 74 65 67 65 72 o:</p><ul>.<li><a.href="#Integer
134c0 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 s">Integers</a></li>.<li><a.href
134e0 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 3c 6c 69 3e 3c ="#Floats">Floats</a></li>.<li><
13500 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 6c 69 a.href="#void">void</a></li>.<li
13520 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 6c ><a.href="#Errors">Errors</a></l
13540 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e i>.<li><a.href="#Type">@Type</a>
13560 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 64 </li>.</ul>...............<h3.id
13580 3d 22 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ="Primitive-Values"><a.href="#to
135a0 63 2d 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 56 61 c-Primitive-Values">Primitive.Va
135c0 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 65 66 3d 22 23 50 lues</a>.<a.class="hdr".href="#P
135e0 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 rimitive-Values">..</a></h3>....
13600 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 70 65 72 22 3e 0a ....<div.class="table-wrapper">.
13620 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 50 ......<table>.........<caption>P
13640 72 69 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 rimitive.Values</caption>.......
13660 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 20 20 20 20 20 20 ..<thead>.........<tr>..........
13680 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 0a 20 20 20 20 20 .<th.scope="col">Name</th>......
136a0 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 72 69 70 74 69 6f 6e .....<th.scope="col">Description
136c0 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 20 20 20 3c 2f 74 68 </th>.........</tr>.........</th
136e0 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 20 3c 74 72 ead>.........<tbody>.........<tr
13700 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
13720 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
13740 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 73 70 61 6e 3e ss="tok-null">true</span></span>
13760 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 3d 22 6c </code>.and.<code><span.class="l
13780 69 6e 65 22 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 ine"><span.class="tok-null">fals
137a0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 e</span></span></code></th>.....
137c0 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ........<td><code><span.class="l
137e0 69 6e 65 22 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 ine"><span.class="tok-type">bool
13800 3c 2f 73 70 61 6e 3e 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 </span></span></code>.values</td
13820 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>....
13840 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><
13860 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
13880 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-null">null</span></span></cod
138a0 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 20 74 6f 20 e></th>.............<td>used.to.
138c0 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 65 3e 3c 73 set.an.optional.type.to.<code><s
138e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
13900 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-null">null</span></span></code
13920 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 3c 74 72 ></td>.........</tr>.........<tr
13940 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
13960 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
13980 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 3c 2f ss="tok-null">undefined</span></
139a0 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>
139c0 75 73 65 64 20 74 6f 20 6c 65 61 76 65 20 61 20 76 61 6c 75 65 20 75 6e 73 70 65 63 69 66 69 65 used.to.leave.a.value.unspecifie
139e0 64 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 2f 74 d</td>.........</tr>.........</t
13a00 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 20 20 3c 2f 64 69 76 body>.......</table>.......</div
13a20 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
13a40 3e 3c 61 20 68 72 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 ><a.href="#Optionals">Optionals<
13a60 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 /a></li>.<li><a.href="#undefined
13a80 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 ">undefined</a></li>.</ul>......
13aa0 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 .........<h3.id="String-Literals
13ac0 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 6c 73 -and-Unicode-Code-Point-Literals
13ae0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d "><a.href="#toc-String-Literals-
13b00 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 6c 73 22 and-Unicode-Code-Point-Literals"
13b20 3e 53 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 43 6f 64 >String.Literals.and.Unicode.Cod
13b40 65 20 50 6f 69 6e 74 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 e.Point.Literals</a>.<a.class="h
13b60 64 72 22 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 dr".href="#String-Literals-and-U
13b80 6e 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 c2 a7 3c 2f nicode-Code-Point-Literals">..</
13ba0 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 53 74 72 69 6e 67 20 a></h3>........<p>.......String.
13bc0 6c 69 74 65 72 61 6c 73 20 61 72 65 20 63 6f 6e 73 74 61 6e 74 20 73 69 6e 67 6c 65 2d 69 74 65 literals.are.constant.single-ite
13be0 6d 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 3c 2f m.<a.href="#Pointers">Pointers</
13c00 61 3e 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 62 79 74 65 20 61 72 72 61 79 a>.to.null-terminated.byte.array
13c20 73 2e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 73 74 72 69 6e 67 20 6c 69 74 65 s........The.type.of.string.lite
13c40 72 61 6c 73 20 65 6e 63 6f 64 65 73 20 62 6f 74 68 20 74 68 65 20 6c 65 6e 67 74 68 2c 20 61 6e rals.encodes.both.the.length,.an
13c60 64 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 6e 75 6c 6c 2d 74 65 d.the.fact.that.they.are.null-te
13c80 72 6d 69 6e 61 74 65 64 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 68 65 79 20 63 61 rminated,.......and.thus.they.ca
13ca0 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 63 6f n.be.<a.href="#Type-Coercion">co
13cc0 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 erced</a>.to.both.<a.href="#Slic
13ce0 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 es">Slices</a>.and.......<a.href
13d00 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 73 22 ="#Sentinel-Terminated-Pointers"
13d20 3e 4e 75 6c 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 2e 0a 20 >Null-Terminated.Pointers</a>...
13d40 20 20 20 20 20 44 65 72 65 66 65 72 65 6e 63 69 6e 67 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 .....Dereferencing.string.litera
13d60 6c 73 20 63 6f 6e 76 65 72 74 73 20 74 68 65 6d 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 72 ls.converts.them.to.<a.href="#Ar
13d80 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 rays">Arrays</a>........</p>....
13da0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 65 6e 63 6f 64 69 6e 67 20 6f 66 20 61 20 73 ...<p>.......The.encoding.of.a.s
13dc0 74 72 69 6e 67 20 69 6e 20 5a 69 67 20 69 73 20 64 65 2d 66 61 63 74 6f 20 61 73 73 75 6d 65 64 tring.in.Zig.is.de-facto.assumed
13de0 20 74 6f 20 62 65 20 55 54 46 2d 38 2e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 5a 69 67 20 .to.be.UTF-8........Because.Zig.
13e00 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d source.code.is.<a.href="#Source-
13e20 45 6e 63 6f 64 69 6e 67 22 3e 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 3c 2f 61 3e 2c 20 61 6e 79 Encoding">UTF-8.encoded</a>,.any
13e40 20 6e 6f 6e 2d 41 53 43 49 49 20 62 79 74 65 73 20 61 70 70 65 61 72 69 6e 67 20 77 69 74 68 69 .non-ASCII.bytes.appearing.withi
13e60 6e 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 0a 20 20 20 20 20 20 69 6e 20 73 6f 75 72 n.a.string.literal.......in.sour
13e80 63 65 20 63 6f 64 65 20 63 61 72 72 79 20 74 68 65 69 72 20 55 54 46 2d 38 20 6d 65 61 6e 69 6e ce.code.carry.their.UTF-8.meanin
13ea0 67 20 69 6e 74 6f 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 g.into.the.content.of.the.string
13ec0 20 69 6e 20 74 68 65 20 5a 69 67 20 70 72 6f 67 72 61 6d 3b 0a 20 20 20 20 20 20 74 68 65 20 62 .in.the.Zig.program;.......the.b
13ee0 79 74 65 73 20 61 72 65 20 6e 6f 74 20 6d 6f 64 69 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6d ytes.are.not.modified.by.the.com
13f00 70 69 6c 65 72 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 69 73 20 70 6f 73 73 piler........However,.it.is.poss
13f20 69 62 6c 65 20 74 6f 20 65 6d 62 65 64 20 6e 6f 6e 2d 55 54 46 2d 38 20 62 79 74 65 73 20 69 6e ible.to.embed.non-UTF-8.bytes.in
13f40 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 3c 63 6f 64 65 3e to.a.string.literal.using.<code>
13f60 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 20 20 3c 2f 70 3e \xNN</code>.notation........</p>
13f80 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 20 69 6e 74 6f 20 61 .......<p>.......Indexing.into.a
13fa0 20 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 .string.containing.non-ASCII.byt
13fc0 65 73 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 69 6e 64 69 76 69 64 75 61 6c 20 62 79 74 65 73 2c es.will.return.individual.bytes,
13fe0 20 77 68 65 74 68 65 72 20 76 61 6c 69 64 0a 20 20 20 20 20 20 55 54 46 2d 38 20 6f 72 20 6e 6f .whether.valid.......UTF-8.or.no
14000 74 2e 0a 20 20 20 20 20 20 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 t........The.<a.href="#Zig-Stand
14020 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 62 72 61 72 ard-Library">Zig.Standard.Librar
14040 79 3c 2f 61 3e 20 70 72 6f 76 69 64 65 73 20 72 6f 75 74 69 6e 65 73 20 66 6f 72 20 63 68 65 63 y</a>.provides.routines.for.chec
14060 6b 69 6e 67 20 74 68 65 20 76 61 6c 69 64 69 74 79 20 6f 66 20 55 54 46 2d 38 20 65 6e 63 6f 64 king.the.validity.of.UTF-8.encod
14080 65 64 0a 20 20 20 20 20 20 73 74 72 69 6e 67 73 2c 20 61 63 63 65 73 73 69 6e 67 20 74 68 65 69 ed.......strings,.accessing.thei
140a0 72 20 63 6f 64 65 20 70 6f 69 6e 74 73 20 61 6e 64 20 6f 74 68 65 72 20 65 6e 63 6f 64 69 6e 67 r.code.points.and.other.encoding
140c0 2f 64 65 63 6f 64 69 6e 67 20 72 65 6c 61 74 65 64 20 74 61 73 6b 73 20 69 6e 0a 20 20 20 20 20 /decoding.related.tasks.in......
140e0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 75 6e .<code><span.class="line">std.un
14100 69 63 6f 64 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 3e 0a icode</span></code>........</p>.
14120 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 6f 69 ......<p>.......Unicode.code.poi
14140 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 70 61 nt.literals.have.type.<code><spa
14160 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
14180 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 73 70 61 6e 3e type">comptime_int</span></span>
141a0 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 </code>,.the.same.as.......<a.hr
141c0 65 66 3d 22 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 72 20 4c ef="#Integer-Literals">Integer.L
141e0 69 74 65 72 61 6c 73 3c 2f 61 3e 2e 20 41 6c 6c 20 3c 61 20 68 72 65 66 3d 22 23 45 73 63 61 70 iterals</a>..All.<a.href="#Escap
14200 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
14220 3e 20 61 72 65 20 76 61 6c 69 64 20 69 6e 20 62 6f 74 68 20 73 74 72 69 6e 67 20 6c 69 74 65 72 >.are.valid.in.both.string.liter
14240 61 6c 73 0a 20 20 20 20 20 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 als.......and.Unicode.code.point
14260 20 6c 69 74 65 72 61 6c 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a .literals........</p>.......<p>.
14280 20 20 20 20 20 20 49 6e 20 6d 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 ......In.many.other.programming.
142a0 6c 61 6e 67 75 61 67 65 73 2c 20 61 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 languages,.a.Unicode.code.point.
142c0 6c 69 74 65 72 61 6c 20 69 73 20 63 61 6c 6c 65 64 20 61 20 22 63 68 61 72 61 63 74 65 72 20 6c literal.is.called.a."character.l
142e0 69 74 65 72 61 6c 22 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 72 65 20 69 73 iteral"........However,.there.is
14300 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 75 6e 69 63 6f 64 65 2e 6f 72 67 2f 67 6c .<a.href="https://unicode.org/gl
14320 6f 73 73 61 72 79 22 3e 6e 6f 20 70 72 65 63 69 73 65 20 74 65 63 68 6e 69 63 61 6c 20 64 65 66 ossary">no.precise.technical.def
14340 69 6e 69 74 69 6f 6e 20 6f 66 20 61 20 22 63 68 61 72 61 63 74 65 72 22 3c 2f 61 3e 0a 20 20 20 inition.of.a."character"</a>....
14360 20 20 20 69 6e 20 72 65 63 65 6e 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 55 6e 69 ...in.recent.versions.of.the.Uni
14380 63 6f 64 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 28 61 73 20 6f 66 20 55 6e 69 63 6f 64 code.specification.(as.of.Unicod
143a0 65 20 31 33 2e 30 29 2e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 55 6e 69 63 6f 64 65 e.13.0)........In.Zig,.a.Unicode
143c0 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 .code.point.literal.corresponds.
143e0 74 6f 20 74 68 65 20 55 6e 69 63 6f 64 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 20 63 to.the.Unicode.definition.of.a.c
14400 6f 64 65 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 66 69 67 ode.point........</p>.......<fig
14420 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">
14440 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 <cite.class="file">string_litera
14460 6c 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 ls.zig</cite></figcaption><pre><
14480 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
144a0 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 6e 74 20 ass="tok-kw">const</span>.print.
144c0 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
144e0 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"
14500 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 2e 70 >&quot;std&quot;</span>).debug.p
14520 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e rint;</span>.<span.class="line">
14540 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
14560 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 6e >.mem.=.<span.class="tok-builtin
14580 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
145a0 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 6d k-str">&quot;std&quot;</span>).m
145c0 65 6d 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 em;.<span.class="tok-comment">//
145e0 20 77 69 6c 6c 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 .will.be.used.to.compare.bytes</
14600 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
14620 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
14640 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
14660 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.
14680 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
146a0 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>.
146c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
146e0 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
14700 3e 20 62 79 74 65 73 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 >.bytes.=.<span.class="tok-str">
14720 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e &quot;hello&quot;</span>;</span>
14740 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 .<span.class="line">....print(<s
14760 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 5c 6e 26 71 pan.class="tok-str">&quot;{}\n&q
14780 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 2d uot;</span>,..{<span.class="tok-
147a0 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 62 79 74 65 73 29 7d 29 builtin">@TypeOf</span>(bytes)})
147c0 3b 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=
147e0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 3c "tok-comment">//.*const.[5:0]u8<
14800 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
14820 3e 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 22 >....print(<span.class="tok-str"
14840 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 2e 7b 62 79 74 >&quot;{d}\n&quot;</span>,..{byt
14860 65 73 2e 6c 65 6e 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 es.len});.......................
14880 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 35 3c 2f <span.class="tok-comment">//.5</
148a0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
148c0 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 22 3e ....print(<span.class="tok-str">
148e0 26 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 &quot;{c}\n&quot;</span>,..{byte
14900 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
14920 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 20 20 20 20 20 3c an>]});........................<
14940 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 27 65 27 3c span.class="tok-comment">//.'e'<
14960 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
14980 3e 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 22 >....print(<span.class="tok-str"
149a0 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 2e 7b 62 79 74 >&quot;{d}\n&quot;</span>,..{byt
149c0 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 3e 35 3c 2f 73 es[<span.class="tok-number">5</s
149e0 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 20 20 20 20 20 pan>]});........................
14a00 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 30 3c 2f <span.class="tok-comment">//.0</
14a20 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
14a40 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 22 3e ....print(<span.class="tok-str">
14a60 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 2e 7b 3c 73 70 61 6e &quot;{}\n&quot;</span>,..{<span
14a80 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 3e 20 3d 3d 20 3c .class="tok-str">'e'</span>.==.<
14aa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 78 36 35 27 3c 2f 73 70 61 span.class="tok-str">'\x65'</spa
14ac0 6e 3e 7d 29 3b 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 n>});....................<span.c
14ae0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 72 75 65 3c 2f 73 70 61 6e lass="tok-comment">//.true</span
14b00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
14b20 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
14b40 74 3b 7b 64 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 6c t;{d}\n&quot;</span>,..{<span.cl
14b60 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 75 7b 31 66 34 61 39 7d 27 3c 2f 73 70 61 6e 3e ass="tok-str">'\u{1f4a9}'</span>
14b80 7d 29 3b 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
14ba0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 31 32 38 31 36 39 3c 2f 73 70 61 ass="tok-comment">//.128169</spa
14bc0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
14be0 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
14c00 6f 74 3b 7b 64 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;{d}\n&quot;</span>,..{<span.c
14c20 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 f0 9f 92 af 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 lass="tok-str">'....'</span>});.
14c40 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 3c 73 70 61 6e ...........................<span
14c60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 31 32 38 31 37 35 3c 2f .class="tok-comment">//.128175</
14c80 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
14ca0 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 22 3e ....print(<span.class="tok-str">
14cc0 26 71 75 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 &quot;{u}\n&quot;</span>,..{<spa
14ce0 6e 20 63 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 n.class="tok-str">'...'</span>})
14d00 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
14d20 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
14d40 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 6c 28 3c t;{}\n&quot;</span>,..{mem.eql(<
14d60 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>,
14d80 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 6c .<span.class="tok-str">&quot;hel
14da0 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 22 74 6f lo&quot;</span>,.<span.class="to
14dc0 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 73 70 61 k-str">&quot;h\x65llo&quot;</spa
14de0 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 63 6f 6d n>)});......<span.class="tok-com
14e00 6d 65 6e 74 22 3e 2f 2f 20 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ment">//.true</span></span>.<spa
14e20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 n.class="line">....print(<span.c
14e40 6c 61 73 73 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 lass="tok-str">&quot;{}\n&quot;<
14e60 2f 73 70 61 6e 3e 2c 20 2e 7b 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>,..{mem.eql(<span.class="t
14e80 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 3d ok-type">u8</span>,.<span.class=
14ea0 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 2f 73 70 61 6e "tok-str">&quot;....&quot;</span
14ec0 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 5c >,.<span.class="tok-str">&quot;\
14ee0 78 66 30 5c 78 39 66 5c 78 39 32 5c 78 61 66 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 7d 29 3b xf0\x9f\x92\xaf&quot;</span>)});
14f00 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 61 6c .<span.class="tok-comment">//.al
14f20 73 6f 20 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 so.true</span></span>.<span.clas
14f40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
14f60 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 76 61 6c 69 64 5f 75 74 66 38 20 3d 20 3c 73 ">const</span>.invalid_utf8.=.<s
14f80 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 78 66 66 5c 78 pan.class="tok-str">&quot;\xff\x
14fa0 66 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 fe&quot;</span>;......<span.clas
14fc0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 6e 2d 55 54 46 2d 38 20 73 74 72 s="tok-comment">//.non-UTF-8.str
14fe0 69 6e 67 73 20 61 72 65 20 70 6f 73 73 69 62 6c 65 20 77 69 74 68 20 5c 78 4e 4e 20 6e 6f 74 61 ings.are.possible.with.\xNN.nota
15000 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d tion.</span></span>.<span.class=
15020 22 6c 69 6e 65 22 3e 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 "line">....print(<span.class="to
15040 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 30 78 7b 78 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e k-str">&quot;0x{x}\n&quot;</span
15060 3e 2c 20 2e 7b 69 6e 76 61 6c 69 64 5f 75 74 66 38 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >,..{invalid_utf8[<span.class="t
15080 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 3c 73 70 61 6e 20 63 6c ok-number">1</span>]});.<span.cl
150a0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 64 65 78 69 6e 67 20 74 68 ass="tok-comment">//.indexing.th
150c0 65 6d 20 72 65 74 75 72 6e 73 20 69 6e 64 69 76 69 64 75 61 6c 20 62 79 74 65 73 2e 2e 2e 3c 2f em.returns.individual.bytes...</
150e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
15100 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 22 3e ....print(<span.class="tok-str">
15120 26 71 75 6f 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 3c 73 &quot;0x{x}\n&quot;</span>,..{<s
15140 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 f0 9f 92 af 26 71 pan.class="tok-str">&quot;....&q
15160 75 6f 74 3b 3c 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 uot;</span>[<span.class="tok-num
15180 62 65 72 22 3e 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 ber">1</span>]});....<span.class
151a0 3d 22 74 6f 6b 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 ="tok-comment">//....as.does.ind
151c0 65 78 69 6e 67 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 exing.part-way.through.non-ASCII
151e0 20 63 68 61 72 61 63 74 65 72 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .characters</span></span>.<span.
15200 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
15220 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
15240 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
15260 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
15280 78 65 20 73 74 72 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 xe.string_literals.zig</kbd>.$.<
152a0 6b 62 64 3e 2e 2f 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 kbd>./string_literals</kbd>.*con
152c0 73 74 20 5b 35 3a 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 st.[5:0]u8.5.e.0.true.128169.128
152e0 31 37 35 0a e2 9a 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 175.....true.true.0xfe.0x9f.</sa
15300 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.
15320 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 41 72 72 61 also:</p><ul>.<li><a.href="#Arra
15340 79 73 22 3e 41 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 ys">Arrays</a></li>.<li><a.href=
15360 22 23 53 6f 75 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 "#Source-Encoding">Source.Encodi
15380 6e 67 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 34 20 69 64 3d ng</a></li>.</ul>........<h4.id=
153a0 22 45 73 63 61 70 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 "Escape-Sequences"><a.href="#toc
153c0 2d 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 65 6e -Escape-Sequences">Escape.Sequen
153e0 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 45 73 ces</a>.<a.class="hdr".href="#Es
15400 63 61 70 65 2d 53 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 cape-Sequences">..</a></h4>.....
15420 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">..
15440 20 20 20 20 20 3c 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 .....<table>.........<caption>Es
15460 63 61 70 65 20 53 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 cape.Sequences</caption>........
15480 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 20 20 20 20 20 20 20 .<thead>.........<tr>...........
154a0 3c 74 68 20 73 63 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 <th.scope="col">Escape.Sequence<
154c0 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 4e /th>...........<th.scope="col">N
154e0 61 6d 65 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 20 20 20 3c ame</th>.........</tr>.........<
15500 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 20 /thead>.........<tbody>.........
15520 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"
15540 3e 3c 63 6f 64 65 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 ><code>\n</code></th>...........
15560 3c 74 64 3e 4e 65 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 <td>Newline</td>.........</tr>..
15580 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
155a0 65 3d 22 72 6f 77 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 e="row"><code>\r</code></th>....
155c0 20 20 20 20 20 20 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 .......<td>Carriage.Return</td>.
155e0 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>......
15600 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 5c 74 3c .......<th.scope="row"><code>\t<
15620 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 54 61 62 3c 2f 74 /code></th>...........<td>Tab</t
15640 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 20 d>.........</tr>.........<tr>...
15660 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>
15680 5c 5c 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 42 61 63 \\</code></th>...........<td>Bac
156a0 6b 73 6c 61 73 68 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 kslash</td>.........</tr>.......
156c0 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
156e0 77 22 3e 3c 63 6f 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 w"><code>\'</code></th>.........
15700 20 20 3c 74 64 3e 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 ..<td>Single.Quote</td>.........
15720 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>.............<
15740 74 68 20 73 63 6f 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 th.scope="row"><code>\"</code></
15760 74 68 3e 0a 20 20 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 th>...........<td>Double.Quote</
15780 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>..
157a0 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
157c0 3e 5c 78 4e 4e 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 >\xNN</code></th>...........<td>
157e0 68 65 78 61 64 65 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 hexadecimal.8-bit.byte.value.(2.
15800 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 20 digits)</td>.........</tr>......
15820 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
15840 6f 77 22 3e 3c 63 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 ow"><code>\u{NNNNNN}</code></th>
15860 0a 20 20 20 20 20 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 ...........<td>hexadecimal.Unico
15880 64 65 20 63 6f 64 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 de.code.point.UTF-8.encoded.(1.o
158a0 72 20 6d 6f 72 65 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 r.more.digits)</td>.........</tr
158c0 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 65 >.........</tbody>.......</table
158e0 3e 0a 20 20 20 20 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 >.......</div>.......<p>Note.tha
15900 74 20 74 68 65 20 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 t.the.maximum.valid.Unicode.poin
15920 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 t.is.<code><span.class="line"><s
15940 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 30 66 66 66 66 3c pan.class="tok-number">0x10ffff<
15960 2f 73 70 61 6e 3e 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 /span></span></code>.</p>.......
15980 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-
159a0 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
159c0 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
159e0 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".
15a00 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
15a20 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
15a40 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
15a60 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
15a80 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
15aa0 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.
15ac0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
15ae0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c lass="tok-str">\\</span></span><
15b00 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 63 6f 6d 6d 65 6e /code>.token..Just.like.a.commen
15b20 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 6c 20 67 6f 65 73 t,.......the.string.literal.goes
15b40 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 2e 20 54 68 65 20 .until.the.end.of.the.line..The.
15b60 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 6f 74 20 69 6e 63 end.of.the.line.is.......not.inc
15b80 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 6c 2e 0a 20 20 20 luded.in.the.string.literal.....
15ba0 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 6e 65 20 62 65 67 ...However,.if.the.next.line.beg
15bc0 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 3d 22 6c 69 6e 65 ins.with.<code><span.class="line
15be0 22 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 73 70 61 6e "><span.class="tok-str">\\</span
15c00 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e 20 61 20 6e 65 77 6c 69 6e 65 20 69 ></span></code>.then.a.newline.i
15c20 73 20 61 70 70 65 6e 64 65 64 20 61 6e 64 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e 67 20 s.appended.and.......the.string.
15c40 6c 69 74 65 72 61 6c 20 63 6f 6e 74 69 6e 75 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 literal.continues........</p>...
15c60 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
15c80 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 6d 75 6c 74 69 ig-cap"><cite.class="file">multi
15ca0 6c 69 6e 65 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c line_string_literals.zig</cite><
15cc0 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
15ce0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
15d00 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 5f 69 6e 5f 63 20 3d 3c 2f onst</span>.hello_world_in_c.=</
15d20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
15d40 61 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 an.class="tok-str">\\#include.&l
15d60 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t;stdio.h&gt;</span></span>.<spa
15d80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
15da0 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 tok-str">\\</span></span>.<span.
15dc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
15de0 6b 2d 73 74 72 22 3e 5c 5c 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 k-str">\\int.main(int.argc,.char
15e00 20 2a 2a 61 72 67 76 29 20 7b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .**argv).{</span></span>.<span.c
15e20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
15e40 2d 73 74 72 22 3e 5c 5c 20 20 20 20 70 72 69 6e 74 66 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 -str">\\....printf(&quot;hello.w
15e60 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 orld\n&quot;);</span></span>.<sp
15e80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
15ea0 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e "tok-str">\\....return.0;</span>
15ec0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
15ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 7d 3c 2f 73 70 61 6e 3e 3c span.class="tok-str">\\}</span><
15f00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3b 3c 2f 73 70 61 /span>.<span.class="line">;</spa
15f20 6e 3e 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 n></code></pre></figure>.......<
15f40 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=
15f60 22 23 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 3c 2f 6c 69 3e "#embedFile">@embedFile</a></li>
15f80 0a 3c 2f 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 33 20 .</ul>......................<h3.
15fa0 69 64 3d 22 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 id="Assignment"><a.href="#toc-As
15fc0 73 69 67 6e 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 signment">Assignment</a>.<a.clas
15fe0 73 3d 22 68 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 s="hdr".href="#Assignment">..</a
16000 3e 3c 2f 68 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 ></h3>........<p>Use.the.<code><
16020 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
16040 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">const</span></span></code
16060 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 20 61 >.keyword.to.assign.a.value.to.a
16080 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 65 3e n.identifier:</p>.......<figure>
160a0 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
160c0 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 66 69 e.class="file">constant_identifi
160e0 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 69 67 er_cannot_change.zig</cite></fig
16100 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="
16120 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
16140 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 74 6f 6b 2d 6e 75 6d </span>.x.=.<span.class="tok-num
16160 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">1234</span>;</span>.<span.c
16180 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
161a0 22 6c 69 6e 65 22 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 2f "line"><span.class="tok-kw">fn</
161c0 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</
161e0 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
16200 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d oid</span>.{</span>.<span.class=
16220 22 6c 69 6e 65 22 3e 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 "line">....<span.class="tok-comm
16240 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 61 ent">//.It.works.at.file.scope.a
16260 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 61 s.well.as.inside.functions.</spa
16280 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
162a0 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
162c0 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 75 6d 62 65 72 22 3e n>.y.=.<span.class="tok-number">
162e0 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 5678</span>;</span>.<span.class=
16300 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
16320 22 3e 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">
16340 2f 2f 20 4f 6e 63 65 20 61 73 73 69 67 6e 65 64 2c 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 //.Once.assigned,.an.identifier.
16360 63 61 6e 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e cannot.be.changed.</span></span>
16380 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 20 2b 3d 20 3c 73 70 .<span.class="line">....y.+=.<sp
163a0 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 3c an.class="tok-number">1</span>;<
163c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
163e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
16400 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
16420 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
16440 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
16460 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 3d 22 -fn">main</span>().<span.class="
16480 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-type">void</span>.{</span>.<
164a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 29 3b 3c 2f 73 70 span.class="line">....foo();</sp
164c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
164e0 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
16500 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
16520 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
16540 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 72 ig.build-exe.constant_identifier
16560 5f 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 _cannot_change.zig</kbd>.<span.c
16580 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 lass="sgr-1m">constant_identifie
165a0 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3a 38 3a 37 3a 20 3c 2f 73 70 61 6e 3e r_cannot_change.zig:8:7:.</span>
165c0 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
165e0 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 63 61 6e 6e 6f 74 20 pan><span.class="sgr-1m">cannot.
16600 61 73 73 69 67 6e 20 74 6f 20 63 6f 6e 73 74 61 6e 74 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 79 20 assign.to.constant.</span>....y.
16620 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">
16640 7e 7e 5e 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
16660 6d 22 3e 72 65 66 65 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 6d 61 69 6e 3a 20 63 6f 6e 73 m">referenced.by:.....main:.cons
16680 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 69 tant_identifier_cannot_change.zi
166a0 67 3a 31 32 3a 35 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 g:12:5.....callMain:./home/ci/ac
166c0 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
166e0 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:
16700 35 36 34 3a 31 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 564:17.....remaining.reference.t
16720 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 63 65 2d 74 races.hidden;.use.'-freference-t
16740 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 72 61 63 65 race'.to.see.all.reference.trace
16760 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 75 72 65 3e s.</span>.</samp></pre></figure>
16780 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 6c 69 6e .......<p><code><span.class="lin
167a0 65 22 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 e"><span.class="tok-kw">const</s
167c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6c pan></span></code>.applies.to.al
167e0 6c 20 6f 66 20 74 68 65 20 62 79 74 65 73 20 74 68 61 74 20 74 68 65 20 69 64 65 6e 74 69 66 69 l.of.the.bytes.that.the.identifi
16800 65 72 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 64 64 72 65 73 73 65 73 2e 20 3c 61 20 68 72 65 er.immediately.addresses..<a.hre
16820 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 68 61 76 65 20 f="#Pointers">Pointers</a>.have.
16840 74 68 65 69 72 20 6f 77 6e 20 63 6f 6e 73 74 2d 6e 65 73 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 their.own.const-ness.</p>.......
16860 3c 70 3e 49 66 20 79 6f 75 20 6e 65 65 64 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 79 <p>If.you.need.a.variable.that.y
16880 6f 75 20 63 61 6e 20 6d 6f 64 69 66 79 2c 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 ou.can.modify,.use.the.<code><sp
168a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
168c0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 -kw">var</span></span></code>.ke
168e0 79 77 6f 72 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 yword:</p>.......<figure><figcap
16900 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
16920 3d 22 66 69 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 ="file">mutable_var.zig</cite></
16940 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
16960 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
16980 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 73 73 3d 22 nst</span>.print.=.<span.class="
169a0 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
169c0 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
169e0 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ;</span>).debug.print;</span>.<s
16a00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
16a20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
16a40 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"
16a60 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">
16a80 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
16aa0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">void</span>.{</span>.<span.
16ac0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
16ae0 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 61 73 73 3d k-kw">var</span>.y:.<span.class=
16b00 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 6c "tok-type">i32</span>.=.<span.cl
16b20 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 3b 3c 2f 73 ass="tok-number">5678</span>;</s
16b40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
16b60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 <span.class="line">....y.+=.<spa
16b80 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 3c 2f n.class="tok-number">1</span>;</
16ba0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
16bc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 .<span.class="line">....print(<s
16be0 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 26 71 75 pan.class="tok-str">&quot;{d}&qu
16c00 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ot;</span>,..{y});</span>.<span.
16c20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
16c40 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
16c60 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
16c80 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
16ca0 78 65 20 6d 75 74 61 62 6c 65 5f 76 61 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e xe.mutable_var.zig</kbd>.$.<kbd>
16cc0 2e 2f 6d 75 74 61 62 6c 65 5f 76 61 72 3c 2f 6b 62 64 3e 0a 35 36 37 39 0a 3c 2f 73 61 6d 70 3e ./mutable_var</kbd>.5679.</samp>
16ce0 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 56 61 72 69 61 62 6c </pre></figure>.......<p>Variabl
16d00 65 73 20 6d 75 73 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 es.must.be.initialized:</p>.....
16d20 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
16d40 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 76 61 72 5f 6d 75 73 -cap"><cite.class="file">var_mus
16d60 74 5f 62 65 5f 69 6e 69 74 69 61 6c 69 7a 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 t_be_initialized.zig</cite></fig
16d80 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="
16da0 6c 69 6e 65 22 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 line"><span.class="tok-kw">pub</
16dc0 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
16de0 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</
16e00 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
16e20 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d oid</span>.{</span>.<span.class=
16e40 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
16e60 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
16e80 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ype">i32</span>;</span>.<span.cl
16ea0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
16ec0 6c 69 6e 65 22 3e 20 20 20 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e line">....x.=.<span.class="tok-n
16ee0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">1</span>;</span>.<span.cl
16f00 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
16f20 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
16f40 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
16f60 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
16f80 20 76 61 72 5f 6d 75 73 74 5f 62 65 5f 69 6e 69 74 69 61 6c 69 7a 65 64 2e 7a 69 67 3c 2f 6b 62 .var_must_be_initialized.zig</kb
16fa0 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 76 61 72 5f 6d 75 73 74 d>.<span.class="sgr-1m">var_must
16fc0 5f 62 65 5f 69 6e 69 74 69 61 6c 69 7a 65 64 2e 7a 69 67 3a 32 3a 35 3a 20 3c 2f 73 70 61 6e 3e _be_initialized.zig:2:5:.</span>
16fe0 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
17000 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 76 61 72 69 61 62 6c pan><span.class="sgr-1m">variabl
17020 65 73 20 6d 75 73 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 0a 3c 2f 73 70 61 6e 3e 20 20 es.must.be.initialized.</span>..
17040 20 20 76 61 72 20 78 3a 20 69 33 32 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 ..var.x:.i32;.....<span.class="s
17060 67 72 2d 33 32 6d 22 3e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d gr-32m">^~~~~~~~~~.</span>.</sam
17080 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 3d 22 p></pre></figure>.......<h4.id="
170a0 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 75 6e 64 65 66 69 6e undefined"><a.href="#toc-undefin
170c0 65 64 22 3e 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 ed">undefined</a>.<a.class="hdr"
170e0 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a .href="#undefined">..</a></h4>..
17100 20 20 20 20 20 20 3c 70 3e 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ......<p>Use.<code><span.class="
17120 6c 69 6e 65 22 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 line"><span.class="tok-null">und
17140 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6c efined</span></span></code>.to.l
17160 65 61 76 65 20 76 61 72 69 61 62 6c 65 73 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 3a 3c 2f 70 eave.variables.uninitialized:</p
17180 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
171a0 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 61 s="zig-cap"><cite.class="file">a
171c0 73 73 69 67 6e 5f 75 6e 64 65 66 69 6e 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ssign_undefined.zig</cite></figc
171e0 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 6c aption><pre><code><span.class="l
17200 69 6e 65 22 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 ine"><span.class="tok-kw">const<
17220 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 6f 6b 2d /span>.print.=.<span.class="tok-
17240 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
17260 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 73 ass="tok-str">&quot;std&quot;</s
17280 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan>).debug.print;</span>.<span.
172a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
172c0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">pub
172e0 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<
17300 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 6e /span>.<span.class="tok-fn">main
17320 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"
17340 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >void</span>.{</span>.<span.clas
17360 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
17380 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
173a0 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=
173c0 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 3c 2f 73 70 "tok-null">undefined</span>;</sp
173e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 20 3d 20 3c an>.<span.class="line">....x.=.<
17400 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>
17420 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
17440 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
17460 74 3b 7b 64 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 3c 2f 73 70 61 6e t;{d}&quot;</span>,..{x});</span
17480 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
174a0 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
174c0 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</
174e0 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
17500 20 62 75 69 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 .build-exe.assign_undefined.zig<
17520 2f 6b 62 64 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 /kbd>.$.<kbd>./assign_undefined<
17540 2f 6b 62 64 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 /kbd>.1.</samp></pre></figure>..
17560 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
17580 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-null">u
175a0 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 ndefined</span></span></code>.ca
175c0 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 63 6f n.be.<a.href="#Type-Coercion">co
175e0 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 20 20 erced</a>.to.any.type...........
17600 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 6f 6e .Once.this.happens,.it.is.no.lon
17620 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 65 20 ger.possible.to.detect.that.the.
17640 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 6c 69 6e 65 value.is.<code><span.class="line
17660 22 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 66 69 6e "><span.class="tok-null">undefin
17680 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 ed</span></span></code>.........
176a0 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 6c 69 6e 65 22 3e .......<code><span.class="line">
176c0 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 64 <span.class="tok-null">undefined
176e0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 74 68 65 20 </span></span></code>.means.the.
17700 76 61 6c 75 65 20 63 6f 75 6c 64 20 62 65 20 61 6e 79 74 68 69 6e 67 2c 20 65 76 65 6e 20 73 6f value.could.be.anything,.even.so
17720 6d 65 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 6e 73 65 6e 73 65 0a 20 20 20 20 20 20 20 mething.that.is.nonsense........
17740 20 20 20 20 20 20 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 74 79 70 65 ...........according.to.the.type
17760 2e 20 54 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 45 6e 67 6c 69 73 68 2c 20 3c 63 6f 64 65 ..Translated.into.English,.<code
17780 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
177a0 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 73 70 61 "tok-null">undefined</span></spa
177c0 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 22 4e 6f 74 20 61 20 6d 65 61 6e 69 6e 67 66 75 n></code>.means."Not.a.meaningfu
177e0 6c 0a 20 20 20 20 20 20 76 61 6c 75 65 2e 20 55 73 69 6e 67 20 74 68 69 73 20 76 61 6c 75 65 20 l.......value..Using.this.value.
17800 77 6f 75 6c 64 20 62 65 20 61 20 62 75 67 2e 20 54 68 65 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 would.be.a.bug..The.value.will.b
17820 65 20 75 6e 75 73 65 64 2c 20 6f 72 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 65 66 6f 72 65 20 e.unused,.or.overwritten.before.
17840 62 65 69 6e 67 20 75 73 65 64 2e 22 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 being.used.".......</p>.......<p
17860 3e 0a 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 >.......In.<a.href="#Debug">Debu
17880 67 3c 2f 61 3e 20 6d 6f 64 65 2c 20 5a 69 67 20 77 72 69 74 65 73 20 3c 63 6f 64 65 3e 3c 73 70 g</a>.mode,.Zig.writes.<code><sp
178a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
178c0 2d 6e 75 6d 62 65 72 22 3e 30 78 61 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 -number">0xaa</span></span></cod
178e0 65 3e 20 62 79 74 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 e>.bytes.to.undefined.memory..Th
17900 69 73 20 69 73 20 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 is.is.to.catch.......bugs.early,
17920 20 61 6e 64 20 74 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 .and.to.help.detect.use.of.undef
17940 69 6e 65 64 20 6d 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 ined.memory.in.a.debugger..Howev
17960 65 72 2c 20 74 68 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 er,.this.behavior.is.only.an....
17980 20 20 20 69 6d 70 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 ...implementation.feature,.not.a
179a0 20 6c 61 6e 67 75 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 .language.semantic,.so.it.is.not
179c0 20 67 75 61 72 61 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 .guaranteed.to.be.observable.to.
179e0 63 6f 64 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 20 code........</p>................
17a00 20 20 20 20 20 0a 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 ............<h2.id="Zig-Test"><a
17a20 20 68 72 65 66 3d 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 .href="#toc-Zig-Test">Zig.Test</
17a40 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 69 67 2d 54 65 73 a>.<a.class="hdr".href="#Zig-Tes
17a60 74 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 t">..</a></h2>........<p>.......
17a80 20 20 43 6f 64 65 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 ..Code.written.within.one.or.mor
17aa0 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e.<code><span.class="line"><span
17ac0 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 3c 2f 73 70 61 .class="tok-kw">test</span></spa
17ae0 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
17b00 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
17b20 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
17b40 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"><
17b60 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
17b80 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
17ba0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
17bc0 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
17be0 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
17c00 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
17c20 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 3c 2f 73 70 61 r">&quot;std&quot;</span>);</spa
17c40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
17c60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
17c80 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
17ca0 6f 6b 2d 73 74 72 22 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 ok-str">&quot;expect.addOne.adds
17cc0 20 6f 6e 65 20 74 6f 20 34 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e .one.to.41&quot;</span>.{</span>
17ce0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
17d00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
17d20 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 64 20 4c 69 62 tok-comment">//.The.Standard.Lib
17d40 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 6f 6e 73 20 74 rary.contains.useful.functions.t
17d60 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 3c 2f 73 70 61 o.help.create.tests.</span></spa
17d80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
17da0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 65 78 70 65 63 74 60 20 class="tok-comment">//.`expect`.
17dc0 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 76 65 72 69 66 69 65 73 20 69 74 73 20 is.a.function.that.verifies.its.
17de0 61 72 67 75 6d 65 6e 74 20 69 73 20 74 72 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a argument.is.true.</span></span>.
17e00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
17e20 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 77 69 6c 6c 20 72 65 74 75 ss="tok-comment">//.It.will.retu
17e40 72 6e 20 61 6e 20 65 72 72 6f 72 20 69 66 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 66 rn.an.error.if.its.argument.is.f
17e60 61 6c 73 65 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 20 66 61 69 6c 75 72 65 2e 3c 2f 73 70 61 alse.to.indicate.a.failure.</spa
17e80 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
17ea0 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 74 .<span.class="tok-comment">//.`t
17ec0 72 79 60 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 74 ry`.is.used.to.return.an.error.t
17ee0 6f 20 74 68 65 20 74 65 73 74 20 72 75 6e 6e 65 72 20 74 6f 20 6e 6f 74 69 66 79 20 69 74 20 74 o.the.test.runner.to.notify.it.t
17f00 68 61 74 20 74 68 65 20 74 65 73 74 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 hat.the.test.failed.</span></spa
17f20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
17f40 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 2e 74 65 class="tok-kw">try</span>.std.te
17f60 73 74 69 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 sting.expect(addOne(<span.class=
17f80 22 74 6f 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 "tok-number">41</span>).==.<span
17fa0 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 29 3b 3c .class="tok-number">42</span>);<
17fc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
17fe0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
18000 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
18020 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 61 64 64 4f 6e 65 20 7b 3c 2f 73 70 61 6e k-kw">test</span>.addOne.{</span
18040 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
18060 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 74 65 73 74 20 6e 61 6d lass="tok-comment">//.A.test.nam
18080 65 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 75 73 69 6e 67 20 61 6e 20 69 e.can.also.be.written.using.an.i
180a0 64 65 6e 74 69 66 69 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 dentifier.</span></span>.<span.c
180c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
180e0 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
18100 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
18120 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
18140 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">42</span>);</span>.<sp
18160 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
18180 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
181a0 22 6c 69 6e 65 22 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 "line"><span.class="tok-comment"
181c0 3e 2f 2f 2f 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 61 64 64 4f 6e 65 60 20 61 64 64 73 20 >///.The.function.`addOne`.adds.
181e0 6f 6e 65 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 61 73 20 69 74 73 20 61 one.to.the.number.given.as.its.a
18200 72 67 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 rgument.</span></span>.<span.cla
18220 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
18240 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
18260 64 4f 6e 65 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 dOne</span>(number:.<span.class=
18280 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
182a0 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 3c 2f 73 70 61 6e ss="tok-type">i32</span>.{</span
182c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
182e0 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 75 6d 62 lass="tok-kw">return</span>.numb
18300 65 72 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 er.+.<span.class="tok-number">1<
18320 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
18340 22 3e 7d 3c 2f 73 70 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 ">}</span></code></pre></figure>
18360 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
18380 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
183a0 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 69 6e 74 72 6f mp>$.<kbd>zig.test.testing_intro
183c0 64 75 63 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 65 78 70 65 63 duction.zig</kbd>.1/2.test.expec
183e0 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 2e 2e 2e 20 4f 4b 0a 32 2f t.addOne.adds.one.to.41....OK.2/
18400 32 20 64 65 63 6c 74 65 73 74 2e 61 64 64 4f 6e 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 2.decltest.addOne....OK.All.2.te
18420 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
18440 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 3c 63 6f 64 65 20 63 e>.......<p>.........The.<code.c
18460 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 75 63 74 69 6f 6e lass="file">testing_introduction
18480 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 65 73 74 73 20 74 68 .zig</code>.code.sample.tests.th
184a0 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 6e 63 74 69 6f 6e 3c e.<a.href="#Functions">function<
184c0 2f 61 3e 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 6c /a>.........<code><span.class="l
184e0 69 6e 65 22 3e 61 64 64 4f 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 65 6e 73 ine">addOne</span></code>.to.ens
18500 75 72 65 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ure.that.it.returns.<code><span.
18520 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 class="line"><span.class="tok-nu
18540 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 67 69 mber">42</span></span></code>.gi
18560 76 65 6e 20 74 68 65 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 ven.the.input.........<code><spa
18580 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
185a0 6e 75 6d 62 65 72 22 3e 34 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e number">41</span></span></code>.
185c0 20 46 72 6f 6d 20 74 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 .From.this.test's.perspective,.t
185e0 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 64 64 4f he.<code><span.class="line">addO
18600 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 ne</span></code>.function.is....
18620 20 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 .....said.to.be.<em>code.under.t
18640 65 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 est</em>........</p>.......<p>..
18660 20 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 .......<kbd>zig.test</kbd>.is.a.
18680 74 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 tool.that.creates.and.runs.a.tes
186a0 74 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 t.build..By.default,.it.builds.a
186c0 6e 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 nd.runs.an.........executable.pr
186e0 6f 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 ogram.using.the.<em>default.test
18700 20 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 .runner</em>.provided.by.the.<a.
18720 68 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 href="#Zig-Standard-Library">Zig
18740 20 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 .Standard.Library</a>.........as
18760 20 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 .its.main.entry.point..During.th
18780 65 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 6c 69 6e 65 e.build,.<code><span.class="line
187a0 22 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 "><span.class="tok-kw">test</spa
187c0 6e 3e 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 6e 73 20 66 6f n></span></code>.declarations.fo
187e0 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 23 52 6f 6f 74 und.while.........<a.href="#Root
18800 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 20 74 68 65 20 -Source-File">resolving</a>.the.
18820 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 6e 63 6c 75 64 given.Zig.source.file.are.includ
18840 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 6e 65 72 0a 20 ed.for.the.default.test.runner..
18860 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 2e 0a 20 20 20 .......to.run.and.report.on.....
18880 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 20 20 20 54 68 ...</p>.......<aside>.........Th
188a0 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 74 68 65 20 66 is.documentation.discusses.the.f
188c0 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 20 72 75 6e 6e eatures.of.the.default.test.runn
188e0 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 74 61 6e 64 61 er.as.provided.by.the.Zig.Standa
18900 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 72 63 65 20 63 rd.Library..........Its.source.c
18920 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 73 73 3d 22 66 ode.is.located.in.<code.class="f
18940 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 6f 64 65 3e 2e ile">lib/test_runner.zig</code>.
18960 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 20 20 20 20 20 .......</aside>.......<p>.......
18980 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 6f 76 65 20 64 ..The.shell.output.shown.above.d
189a0 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 20 3c 6b 62 64 isplays.two.lines.after.the.<kbd
189c0 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 65 73 65 20 6c >zig.test</kbd>.command..These.l
189e0 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 20 73 74 61 6e ines.are.........printed.to.stan
18a00 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 65 73 74 20 72 dard.error.by.the.default.test.r
18a20 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 3e 0a 20 20 20 unner:.......</p>.......<dl>....
18a40 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 3e 54 65 73 74 20 5b 31 2f 32 5d 20 74 65 73 74 2e 65 .....<dt><samp>Test.[1/2].test.e
18a60 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 2e 2e 2e 3c 2f xpect.addOne.adds.one.to.41...</
18a80 73 61 6d 70 3e 3c 2f 64 74 3e 0a 20 20 20 20 20 20 20 20 3c 64 64 3e 4c 69 6e 65 73 20 6c 69 6b samp></dt>.........<dd>Lines.lik
18aa0 65 20 74 68 69 73 20 69 6e 64 69 63 61 74 65 20 77 68 69 63 68 20 74 65 73 74 2c 20 6f 75 74 20 e.this.indicate.which.test,.out.
18ac0 6f 66 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 74 65 73 74 73 2c 20 69 73 of.the.total.number.of.tests,.is
18ae0 20 62 65 69 6e 67 20 72 75 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 .being.run............In.this.ca
18b00 73 65 2c 20 3c 73 61 6d 70 3e 5b 31 2f 32 5d 3c 2f 73 61 6d 70 3e 20 69 6e 64 69 63 61 74 65 73 se,.<samp>[1/2]</samp>.indicates
18b20 20 74 68 61 74 20 74 68 65 20 66 69 72 73 74 20 74 65 73 74 2c 20 6f 75 74 20 6f 66 20 61 20 74 .that.the.first.test,.out.of.a.t
18b40 6f 74 61 6c 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 74 77 6f 20 74 65 73 74 2c 20 69 73 20 62 otal.of...........two.test,.is.b
18b60 65 69 6e 67 20 72 75 6e 2e 20 4e 6f 74 65 20 74 68 61 74 2c 20 77 68 65 6e 20 74 68 65 20 74 65 eing.run..Note.that,.when.the.te
18b80 73 74 20 72 75 6e 6e 65 72 20 70 72 6f 67 72 61 6d 27 73 20 73 74 61 6e 64 61 72 64 20 65 72 72 st.runner.program's.standard.err
18ba0 6f 72 20 69 73 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 74 65 or.is.output...........to.the.te
18bc0 72 6d 69 6e 61 6c 2c 20 74 68 65 73 65 20 6c 69 6e 65 73 20 61 72 65 20 63 6c 65 61 72 65 64 20 rminal,.these.lines.are.cleared.
18be0 77 68 65 6e 20 61 20 74 65 73 74 20 73 75 63 63 65 65 64 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f when.a.test.succeeds..........</
18c00 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 3e 54 65 73 74 20 5b 32 2f 32 5d dd>.........<dt><samp>Test.[2/2]
18c20 20 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>.
18c40 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
18c60 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
18c80 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..........
18ca0 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.......
18cc0 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
18ce0 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>......
18d00 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
18d20 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
18d40 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
18d60 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
18d80 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
18da0 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
18dc0 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><
18de0 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
18e00 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="#
18e20 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>.<
18e40 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
18e60 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 73 70 61 6e 3e 3c ass="tok-kw">test</span></span><
18e80 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 20 20 20 20 20 6f /code>,.followed.by.an.........o
18ea0 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 3c 61 20 68 72 65 ptional.name.written.as.a.<a.hre
18ec0 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 69 63 6f 64 65 2d f="#String-Literals-and-Unicode-
18ee0 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 67 20 6c 69 74 65 Code-Point-Literals">string.lite
18f00 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 72 65 66 3d 22 23 ral</a>.or.an.........<a.href="#
18f20 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 3e 2c 20 66 6f 6c Identifiers">identifier</a>,.fol
18f40 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 73 22 3e 62 6c 6f lowed.by.a.<a.href="#Blocks">blo
18f60 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 64 20 5a 69 67 20 ck</a>.containing.any.valid.Zig.
18f80 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 65 64 20 69 6e 20 code.that.........is.allowed.in.
18fa0 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 63 74 69 6f 6e 3c a.<a.href="#Functions">function<
18fc0 2f 61 3e 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 /a>........</p>.......<aside>...
18fe0 20 20 20 20 20 20 42 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 6e 6f 6e 2d 6e 61 6d 65 64 20 74 ......By.convention,.non-named.t
19000 65 73 74 73 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 74 6f 20 3c 61 20 68 ests.should.only.be.used.to.<a.h
19020 72 65 66 3d 22 23 4e 65 73 74 65 64 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e 6d 61 ref="#Nested-Container-Tests">ma
19040 6b 65 20 6f 74 68 65 72 20 74 65 73 74 73 20 72 75 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 ke.other.tests.run</a>..........
19060 4e 6f 6e 2d 6e 61 6d 65 64 20 74 65 73 74 73 20 63 61 6e 6e 6f 74 20 62 65 20 3c 61 20 68 72 65 Non-named.tests.cannot.be.<a.hre
19080 66 3d 22 23 53 6b 69 70 2d 54 65 73 74 73 22 3e 66 69 6c 74 65 72 65 64 3c 2f 61 3e 2e 0a 20 20 f="#Skip-Tests">filtered</a>....
190a0 20 20 20 20 3c 2f 61 73 69 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 ....</aside>.......<p>.........T
190c0 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 est.declarations.are.similar.to.
190e0 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 6e 73 3c 2f <a.href="#Functions">Functions</
19100 61 3e 3a 20 74 68 65 79 20 68 61 76 65 20 61 20 72 65 74 75 72 6e 20 74 79 70 65 20 61 6e 64 20 a>:.they.have.a.return.type.and.
19120 61 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 65 2e 20 54 68 65 20 69 6d 70 6c 69 63 69 74 0a 20 20 a.block.of.code..The.implicit...
19140 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ......return.type.of.<code><span
19160 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
19180 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 w">test</span></span></code>.is.
191a0 74 68 65 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 the.<a.href="#Error-Union-Type">
191c0 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e Error.Union.Type</a>.<code><span
191e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .class="line"><span.class="tok-t
19200 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 73 ype">anyerror</span>!<span.class
19220 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 73 70 61 6e 3e 3c 2f ="tok-type">void</span></span></
19240 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 61 6e 64 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 code>,.........and.it.cannot.be.
19260 63 68 61 6e 67 65 64 2e 20 57 68 65 6e 20 61 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 changed..When.a.Zig.source.file.
19280 69 73 20 6e 6f 74 20 62 75 69 6c 74 20 75 73 69 6e 67 20 74 68 65 20 3c 6b 62 64 3e 7a 69 67 20 is.not.built.using.the.<kbd>zig.
192a0 74 65 73 74 3c 2f 6b 62 64 3e 20 74 6f 6f 6c 2c 20 74 68 65 20 74 65 73 74 0a 20 20 20 20 20 20 test</kbd>.tool,.the.test.......
192c0 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 ..declarations.are.omitted.from.
192e0 74 68 65 20 62 75 69 6c 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a the.build........</p>.......<p>.
19300 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 63 61 6e 20 62 65 ........Test.declarations.can.be
19320 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 2c 20 77 68 65 72 65 .written.in.the.same.file,.where
19340 20 63 6f 64 65 20 75 6e 64 65 72 20 74 65 73 74 20 69 73 20 77 72 69 74 74 65 6e 2c 20 6f 72 20 .code.under.test.is.written,.or.
19360 69 6e 20 61 20 73 65 70 61 72 61 74 65 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 in.a.separate.Zig.source.file...
19380 20 20 20 20 20 20 20 53 69 6e 63 65 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 .......Since.test.declarations.a
193a0 72 65 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 74 68 65 79 20 re.top-level.declarations,.they.
193c0 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 20 61 6e 64 20 63 61 6e 0a 20 20 are.order-independent.and.can...
193e0 20 20 20 20 20 20 62 65 20 77 72 69 74 74 65 6e 20 62 65 66 6f 72 65 20 6f 72 20 61 66 74 65 72 ......be.written.before.or.after
19400 20 74 68 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 65 73 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .the.code.under.test........</p>
19420 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>
19440 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 2d 53 65 74 22 3e <a.href="#The-Global-Error-Set">
19460 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 6c 69 3e 0a 3c 6c The.Global.Error.Set</a></li>.<l
19480 69 3e 3c 61 20 68 72 65 66 3d 22 23 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e i><a.href="#Grammar">Grammar</a>
194a0 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 64 </li>.</ul>...............<h3.id
194c0 3d 22 4e 65 73 74 65 64 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e 3c 61 20 68 72 65 ="Nested-Container-Tests"><a.hre
194e0 66 3d 22 23 74 6f 63 2d 4e 65 73 74 65 64 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e f="#toc-Nested-Container-Tests">
19500 4e 65 73 74 65 64 20 43 6f 6e 74 61 69 6e 65 72 20 54 65 73 74 73 3c 2f 61 3e 20 3c 61 20 63 6c Nested.Container.Tests</a>.<a.cl
19520 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4e 65 73 74 65 64 2d 43 6f 6e 74 61 69 6e 65 ass="hdr".href="#Nested-Containe
19540 72 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 r-Tests">..</a></h3>........<p>.
19560 20 20 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f ........When.the.<kbd>zig.test</
19580 6b 62 64 3e 20 74 6f 6f 6c 20 69 73 20 62 75 69 6c 64 69 6e 67 20 61 20 74 65 73 74 20 72 75 6e kbd>.tool.is.building.a.test.run
195a0 6e 65 72 2c 20 6f 6e 6c 79 20 72 65 73 6f 6c 76 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ner,.only.resolved.<code><span.c
195c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
195e0 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 >test</span></span></code>......
19600 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 ...declarations.are.included.in.
19620 74 68 65 20 62 75 69 6c 64 2e 20 49 6e 69 74 69 61 6c 6c 79 2c 20 6f 6e 6c 79 20 74 68 65 20 67 the.build..Initially,.only.the.g
19640 69 76 65 6e 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 27 73 20 74 6f 70 2d 6c 65 76 65 6c iven.Zig.source.file's.top-level
19660 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 72 65 73 6f 6c 76 .........declarations.are.resolv
19680 65 64 2e 20 55 6e 6c 65 73 73 20 6e 65 73 74 65 64 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 ed..Unless.nested.<a.href="#Cont
196a0 61 69 6e 65 72 73 22 3e 63 6f 6e 74 61 69 6e 65 72 73 3c 2f 61 3e 20 61 72 65 20 72 65 66 65 72 ainers">containers</a>.are.refer
196c0 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c enced.from.a.top-level.test.decl
196e0 61 72 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 6e 65 73 74 65 64 20 63 6f 6e 74 61 69 6e 65 aration,.........nested.containe
19700 72 20 74 65 73 74 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 72 65 73 6f 6c 76 65 64 2e 0a 20 20 r.tests.will.not.be.resolved....
19720 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 65 20 63 ....</p>.......<p>.........The.c
19740 6f 64 65 20 73 61 6d 70 6c 65 20 62 65 6c 6f 77 20 75 73 65 73 20 74 68 65 20 3c 63 6f 64 65 3e ode.sample.below.uses.the.<code>
19760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 72 <span.class="line">std.testing.r
19780 65 66 41 6c 6c 44 65 63 6c 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c efAllDecls(<span.class="tok-buil
197a0 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tin">@This</span>())</span></cod
197c0 65 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 72 65 66 65 e>.function.call.to.........refe
197e0 72 65 6e 63 65 20 61 6c 6c 20 6f 66 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 73 20 74 68 61 74 rence.all.of.the.containers.that
19800 20 61 72 65 20 69 6e 20 74 68 65 20 66 69 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 69 .are.in.the.file.including.the.i
19820 6d 70 6f 72 74 65 64 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 54 68 65 20 63 6f 64 mported.Zig.source.file..The.cod
19840 65 0a 20 20 20 20 20 20 20 20 73 61 6d 70 6c 65 20 61 6c 73 6f 20 73 68 6f 77 73 20 61 6e 20 61 e.........sample.also.shows.an.a
19860 6c 74 65 72 6e 61 74 69 76 65 20 77 61 79 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 63 6f 6e 74 lternative.way.to.reference.cont
19880 61 69 6e 65 72 73 20 75 73 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ainers.using.the.<code><span.cla
198a0 73 73 3d 22 6c 69 6e 65 22 3e 5f 20 3d 20 43 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 ss="line">_.=.C;</span></code>..
198c0 20 20 20 20 20 20 20 73 79 6e 74 61 78 2e 20 54 68 69 73 20 73 79 6e 74 61 78 20 74 65 6c 6c 73 .......syntax..This.syntax.tells
198e0 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 65 20 72 65 73 75 .the.compiler.to.ignore.the.resu
19900 6c 74 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 6e 20 74 68 65 20 72 69 67 68 lt.of.the.expression.on.the.righ
19920 74 20 73 69 64 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 61 73 73 69 67 6e 6d 65 6e 74 t.side.of.the.........assignment
19940 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 .operator........</p>.......<fig
19960 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">
19980 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 65 73 74 65 <cite.class="file">testing_neste
199a0 64 5f 63 6f 6e 74 61 69 6e 65 72 5f 74 65 73 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 d_container_tests.zig</cite></fi
199c0 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=
199e0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
19a00 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 2d t</span>.std.=.<span.class="tok-
19a20 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
19a40 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 73 ass="tok-str">&quot;std&quot;</s
19a60 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
19a80 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
19aa0 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 3c n>.expect.=.std.testing.expect;<
19ac0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
19ae0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
19b00 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6d 70 6f 72 74 65 64 20 73 6f 75 72 63 ="tok-comment">//.Imported.sourc
19b20 65 20 66 69 6c 65 20 74 65 73 74 73 20 77 69 6c 6c 20 72 75 6e 20 77 68 65 6e 20 72 65 66 65 72 e.file.tests.will.run.when.refer
19b40 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c enced.from.a.top-level.test.decl
19b60 61 72 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 aration.</span></span>.<span.cla
19b80 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
19ba0 6e 74 22 3e 2f 2f 20 54 68 65 20 6e 65 78 74 20 6c 69 6e 65 20 61 6c 6f 6e 65 20 64 6f 65 73 20 nt">//.The.next.line.alone.does.
19bc0 6e 6f 74 20 63 61 75 73 65 20 26 71 75 6f 74 3b 74 65 73 74 69 6e 67 5f 69 6e 74 72 6f 64 75 63 not.cause.&quot;testing_introduc
19be0 74 69 6f 6e 2e 7a 69 67 26 71 75 6f 74 3b 20 74 65 73 74 73 20 74 6f 20 72 75 6e 2e 3c 2f 73 70 tion.zig&quot;.tests.to.run.</sp
19c00 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
19c20 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>.
19c40 69 6d 70 6f 72 74 65 64 5f 66 69 6c 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b imported_file.=.<span.class="tok
19c60 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
19c80 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 69 6e 67 5f 69 6e 74 lass="tok-str">&quot;testing_int
19ca0 72 6f 64 75 63 74 69 6f 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 roduction.zig&quot;</span>);</sp
19cc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
19ce0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
19d00 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-kw">test</span>.{</span>.<spa
19d20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
19d40 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 72 75 6e 20 6e 65 73 74 65 64 20 63 6f tok-comment">//.To.run.nested.co
19d60 6e 74 61 69 6e 65 72 20 74 65 73 74 73 2c 20 65 69 74 68 65 72 2c 20 63 61 6c 6c 20 60 72 65 66 ntainer.tests,.either,.call.`ref
19d80 41 6c 6c 44 65 63 6c 73 60 20 77 68 69 63 68 20 77 69 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 AllDecls`.which.will</span></spa
19da0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
19dc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 65 66 65 72 65 6e 63 65 class="tok-comment">//.reference
19de0 20 61 6c 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 74 68 65 .all.declarations.located.in.the
19e00 20 67 69 76 65 6e 20 61 72 67 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .given.argument.</span></span>.<
19e20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
19e40 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 40 54 68 69 73 28 29 60 20 69 73 20 s="tok-comment">//.`@This()`.is.
19e60 61 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 a.builtin.function.that.returns.
19e80 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 63 6f 6e 74 61 69 6e 65 72 20 69 74 20 69 73 20 63 61 the.innermost.container.it.is.ca
19ea0 6c 6c 65 64 20 66 72 6f 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lled.from.</span></span>.<span.c
19ec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
19ee0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 -comment">//.In.this.example,.th
19f00 65 20 69 6e 6e 65 72 6d 6f 73 74 20 63 6f 6e 74 61 69 6e 65 72 20 69 73 20 74 68 69 73 20 66 69 e.innermost.container.is.this.fi
19f20 6c 65 20 28 69 6d 70 6c 69 63 69 74 6c 79 20 61 20 73 74 72 75 63 74 29 2e 3c 2f 73 70 61 6e 3e le.(implicitly.a.struct).</span>
19f40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 </span>.<span.class="line">....s
19f60 74 64 2e 74 65 73 74 69 6e 67 2e 72 65 66 41 6c 6c 44 65 63 6c 73 28 3c 73 70 61 6e 20 63 6c 61 td.testing.refAllDecls(<span.cla
19f80 73 73 3d 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 29 ss="tok-builtin">@This</span>())
19fa0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
19fc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
19fe0 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 72 2c 20 72 65 66 65 .class="tok-comment">//.or,.refe
1a000 72 65 6e 63 65 20 65 61 63 68 20 63 6f 6e 74 61 69 6e 65 72 20 69 6e 64 69 76 69 64 75 61 6c 6c rence.each.container.individuall
1a020 79 20 66 72 6f 6d 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 y.from.a.top-level.test.declarat
1a040 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ion.</span></span>.<span.class="
1a060 6c 69 6e 65 22 3e 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 line">....<span.class="tok-comme
1a080 6e 74 22 3e 2f 2f 20 54 68 65 20 60 5f 20 3d 20 43 3b 60 20 73 79 6e 74 61 78 20 69 73 20 61 20 nt">//.The.`_.=.C;`.syntax.is.a.
1a0a0 6e 6f 2d 6f 70 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 no-op.reference.to.the.identifie
1a0c0 72 20 60 43 60 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r.`C`.</span></span>.<span.class
1a0e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 53 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ="line">...._.=.S;</span>.<span.
1a100 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 55 3b 3c 2f 73 70 61 6e 3e 0a 3c class="line">...._.=.U;</span>.<
1a120 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 span.class="line">...._.=.<span.
1a140 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
1a160 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 74 n>(<span.class="tok-str">&quot;t
1a180 65 73 74 69 6e 67 5f 69 6e 74 72 6f 64 75 63 74 69 6f 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 esting_introduction.zig&quot;</s
1a1a0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
1a1c0 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
1a1e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
1a200 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
1a220 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>
1a240 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
1a260 20 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
1a280 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 53 20 >.<span.class="tok-str">&quot;S.
1a2a0 64 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a demo.test&quot;</span>.{</span>.
1a2c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
1a2e0 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
1a300 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 74 72 75 65 3c 2f 73 t(<span.class="tok-null">true</s
1a320 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
1a340 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
1a360 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
1a380 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
1a3a0 3e 20 53 45 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 >.SE.=.<span.class="tok-kw">enum
1a3c0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
1a3e0 6e 65 22 3e 20 20 20 20 20 20 20 20 56 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ne">........V,</span>.<span.clas
1a400 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
1a420 6e 65 22 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 63 6f 6d ne">........<span.class="tok-com
1a440 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 74 65 73 74 20 77 6f 6e 27 74 20 72 75 6e 20 62 65 63 ment">//.This.test.won't.run.bec
1a460 61 75 73 65 20 69 74 73 20 63 6f 6e 74 61 69 6e 65 72 20 28 53 45 29 20 69 73 20 6e 6f 74 20 72 ause.its.container.(SE).is.not.r
1a480 65 66 65 72 65 6e 63 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 eferenced.</span></span>.<span.c
1a4a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
1a4c0 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
1a4e0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 54 68 69 73 20 54 65 73 74 20 57 6f 6e 27 74 ="tok-str">&quot;This.Test.Won't
1a500 20 52 75 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .Run&quot;</span>.{</span>.<span
1a520 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 .class="line">............<span.
1a540 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
1a560 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 2f 73 (<span.class="tok-null">false</s
1a580 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
1a5a0 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >........}</span>.<span.class="l
1a5c0 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">....};</span>.<span.class="
1a5e0 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e line">};</span>.<span.class="lin
1a600 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
1a620 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>.
1a640 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</
1a660 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 63 6f 6d 6d 65 6e 74 span>.{.<span.class="tok-comment
1a680 22 3e 2f 2f 20 55 20 69 73 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 66 69 6c 65 ">//.U.is.referenced.by.the.file
1a6a0 27 73 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 3c 2f 73 's.top-level.test.declaration</s
1a6c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
1a6e0 20 20 20 73 3a 20 55 53 2c 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ...s:.US,........<span.class="to
1a700 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 55 53 20 69 73 20 72 65 66 65 72 65 6e 63 k-comment">//.and.US.is.referenc
1a720 65 64 20 68 65 72 65 3b 20 74 68 65 72 65 66 6f 72 65 2c 20 26 71 75 6f 74 3b 55 2e 55 73 20 64 ed.here;.therefore,.&quot;U.Us.d
1a740 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 20 77 69 6c 6c 20 72 75 6e 3c 2f 73 70 61 6e 3e 3c 2f emo.test&quot;.will.run</span></
1a760 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
1a780 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
1a7a0 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 55 53 20 3d 20 3c ass="tok-kw">const</span>.US.=.<
1a7c0 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 6e span.class="tok-kw">struct</span
1a7e0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
1a800 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 65 73 74 3c ......<span.class="tok-kw">test<
1a820 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
1a840 6f 74 3b 55 2e 55 53 20 64 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b ot;U.US.demo.test&quot;</span>.{
1a860 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
1a880 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"
1a8a0 3e 2f 2f 20 54 68 69 73 20 74 65 73 74 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 >//.This.test.is.a.top-level.tes
1a8c0 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 73 74 72 75 63 74 2e 3c 2f 73 t.declaration.for.the.struct.</s
1a8e0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
1a900 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 63 6f 6d 6d ...........<span.class="tok-comm
1a920 65 6e 74 22 3e 2f 2f 20 54 68 65 20 73 74 72 75 63 74 20 69 73 20 6e 65 73 74 65 64 20 28 64 65 ent">//.The.struct.is.nested.(de
1a940 63 6c 61 72 65 64 29 20 69 6e 73 69 64 65 20 6f 66 20 61 20 75 6e 69 6f 6e 2e 3c 2f 73 70 61 6e clared).inside.of.a.union.</span
1a960 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
1a980 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 79 ........<span.class="tok-kw">try
1a9a0 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-
1a9c0 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e null">true</span>);</span>.<span
1a9e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c .class="line">........}</span>.<
1aa00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a span.class="line">....};</span>.
1aa20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
1aa40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
1aa60 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="
1aa80 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 20 64 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b tok-str">&quot;U.demo.test&quot;
1aaa0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
1aac0 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
1aae0 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="
1ab00 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-null">true</span>);</span>.<
1ab20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....}</span>.<
1ab40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 span.class="line">};</span></cod
1ab60 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
1ab80 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
1aba0 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
1abc0 65 73 74 20 74 65 73 74 69 6e 67 5f 6e 65 73 74 65 64 5f 63 6f 6e 74 61 69 6e 65 72 5f 74 65 73 est.testing_nested_container_tes
1abe0 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 35 20 74 65 73 74 5f 30 2e 2e 2e 20 4f 4b 0a 32 2f ts.zig</kbd>.1/5.test_0....OK.2/
1ac00 35 20 74 65 73 74 2e 53 20 64 65 6d 6f 20 74 65 73 74 2e 2e 2e 20 4f 4b 0a 33 2f 35 20 74 65 73 5.test.S.demo.test....OK.3/5.tes
1ac20 74 2e 55 20 64 65 6d 6f 20 74 65 73 74 2e 2e 2e 20 4f 4b 0a 34 2f 35 20 74 65 73 74 2e 65 78 70 t.U.demo.test....OK.4/5.test.exp
1ac40 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 2e 2e 2e 20 4f 4b 0a ect.addOne.adds.one.to.41....OK.
1ac60 35 2f 35 20 64 65 63 6c 74 65 73 74 2e 61 64 64 4f 6e 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 35 20 5/5.decltest.addOne....OK.All.5.
1ac80 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
1aca0 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 54 65 73 74 2d 46 ure>..............<h3.id="Test-F
1acc0 61 69 6c 75 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d 46 61 69 6c 75 ailure"><a.href="#toc-Test-Failu
1ace0 72 65 22 3e 54 65 73 74 20 46 61 69 6c 75 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 re">Test.Failure</a>.<a.class="h
1ad00 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 46 61 69 6c 75 72 65 22 3e c2 a7 3c 2f 61 3e 3c dr".href="#Test-Failure">..</a><
1ad20 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 64 65 66 61 /h3>........<p>.........The.defa
1ad40 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 63 68 65 63 6b 73 20 66 6f 72 20 61 6e 20 3c 61 ult.test.runner.checks.for.an.<a
1ad60 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 65 72 72 6f 72 3c 2f 61 3e 20 72 65 74 75 72 6e .href="#Errors">error</a>.return
1ad80 65 64 20 66 72 6f 6d 20 61 20 74 65 73 74 2e 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 61 20 74 ed.from.a.test..........When.a.t
1ada0 65 73 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 65 20 74 65 73 74 20 69 est.returns.an.error,.the.test.i
1adc0 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 66 61 69 6c 75 72 65 20 61 6e 64 20 69 74 73 20 3c s.considered.a.failure.and.its.<
1ade0 61 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 65 72 a.href="#Error-Return-Traces">er
1ae00 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 69 73 20 ror.return.trace</a>.........is.
1ae20 6f 75 74 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 2e 20 54 68 65 20 74 6f output.to.standard.error..The.to
1ae40 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 66 61 69 6c 75 72 65 73 20 77 69 6c 6c 20 62 65 20 72 tal.number.of.failures.will.be.r
1ae60 65 70 6f 72 74 65 64 20 61 66 74 65 72 20 61 6c 6c 20 74 65 73 74 73 20 68 61 76 65 20 72 75 6e eported.after.all.tests.have.run
1ae80 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
1aea0 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
1aec0 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 66 61 69 6c 75 72 65 2e 7a 69 67 3c 2f 63 ss="file">testing_failure.zig</c
1aee0 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
1af00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
1af20 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
1af40 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>(
1af60 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&
1af80 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>);</span>.<span.clas
1afa0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
1afc0 6e 65 22 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 ne"><span.class="tok-kw">test</s
1afe0 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
1b000 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 6e ;expect.this.to.fail&quot;</span
1b020 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
1b040 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
1b060 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 6e 20 63 6c 61 73 73 >.std.testing.expect(<span.class
1b080 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 3c 2f 73 70 61 6e ="tok-null">false</span>);</span
1b0a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
1b0c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
1b0e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
1b100 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
1b120 72 22 3e 26 71 75 6f 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 r">&quot;expect.this.to.succeed&
1b140 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
1b160 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
1b180 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 63 74 28 ">try</span>.std.testing.expect(
1b1a0 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 2f 73 70 61 <span.class="tok-null">true</spa
1b1c0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
1b1e0 3c 2f 73 70 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 </span></code></pre></figure><fi
1b200 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
1b220 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>
1b240 24 20 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 $.<kbd>zig.test.testing_failure.
1b260 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 65 78 70 65 63 74 20 74 68 69 73 20 74 zig</kbd>.1/2.test.expect.this.t
1b280 6f 20 66 61 69 6c 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 o.fail....FAIL.(TestUnexpectedRe
1b2a0 73 75 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 sult)./home/ci/actions-runner/_w
1b2c0 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
1b2e0 69 67 2f 73 74 64 2f 74 65 73 74 69 6e 67 2e 7a 69 67 3a 35 31 35 3a 31 34 3a 20 30 78 32 32 34 ig/std/testing.zig:515:14:.0x224
1b300 32 35 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 25f.in.expect.(test).....if.(!ok
1b320 29 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 ).return.error.TestUnexpectedRes
1b340 75 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 ult;..............^./home/ci/act
1b360 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/
1b380 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 69 6e 67 5f 66 61 69 6c 75 72 65 2e 7a zig/docgen_tmp/testing_failure.z
1b3a0 69 67 3a 34 3a 35 3a 20 30 78 32 32 34 33 37 35 20 69 6e 20 74 65 73 74 2e 65 78 70 65 63 74 20 ig:4:5:.0x224375.in.test.expect.
1b3c0 74 68 69 73 20 74 6f 20 66 61 69 6c 20 28 74 65 73 74 29 0a 20 20 20 20 74 72 79 20 73 74 64 2e this.to.fail.(test).....try.std.
1b3e0 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 5e 0a 32 2f 32 testing.expect(false);.....^.2/2
1b400 20 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....
1b420 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
1b440 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
1b460 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
1b480 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
1b4a0 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 64 ootstrap/out/zig-local-cache/o/d
1b4c0 34 66 66 61 34 36 38 62 66 35 37 35 65 34 39 35 64 65 63 66 31 61 35 30 64 33 62 62 65 34 34 2f 4ffa468bf575e495decf1a50d3bbe44/
1b4e0 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>.....
1b500 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.
1b520 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
1b540 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
1b560 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>..
1b580 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.
1b5a0 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.
1b5c0 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
1b5e0 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
1b600 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
1b620 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
1b640 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........
1b660 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
1b680 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
1b6a0 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.
1b6c0 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
1b6e0 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
1b700 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
1b720 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
1b740 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
1b760 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e test</span></span></code>.return
1b780 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 73 70 61 6e 20 63 .the.error.........<code><span.c
1b7a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
1b7c0 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 3c 2f 73 70 61 6e 3e >error</span>.SkipZigTest</span>
1b7e0 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e </code>.and.the.default.test.run
1b800 6e 65 72 20 77 69 6c 6c 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 74 65 73 74 20 61 73 20 62 65 ner.will.consider.the.test.as.be
1b820 69 6e 67 20 73 6b 69 70 70 65 64 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 74 6f 74 61 6c 20 6e ing.skipped..........The.total.n
1b840 75 6d 62 65 72 20 6f 66 20 73 6b 69 70 70 65 64 20 74 65 73 74 73 20 77 69 6c 6c 20 62 65 20 72 umber.of.skipped.tests.will.be.r
1b860 65 70 6f 72 74 65 64 20 61 66 74 65 72 20 61 6c 6c 20 74 65 73 74 73 20 68 61 76 65 20 72 75 6e eported.after.all.tests.have.run
1b880 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
1b8a0 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
1b8c0 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 73 6b 69 70 2e 7a 69 67 3c 2f 63 69 74 65 ss="file">testing_skip.zig</cite
1b8e0 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
1b900 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
1b920 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
1b940 72 22 3e 26 71 75 6f 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 r">&quot;this.will.be.skipped&qu
1b960 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
1b980 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
1b9a0 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 6b return</span>.<span.class="tok-k
1b9c0 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 3c 2f 73 70 w">error</span>.SkipZigTest;</sp
1b9e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
1ba00 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
1ba20 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
1ba40 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
1ba60 69 67 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 ig.test.testing_skip.zig</kbd>.1
1ba80 2f 31 20 74 65 73 74 2e 74 68 69 73 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 2e 2e 2e 20 /1.test.this.will.be.skipped....
1baa0 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 20 66 61 69 6c SKIP.0.passed;.1.skipped;.0.fail
1bac0 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>......
1bae0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c .........<h3.id="Report-Memory-L
1bb00 65 61 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 eaks"><a.href="#toc-Report-Memor
1bb20 79 2d 4c 65 61 6b 73 22 3e 52 65 70 6f 72 74 20 4d 65 6d 6f 72 79 20 4c 65 61 6b 73 3c 2f 61 3e y-Leaks">Report.Memory.Leaks</a>
1bb40 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 70 6f 72 74 2d 4d 65 .<a.class="hdr".href="#Report-Me
1bb60 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c mory-Leaks">..</a></h3>........<
1bb80 70 3e 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 63 6f 64 65 20 61 6c 6c 6f 63 61 74 65 73 20 3c p>.........When.code.allocates.<
1bba0 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 3e 20 75 73 69 6e a.href="#Memory">Memory</a>.usin
1bbc0 67 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 g.the.<a.href="#Zig-Standard-Lib
1bbe0 72 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 27 73 rary">Zig.Standard.Library</a>'s
1bc00 20 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 61 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 .testing.allocator,.........<cod
1bc20 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 e><span.class="line">std.testing
1bc40 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 64 65 .allocator</span></code>,.the.de
1bc60 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 77 69 6c 6c 20 72 65 70 6f 72 74 20 61 6e fault.test.runner.will.report.an
1bc80 79 20 6c 65 61 6b 73 20 74 68 61 74 20 61 72 65 0a 20 20 20 20 20 20 20 20 66 6f 75 6e 64 20 66 y.leaks.that.are.........found.f
1bca0 72 6f 6d 20 75 73 69 6e 67 20 74 68 65 20 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 61 74 6f 72 3a rom.using.the.testing.allocator:
1bcc0 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
1bce0 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
1bd00 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 6c 65 61 6b 2e 7a 69 67 s="file">testing_detect_leak.zig
1bd20 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><
1bd40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1bd60 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.
1bd80 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
1bda0 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
1bdc0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 td&quot;</span>);</span>.<span.c
1bde0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
1be00 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">test
1be20 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
1be40 75 6f 74 3b 64 65 74 65 63 74 20 6c 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f uot;detect.leak&quot;</span>.{</
1be60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
1be80 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 6c 69 73 an.class="tok-kw">var</span>.lis
1bea0 74 20 3d 20 73 74 64 2e 41 72 72 61 79 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t.=.std.ArrayList(<span.class="t
1bec0 6f 6b 2d 74 79 70 65 22 3e 75 32 31 3c 2f 73 70 61 6e 3e 29 2e 69 6e 69 74 28 73 74 64 2e 74 65 ok-type">u21</span>).init(std.te
1bee0 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 sting.allocator);</span>.<span.c
1bf00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
1bf20 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 69 73 73 69 6e 67 20 60 64 65 66 65 72 20 6c 69 73 74 -comment">//.missing.`defer.list
1bf40 2e 64 65 69 6e 69 74 28 29 3b 60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .deinit();`</span></span>.<span.
1bf60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
1bf80 6b 2d 6b 77 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 k-kw">try</span>.list.append(<sp
1bfa0 61 6e 20 63 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 an.class="tok-str">'...'</span>)
1bfc0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
1bfe0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
1c000 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 2e 74 .class="tok-kw">try</span>.std.t
1c020 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 6c 69 73 74 2e 69 74 65 6d 73 2e 6c 65 6e 20 3d 3d 20 esting.expect(list.items.len.==.
1c040 3c 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
1c060 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c >);</span>.<span.class="line">}<
1c080 2f 73 70 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 /span></code></pre></figure><fig
1c0a0 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
1c0c0 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>$
1c0e0 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 74 5f 6c 65 .<kbd>zig.test.testing_detect_le
1c100 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 64 65 74 65 63 74 20 6c 65 61 ak.zig</kbd>.1/1.test.detect.lea
1c120 6b 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 k....OK.[gpa].(err):.memory.addr
1c140 65 73 73 20 30 78 37 66 32 61 34 38 65 31 33 30 30 30 20 6c 65 61 6b 65 64 3a 0a 2f 68 6f 6d 65 ess.0x7f2a48e13000.leaked:./home
1c160 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
1c180 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 61 72 72 61 tstrap/out/host/lib/zig/std/arra
1c1a0 79 5f 6c 69 73 74 2e 7a 69 67 3a 34 30 33 3a 36 37 3a 20 30 78 32 33 34 63 64 65 20 69 6e 20 65 y_list.zig:403:67:.0x234cde.in.e
1c1c0 6e 73 75 72 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 nsureTotalCapacityPrecise.(test)
1c1e0 0a 20 20 20 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 .................const.new_memor
1c200 79 20 3d 20 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 y.=.try.self.allocator.alignedAl
1c220 6c 6f 63 28 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 loc(T,.alignment,.new_capacity);
1c240 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 20 ................................
1c260 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 ................................
1c280 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
1c2a0 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
1c2c0 67 2f 73 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 33 37 39 3a 35 31 3a 20 30 78 32 g/std/array_list.zig:379:51:.0x2
1c2e0 32 62 30 65 34 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 2b0e4.in.ensureTotalCapacity.(te
1c300 73 74 29 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 st).............return.self.ensu
1c320 72 65 54 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 reTotalCapacityPrecise(better_ca
1c340 70 61 63 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 pacity);........................
1c360 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 6f ...........................^./ho
1c380 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
1c3a0 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 61 72 ootstrap/out/host/lib/zig/std/ar
1c3c0 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 34 32 36 3a 34 31 3a 20 30 78 32 32 38 38 39 30 20 69 6e ray_list.zig:426:41:.0x228890.in
1c3e0 20 61 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 .addOne.(test).............try.s
1c400 65 6c 66 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 28 73 65 6c 66 2e 69 74 65 elf.ensureTotalCapacity(self.ite
1c420 6d 73 2e 6c 65 6e 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ms.len.+.1);....................
1c440 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/
1c460 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
1c480 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 5f 6c 69 ap/out/host/lib/zig/std/array_li
1c4a0 73 74 2e 7a 69 67 3a 32 30 37 3a 34 39 3a 20 30 78 32 32 34 36 34 64 20 69 6e 20 61 70 70 65 6e st.zig:207:49:.0x22464d.in.appen
1c4c0 64 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6e 65 77 5f 69 d.(test).............const.new_i
1c4e0 74 65 6d 5f 70 74 72 20 3d 20 74 72 79 20 73 65 6c 66 2e 61 64 64 4f 6e 65 28 29 3b 0a 20 20 20 tem_ptr.=.try.self.addOne();....
1c500 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 ................................
1c520 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-
1c540 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
1c560 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 6c 65 61 6b 2e 7a 69 ocgen_tmp/testing_detect_leak.zi
1c580 67 3a 36 3a 32 30 3a 20 30 78 32 32 34 35 37 32 20 69 6e 20 74 65 73 74 2e 64 65 74 65 63 74 20 g:6:20:.0x224572.in.test.detect.
1c5a0 6c 65 61 6b 20 28 74 65 73 74 29 0a 20 20 20 20 74 72 79 20 6c 69 73 74 2e 61 70 70 65 6e 64 28 leak.(test).....try.list.append(
1c5c0 27 e2 98 94 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f '...');....................^./ho
1c5e0 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
1c600 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 74 65 73 74 5f 72 ootstrap/out/host/lib/zig/test_r
1c620 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 32 33 32 33 31 39 20 69 6e 20 6d 61 unner.zig:176:28:.0x232319.in.ma
1c640 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 7d 20 65 6c 73 65 inTerminal.(test).........}.else
1c660 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .test_fn.func();................
1c680 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
1c6a0 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
1c6c0 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 36 3a 32 38 st/lib/zig/test_runner.zig:36:28
1c6e0 3a 20 30 78 32 32 39 31 37 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 :.0x22917a.in.main.(test).......
1c700 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 20 ..return.mainTerminal();........
1c720 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
1c740 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
1c760 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
1c780 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 34 62 36 32 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 :564:22:.0x224b62.in.posixCallMa
1c7a0 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
1c7c0 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();......................^
1c7e0 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 6f 72 73 20 77 ..All.1.tests.passed..1.errors.w
1c800 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 6d 65 6d 6f 72 ere.logged..1.tests.leaked.memor
1c820 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 74 20 63 6f 6d y..error:.the.following.test.com
1c840 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 31 3a 0a 2f 68 mand.failed.with.exit.code.1:./h
1c860 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-
1c880 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 6f 2f bootstrap/out/zig-local-cache/o/
1c8a0 35 34 66 62 63 64 32 66 37 35 62 36 61 65 62 35 61 66 64 32 37 61 65 61 63 31 32 61 36 34 34 36 54fbcd2f75b6aeb5afd27aeac12a6446
1c8c0 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 20 20 /test.</samp></pre></figure>....
1c8e0 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
1c900 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 0a 3c 6c 69 3e ref="#defer">defer</a></li>.<li>
1c920 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 3e 3c 2f 6c 69 <a.href="#Memory">Memory</a></li
1c940 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 44 65 >.</ul>...............<h3.id="De
1c960 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 3d 22 23 74 6f tecting-Test-Build"><a.href="#to
1c980 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 65 63 74 69 6e c-Detecting-Test-Build">Detectin
1c9a0 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 68 64 72 22 20 g.Test.Build</a>.<a.class="hdr".
1c9c0 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 22 3e c2 a7 3c href="#Detecting-Test-Build">..<
1c9e0 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 55 73 65 20 /a></h3>........<p>.........Use.
1ca00 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 62 6c 65 73 22 the.<a.href="#Compile-Variables"
1ca20 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 3e 3c 73 70 61 >compile.variable</a>.<code><spa
1ca40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
1ca60 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
1ca80 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
1caa0 3b 3c 2f 73 70 61 6e 3e 29 2e 69 73 5f 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a ;</span>).is_test</span></code>.
1cac0 20 20 20 20 20 20 20 20 74 6f 20 64 65 74 65 63 74 20 61 20 74 65 73 74 20 62 75 69 6c 64 3a 0a ........to.detect.a.test.build:.
1cae0 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
1cb00 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
1cb20 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 74 65 73 74 2e 7a 69 67 3c ="file">testing_detect_test.zig<
1cb40 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
1cb60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
1cb80 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
1cba0 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
1cbc0 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
1cbe0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>);</span>.<span.cl
1cc00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
1cc20 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 61 6e 20 63 6c 61 const</span>.builtin.=.<span.cla
1cc40 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>(
1cc60 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 75 69 6c <span.class="tok-str">&quot;buil
1cc80 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 tin&quot;</span>);</span>.<span.
1cca0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
1ccc0 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
1cce0 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ing.expect;</span>.<span.class="
1cd00 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
1cd20 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
1cd40 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 62 75 >.<span.class="tok-str">&quot;bu
1cd60 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 iltin.is_test&quot;</span>.{</sp
1cd80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
1cda0 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
1cdc0 74 28 69 73 41 54 65 73 74 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t(isATest());</span>.<span.class
1cde0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
1ce00 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
1ce20 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
1ce40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 41 54 65 73 74 3c 2f 73 70 61 6e pan.class="tok-fn">isATest</span
1ce60 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 62 6f 6f 6c 3c >().<span.class="tok-type">bool<
1ce80 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
1cea0 65 22 3e 20 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 e">....<span.class="tok-kw">retu
1cec0 72 6e 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 3b 3c 2f 73 70 61 6e rn</span>.builtin.is_test;</span
1cee0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
1cf00 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
1cf20 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</
1cf40 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
1cf60 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f 64 65 74 65 63 74 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b .test.testing_detect_test.zig</k
1cf80 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 2e 2e 2e 20 bd>.1/1.test.builtin.is_test....
1cfa0 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></
1cfc0 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 69 pre></figure>..............<h3.i
1cfe0 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 68 d="Test-Output-and-Logging"><a.h
1d000 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 6e ref="#toc-Test-Output-and-Loggin
1d020 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 3c g">Test.Output.and.Logging</a>.<
1d040 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 74 a.class="hdr".href="#Test-Output
1d060 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 20 -and-Logging">..</a></h3>.......
1d080 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 75 .<p>.........The.default.test.ru
1d0a0 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 72 nner.and.the.Zig.Standard.Librar
1d0c0 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 73 y's.testing.namespace.output.mes
1d0e0 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 3c sages.to.standard.error........<
1d100 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 73 /p>..............<h3.id="The-Tes
1d120 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 68 ting-Namespace"><a.href="#toc-Th
1d140 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 67 e-Testing-Namespace">The.Testing
1d160 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 72 .Namespace</a>.<a.class="hdr".hr
1d180 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 2f ef="#The-Testing-Namespace">..</
1d1a0 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 5a a></h3>........<p>.........The.Z
1d1c0 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 74 ig.Standard.Library's.<code>test
1d1e0 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 73 ing</code>.namespace.contains.us
1d200 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 79 eful.functions.to.help.........y
1d220 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 20 ou.create.tests..In.addition.to.
1d240 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 6e the.<code>expect</code>.function
1d260 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 66 ,.this.document.uses.a.couple.of
1d280 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 70 .more.functions.........as.exemp
1d2a0 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 66 lified.here:.......</p>.......<f
1d2c0 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
1d2e0 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 6d "><cite.class="file">testing_nam
1d300 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 70 espace.zig</cite></figcaption><p
1d320 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
1d340 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
1d360 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
1d380 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
1d3a0 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 3c 2f 73 70 61 r">&quot;std&quot;</span>);</spa
1d3c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
1d3e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
1d400 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
1d420 6f 6b 2d 73 74 72 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 ok-str">&quot;expectEqual.demo&q
1d440 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>.{</span>.<span.class
1d460 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
1d480 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
1d4a0 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
1d4c0 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 3c n.class="tok-number">42</span>;<
1d4e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
1d500 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>.
1d520 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 6e 75 6d 62 65 72 actual.=.<span.class="tok-number
1d540 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">42</span>;</span>.<span.class=
1d560 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
1d580 22 3e 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">
1d5a0 2f 2f 20 54 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 60 65 78 70 65 63 74 //.The.first.argument.to.`expect
1d5c0 45 71 75 61 6c 60 20 69 73 20 74 68 65 20 6b 6e 6f 77 6e 2c 20 65 78 70 65 63 74 65 64 2c 20 72 Equal`.is.the.known,.expected,.r
1d5e0 65 73 75 6c 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 esult.</span></span>.<span.class
1d600 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
1d620 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 ment">//.The.second.argument.is.
1d640 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 73 6f 6d 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f the.result.of.some.expression.</
1d660 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
1d680 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">//
1d6a0 20 54 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 .The.actual's.type.is.casted.to.
1d6c0 74 68 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 3c 2f 73 70 the.type.of.expected.</span></sp
1d6e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
1d700 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 2e 74 .class="tok-kw">try</span>.std.t
1d720 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 20 61 63 74 esting.expectEqual(expected,.act
1d740 75 61 6c 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ual);</span>.<span.class="line">
1d760 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
1d780 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
1d7a0 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
1d7c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 74 45 72 72 6f 72 20 ass="tok-str">&quot;expectError.
1d7e0 64 65 6d 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e demo&quot;</span>.{</span>.<span
1d800 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
1d820 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 65 64 5f 65 72 72 ok-kw">const</span>.expected_err
1d840 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 72 72 6f 72 3c or.=.<span.class="tok-kw">error<
1d860 2f 73 70 61 6e 3e 2e 44 65 6d 6f 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 /span>.DemoError;</span>.<span.c
1d880 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
1d8a0 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 5f 75 -kw">const</span>.actual_error_u
1d8c0 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 6e 79 nion:.<span.class="tok-type">any
1d8e0 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
1d900 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 22 74 pe">void</span>.=.<span.class="t
1d920 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 3c 2f ok-kw">error</span>.DemoError;</
1d940 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
1d960 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
1d980 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 65 78 70 65 63 74 45 72 72 6f ass="tok-comment">//.`expectErro
1d9a0 72 60 20 77 69 6c 6c 20 66 61 69 6c 20 77 68 65 6e 20 74 68 65 20 61 63 74 75 61 6c 20 65 72 72 r`.will.fail.when.the.actual.err
1d9c0 6f 72 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 or.is.different.than</span></spa
1d9e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
1da00 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 65 78 70 65 63 class="tok-comment">//.the.expec
1da20 74 65 64 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ted.error.</span></span>.<span.c
1da40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
1da60 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
1da80 63 74 45 72 72 6f 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 ctError(expected_error,.actual_e
1daa0 72 72 6f 72 5f 75 6e 69 6f 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rror_union);</span>.<span.class=
1dac0 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
1dae0 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="
1db00 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
1db20 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 69 6e 67 5f e><samp>$.<kbd>zig.test.testing_
1db40 6e 61 6d 65 73 70 61 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 65 78 70 namespace.zig</kbd>.1/2.test.exp
1db60 65 63 74 45 71 75 61 6c 20 64 65 6d 6f 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 2e 65 78 70 ectEqual.demo....OK.2/2.test.exp
1db80 65 63 74 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 ectError.demo....OK.All.2.tests.
1dba0 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>..
1dbc0 20 20 20 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 .....<p>The.Zig.Standard.Library
1dbe0 20 61 6c 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 .also.contains.functions.to.comp
1dc00 61 72 65 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 are.<a.href="#Slices">Slices</a>
1dc20 2c 20 73 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 ,.strings,.and.more..See.the.res
1dc40 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 t.of.the.........<code><span.cla
1dc60 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ss="line">std.testing</span></co
1dc80 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 22 23 5a de>.namespace.in.the.<a.href="#Z
1dca0 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 64 61 72 ig-Standard-Library">Zig.Standar
1dcc0 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 62 6c 65 d.Library</a>.for.more.available
1dce0 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 3c 68 33 .functions.</p>..............<h3
1dd00 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 3e 3c 61 .id="Test-Tool-Documentation"><a
1dd20 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 74 61 74 .href="#toc-Test-Tool-Documentat
1dd40 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 2f 61 3e ion">Test.Tool.Documentation</a>
1dd60 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 6f 6f 6c .<a.class="hdr".href="#Test-Tool
1dd80 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 20 20 20 -Documentation">..</a></h3>.....
1dda0 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 2f 6b 62 ...<p>.........<kbd>zig.test</kb
1ddc0 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 61 6d 65 d>.has.a.few.command.line.parame
1dde0 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 74 69 6f ters.which.affect.the.compilatio
1de00 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 2d 2d 68 n..........See.<kbd>zig.test.--h
1de20 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 20 20 20 elp</kbd>.for.a.full.list.......
1de40 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 32 20 69 .</p>......................<h2.i
1de60 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 61 72 69 d="Variables"><a.href="#toc-Vari
1de80 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 3d 22 68 ables">Variables</a>.<a.class="h
1dea0 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 2f 68 32 dr".href="#Variables">..</a></h2
1dec0 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 20 69 73 >........<p>.......A.variable.is
1dee0 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 4d 65 6d .a.unit.of.<a.href="#Memory">Mem
1df00 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 20 20 20 ory</a>.storage........</p>.....
1df20 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 72 65 66 ..<p>.......It.is.generally.pref
1df40 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 73 73 3d erable.to.use.<code><span.class=
1df60 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
1df80 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 61 74 68 65 72 20 74 68 t</span></span></code>.rather.th
1dfa0 61 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 6c 69 6e 65 an.......<code><span.class="line
1dfc0 22 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 73 70 61 6e "><span.class="tok-kw">var</span
1dfe0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 65 6e 20 64 65 63 6c 61 72 69 6e 67 20 61 ></span></code>.when.declaring.a
1e000 20 76 61 72 69 61 62 6c 65 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 6c 65 73 73 20 77 6f 72 6b .variable..This.causes.less.work
1e020 20 66 6f 72 20 62 6f 74 68 0a 20 20 20 20 20 20 68 75 6d 61 6e 73 20 61 6e 64 20 63 6f 6d 70 75 .for.both.......humans.and.compu
1e040 74 65 72 73 20 74 6f 20 64 6f 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 63 6f 64 65 2c 20 61 6e ters.to.do.when.reading.code,.an
1e060 64 20 63 72 65 61 74 65 73 20 6d 6f 72 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 6f 70 70 6f d.creates.more.optimization.oppo
1e080 72 74 75 6e 69 74 69 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 rtunities........</p>........<h3
1e0a0 20 69 64 3d 22 49 64 65 6e 74 69 66 69 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d .id="Identifiers"><a.href="#toc-
1e0c0 49 64 65 6e 74 69 66 69 65 72 73 22 3e 49 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 20 3c 61 20 Identifiers">Identifiers</a>.<a.
1e0e0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e class="hdr".href="#Identifiers">
1e100 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 56 61 72 ..</a></h3>........<p>.......Var
1e120 69 61 62 6c 65 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f iable.identifiers.are.never.allo
1e140 77 65 64 20 74 6f 20 73 68 61 64 6f 77 20 69 64 65 6e 74 69 66 69 65 72 73 20 66 72 6f 6d 20 61 wed.to.shadow.identifiers.from.a
1e160 6e 20 6f 75 74 65 72 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 n.outer.scope........</p>.......
1e180 3c 70 3e 0a 20 20 20 20 20 20 49 64 65 6e 74 69 66 69 65 72 73 20 6d 75 73 74 20 73 74 61 72 74 <p>.......Identifiers.must.start
1e1a0 20 77 69 74 68 20 61 6e 20 61 6c 70 68 61 62 65 74 69 63 20 63 68 61 72 61 63 74 65 72 20 6f 72 .with.an.alphabetic.character.or
1e1c0 20 75 6e 64 65 72 73 63 6f 72 65 20 61 6e 64 20 6d 61 79 20 62 65 20 66 6f 6c 6c 6f 77 65 64 0a .underscore.and.may.be.followed.
1e1e0 20 20 20 20 20 20 62 79 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 6c 70 68 61 6e 75 6d 65 ......by.any.number.of.alphanume
1e200 72 69 63 20 63 68 61 72 61 63 74 65 72 73 20 6f 72 20 75 6e 64 65 72 73 63 6f 72 65 73 2e 0a 20 ric.characters.or.underscores...
1e220 20 20 20 20 20 54 68 65 79 20 6d 75 73 74 20 6e 6f 74 20 6f 76 65 72 6c 61 70 20 77 69 74 68 20 .....They.must.not.overlap.with.
1e240 61 6e 79 20 6b 65 79 77 6f 72 64 73 2e 20 53 65 65 20 3c 61 20 68 72 65 66 3d 22 23 4b 65 79 77 any.keywords..See.<a.href="#Keyw
1e260 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 66 65 72 65 6e 63 65 ord-Reference">Keyword.Reference
1e280 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 20 20 </a>........</p>.......<p>......
1e2a0 20 49 66 20 61 20 6e 61 6d 65 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 66 69 74 20 74 68 65 .If.a.name.that.does.not.fit.the
1e2c0 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 69 73 20 6e 65 65 64 65 64 2c 20 73 75 63 68 20 se.requirements.is.needed,.such.
1e2e0 61 73 20 66 6f 72 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 65 78 74 65 72 6e 61 6c 20 6c 69 62 as.for.linking.with.external.lib
1e300 72 61 72 69 65 73 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c raries,.the.<code><span.class="l
1e320 69 6e 65 22 3e 40 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ine">@&quot;&quot;</span></code>
1e340 20 73 79 6e 74 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 .syntax.may.be.used........</p>.
1e360 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=
1e380 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 64 65 "zig-cap"><cite.class="file">ide
1e3a0 6e 74 69 66 69 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 ntifiers.zig</cite></figcaption>
1e3c0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
1e3e0 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>.
1e400 40 26 71 75 6f 74 3b 69 64 65 6e 74 69 66 69 65 72 20 77 69 74 68 20 73 70 61 63 65 73 20 69 6e @&quot;identifier.with.spaces.in
1e420 20 69 74 26 71 75 6f 74 3b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d .it&quot;.=.<span.class="tok-num
1e440 62 65 72 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">0xff</span>;</span>.<span.c
1e460 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
1e480 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 40 26 71 75 6f 74 3b 31 53 6d 61 6c 6c 53 74 65 70 34 >const</span>.@&quot;1SmallStep4
1e4a0 4d 61 6e 26 71 75 6f 74 3b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d Man&quot;.=.<span.class="tok-num
1e4c0 62 65 72 22 3e 31 31 32 33 35 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ber">112358</span>;</span>.<span
1e4e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
1e500 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
1e520 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 73 3d 22 74 6f 6b 2d nst</span>.c.=.<span.class="tok-
1e540 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
1e560 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 73 ass="tok-str">&quot;std&quot;</s
1e580 70 61 6e 3e 29 2e 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e pan>).c;</span>.<span.class="lin
1e5a0 65 22 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 e"><span.class="tok-kw">pub</spa
1e5c0 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</
1e5e0 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
1e600 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
1e620 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
1e640 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>()
1e660 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
1e680 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c an>;</span>.<span.class="line"><
1e6a0 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>.<
1e6c0 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
1e6e0 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 26 >.<span.class="tok-str">&quot;c&
1e700 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 6b 2d 6b 77 quot;</span>.<span.class="tok-kw
1e720 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"
1e740 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 3b 3c 2f 73 70 61 >@&quot;fstat$INODE64&quot;</spa
1e760 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 74 29 20 3c 73 70 n>(fd:.c.fd_t,.buf:.*c.Stat).<sp
1e780 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 3e an.class="tok-type">c_int</span>
1e7a0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
1e7c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
1e7e0 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 6f 6c 6f 72 20 3d ss="tok-kw">const</span>.Color.=
1e800 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 61 6e .<span.class="tok-kw">enum</span
1e820 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
1e840 72 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 red,</span>.<span.class="line">.
1e860 20 40 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 71 75 6f 74 3b 2c 3c 2f 73 70 61 6e 3e .@&quot;really.red&quot;,</span>
1e880 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .<span.class="line">};</span>.<s
1e8a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
1e8c0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 3a 20 43 6f 6c 6f 72 20 k-kw">const</span>.color:.Color.
1e8e0 3d 20 2e 40 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 71 75 6f 74 3b 3b 3c 2f 73 70 61 =..@&quot;really.red&quot;;</spa
1e900 6e 3e 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 n></code></pre></figure>........
1e920 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 6c 2d 56 .......<h3.id="Container-Level-V
1e940 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 69 6e 65 ariables"><a.href="#toc-Containe
1e960 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 4c 65 76 r-Level-Variables">Container.Lev
1e980 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 72 22 20 el.Variables</a>.<a.class="hdr".
1e9a0 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 6c 65 73 href="#Container-Level-Variables
1e9c0 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 3c ">..</a></h3>........<p>.......<
1e9e0 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 72 3c 2f a.href="#Containers">Container</
1ea00 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 63 20 6c a>.level.variables.have.static.l
1ea20 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 64 65 6e ifetime.and.are.order-independen
1ea40 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 54 68 65 t.and.lazily.analyzed........The
1ea60 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 61 69 6e .initialization.value.of.contain
1ea80 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 74 6c 79 er.level.variables.is.implicitly
1eaa0 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 6d 70 74 .......<a.href="#comptime">compt
1eac0 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 20 76 61 ime</a>..If.a.container.level.va
1eae0 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 6c 69 6e riable.is.<code><span.class="lin
1eb00 65 22 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 e"><span.class="tok-kw">const</s
1eb20 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e 20 69 74 73 20 76 61 6c 75 pan></span></code>.then.its.valu
1eb40 65 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 22 6c 69 e.is.......<code><span.class="li
1eb60 6e 65 22 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 ne"><span.class="tok-kw">comptim
1eb80 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2c 20 6f 74 e</span></span></code>-known,.ot
1eba0 68 65 72 77 69 73 65 20 69 74 20 69 73 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 herwise.it.is.runtime-known.....
1ebc0 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
1ebe0 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
1ec00 69 6c 65 22 3e 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 62 ile">test_container_level_variab
1ec20 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 3c 70 72 65 3e les.zig</cite></figcaption><pre>
1ec40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
1ec60 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 61 lass="tok-kw">var</span>.y:.<spa
1ec80 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 20 n.class="tok-type">i32</span>.=.
1eca0 61 64 64 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 add(<span.class="tok-number">10<
1ecc0 2f 73 70 61 6e 3e 2c 20 78 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>,.x);</span>.<span.class="
1ece0 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
1ed00 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
1ed20 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 3d 22 ">i32</span>.=.add(<span.class="
1ed40 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 6c 61 tok-number">12</span>,.<span.cla
1ed60 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 3c 2f 73 70 61 ss="tok-number">34</span>);</spa
1ed80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
1eda0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
1edc0 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
1ede0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 ok-str">&quot;container.level.va
1ee00 72 69 61 62 6c 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 riables&quot;</span>.{</span>.<s
1ee20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
1ee40 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 78 20 3d 3d ="tok-kw">try</span>.expect(x.==
1ee60 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 36 3c 2f 73 70 .<span.class="tok-number">46</sp
1ee80 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
1eea0 20 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
1eec0 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 22 74 6f 6b an>.expect(y.==.<span.class="tok
1eee0 2d 6e 75 6d 62 65 72 22 3e 35 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">56</span>);</span>.<spa
1ef00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n.class="line">}</span>.<span.cl
1ef20 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
1ef40 6c 69 6e 65 22 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 2f 73 line"><span.class="tok-kw">fn</s
1ef60 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 3c 2f 73 pan>.<span.class="tok-fn">add</s
1ef80 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 3e 69 pan>(a:.<span.class="tok-type">i
1efa0 33 32 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 32</span>,.b:.<span.class="tok-t
1efc0 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
1efe0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-type">i32</span>.{</span>.<spa
1f000 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
1f020 74 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 3c 2f 73 70 tok-kw">return</span>.a.+.b;</sp
1f040 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
1f060 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
1f080 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
1f0a0 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
1f0c0 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>(<
1f0e0 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
1f100 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
1f120 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
1f140 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
1f160 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 xpect;</span></code></pre></figu
1f180 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
1f1a0 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>
1f1c0 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 6e 74 61 <samp>$.<kbd>zig.test.test_conta
1f1e0 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 3e 0a 31 iner_level_variables.zig</kbd>.1
1f200 2f 31 20 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 6c 65 /1.test.container.level.variable
1f220 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 61 s....OK.All.1.tests.passed..</sa
1f240 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>....
1f260 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 61 79 ...Container.level.variables.may
1f280 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 22 23 .be.declared.inside.a.<a.href="#
1f2a0 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 75 6e struct">struct</a>,.<a.href="#un
1f2c0 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 22 3e ion">union</a>,.<a.href="#enum">
1f2e0 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 3e 6f enum</a>,.or.<a.href="#opaque">o
1f300 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 69 67 paque</a>:.......</p>.......<fig
1f320 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">
1f340 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 61 63 <cite.class="file">test_namespac
1f360 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 67 3c ed_container_level_variable.zig<
1f380 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
1f3a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
1f3c0 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
1f3e0 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
1f400 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
1f420 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>);</span>.<span.cl
1f440 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
1f460 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
1f480 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 g.expect;</span>.<span.class="li
1f4a0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
1f4c0 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>.
1f4e0 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 65 <span.class="tok-str">&quot;name
1f500 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 26 spaced.container.level.variable&
1f520 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
1f540 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
1f560 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 73 70 ">try</span>.expect(foo().==.<sp
1f580 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 35 3c 2f 73 70 61 6e an.class="tok-number">1235</span
1f5a0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >);</span>.<span.class="line">..
1f5c0 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
1f5e0 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >.expect(foo().==.<span.class="t
1f600 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ok-number">1236</span>);</span>.
1f620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
1f640 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
1f660 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
1f680 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 6b onst</span>.S.=.<span.class="tok
1f6a0 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -kw">struct</span>.{</span>.<spa
1f6c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
1f6e0 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 73 tok-kw">var</span>.x:.<span.clas
1f700 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.
1f720 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 3c class="tok-number">1234</span>;<
1f740 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 /span>.<span.class="line">};</sp
1f760 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
1f780 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1f7a0 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
1f7c0 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="
1f7e0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-type">i32</span>.{</span>.<s
1f800 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 53 2e 78 20 2b 3d 20 3c 73 70 61 pan.class="line">....S.x.+=.<spa
1f820 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 3c 2f n.class="tok-number">1</span>;</
1f840 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
1f860 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>.
1f880 53 2e 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d S.x;</span>.<span.class="line">}
1f8a0 3c 2f 73 70 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 </span></code></pre></figure><fi
1f8c0 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
1f8e0 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>
1f900 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 64 5f $.<kbd>zig.test.test_namespaced_
1f920 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 6b 62 container_level_variable.zig</kb
1f940 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6e 61 6d 65 73 70 61 63 65 64 20 63 6f 6e 74 61 69 6e 65 72 d>.1/1.test.namespaced.container
1f960 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 .level.variable....OK.All.1.test
1f980 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>
1f9a0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 74 61 74 69 63 2d 4c 6f ...............<h3.id="Static-Lo
1f9c0 63 61 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 53 74 61 cal-Variables"><a.href="#toc-Sta
1f9e0 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 20 4c 6f 63 61 tic-Local-Variables">Static.Loca
1fa00 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 72 22 20 68 l.Variables</a>.<a.class="hdr".h
1fa20 72 65 66 3d 22 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 c2 a7 ref="#Static-Local-Variables">..
1fa40 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 49 74 20 </a></h3>........<p>.........It.
1fa60 69 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 68 61 76 65 20 6c 6f 63 61 6c 20 76 is.also.possible.to.have.local.v
1fa80 61 72 69 61 62 6c 65 73 20 77 69 74 68 20 73 74 61 74 69 63 20 6c 69 66 65 74 69 6d 65 20 62 79 ariables.with.static.lifetime.by
1faa0 20 75 73 69 6e 67 20 63 6f 6e 74 61 69 6e 65 72 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f .using.containers.inside.functio
1fac0 6e 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 65 3e 3c 66 69 ns........</p>.......<figure><fi
1fae0 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
1fb00 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 74 61 74 69 63 5f 6c 6f 63 61 6c 5f 76 61 lass="file">test_static_local_va
1fb20 72 69 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 3c 70 riable.zig</cite></figcaption><p
1fb40 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
1fb60 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
1fb80 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
1fba0 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
1fbc0 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 3c 2f 73 70 61 r">&quot;std&quot;</span>);</spa
1fbe0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
1fc00 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.=
1fc20 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .std.testing.expect;</span>.<spa
1fc40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
1fc60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
1fc80 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"
1fca0 3e 26 71 75 6f 74 3b 73 74 61 74 69 63 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 26 71 75 6f >&quot;static.local.variable&quo
1fcc0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
1fce0 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
1fd00 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 73 70 61 6e 20 ry</span>.expect(foo().==.<span.
1fd20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 35 3c 2f 73 70 61 6e 3e 29 3b class="tok-number">1235</span>);
1fd40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
1fd60 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
1fd80 78 70 65 63 74 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 xpect(foo().==.<span.class="tok-
1fda0 6e 75 6d 62 65 72 22 3e 31 32 33 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 number">1236</span>);</span>.<sp
1fdc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
1fde0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
1fe00 22 6c 69 6e 65 22 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 2f "line"><span.class="tok-kw">fn</
1fe20 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</
1fe40 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 69 span>().<span.class="tok-type">i
1fe60 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 32</span>.{</span>.<span.class="
1fe80 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">c
1fea0 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 6b onst</span>.S.=.<span.class="tok
1fec0 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -kw">struct</span>.{</span>.<spa
1fee0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
1ff00 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 20 ss="tok-kw">var</span>.x:.<span.
1ff20 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
1ff40 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
1ff60 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
1ff80 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..};</span>.<span.class="line">.
1ffa0 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
1ffc0 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
1ffe0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
20000 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 53 2e 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 return</span>.S.x;</span>.<span.
20020 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
20040 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
20060 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
20080 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
200a0 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 67 3c 2f 6b 62 st_static_local_variable.zig</kb
200c0 64 3e 0a 31 2f 31 20 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 d>.1/1.test.static.local.variabl
200e0 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
20100 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>....
20120 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 6c 69 6e 65 22 3e ...The.<code><span.class="line">
20140 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
20160 6e 3e 3c 2f 73 70 61 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 n></span></code>.keyword.or.<a.h
20180 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 20 62 75 69 6c 74 69 ref="#extern">@extern</a>.builti
201a0 6e 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 6c 69 6e 6b 20 61 n.function.can.be.used.to.link.a
201c0 67 61 69 6e 73 74 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 69 73 20 65 78 70 6f 72 74 gainst.a.variable.that.is.export
201e0 65 64 0a 20 20 20 20 20 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 6f 62 6a 65 63 74 2e 20 54 68 ed.......from.another.object..Th
20200 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e.<code><span.class="line"><span
20220 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 73 .class="tok-kw">export</span></s
20240 70 61 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 pan></code>.keyword.or.<a.href="
20260 23 65 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 #export">@export</a>.builtin.fun
20280 63 74 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 ction.......can.be.used.to.make.
202a0 61 20 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 a.variable.available.to.other.ob
202c0 6a 65 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 jects.at.link.time..In.both.case
202e0 73 2c 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 s,.......the.type.of.the.variabl
20300 65 20 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 e.must.be.C.ABI.compatible......
20320 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
20340 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 2d 4c 69 >.<li><a.href="#Exporting-a-C-Li
20360 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 2f 61 3e brary">Exporting.a.C.Library</a>
20380 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
203a0 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 3e 3c 61 20 68 72 d="Thread-Local-Variables"><a.hr
203c0 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 61 62 6c 65 73 22 ef="#toc-Thread-Local-Variables"
203e0 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 3e 20 3c 61 20 63 >Thread.Local.Variables</a>.<a.c
20400 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 6f 63 61 6c 2d 56 lass="hdr".href="#Thread-Local-V
20420 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 20 20 20 3c 70 3e ariables">..</a></h3>........<p>
20440 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 64 20 74 6f 20 62 A.variable.may.be.specified.to.b
20460 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 75 73 69 6e 67 20 e.a.thread-local.variable.using.
20480 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 73 3d 22 6c 69 6e the.......<code><span.class="lin
204a0 65 22 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 6c 6f e"><span.class="tok-kw">threadlo
204c0 63 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 cal</span></span></code>.keyword
204e0 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 6d 61 6b 65 73 20 65 61 63 68 20 74 68 72 65 61 64 20 ,.......which.makes.each.thread.
20500 77 6f 72 6b 20 77 69 74 68 20 61 20 73 65 70 61 72 61 74 65 20 69 6e 73 74 61 6e 63 65 20 6f 66 work.with.a.separate.instance.of
20520 20 74 68 65 20 76 61 72 69 61 62 6c 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 .the.variable:</p>.......<figure
20540 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
20560 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 68 72 65 61 64 5f 6c 6f 63 61 te.class="file">test_thread_loca
20580 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 69 67 63 61 70 74 69 l_variables.zig</cite></figcapti
205a0 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 6c 69 6e 65 22 on><pre><code><span.class="line"
205c0 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
205e0 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
20600 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
20620 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>);
20640 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
20660 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 73 73 .class="tok-kw">const</span>.ass
20680 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c ert.=.std.debug.assert;</span>.<
206a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
206c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
206e0 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">threadlocal</span>.<span.class
20700 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 20 63 6c ="tok-kw">var</span>.x:.<span.cl
20720 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
20740 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 3e n.class="tok-number">1234</span>
20760 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
20780 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
207a0 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
207c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 61 64 20 6c 6f 63 61 6c ass="tok-str">&quot;thread.local
207e0 20 73 74 6f 72 61 67 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c .storage&quot;</span>.{</span>.<
20800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
20820 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 68 72 65 61 64 31 20 s="tok-kw">const</span>.thread1.
20840 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
20860 3e 20 73 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 >.std.Thread.spawn(.{},.testTls,
20880 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..{});</span>.<span.class="line"
208a0 3e 20 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<
208c0 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 22 74 6f /span>.thread2.=.<span.class="to
208e0 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 70 61 77 k-kw">try</span>.std.Thread.spaw
20900 6e 28 2e 7b 7d 2c 20 74 65 73 74 54 6c 73 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n(.{},.testTls,..{});</span>.<sp
20920 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 54 6c 73 28 29 3b 3c 2f an.class="line">....testTls();</
20940 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 span>.<span.class="line">....thr
20960 65 61 64 31 2e 6a 6f 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ead1.join();</span>.<span.class=
20980 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 61 64 32 2e 6a 6f 69 6e 28 29 3b 3c 2f 73 70 61 6e "line">....thread2.join();</span
209a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
209c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
209e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
20a00 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">
20a20 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 61 73 73 3d 22 74 6f testTls</span>().<span.class="to
20a40 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-type">void</span>.{</span>.<sp
20a60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 an.class="line">....assert(x.==.
20a80 3c 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
20aa0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
20ac0 3e 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 2d 6e 75 6d 62 65 >....x.+=.<span.class="tok-numbe
20ae0 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
20b00 22 6c 69 6e 65 22 3e 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 "line">....assert(x.==.<span.cla
20b20 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 ss="tok-number">1235</span>);</s
20b40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
20b60 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
20b80 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
20ba0 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>
20bc0 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 74 68 72 65 61 64 5f 6c 6f 63 61 6c 5f 76 61 72 69 61 zig.test.test_thread_local_varia
20be0 62 6c 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 74 68 72 65 61 64 20 6c bles.zig</kbd>.1/1.test.thread.l
20c00 6f 63 61 6c 20 73 74 6f 72 61 67 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 ocal.storage....OK.All.1.tests.p
20c20 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>...
20c40 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 53 69 6e 67 ....<p>.......For.<a.href="#Sing
20c60 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 68 72 65 61 le-Threaded-Builds">Single.Threa
20c80 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 3e 2c 20 61 6c 6c 20 74 68 72 65 61 64 20 6c 6f 63 61 6c ded.Builds</a>,.all.thread.local
20ca0 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 72 65 67 75 6c 61 .variables.are.treated.as.regula
20cc0 72 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 r.<a.href="#Container-Level-Vari
20ce0 61 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 ables">Container.Level.Variables
20d00 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 20 20 </a>........</p>.......<p>......
20d20 20 54 68 72 65 61 64 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 6d 61 79 20 6e 6f 74 20 .Thread.local.variables.may.not.
20d40 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 be.<code><span.class="line"><spa
20d60 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 73 n.class="tok-kw">const</span></s
20d80 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 0a 0a pan></code>........</p>.........
20da0 20 20 20 20 20 20 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 ......<h3.id="Local-Variables"><
20dc0 61 20 68 72 65 66 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 a.href="#toc-Local-Variables">Lo
20de0 63 61 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 72 22 cal.Variables</a>.<a.class="hdr"
20e00 20 68 72 65 66 3d 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 .href="#Local-Variables">..</a><
20e20 2f 68 33 3e 0a 0a 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 /h3>........<p>.......Local.vari
20e40 61 62 6c 65 73 20 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 ables.occur.inside.<a.href="#Fun
20e60 63 74 69 6f 6e 73 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 ctions">Functions</a>,.<a.href="
20e80 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 6c 6f 63 6b 73 2c 20 #comptime">comptime</a>.blocks,.
20ea0 61 6e 64 20 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 3c and.<a.href="#cImport">@cImport<
20ec0 2f 61 3e 20 62 6c 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 /a>.blocks........</p>.......<p>
20ee0 0a 20 20 20 20 20 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 .......When.a.local.variable.is.
20f00 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
20f20 6c 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 73 70 61 6e lass="tok-kw">const</span></span
20f40 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
20f60 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....
20f80 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
20fa0 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
20fc0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
20fe0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-kw">const</span></span></co
21000 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 72 65 66 3d 22 23 de>.variable.is.......<a.href="#
21020 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 2c 20 74 68 comptime">comptime</a>-known,.th
21040 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 6f 64 65 3e 3c 73 en.the.variable.is.also.<code><s
21060 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
21080 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-kw">comptime</span></span></co
210a0 64 65 3e 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 70 3e 0a de>-known........</p>.......<p>.
210c0 20 20 20 20 20 20 41 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 71 75 ......A.local.variable.may.be.qu
210e0 61 6c 69 66 69 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 alified.with.the.<code><span.cla
21100 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
21120 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 omptime</span></span></code>.key
21140 77 6f 72 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 0a 20 20 20 20 20 20 74 68 65 20 76 61 72 69 word..This.causes.......the.vari
21160 61 62 6c 65 27 73 20 76 61 6c 75 65 20 74 6f 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 able's.value.to.be.<code><span.c
21180 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
211a0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b >comptime</span></span></code>-k
211c0 6e 6f 77 6e 2c 20 61 6e 64 20 61 6c 6c 20 6c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 6f nown,.and.all.loads.and.stores.o
211e0 66 20 74 68 65 0a 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 74 6f 20 68 61 70 70 65 6e 20 64 f.the.......variable.to.happen.d
21200 75 72 69 6e 67 20 73 65 6d 61 6e 74 69 63 20 61 6e 61 6c 79 73 69 73 20 6f 66 20 74 68 65 20 70 uring.semantic.analysis.of.the.p
21220 72 6f 67 72 61 6d 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 0a rogram,.rather.than.at.runtime..
21240 20 20 20 20 20 20 41 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 ......All.variables.declared.in.
21260 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e a.<code><span.class="line"><span
21280 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><
212a0 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 61 72 65 20 69 6d 70 /span></code>.expression.are.imp
212c0 6c 69 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 licitly.......<code><span.class=
212e0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">comp
21300 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 72 69 61 62 time</span></span></code>.variab
21320 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 65 3e 3c 66 les........</p>.......<figure><f
21340 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.
21360 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 61 72 69 61 class="file">test_comptime_varia
21380 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 3c 70 72 65 bles.zig</cite></figcaption><pre
213a0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
213c0 63 6c 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.
213e0 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
21400 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"
21420 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 3c 2f 73 70 61 6e 3e >&quot;std&quot;</span>);</span>
21440 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
21460 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
21480 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 td.testing.expect;</span>.<span.
214a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
214c0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">tes
214e0 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">&
21500 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 6e 3e 20 quot;comptime.vars&quot;</span>.
21520 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
21540 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>.
21560 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
21580 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">
215a0 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 1</span>;</span>.<span.class="li
215c0 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">com
215e0 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
21600 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 6b ">var</span>.y:.<span.class="tok
21620 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=
21640 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-number">1</span>;</span>.<s
21660 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
21680 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">....x.+=.<span.class
216a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-number">1</span>;</span>.<
216c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 6e span.class="line">....y.+=.<span
216e0 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 3c 2f 73 .class="tok-number">1</span>;</s
21700 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
21720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
21740 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 78 20 ss="tok-kw">try</span>.expect(x.
21760 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
21780 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
217a0 3e 20 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
217c0 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 22 74 6f pan>.expect(y.==.<span.class="to
217e0 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">2</span>);</span>.<spa
21800 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
21820 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
21840 77 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 w">if</span>.(y.!=.<span.class="
21860 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">2</span>).{</span>.<
21880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
218a0 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 63 6f 6d 70 class="tok-comment">//.This.comp
218c0 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 63 61 75 73 65 ile.error.never.triggers.because
218e0 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 2f 73 70 61 6e .y.is.a.comptime.variable,</span
21900 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
21920 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">//
21940 20 61 6e 64 20 73 6f 20 60 79 20 21 3d 20 32 60 20 69 73 20 61 20 63 6f 6d 70 74 69 6d 65 20 76 .and.so.`y.!=.2`.is.a.comptime.v
21960 61 6c 75 65 2c 20 61 6e 64 20 74 68 69 73 20 69 66 20 69 73 20 73 74 61 74 69 63 61 6c 6c 79 20 alue,.and.this.if.is.statically.
21980 65 76 61 6c 75 61 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 evaluated.</span></span>.<span.c
219a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
219c0 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 73 70 61 "tok-builtin">@compileError</spa
219e0 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 77 n>(<span.class="tok-str">&quot;w
21a00 72 6f 6e 67 20 79 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 rong.y.value&quot;</span>);</spa
21a20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
21a40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
21a60 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
21a80 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<
21aa0 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
21ac0 67 20 74 65 73 74 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 7a g.test.test_comptime_variables.z
21ae0 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 63 6f 6d 70 74 69 6d 65 20 76 61 72 73 2e ig</kbd>.1/1.test.comptime.vars.
21b00 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
21b20 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>................
21b40 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 74 65 67 65 72 73 22 3e 3c 61 20 68 72 65 66 3d ......<h2.id="Integers"><a.href=
21b60 22 23 74 6f 63 2d 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 3c 61 20 "#toc-Integers">Integers</a>.<a.
21b80 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 73 22 3e c2 a7 3c class="hdr".href="#Integers">..<
21ba0 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 65 67 65 72 2d /a></h2>........<h3.id="Integer-
21bc0 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 65 67 65 72 2d Literals"><a.href="#toc-Integer-
21be0 4c 69 74 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c Literals">Integer.Literals</a>.<
21c00 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 4c 69 74 a.class="hdr".href="#Integer-Lit
21c20 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 66 69 67 75 72 erals">..</a></h3>........<figur
21c40 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
21c60 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 74 65 67 65 72 5f 6c 69 74 65 72 61 6c ite.class="file">integer_literal
21c80 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 63 s.zig</cite></figcaption><pre><c
21ca0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
21cc0 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 63 69 6d 61 6c ss="tok-kw">const</span>.decimal
21ce0 5f 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 22 3e _int.=.<span.class="tok-number">
21d00 39 38 32 32 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 98222</span>;</span>.<span.class
21d20 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
21d40 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 3d st</span>.hex_int.=.<span.class=
21d60 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 3c 2f 73 70 61 6e 3e "tok-number">0xff</span>;</span>
21d80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
21da0 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 68 65 "tok-kw">const</span>.another_he
21dc0 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 6e 75 6d 62 65 72 22 x_int.=.<span.class="tok-number"
21de0 3e 30 78 46 46 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >0xFF</span>;</span>.<span.class
21e00 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
21e20 73 74 3c 2f 73 70 61 6e 3e 20 6f 63 74 61 6c 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 st</span>.octal_int.=.<span.clas
21e40 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 6f 37 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 s="tok-number">0o755</span>;</sp
21e60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
21e80 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 69 6e 61 72 79 5f ss="tok-kw">const</span>.binary_
21ea0 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 22 3e 30 int.=.<span.class="tok-number">0
21ec0 62 31 31 31 31 30 30 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 b11110000</span>;</span>.<span.c
21ee0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
21f00 22 6c 69 6e 65 22 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 "line"><span.class="tok-comment"
21f20 3e 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 >//.underscores.may.be.placed.be
21f40 74 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 tween.two.digits.as.a.visual.sep
21f60 61 72 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 arator</span></span>.<span.class
21f80 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
21fa0 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 61 6e 20 63 6c st</span>.one_billion.=.<span.cl
21fc0 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 30 30 30 3c 2f ass="tok-number">1_000_000_000</
21fe0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
22000 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
22020 6e 3e 20 62 69 6e 61 72 79 5f 6d 61 73 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>.binary_mask.=.<span.class="to
22040 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 5f 31 31 31 31 5f 31 31 31 31 3c 2f 73 70 61 6e 3e 3b 3c k-number">0b1_1111_1111</span>;<
22060 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
22080 63 6c 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 65 72 6d class="tok-kw">const</span>.perm
220a0 69 73 73 69 6f 6e 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 issions.=.<span.class="tok-numbe
220c0 72 22 3e 30 6f 37 5f 35 5f 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 r">0o7_5_5</span>;</span>.<span.
220e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
22100 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 67 5f 61 64 64 72 65 73 73 20 3d 20 3c 73 70 ">const</span>.big_address.=.<sp
22120 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 46 46 38 30 5f 30 30 30 an.class="tok-number">0xFF80_000
22140 30 5f 30 30 30 30 5f 30 30 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 0_0000_0000</span>;</span></code
22160 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 68 ></pre></figure>..............<h
22180 33 20 69 64 3d 22 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e 3c 61 3.id="Runtime-Integer-Values"><a
221a0 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 .href="#toc-Runtime-Integer-Valu
221c0 65 73 22 3e 52 75 6e 74 69 6d 65 20 49 6e 74 65 67 65 72 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c es">Runtime.Integer.Values</a>.<
221e0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 75 6e 74 69 6d 65 2d 49 6e 74 a.class="hdr".href="#Runtime-Int
22200 65 67 65 72 2d 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 eger-Values">..</a></h3>........
22220 3c 70 3e 0a 20 20 20 20 20 20 49 6e 74 65 67 65 72 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 <p>.......Integer.literals.have.
22240 6e 6f 20 73 69 7a 65 20 6c 69 6d 69 74 61 74 69 6f 6e 2c 20 61 6e 64 20 69 66 20 61 6e 79 20 75 no.size.limitation,.and.if.any.u
22260 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 ndefined.behavior.occurs,.......
22280 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 74 63 68 65 73 20 69 74 2e 0a 20 20 20 20 20 20 3c the.compiler.catches.it........<
222a0 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 72 2c 20 6f 6e 63 /p>.......<p>.......However,.onc
222c0 65 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 e.an.integer.value.is.no.longer.
222e0 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 69 74 20 6d 75 73 74 20 68 known.at.compile-time,.it.must.h
22300 61 76 65 20 61 0a 20 20 20 20 20 20 6b 6e 6f 77 6e 20 73 69 7a 65 2c 20 61 6e 64 20 69 73 20 76 ave.a.......known.size,.and.is.v
22320 75 6c 6e 65 72 61 62 6c 65 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e ulnerable.to.undefined.behavior.
22340 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
22360 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
22380 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 76 73 5f 63 6f 6d 70 74 69 6d 65 2e 7a 69 67 s="file">runtime_vs_comptime.zig
223a0 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><
223c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
223e0 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
22400 6b 2d 66 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 k-fn">divide</span>(a:.<span.cla
22420 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 73 70 ss="tok-type">i32</span>,.b:.<sp
22440 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 20 an.class="tok-type">i32</span>).
22460 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
22480 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
224a0 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
224c0 70 61 6e 3e 20 61 20 2f 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.a./.b;</span>.<span.class="
224e0 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
22500 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 75 6e ure>.......<p>.......In.this.fun
22520 63 74 69 6f 6e 2c 20 76 61 6c 75 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ction,.values.<code><span.class=
22540 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 "line">a</span></code>.and.<code
22560 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">b</span></co
22580 64 65 3e 20 61 72 65 20 6b 6e 6f 77 6e 20 6f 6e 6c 79 20 61 74 20 72 75 6e 74 69 6d 65 2c 0a 20 de>.are.known.only.at.runtime,..
225a0 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 68 69 73 20 64 69 76 69 73 69 6f 6e 20 6f 70 65 72 .....and.thus.this.division.oper
225c0 61 74 69 6f 6e 20 69 73 20 76 75 6c 6e 65 72 61 62 6c 65 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 ation.is.vulnerable.to.both.<a.h
225e0 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 ref="#Integer-Overflow">Integer.
22600 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 Overflow</a>.and.......<a.href="
22620 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 79 20 5a #Division-by-Zero">Division.by.Z
22640 65 72 6f 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 ero</a>........</p>.......<p>...
22660 20 20 20 20 4f 70 65 72 61 74 6f 72 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 ....Operators.such.as.<code><spa
22680 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 n.class="line">+</span></code>.a
226a0 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 2f 73 nd.<code><span.class="line">-</s
226c0 70 61 6e 3e 3c 2f 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 pan></code>.cause.undefined.beha
226e0 76 69 6f 72 20 6f 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 vior.on.......integer.overflow..
22700 41 6c 74 65 72 6e 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 Alternative.operators.are.provid
22720 65 64 20 66 6f 72 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 ed.for.wrapping.and.saturating.a
22740 72 69 74 68 6d 65 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 rithmetic.on.all.targets........
22760 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 25 3c 2f 73 70 61 <code><span.class="line">+%</spa
22780 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 3d n></code>.and.<code><span.class=
227a0 22 6c 69 6e 65 22 3e 2d 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 20 "line">-%</span></code>.perform.
227c0 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 77 68 69 6c 65 20 wrapping.arithmetic.......while.
227e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 7c 3c 2f 73 70 61 <code><span.class="line">+|</spa
22800 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 3d n></code>.and.<code><span.class=
22820 22 6c 69 6e 65 22 3e 2d 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 20 "line">-|</span></code>.perform.
22840 73 61 74 75 72 61 74 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 2e 0a 20 20 20 20 20 20 3c 2f 70 saturating.arithmetic........</p
22860 3e 0a 20 20 20 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 61 >.......<p>.......Zig.supports.a
22880 72 62 69 74 72 61 72 79 20 62 69 74 2d 77 69 64 74 68 20 69 6e 74 65 67 65 72 73 2c 20 72 65 66 rbitrary.bit-width.integers,.ref
228a0 65 72 65 6e 63 65 64 20 62 79 20 75 73 69 6e 67 0a 20 20 20 20 20 20 61 6e 20 69 64 65 6e 74 69 erenced.by.using.......an.identi
228c0 66 69 65 72 20 6f 66 20 3c 63 6f 64 65 3e 69 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e fier.of.<code>i</code>.or.<code>
228e0 75 3c 2f 63 6f 64 65 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 64 69 67 69 74 73 2e 20 46 6f 72 u</code>.followed.by.digits..For
22900 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 3c .example,.the.identifier.......<
22920 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
22940 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 73 70 61 6e 3e 3c ass="tok-type">i7</span></span><
22960 2f 63 6f 64 65 3e 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 /code>.refers.to.a.signed.7-bit.
22980 69 6e 74 65 67 65 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 integer..The.maximum.allowed.bit
229a0 2d 77 69 64 74 68 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 -width.of.an.......integer.type.
229c0 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 is.<code><span.class="line"><spa
229e0 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 2f 73 70 61 6e n.class="tok-number">65535</span
22a00 3e 3c 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 ></span></code>..For.signed.inte
22a20 67 65 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 ger.types,.Zig.uses.a.......<a.h
22a40 72 65 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 ref="https://en.wikipedia.org/wi
22a60 6b 69 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 ki/Two's_complement">two's.compl
22a80 65 6d 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 ement</a>.representation........
22aa0 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>.
22ac0 3c 6c 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 <li><a.href="#Wrapping-Operation
22ae0 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 0a s">Wrapping.Operations</a></li>.
22b00 3c 2f 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 </ul>......................<h2.i
22b20 64 3d 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 d="Floats"><a.href="#toc-Floats"
22b40 3e 46 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 >Floats</a>.<a.class="hdr".href=
22b60 22 23 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 "#Floats">..</a></h2>........<p>
22b80 5a 69 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 Zig.has.the.following.floating.p
22ba0 6f 69 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 oint.types:</p>.......<ul>......
22bc0 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 6c 69 6e 65 .....<li><code><span.class="line
22be0 22 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 31 36 3c 2f 73 70 "><span.class="tok-type">f16</sp
22c00 61 6e 3e 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 an></span></code>.-.IEEE-754-200
22c20 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 69 3e 3c 63 8.binary16</li>...........<li><c
22c40 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
22c60 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-type">f32</span></span><
22c80 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 72 79 33 32 3c /code>.-.IEEE-754-2008.binary32<
22ca0 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 63 /li>...........<li><code><span.c
22cc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 lass="line"><span.class="tok-typ
22ce0 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 e">f64</span></span></code>.-.IE
22d00 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 EE-754-2008.binary64</li>.......
22d20 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 6c 69 6e 65 22 ....<li><code><span.class="line"
22d40 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 38 30 3c 2f 73 70 61 ><span.class="tok-type">f80</spa
22d60 6e 3e 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 n></span></code>.-.IEEE-754-2008
22d80 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 6c 69 3e 0a .80-bit.extended.precision</li>.
22da0 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=
22dc0 22 6c 69 6e 65 22 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 31 "line"><span.class="tok-type">f1
22de0 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 28</span></span></code>.-.IEEE-7
22e00 35 34 2d 32 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 54-2008.binary128</li>..........
22e20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .<li><code><span.class="line"><s
22e40 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 64 6f 75 62 6c pan.class="tok-type">c_longdoubl
22e60 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6d 61 74 63 68 65 73 e</span></span></code>.-.matches
22e80 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 63 6f .<code.class="c">long.double</co
22ea0 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 20 20 de>.for.the.target.C.ABI</li>...
22ec0 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 4c 69 ....</ul>.......<h3.id="Float-Li
22ee0 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 74 65 terals"><a.href="#toc-Float-Lite
22f00 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 61 73 rals">Float.Literals</a>.<a.clas
22f20 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 3e c2 s="hdr".href="#Float-Literals">.
22f40 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 6f 61 .</a></h3>........<p>.......Floa
22f60 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 61 6e t.literals.have.type.<code><span
22f80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .class="line"><span.class="tok-t
22fa0 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ype">comptime_float</span></span
22fc0 3e 3c 2f 63 6f 64 65 3e 20 77 68 69 63 68 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 ></code>.which.is.guaranteed.to.
22fe0 68 61 76 65 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 70 72 65 63 69 73 69 6f 6e 20 61 6e have.......the.same.precision.an
23000 64 20 6f 70 65 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6c 61 72 67 65 73 74 20 6f 74 68 65 d.operations.of.the.largest.othe
23020 72 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 74 79 70 65 2c 20 77 68 69 63 68 20 69 73 0a r.floating.point.type,.which.is.
23040 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 6c 69 6e 65 22 3e 3c ......<code><span.class="line"><
23060 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 3c 2f 73 70 61 6e span.class="tok-type">f128</span
23080 3e 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 ></span></code>........</p>.....
230a0 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 20 3c 61 20 68 72 ..<p>.......Float.literals.<a.hr
230c0 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 3c 2f 61 3e 20 74 ef="#Type-Coercion">coerce</a>.t
230e0 6f 20 61 6e 79 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 74 79 70 65 2c 0a 20 20 20 20 20 o.any.floating.point.type,......
23100 20 61 6e 64 20 74 6f 20 61 6e 79 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e .and.to.any.<a.href="#Integers">
23120 69 6e 74 65 67 65 72 3c 2f 61 3e 20 74 79 70 65 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e integer</a>.type.when.there.is.n
23140 6f 20 66 72 61 63 74 69 6f 6e 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f o.fractional.component........</
23160 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
23180 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">
231a0 66 6c 6f 61 74 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 float_literals.zig</cite></figca
231c0 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 6c 69 ption><pre><code><span.class="li
231e0 6e 65 22 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 ne"><span.class="tok-kw">const</
23200 73 70 61 6e 3e 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 span>.floating_point.=.<span.cla
23220 73 73 3d 22 74 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 ss="tok-number">123.0E+77</span>
23240 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
23260 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 6e n.class="tok-kw">const</span>.an
23280 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 6e other_float.=.<span.class="tok-n
232a0 75 6d 62 65 72 22 3e 31 32 33 2e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 umber">123.0</span>;</span>.<spa
232c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
232e0 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 68 65 72 20 3d 20 3c kw">const</span>.yet_another.=.<
23300 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 2e 30 65 2b 37 span.class="tok-number">123.0e+7
23320 37 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 7</span>;</span>.<span.class="li
23340 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
23360 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>
23380 20 68 65 78 5f 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 .hex_floating_point.=.<span.clas
233a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 33 2e 37 30 70 2d 35 3c 2f 73 70 61 6e s="tok-number">0x103.70p-5</span
233c0 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 >;</span>.<span.class="line"><sp
233e0 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
23400 6e 6f 74 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 nother_hex_float.=.<span.class="
23420 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 33 2e 37 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 tok-number">0x103.70</span>;</sp
23440 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
23460 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 65 74 5f 61 6e 6f ss="tok-kw">const</span>.yet_ano
23480 74 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 ther_hex_float.=.<span.class="to
234a0 6b 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 3c 2f 73 k-number">0x103.70P-5</span>;</s
234c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
234e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
23500 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 64 65 72 73 63 6f 72 65 73 20 6d 61 79 20 tok-comment">//.underscores.may.
23520 62 65 20 70 6c 61 63 65 64 20 62 65 74 77 65 65 6e 20 74 77 6f 20 64 69 67 69 74 73 20 61 73 20 be.placed.between.two.digits.as.
23540 61 20 76 69 73 75 61 6c 20 73 65 70 61 72 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e a.visual.separator</span></span>
23560 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
23580 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 67 68 74 73 70 65 65 64 "tok-kw">const</span>.lightspeed
235a0 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 39 39 5f .=.<span.class="tok-number">299_
235c0 37 39 32 5f 34 35 38 2e 30 30 30 5f 30 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 792_458.000_000</span>;</span>.<
235e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
23600 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6e 6f 73 65 63 6f 6e 64 20 3d ok-kw">const</span>.nanosecond.=
23620 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 30 30 5f .<span.class="tok-number">0.000_
23640 30 30 30 5f 30 30 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 000_001</span>;</span>.<span.cla
23660 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
23680 6f 6e 73 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 onst</span>.more_hex.=.<span.cla
236a0 73 73 3d 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 ss="tok-number">0x1234_5678.9ABC
236c0 5f 43 44 45 46 70 2d 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c _CDEFp-10</span>;</span></code><
236e0 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 54 /pre></figure>.......<p>.......T
23700 68 65 72 65 20 69 73 20 6e 6f 20 73 79 6e 74 61 78 20 66 6f 72 20 4e 61 4e 2c 20 69 6e 66 69 6e here.is.no.syntax.for.NaN,.infin
23720 69 74 79 2c 20 6f 72 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 74 ity,.or.negative.infinity..For.t
23740 68 65 73 65 20 73 70 65 63 69 61 6c 20 76 61 6c 75 65 73 2c 0a 20 20 20 20 20 20 6f 6e 65 20 6d hese.special.values,.......one.m
23760 75 73 74 20 75 73 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 3a 0a 20 20 ust.use.the.standard.library:...
23780 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
237a0 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="
237c0 66 69 6c 65 22 3e 66 6c 6f 61 74 5f 73 70 65 63 69 61 6c 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f file">float_special_values.zig</
237e0 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
23800 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
23820 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
23840 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>
23860 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
23880 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>);</span>.<span.cla
238a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
238c0 69 6e 65 22 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 ine"><span.class="tok-kw">const<
238e0 2f 73 70 61 6e 3e 20 69 6e 66 20 3d 20 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 /span>.inf.=.std.math.inf(<span.
23900 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 3b 3c 2f 73 class="tok-type">f32</span>);</s
23920 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
23940 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 65 67 61 74 69 ass="tok-kw">const</span>.negati
23960 76 65 5f 69 6e 66 20 3d 20 2d 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 63 6c 61 ve_inf.=.-std.math.inf(<span.cla
23980 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-type">f64</span>);</span
239a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
239c0 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 6e 20 3d 20 73 74 64 ="tok-kw">const</span>.nan.=.std
239e0 2e 6d 61 74 68 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 .math.nan(<span.class="tok-type"
23a00 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 >f128</span>);</span></code></pr
23a20 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 69 64 3d e></figure>..............<h3.id=
23a40 22 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 3c 61 20 68 "Floating-Point-Operations"><a.h
23a60 72 65 66 3d 22 23 74 6f 63 2d 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 ref="#toc-Floating-Point-Operati
23a80 6f 6e 73 22 3e 46 6c 6f 61 74 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f ons">Floating.Point.Operations</
23aa0 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 6c 6f 61 74 69 6e a>.<a.class="hdr".href="#Floatin
23ac0 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a g-Point-Operations">..</a></h3>.
23ae0 0a 20 20 20 20 20 20 3c 70 3e 42 79 20 64 65 66 61 75 6c 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f .......<p>By.default.floating.po
23b00 69 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 int.operations.use.<code><span.c
23b20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 72 69 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e lass="line">Strict</span></code>
23b40 20 6d 6f 64 65 2c 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 .mode,...........but.you.can.swi
23b60 74 63 68 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e tch.to.<code><span.class="line">
23b80 4f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 20 6f 6e 20 Optimized</span></code>.mode.on.
23ba0 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
23bc0 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"
23be0 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
23c00 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><
23c20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
23c40 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.=.
23c60 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
23c80 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">&
23ca0 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 73 70 61 6e 3e 0a 3c quot;std&quot;</span>);</span>.<
23cc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
23ce0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 67 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.big.=.<span.
23d00 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 3c class="tok-builtin">@as</span>(<
23d20 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 3e span.class="tok-type">f64</span>
23d40 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 3c 2f 73 70 ,.<span.class="tok-number">1</sp
23d60 61 6e 3e 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 6b 2d 6e 75 an>.&lt;&lt;.<span.class="tok-nu
23d80 6d 62 65 72 22 3e 34 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">40</span>);</span>.<span.c
23da0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
23dc0 22 6c 69 6e 65 22 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 6f "line"><span.class="tok-kw">expo
23de0 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 66 rt</span>.<span.class="tok-kw">f
23e00 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 6f n</span>.<span.class="tok-fn">fo
23e20 6f 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 o_strict</span>(x:.<span.class="
23e40 74 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 tok-type">f64</span>).<span.clas
23e60 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e s="tok-type">f64</span>.{</span>
23e80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
23ea0 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 20 2b 20 62 ass="tok-kw">return</span>.x.+.b
23ec0 69 67 20 2d 20 62 69 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ig.-.big;</span>.<span.class="li
23ee0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
23f00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
23f20 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
23f40 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
23f60 61 6e 20 63 6c 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 an.class="tok-fn">foo_optimized<
23f80 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 2d 74 79 70 65 22 /span>(x:.<span.class="tok-type"
23fa0 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 74 6f 6b 2d 74 79 >f64</span>).<span.class="tok-ty
23fc0 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">f64</span>.{</span>.<span.cl
23fe0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
24000 62 75 69 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 4f builtin">@setFloatMode</span>(.O
24020 70 74 69 6d 69 7a 65 64 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ptimized);</span>.<span.class="l
24040 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">re
24060 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 3c 2f 73 70 61 6e turn</span>.x.+.big.-.big;</span
24080 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
240a0 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
240c0 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</
240e0 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
24100 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 2d 4f .build-obj.float_mode_obj.zig.-O
24120 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 65 3e .ReleaseFast</kbd>.</samp></pre>
24140 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 73 74 </figure>.......<p>For.this.test
24160 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 20 74 .we.have.to.separate.code.into.t
24180 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 69 73 wo.object.files.-.......otherwis
241a0 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 6c 20 e.the.optimizer.figures.out.all.
241c0 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 20 20 the.values.at.compile-time,.....
241e0 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 65 2e ..which.operates.in.strict.mode.
24200 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
24220 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
24240 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 69 67 ">float_mode_exe.zig</cite></fig
24260 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="
24280 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
242a0 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 6f 6b </span>.print.=.<span.class="tok
242c0 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
242e0 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;</
24300 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span>).debug.print;</span>.<span
24320 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
24340 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 s="line"><span.class="tok-kw">ex
24360 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 22 tern</span>.<span.class="tok-kw"
24380 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">
243a0 66 6f 6f 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 foo_strict</span>(x:.<span.class
243c0 3d 22 74 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 ="tok-type">f64</span>).<span.cl
243e0 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 3b 3c 2f 73 70 61 6e ass="tok-type">f64</span>;</span
24400 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
24420 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
24440 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
24460 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 3e ss="tok-fn">foo_optimized</span>
24480 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 2f (x:.<span.class="tok-type">f64</
244a0 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 36 span>).<span.class="tok-type">f6
244c0 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 4</span>;</span>.<span.class="li
244e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
24500 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>.<
24520 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
24540 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 29 pan.class="tok-fn">main</span>()
24560 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
24580 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
245a0 20 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</
245c0 73 70 61 6e 3e 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 span>.x.=.<span.class="tok-numbe
245e0 72 22 3e 30 2e 30 30 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r">0.001</span>;</span>.<span.cl
24600 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">....print(<span.class
24620 3d 22 74 6f 6b 2d 73 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 ="tok-str">&quot;optimized.=.{}\
24640 6e 26 71 75 6f 74 3b 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 n&quot;</span>,..{foo_optimized(
24660 78 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e x)});</span>.<span.class="line">
24680 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 22 3e ....print(<span.class="tok-str">
246a0 26 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 &quot;strict.=.{}\n&quot;</span>
246c0 2c 20 2e 7b 66 6f 6f 5f 73 74 72 69 63 74 28 78 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ,..{foo_strict(x)});</span>.<spa
246e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
24700 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
24720 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
24740 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
24760 2d 65 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 -exe.float_mode_exe.zig.float_mo
24780 64 65 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 de_obj.o</kbd>.$.<kbd>./float_mo
247a0 64 65 5f 65 78 65 3c 2f 6b 62 64 3e 0a 6f 70 74 69 6d 69 7a 65 64 20 3d 20 39 2e 37 36 35 36 32 de_exe</kbd>.optimized.=.9.76562
247c0 35 65 2d 30 34 0a 73 74 72 69 63 74 20 3d 20 39 2e 37 36 35 36 32 35 65 2d 30 34 0a 3c 2f 73 61 5e-04.strict.=.9.765625e-04.</sa
247e0 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.
24800 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 73 65 74 46 also:</p><ul>.<li><a.href="#setF
24820 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 3e loatMode">@setFloatMode</a></li>
24840 0a 3c 6c 69 3e 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 .<li><a.href="#Division-by-Zero"
24860 3e 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 3c 2f 75 6c 3e >Division.by.Zero</a></li>.</ul>
24880 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 22 4f 70 ......................<h2.id="Op
248a0 65 72 61 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 erators"><a.href="#toc-Operators
248c0 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ">Operators</a>.<a.class="hdr".h
248e0 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 ref="#Operators">..</a></h2>....
24900 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 20 6f 70 65 72 61 74 ....<p>.......There.is.no.operat
24920 6f 72 20 6f 76 65 72 6c 6f 61 64 69 6e 67 2e 20 57 68 65 6e 20 79 6f 75 20 73 65 65 20 61 6e 20 or.overloading..When.you.see.an.
24940 6f 70 65 72 61 74 6f 72 20 69 6e 20 5a 69 67 2c 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 0a 20 operator.in.Zig,.you.know.that..
24960 20 20 20 20 20 69 74 20 69 73 20 64 6f 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 66 72 6f 6d 20 .....it.is.doing.something.from.
24980 74 68 69 73 20 74 61 62 6c 65 2c 20 61 6e 64 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 2e 0a 20 20 this.table,.and.nothing.else....
249a0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 61 62 6c 65 2d 6f 66 2d ....</p>.......<h3.id="Table-of-
249c0 4f 70 65 72 61 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 61 62 6c 65 2d 6f Operators"><a.href="#toc-Table-o
249e0 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 54 61 62 6c 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c f-Operators">Table.of.Operators<
24a00 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 61 62 6c 65 2d /a>.<a.class="hdr".href="#Table-
24a20 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 of-Operators">..</a></h3>.......
24a40 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 20 20 .<div.class="table-wrapper">....
24a60 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 54 61 62 6c ...<table>.........<caption>Tabl
24a80 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 e.of.Operators</caption>........
24aa0 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 20 20 20 20 20 20 20 .<thead>.........<tr>...........
24ac0 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 53 79 6e 74 61 78 3c 2f 74 68 3e 0a 20 20 20 20 <th.scope="col">Syntax</th>.....
24ae0 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 52 65 6c 65 76 61 6e 74 20 54 ......<th.scope="col">Relevant.T
24b00 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 22 63 ypes</th>...........<th.scope="c
24b20 6f 6c 22 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 20 20 3c ol">Description</th>...........<
24b40 74 68 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 th.scope="col">Example</th>.....
24b60 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 3e 0a 20 20 20 20 20 ....</tr>.........</thead>......
24b80 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 20 20 20 20 20 20 20 ...<tbody>.........<tr>.........
24ba0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 ..<th.scope="row"><pre><code><sp
24bc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">a.+.b</span>.<sp
24be0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 an.class="line">a.+=.b</span></c
24c00 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ode></pre></th>...........<td>..
24c20 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
24c40 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 2f i><a.href="#Integers">Integers</
24c60 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
24c80 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 20 20 f="#Floats">Floats</a></li>.....
24ca0 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>...
24cc0 20 20 20 20 20 20 20 20 3c 74 64 3e 41 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 ........<td>Addition............
24ce0 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 63 61 75 ..<ul>...............<li>Can.cau
24d00 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 6e 73 22 se.<a.href="#Default-Operations"
24d20 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 6c 69 3e >overflow</a>.for.integers.</li>
24d40 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
24d60 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.
24d80 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
24da0 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 3e 53 65 65 ands.</li>...............<li>See
24dc0 20 61 6c 73 6f 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 77 22 .also.<a.href="#addWithOverflow"
24de0 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 >@addWithOverflow</a>.</li>.....
24e00 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>...
24e20 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
24e40 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
24e60 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 2b 20 3c 73 70 61 6e ss="tok-number">2</span>.+.<span
24e80 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 20 3d 3d 20 .class="tok-number">5</span>.==.
24ea0 3c 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
24ec0 3e 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 ></span></code></pre>...........
24ee0 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>
24f00 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 3c 70 72 65 3e ...........<th.scope="row"><pre>
24f20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 25 20 62 3c <code><span.class="line">a.+%.b<
24f40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 25 3d 20 /span>.<span.class="line">a.+%=.
24f60 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 b</span></code></pre></th>......
24f80 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 20 .....<td>.............<ul>......
24fa0 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 22 .........<li><a.href="#Integers"
24fc0 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 3c >Integers</a></li>.............<
24fe0 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>...........<
25000 74 64 3e 57 72 61 70 70 69 6e 67 20 41 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 td>Wrapping.Addition............
25020 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 47 75 61 72 61 6e 74 ..<ul>...............<li>Guarant
25040 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 eed.to.have.twos-complement.wrap
25060 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 20 20 20 20 20 ping.behavior.</li>.............
25080 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
250a0 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
250c0 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>...
250e0 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
25100 3d 22 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 ="#addWithOverflow">@addWithOver
25120 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 3e flow</a>.</li>.............</ul>
25140 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>.
25160 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
25180 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
251a0 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-
251c0 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e type">u32</span>,.std.math.maxIn
251e0 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 33 32 3c 2f 73 70 t(<span.class="tok-type">u32</sp
25200 61 6e 3e 29 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 an>)).+%.<span.class="tok-number
25220 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 6e ">1</span>.==.<span.class="tok-n
25240 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 umber">0</span></span></code></p
25260 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
25280 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 6f >.........<tr>...........<th.sco
252a0 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d pe="row"><pre><code><span.class=
252c0 22 6c 69 6e 65 22 3e 61 20 2b 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">a.+|.b</span>.<span.class
252e0 3d 22 6c 69 6e 65 22 3e 61 20 2b 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ="line">a.+|=.b</span></code></p
25300 72 65 3e 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 re></th>...........<td>.........
25320 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 72 ....<ul>...............<li><a.hr
25340 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>
25360 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 74 .............</ul>...........</t
25380 64 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 69 d>...........<td>Saturating.Addi
253a0 74 69 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 tion..............<ul>..........
253c0 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 65 72 2d .....<li>Invokes.<a.href="#Peer-
253e0 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 6f 6c Type-Resolution">Peer.Type.Resol
25400 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 6c 69 3e ution</a>.for.the.operands.</li>
25420 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 74 .............</ul>...........</t
25440 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
25460 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
25480 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>
254a0 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
254c0 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>,.std.math.maxInt(<span.class=
254e0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 2b 7c 20 3c 73 70 61 6e "tok-type">u32</span>)).+|.<span
25500 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 3d 3d 20 .class="tok-number">1</span>.==.
25520 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 73 <span.class="tok-builtin">@as</s
25540 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 3c pan>(<span.class="tok-type">u32<
25560 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c /span>,.std.math.maxInt(<span.cl
25580 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 29 3c 2f 73 70 61 ass="tok-type">u32</span>))</spa
255a0 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>.
255c0 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>......
255e0 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e .....<th.scope="row"><pre><code>
25600 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 20 62 3c 2f 73 70 61 6e 3e 0a <span.class="line">a.-.b</span>.
25620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 3d 20 62 3c 2f 73 70 61 6e 3e <span.class="line">a.-=.b</span>
25640 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 </code></pre></th>...........<td
25660 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>..............
25680 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
256a0 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.
256c0 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>..
256e0 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>
25700 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 ...........<td>Subtraction......
25720 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 43 ........<ul>...............<li>C
25740 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 61 an.cause.<a.href="#Default-Opera
25760 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 73 tions">overflow</a>.for.integers
25780 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 73 .</li>...............<li>Invokes
257a0 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 22 .<a.href="#Peer-Type-Resolution"
257c0 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 68 >Peer.Type.Resolution</a>.for.th
257e0 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 3c e.operands.</li>...............<
25800 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 65 li>See.also.<a.href="#subWithOve
25820 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 69 rflow">@subWithOverflow</a>.</li
25840 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>...........</
25860 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>.............<
25880 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
258a0 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 20 2d an.class="tok-number">2</span>.-
258c0 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
258e0 6e 3e 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 62 65 72 22 3e n>.==.-<span.class="tok-number">
25900 33 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 3</span></span></code></pre>....
25920 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>......
25940 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
25960 22 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 6c 69 6e 65 22 3e "><pre><code><span.class="line">
25980 61 20 2d 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 a.-%.b</span>.<span.class="line"
259a0 3e 61 20 2d 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 >a.-%=.b</span></code></pre></th
259c0 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
259e0 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
25a00 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>.......
25a20 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>.....
25a40 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a ......<td>Wrapping.Subtraction..
25a60 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>...............<
25a80 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c li>Guaranteed.to.have.twos-compl
25aa0 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 2f 6c 69 3e 0a 20 20 ement.wrapping.behavior.</li>...
25ac0 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 3d ............<li>Invokes.<a.href=
25ae0 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 70 "#Peer-Type-Resolution">Peer.Typ
25b00 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 64 e.Resolution</a>.for.the.operand
25b20 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 53 65 65 20 61 6c s.</li>...............<li>See.al
25b40 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 6c 6f 77 22 3e 40 73 so.<a.href="#subWithOverflow">@s
25b60 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 20 20 20 20 20 20 20 ubWithOverflow</a>.</li>........
25b80 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>......
25ba0 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
25bc0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
25be0 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 63 "tok-builtin">@as</span>(<span.c
25c00 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 70 61 lass="tok-type">u32</span>,.<spa
25c20 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 2d n.class="tok-number">0</span>).-
25c40 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 2f 73 70 %.<span.class="tok-number">1</sp
25c60 61 6e 3e 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 an>.==.std.math.maxInt(<span.cla
25c80 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 3c 2f 73 70 61 6e 3e ss="tok-type">u32</span>)</span>
25ca0 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>...
25cc0 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>........
25ce0 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 ...<th.scope="row"><pre><code><s
25d00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c pan.class="line">a.-|.b</span>.<
25d20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 7c 3d 20 62 3c 2f 73 70 61 6e 3e span.class="line">a.-|=.b</span>
25d40 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 </code></pre></th>...........<td
25d60 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>..............
25d80 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
25da0 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 20 s</a></li>.............</ul>....
25dc0 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 53 61 74 75 72 .......</td>...........<td>Satur
25de0 61 74 69 6e 67 20 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ating.Subtraction..............<
25e00 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 3c 61 ul>...............<li>Invokes.<a
25e20 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
25e40 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
25e60 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>.
25e80 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>..
25ea0 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
25ec0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 s="line"><span.class="tok-builti
25ee0 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
25f00 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
25f20 6b 2d 6e 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 k-number">0</span>).-|.<span.cla
25f40 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 3d 3d 20 3c 73 70 61 ss="tok-number">1</span>.==.<spa
25f60 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 73 n.class="tok-number">0</span></s
25f80 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
25fa0 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>....
25fc0 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 .......<th.scope="row"><pre><cod
25fe0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 61 3c 2f 73 70 61 6e 3e 3c 2f e><span.class="line">-a</span></
26000 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a code></pre></th>...........<td>.
26020 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>...............<
26040 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<
26060 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 72 /a></li>...............<li><a.hr
26080 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 20 ef="#Floats">Floats</a></li>....
260a0 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>..
260c0 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 4e 65 67 61 74 69 .........<td>.............Negati
260e0 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>............
26100 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 66 61 75 ...<li>Can.cause.<a.href="#Defau
26120 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 6f 72 20 lt-Operations">overflow</a>.for.
26140 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 3c 2f 75 6c 3e integers.</li>.............</ul>
26160 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>.
26180 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
261a0 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ss="line">-<span.class="tok-numb
261c0 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 74 6f 6b er">1</span>.==.<span.class="tok
261e0 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 73 73 3d -number">0</span>.-.<span.class=
26200 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-number">1</span></span></co
26220 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 20 de></pre>...........</td>.......
26240 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>...........<
26260 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 th.scope="row"><pre><code><span.
26280 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f class="line">-%a</span></code></
262a0 70 72 65 3e 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 pre></th>...........<td>........
262c0 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
262e0 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
26300 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>...........</
26320 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 57 td>...........<td>.............W
26340 72 61 70 70 69 6e 67 20 4e 65 67 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 rapping.Negation..............<u
26360 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 l>...............<li>Guaranteed.
26380 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 to.have.twos-complement.wrapping
263a0 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 3c 2f 75 6c .behavior.</li>.............</ul
263c0 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>
263e0 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
26400 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ass="line">-%<span.class="tok-bu
26420 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
26440 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 69 ok-type">i32</span>,.std.math.mi
26460 6e 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 nInt(<span.class="tok-type">i32<
26480 2f 73 70 61 6e 3e 29 29 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 3c 73 70 61 /span>)).==.std.math.minInt(<spa
264a0 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 3c 2f n.class="tok-type">i32</span>)</
264c0 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 74 span></code></pre>...........</t
264e0 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 20 d>.........</tr>.........<tr>...
26500 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 70 72 65 3e 3c 63 6f ........<th.scope="row"><pre><co
26520 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 20 62 3c 2f 73 70 61 de><span.class="line">a.*.b</spa
26540 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 3d 20 62 3c 2f 73 70 n>.<span.class="line">a.*=.b</sp
26560 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 an></code></pre></th>...........
26580 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>...........
265a0 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
265c0 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>
265e0 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
26600 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>...........</
26620 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e td>...........<td>Multiplication
26640 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>..............
26660 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 66 61 75 6c 74 .<li>Can.cause.<a.href="#Default
26680 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 6f 72 20 69 6e -Operations">overflow</a>.for.in
266a0 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 3c 6c 69 3e 49 tegers.</li>...............<li>I
266c0 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 6c nvokes.<a.href="#Peer-Type-Resol
266e0 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 20 ution">Peer.Type.Resolution</a>.
26700 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 20 20 for.the.operands.</li>..........
26720 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 6d 75 6c 57 .....<li>See.also.<a.href="#mulW
26740 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 61 ithOverflow">@mulWithOverflow</a
26760 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 20 20 20 20 20 >.</li>.............</ul>.......
26780 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>........
267a0 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 6c 69 6e .....<pre><code><span.class="lin
267c0 65 22 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 32 3c 2f 73 e"><span.class="tok-number">2</s
267e0 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 62 65 72 22 3e pan>.*.<span.class="tok-number">
26800 35 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 5</span>.==.<span.class="tok-num
26820 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ber">10</span></span></code></pr
26840 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>
26860 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
26880 65 3d 22 72 6f 77 22 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 e="row"><pre><code><span.class="
268a0 6c 69 6e 65 22 3e 61 20 2a 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d line">a.*%.b</span>.<span.class=
268c0 22 6c 69 6e 65 22 3e 61 20 2a 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 "line">a.*%=.b</span></code></pr
268e0 65 3e 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 e></th>...........<td>..........
26900 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
26920 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 0a f="#Integers">Integers</a></li>.
26940 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
26960 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 4d 75 6c 74 69 70 6c >...........<td>Wrapping.Multipl
26980 69 63 61 74 69 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 ication..............<ul>.......
269a0 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 ........<li>Guaranteed.to.have.t
269c0 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 76 69 6f 72 wos-complement.wrapping.behavior
269e0 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 73 .</li>...............<li>Invokes
26a00 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 22 .<a.href="#Peer-Type-Resolution"
26a20 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 68 >Peer.Type.Resolution</a>.for.th
26a40 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 3c e.operands.</li>...............<
26a60 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 li>See.also.<a.href="#mulWithOve
26a80 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 61 3e 2e 3c 2f 6c 69 rflow">@mulWithOverflow</a>.</li
26aa0 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>...........</
26ac0 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>.............<
26ae0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
26b00 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
26b20 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 61 >(<span.class="tok-type">u8</spa
26b40 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 30 30 n>,.<span.class="tok-number">200
26b60 3c 2f 73 70 61 6e 3e 29 20 2a 25 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
26b80 62 65 72 22 3e 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 ber">2</span>.==.<span.class="to
26ba0 6b 2d 6e 75 6d 62 65 72 22 3e 31 34 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 k-number">144</span></span></cod
26bc0 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 20 20 e></pre>...........</td>........
26be0 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
26c00 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 h.scope="row"><pre><code><span.c
26c20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 lass="line">a.*|.b</span>.<span.
26c40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 class="line">a.*|=.b</span></cod
26c60 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 e></pre></th>...........<td>....
26c80 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>
26ca0 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 3e <a.href="#Integers">Integers</a>
26cc0 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>.........
26ce0 20 20 3c 2f 74 64 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 ..</td>...........<td>Saturating
26d00 20 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c .Multiplication..............<ul
26d20 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
26d40 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
26d60 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
26d80 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>...
26da0 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>....
26dc0 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=
26de0 22 6c 69 6e 65 22 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 "line"><span.class="tok-builtin"
26e00 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 70 >@as</span>(<span.class="tok-typ
26e20 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 6e e">u8</span>,.<span.class="tok-n
26e40 75 6d 62 65 72 22 3e 32 30 30 3c 2f 73 70 61 6e 3e 29 20 2a 7c 20 3c 73 70 61 6e 20 63 6c 61 73 umber">200</span>).*|.<span.clas
26e60 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 3d 20 3c 73 70 61 6e s="tok-number">2</span>.==.<span
26e80 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 6e 3e 3c 2f .class="tok-number">255</span></
26ea0 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 74 span></code></pre>...........</t
26ec0 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 20 d>.........</tr>.........<tr>...
26ee0 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 70 72 65 3e 3c 63 6f ........<th.scope="row"><pre><co
26f00 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2f 20 62 3c 2f 73 70 61 de><span.class="line">a./.b</spa
26f20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2f 3d 20 62 3c 2f 73 70 n>.<span.class="line">a./=.b</sp
26f40 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 an></code></pre></th>...........
26f60 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>...........
26f80 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
26fa0 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>
26fc0 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
26fe0 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>...........</
27000 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 44 69 76 69 73 69 6f 6e 2e 0a 20 20 20 20 td>...........<td>Division......
27020 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 43 ........<ul>...............<li>C
27040 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 61 an.cause.<a.href="#Default-Opera
27060 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 73 tions">overflow</a>.for.integers
27080 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 43 61 6e 20 63 61 75 .</li>...............<li>Can.cau
270a0 73 65 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 3e 44 se.<a.href="#Division-by-Zero">D
270c0 69 76 69 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 ivision.by.Zero</a>.for.integers
270e0 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 43 61 6e 20 63 61 75 .</li>...............<li>Can.cau
27100 73 65 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 3e 44 se.<a.href="#Division-by-Zero">D
27120 69 76 69 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 ivision.by.Zero</a>.for.floats.i
27140 6e 20 3c 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 n.<a.href="#Floating-Point-Opera
27160 74 69 6f 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 tions">FloatMode.Optimized.Mode<
27180 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 69 3e 53 69 67 6e /a>.</li>...............<li>Sign
271a0 65 64 20 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 ed.integer.operands.must.be.comp
271c0 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 49 6e 20 6f 74 68 65 time-known.and.positive..In.othe
271e0 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 20 20 20 20 3c 61 20 r.cases,.use.................<a.
27200 68 72 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 2c 0a href="#divTrunc">@divTrunc</a>,.
27220 20 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 64 69 76 46 6c 6f ................<a.href="#divFlo
27240 6f 72 22 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 or">@divFloor</a>,.or...........
27260 20 20 20 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 ......<a.href="#divExact">@divEx
27280 61 63 74 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 act</a>.instead................<
272a0 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.<
272c0 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
272e0 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.
27300 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 3e operands.</li>.............</ul>
27320 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>.
27340 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
27360 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ss="line"><span.class="tok-numbe
27380 72 22 3e 31 30 3c 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 r">10</span>./.<span.class="tok-
273a0 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d number">5</span>.==.<span.class=
273c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-number">2</span></span></co
273e0 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 20 de></pre>...........</td>.......
27400 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>...........<
27420 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 th.scope="row"><pre><code><span.
27440 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">a.%.b</span>.<span.
27460 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 class="line">a.%=.b</span></code
27480 3e 3c 2f 70 72 65 3e 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 ></pre></th>...........<td>.....
274a0 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><
274c0 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 3e 3c a.href="#Integers">Integers</a><
274e0 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 3d 22 /li>...............<li><a.href="
27500 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 20 20 #Floats">Floats</a></li>........
27520 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>......
27540 20 20 20 20 20 3c 74 64 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 2e 0a 20 20 20 .....<td>Remainder.Division.....
27560 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>
27580 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d Can.cause.<a.href="#Division-by-
275a0 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 66 6f 72 20 69 Zero">Division.by.Zero</a>.for.i
275c0 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 3c 6c 69 3e ntegers.</li>...............<li>
275e0 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d Can.cause.<a.href="#Division-by-
27600 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 66 6f 72 20 66 Zero">Division.by.Zero</a>.for.f
27620 6c 6f 61 74 73 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e loats.in.<a.href="#Floating-Poin
27640 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 6d 69 7a 65 t-Operations">FloatMode.Optimize
27660 64 20 4d 6f 64 65 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 d.Mode</a>.</li>...............<
27680 6c 69 3e 53 69 67 6e 65 64 20 6f 72 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6f 70 65 72 li>Signed.or.floating-point.oper
276a0 61 6e 64 73 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 61 6e 64 20 ands.must.be.comptime-known.and.
276c0 70 6f 73 69 74 69 76 65 2e 20 49 6e 20 6f 74 68 65 72 20 63 61 73 65 73 2c 20 75 73 65 0a 20 20 positive..In.other.cases,.use...
276e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 ..............<a.href="#rem">@re
27700 6d 3c 2f 61 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 m</a>.or.................<a.href
27720 3d 22 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 ="#mod">@mod</a>.instead........
27740 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ........</li>...............<li>
27760 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
27780 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>
277a0 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 20 .for.the.operands.</li>.........
277c0 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>.......
277e0 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 3e ....<td>.............<pre><code>
27800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
27820 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 20 63 6c tok-number">10</span>.%.<span.cl
27840 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 3c 73 70 ass="tok-number">3</span>.==.<sp
27860 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></
27880 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 74 span></code></pre>...........</t
278a0 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 20 d>.........</tr>.........<tr>...
278c0 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 70 72 65 3e 3c 63 6f ........<th.scope="row"><pre><co
278e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 3b de><span.class="line">a.&lt;&lt;
27900 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 .b</span>.<span.class="line">a.&
27920 6c 74 3b 26 6c 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f lt;&lt;=.b</span></code></pre></
27940 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>.............<
27960 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 23 ul>...............<li><a.href="#
27980 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 20 Integers">Integers</a></li>.....
279a0 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>...
279c0 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 2e 0a 20 20 20 20 ........<td>Bit.Shift.Left......
279e0 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 69 ........<ul>.................<li
27a00 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 ><code><span.class="line">b</spa
27a20 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 n></code>.must.be.<a.href="#comp
27a40 74 69 6d 65 22 3e 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 time">comptime-known</a>.or.have
27a60 20 61 20 74 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 .a.type.with.log2.number.of.bits
27a80 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f .as.<code><span.class="line">a</
27aa0 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 20 20 20 20 20 20 20 span></code>.</li>..............
27ac0 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 68 6c 45 78 61 63 74 .<li>See.also.<a.href="#shlExact
27ae0 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ">@shlExact</a>.</li>...........
27b00 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 68 6c 57 69 ....<li>See.also.<a.href="#shlWi
27b20 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 3c 2f 61 3e thOverflow">@shlWithOverflow</a>
27b40 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 20 20 .</li>.............</ul>........
27b60 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>.........
27b80 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 6c 69 6e 65 ....<pre><code><span.class="line
27ba0 22 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 3c 2f 73 70 "><span.class="tok-number">1</sp
27bc0 61 6e 3e 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 6b 2d 6e 75 an>.&lt;&lt;.<span.class="tok-nu
27be0 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
27c00 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-number">256</span></span></co
27c20 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 20 de></pre>...........</td>.......
27c40 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>...........<
27c60 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 th.scope="row"><pre><code><span.
27c80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 3b 7c 20 62 3c 2f 73 70 61 6e class="line">a.&lt;&lt;|.b</span
27ca0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 3b 7c >.<span.class="line">a.&lt;&lt;|
27cc0 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 =.b</span></code></pre></th>....
27ce0 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>....
27d00 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
27d20 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>............
27d40 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>..........
27d60 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 2e 0a .<td>Saturating.Bit.Shift.Left..
27d80 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>...............<
27da0 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e li>See.also.<a.href="#shlExact">
27dc0 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 @shlExact</a>.</li>.............
27de0 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 68 6c 57 69 74 68 ..<li>See.also.<a.href="#shlWith
27e00 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 3c 2f 61 3e 2e 3c Overflow">@shlWithOverflow</a>.<
27e20 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>..........
27e40 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>...........
27e60 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 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
27e80 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 73 <span.class="tok-builtin">@as</s
27ea0 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 38 3c 2f pan>(<span.class="tok-type">u8</
27ec0 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">
27ee0 31 3c 2f 73 70 61 6e 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 1</span>).&lt;&lt;|.<span.class=
27f00 22 74 6f 6b 2d 6e 75 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 "tok-number">8</span>.==.<span.c
27f20 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 73 70 lass="tok-number">255</span></sp
27f40 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>
27f60 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>.....
27f80 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 ......<th.scope="row"><pre><code
27fa0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 67 74 3b 26 67 74 3b 20 62 ><span.class="line">a.&gt;&gt;.b
27fc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 67 74 </span>.<span.class="line">a.&gt
27fe0 3b 26 67 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 ;&gt;=.b</span></code></pre></th
28000 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
28020 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
28040 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>.......
28060 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>.....
28080 20 20 20 20 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 52 69 67 68 74 2e 0a 20 20 20 20 20 ......<td>Bit.Shift.Right.......
280a0 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 69 3e .......<ul>.................<li>
280c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e <code><span.class="line">b</span
280e0 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 ></code>.must.be.<a.href="#compt
28100 69 6d 65 22 3e 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 ime">comptime-known</a>.or.have.
28120 61 20 74 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 a.type.with.log2.number.of.bits.
28140 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 as.<code><span.class="line">a</s
28160 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pan></code>.</li>...............
28180 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 <li>See.also.<a.href="#shrExact"
281a0 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 >@shrExact</a>.</li>............
281c0 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>..........
281e0 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 3e 3c 73 70 .<td>.............<pre><code><sp
28200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
28220 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 26 67 74 3b 20 3c 73 70 61 -number">10</span>.&gt;&gt;.<spa
28240 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 3d 3d n.class="tok-number">1</span>.==
28260 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
28280 6e 3e 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 n></span></code></pre>..........
282a0 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
282c0 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 3c 70 72 65 >...........<th.scope="row"><pre
282e0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 61 6d 70 ><code><span.class="line">a.&amp
28300 3b 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 ;.b</span>.<span.class="line">a.
28320 26 61 6d 70 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 &amp;=.b</span></code></pre></th
28340 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
28360 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
28380 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>.......
283a0 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>.....
283c0 20 20 20 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 41 4e 44 2e 0a 20 20 20 20 20 20 20 20 20 ......<td>Bitwise.AND...........
283e0 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 49 6e 76 6f 6b 65 ...<ul>...............<li>Invoke
28400 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
28420 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
28440 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 3c 2f he.operands.</li>.............</
28460 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
28480 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 6e 20 d>.............<pre><code><span.
284a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 class="line"><span.class="tok-nu
284c0 6d 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 mber">0b011</span>.&amp;.<span.c
284e0 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 20 3d lass="tok-number">0b101</span>.=
28500 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 30 30 31 =.<span.class="tok-number">0b001
28520 3c 2f 73 70 61 6e 3e 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 </span></span></code></pre>.....
28540 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 20 ......</td>.........</tr>.......
28560 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 22 ..<tr>...........<th.scope="row"
28580 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 6c 69 6e 65 22 3e 61 ><pre><code><span.class="line">a
285a0 20 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 .|.b</span>.<span.class="line">a
285c0 20 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 .|=.b</span></code></pre></th>..
285e0 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>..
28600 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 67 .............<li><a.href="#Integ
28620 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 20 ers">Integers</a></li>..........
28640 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>........
28660 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 4f 52 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ...<td>Bitwise.OR..............<
28680 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 3c 61 ul>...............<li>Invokes.<a
286a0 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
286c0 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
286e0 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>.
28700 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>..
28720 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
28740 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 s="line"><span.class="tok-number
28760 22 3e 30 62 30 31 30 3c 2f 73 70 61 6e 3e 20 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">0b010</span>.|.<span.class="to
28780 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 30 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 k-number">0b100</span>.==.<span.
287a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 31 30 3c 2f 73 70 61 6e 3e 3c class="tok-number">0b110</span><
287c0 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>...........</
287e0 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>..
28800 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 70 72 65 3e 3c 63 .........<th.scope="row"><pre><c
28820 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 5e 20 62 3c 2f 73 70 ode><span.class="line">a.^.b</sp
28840 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 5e 3d 20 62 3c 2f 73 an>.<span.class="line">a.^=.b</s
28860 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 pan></code></pre></th>..........
28880 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>..........
288a0 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
288c0 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>
288e0 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 42 ...........</td>...........<td>B
28900 69 74 77 69 73 65 20 58 4f 52 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 itwise.XOR..............<ul>....
28920 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 3d 22 ...........<li>Invokes.<a.href="
28940 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 70 65 #Peer-Type-Resolution">Peer.Type
28960 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 64 73 .Resolution</a>.for.the.operands
28980 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 20 20 .</li>.............</ul>........
289a0 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>.........
289c0 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 6c 69 6e 65 ....<pre><code><span.class="line
289e0 22 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 31 "><span.class="tok-number">0b011
28a00 3c 2f 73 70 61 6e 3e 20 5e 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
28a20 72 22 3e 30 62 31 30 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 r">0b101</span>.==.<span.class="
28a40 74 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 73 70 61 6e 3e 3c tok-number">0b110</span></span><
28a60 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>....
28a80 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>.........
28aa0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 ..<th.scope="row"><pre><code><sp
28ac0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e an.class="line">~a</span></code>
28ae0 3c 2f 70 72 65 3e 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 </pre></th>...........<td>......
28b00 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
28b20 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></
28b40 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>...........
28b60 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>............
28b80 20 42 69 74 77 69 73 65 20 4e 4f 54 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 .Bitwise.NOT............</td>...
28ba0 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
28bc0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 3c 73 70 61 6e 20 63 6c ode><span.class="line">~<span.cl
28be0 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
28c00 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>,.<
28c20 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 31 30 31 31 span.class="tok-number">0b101011
28c40 31 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 2d 6e 11</span>).==.<span.class="tok-n
28c60 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 30 30 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c umber">0b01010000</span></span><
28c80 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>....
28ca0 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>.........
28cc0 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 ..<th.scope="row"><pre><code><sp
28ce0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 an.class="line">a.<span.class="t
28d00 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 ok-kw">orelse</span>.b</span></c
28d20 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ode></pre></th>...........<td>..
28d40 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
28d60 69 3e 3c 61 20 68 72 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 i><a.href="#Optionals">Optionals
28d80 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 20 20 </a></li>.............</ul>.....
28da0 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 63 6f ......</td>...........<td>If.<co
28dc0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">a</span></
28de0 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 6c 69 6e 65 code>.is.<code><span.class="line
28e00 22 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 "><span.class="tok-null">null</s
28e20 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 pan></span></code>,.............
28e40 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..........returns.<code><span.cl
28e60 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 22 64 65 66 ass="line">b</span></code>.("def
28e80 61 75 6c 74 20 76 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ault.value"),...................
28ea0 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 20 75 6e ........otherwise.returns.the.un
28ec0 77 72 61 70 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 wrapped.value.of.<code><span.cla
28ee0 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 ss="line">a</span></code>.......
28f00 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 4e 6f 74 65 20 74 68 .........................Note.th
28f20 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 at.<code><span.class="line">b</s
28f40 70 61 6e 3e 3c 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 pan></code>.may.be.a.value.of.ty
28f60 70 65 20 3c 61 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 pe.<a.href="#noreturn">noreturn<
28f80 2f 61 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 3c /a>............</td>...........<
28fa0 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 6e td>.............<pre><code><span
28fc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
28fe0 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
29000 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
29020 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 3c n.class="tok-null">null</span>;<
29040 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
29060 63 6c 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 75 6e 77 72 class="tok-kw">const</span>.unwr
29080 61 70 70 65 64 20 3d 20 76 61 6c 75 65 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b apped.=.value.<span.class="tok-k
290a0 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 73 73 3d 22 74 6f w">orelse</span>.<span.class="to
290c0 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">1234</span>;</span>.<s
290e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 3c 73 pan.class="line">unwrapped.==.<s
29100 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
29120 6e 3e 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 n></span></code></pre>..........
29140 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
29160 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 3c 70 72 65 >...........<th.scope="row"><pre
29180 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 2e 3f 3c 2f 73 ><code><span.class="line">a.?</s
291a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 pan></code></pre></th>..........
291c0 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>..........
291e0 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 70 .....<li><a.href="#Optionals">Op
29200 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 75 tionals</a></li>.............</u
29220 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
29240 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 0a 20 20 20 >.............Equivalent.to:....
29260 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=
29280 22 6c 69 6e 65 22 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 "line">a.<span.class="tok-kw">or
292a0 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"
292c0 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 >unreachable</span></span></code
292e0 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>.........
29300 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 3e 3c 73 ..<td>.............<pre><code><s
29320 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
29340 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 3c 73 70 61 6e k-kw">const</span>.value:.?<span
29360 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>.=.<
29380 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 36 37 38 3c 2f 73 70 span.class="tok-number">5678</sp
293a0 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 an>;</span>.<span.class="line">v
293c0 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 65 alue.?.==.<span.class="tok-numbe
293e0 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 r">5678</span></span></code></pr
29400 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>
29420 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
29440 65 3d 22 72 6f 77 22 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 e="row"><pre><code><span.class="
29460 6c 69 6e 65 22 3e 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 line">a.<span.class="tok-kw">cat
29480 63 68 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ch</span>.b</span>.<span.class="
294a0 6c 69 6e 65 22 3e 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 line">a.<span.class="tok-kw">cat
294c0 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ch</span>.|err|.b</span></code><
294e0 2f 70 72 65 3e 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 /pre></th>...........<td>.......
29500 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 20 ......<ul>...............<li><a.
29520 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 6e 73 3c 2f 61 3e 3c href="#Errors">Error.Unions</a><
29540 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>..........
29560 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 63 6f 64 65 3e 3c 73 .</td>...........<td>If.<code><s
29580 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">a</span></code>
295a0 20 69 73 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .is.an.<code><span.class="line">
295c0 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
295e0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ></span></code>,................
29600 20 20 20 20 20 20 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 .......returns.<code><span.class
29620 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 22 64 65 66 61 75 6c ="line">b</span></code>.("defaul
29640 74 20 76 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.value"),......................
29660 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 20 75 6e 77 72 61 .....otherwise.returns.the.unwra
29680 70 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d pped.value.of.<code><span.class=
296a0 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 "line">a</span></code>..........
296c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 ......................Note.that.
296e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e <code><span.class="line">b</span
29700 3e 3c 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 ></code>.may.be.a.value.of.type.
29720 3c 61 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 <a.href="#noreturn">noreturn</a>
29740 2e 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 ................................
29760 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 ....<code><span.class="line">err
29780 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 3c 73 70 61 </span></code>.is.the.<code><spa
297a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
297c0 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 kw">error</span></span></code>.a
297e0 6e 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 nd.is.in.scope.of.the.expression
29800 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 .<code><span.class="line">b</spa
29820 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 20 20 20 20 n></code>............</td>......
29840 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
29860 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
29880 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 3c 73 70 "tok-kw">const</span>.value:.<sp
298a0 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 70 an.class="tok-type">anyerror</sp
298c0 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 2f an>!<span.class="tok-type">u32</
298e0 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 6b 77 22 3e 65 72 72 span>.=.<span.class="tok-kw">err
29900 6f 72 3c 2f 73 70 61 6e 3e 2e 42 72 6f 6b 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 or</span>.Broken;</span>.<span.c
29920 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
29940 3e 63 6f 6e 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 >const</span>.unwrapped.=.value.
29960 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 61 6e <span.class="tok-kw">catch</span
29980 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 32 33 34 3c >.<span.class="tok-number">1234<
299a0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
299c0 22 3e 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 ">unwrapped.==.<span.class="tok-
299e0 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 number">1234</span></span></code
29a00 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>.........
29a20 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
29a40 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .scope="row"><pre><code><span.cl
29a60 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ass="line">a.<span.class="tok-kw
29a80 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ">and</span>.b</span></code></pr
29aa0 65 3e 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 e></th>...........<td>..........
29ac0 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
29ae0 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
29b00 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>...........<
29b20 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>.............
29b40 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c ..If.<code><span.class="line">a<
29b60 2f 73 70 61 6e 3e 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 /span></code>.is.<code><span.cla
29b80 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 ss="line"><span.class="tok-null"
29ba0 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 72 65 74 >false</span></span></code>,.ret
29bc0 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 urns.<code><span.class="line"><s
29be0 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
29c00 3e 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 20 20 20 ></span></code>.................
29c20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 3c 63 6f ..........without.evaluating.<co
29c40 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">b</span></
29c60 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e code>..Otherwise,.returns.<code>
29c80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">b</span></cod
29ca0 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 3c 74 e>............</td>...........<t
29cc0 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 6e 20 d>.............<pre><code><span.
29ce0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e class="line">(<span.class="tok-n
29d00 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 6c 61 73 73 3d 22 74 ull">false</span>.<span.class="t
29d20 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 6c 61 73 73 3d 22 74 ok-kw">and</span>.<span.class="t
29d40 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 3c 73 70 61 6e 20 63 ok-null">true</span>).==.<span.c
29d60 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 73 70 lass="tok-null">false</span></sp
29d80 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>
29da0 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>.....
29dc0 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 ......<th.scope="row"><pre><code
29de0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 ><span.class="line">a.<span.clas
29e00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-kw">or</span>.b</span></c
29e20 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 ode></pre></th>...........<td>..
29e40 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
29e60 69 3e 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 22 3e 62 6f 6f i><a.href="#Primitive-Types">boo
29e80 6c 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 20 l</a></li>.............</ul>....
29ea0 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>.....
29ec0 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ..........If.<code><span.class="
29ee0 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c line">a</span></code>.is.<code><
29f00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
29f20 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-null">true</span></span></cod
29f40 65 3e 2c 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 6c e>,.returns.<code><span.class="l
29f60 69 6e 65 22 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 ine"><span.class="tok-null">true
29f80 3c 2f 73 70 61 6e 3e 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 </span></span></code>...........
29fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 ................without.evaluati
29fc0 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 ng.<code><span.class="line">b</s
29fe0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 73 20 pan></code>..Otherwise,.returns.
2a000 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e <code><span.class="line">b</span
2a020 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 20 20 20 20 20 ></code>............</td>.......
2a040 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 3e ....<td>.............<pre><code>
2a060 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d <span.class="line">(<span.class=
2a080 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 6c "tok-null">false</span>.<span.cl
2a0a0 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
2a0c0 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 3c 73 ss="tok-null">true</span>).==.<s
2a0e0 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>
2a100 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 3c </span></code></pre>...........<
2a120 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>.
2a140 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 70 72 65 3e 3c ..........<th.scope="row"><pre><
2a160 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 61 3c 2f 73 70 61 6e code><span.class="line">!a</span
2a180 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 ></code></pre></th>...........<t
2a1a0 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>.............
2a1c0 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 70 65 73 22 ..<li><a.href="#Primitive-Types"
2a1e0 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 2f 75 6c 3e >bool</a></li>.............</ul>
2a200 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>.
2a220 20 20 20 20 20 20 20 20 20 20 20 20 42 6f 6f 6c 65 61 6e 20 4e 4f 54 2e 0a 20 20 20 20 20 20 20 ............Boolean.NOT.........
2a240 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>.........
2a260 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 6c 69 6e 65 ....<pre><code><span.class="line
2a280 22 3e 21 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<
2a2a0 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 6c 6c 22 /span>.==.<span.class="tok-null"
2a2c0 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e >true</span></span></code></pre>
2a2e0 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>..
2a300 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=
2a320 22 72 6f 77 22 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 6c 69 "row"><pre><code><span.class="li
2a340 6e 65 22 3e 61 20 3d 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f ne">a.==.b</span></code></pre></
2a360 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>.............<
2a380 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 23 ul>...............<li><a.href="#
2a3a0 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 20 Integers">Integers</a></li>.....
2a3c0 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 3e ..........<li><a.href="#Floats">
2a3e0 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 20 20 3c 6c Floats</a></li>...............<l
2a400 69 3e 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 22 3e 62 6f 6f i><a.href="#Primitive-Types">boo
2a420 6c 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 l</a></li>...............<li><a.
2a440 68 72 65 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 href="#Primitive-Types">type</a>
2a460 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>.........
2a480 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>..........
2a4a0 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 6c 61 73 73 3d 22 .....Returns.<code><span.class="
2a4c0 6c 69 6e 65 22 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 line"><span.class="tok-null">tru
2a4e0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 61 6e 64 20 e</span></span></code>.if.a.and.
2a500 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 73 20 3c b.are.equal,.otherwise.returns.<
2a520 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
2a540 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 73 70 61 ass="tok-null">false</span></spa
2a560 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 73 20 3c n></code>..............Invokes.<
2a580 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
2a5a0 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.
2a5c0 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 20 20 20 operands............</td>.......
2a5e0 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 3e ....<td>.............<pre><code>
2a600 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d <span.class="line">(<span.class=
2a620 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
2a640 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 3d 3d 20 3c lass="tok-number">1</span>).==.<
2a660 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
2a680 3e 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 ></span></code></pre>...........
2a6a0 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>
2a6c0 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 3c 70 72 65 3e ...........<th.scope="row"><pre>
2a6e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3d 3d 20 3c 73 <code><span.class="line">a.==.<s
2a700 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 3e pan.class="tok-null">null</span>
2a720 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 </span></code></pre></th>.......
2a740 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>.......
2a760 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 6c 73 22 ........<li><a.href="#Optionals"
2a780 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 20 20 20 >Optionals</a></li>.............
2a7a0 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>...........
2a7c0 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 65 <td>...............Returns.<code
2a7e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
2a800 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-null">true</span></span></c
2a820 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 61 73 73 3d 22 ode>.if.a.is.<code><span.class="
2a840 6c 69 6e 65 22 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 line"><span.class="tok-null">nul
2a860 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 65 72 77 69 73 l</span></span></code>,.otherwis
2a880 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 6c 69 6e e.returns.<code><span.class="lin
2a8a0 65 22 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 e"><span.class="tok-null">false<
2a8c0 2f 73 70 61 6e 3e 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 /span></span></code>............
2a8e0 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>............
2a900 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 6c 69 6e 65 22 3e 3c .<pre><code><span.class="line"><
2a920 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>
2a940 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 74 79 70 65 22 3e .value:.?<span.class="tok-type">
2a960 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 75 u32</span>.=.<span.class="tok-nu
2a980 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ll">null</span>;</span>.<span.cl
2a9a0 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">value.==.<span.class=
2a9c0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-null">null</span></span></c
2a9e0 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>......
2aa00 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>...........
2aa20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e <th.scope="row"><pre><code><span
2aa40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 21 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 .class="line">a.!=.b</span></cod
2aa60 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 e></pre></th>...........<td>....
2aa80 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>
2aaa0 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 3e <a.href="#Integers">Integers</a>
2aac0 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 3d </li>...............<li><a.href=
2aae0 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 20 "#Floats">Floats</a></li>.......
2ab00 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-
2ab20 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 20 20 20 20 20 Types">bool</a></li>............
2ab40 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 70 65 73 ...<li><a.href="#Primitive-Types
2ab60 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 20 3c 2f 75 6c ">type</a></li>.............</ul
2ab80 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>
2aba0 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 70 ...............Returns.<code><sp
2abc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
2abe0 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 -null">false</span></span></code
2ac00 3e 20 69 66 20 61 20 61 6e 64 20 62 20 61 72 65 20 65 71 75 61 6c 2c 20 6f 74 68 65 72 77 69 73 >.if.a.and.b.are.equal,.otherwis
2ac20 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 6c 69 6e e.returns.<code><span.class="lin
2ac40 65 22 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 2f e"><span.class="tok-null">true</
2ac60 73 70 61 6e 3e 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 span></span></code>.............
2ac80 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 65 2d 52 65 73 .Invokes.<a.href="#Peer-Type-Res
2aca0 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
2acc0 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 20 20 20 3c 2f >.for.the.operands............</
2ace0 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>.............<
2ad00 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 pre><code><span.class="line">(<s
2ad20 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>.
2ad40 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 31 3c 2f 73 !=.<span.class="tok-number">1</s
2ad60 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 6c 6c 22 3e pan>).==.<span.class="tok-null">
2ad80 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e false</span></span></code></pre>
2ada0 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>..
2adc0 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=
2ade0 22 72 6f 77 22 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 6c 69 "row"><pre><code><span.class="li
2ae00 6e 65 22 3e 61 20 26 67 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ne">a.&gt;.b</span></code></pre>
2ae20 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>............
2ae40 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 3d .<ul>...............<li><a.href=
2ae60 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 20 "#Integers">Integers</a></li>...
2ae80 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 6f 61 74 73 ............<li><a.href="#Floats
2aea0 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 20 20 3c 2f ">Floats</a></li>.............</
2aec0 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
2aee0 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><
2af00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2af20 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-null">true</span></span></cod
2af40 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 72 e>.if.a.is.greater.than.b,.other
2af60 77 69 73 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 wise.returns.<code><span.class="
2af80 6c 69 6e 65 22 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 line"><span.class="tok-null">fal
2afa0 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 se</span></span></code>.........
2afc0 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 65 .....Invokes.<a.href="#Peer-Type
2afe0 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 6f -Resolution">Peer.Type.Resolutio
2b000 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 20 n</a>.for.the.operands..........
2b020 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>..........
2b040 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 6c 69 6e 65 22 ...<pre><code><span.class="line"
2b060 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
2b080 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 65 72 an>.&gt;.<span.class="tok-number
2b0a0 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 2d ">1</span>).==.<span.class="tok-
2b0c0 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c null">true</span></span></code><
2b0e0 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>.........</
2b100 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
2b120 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 cope="row"><pre><code><span.clas
2b140 73 3d 22 6c 69 6e 65 22 3e 61 20 26 67 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e s="line">a.&gt;=.b</span></code>
2b160 3c 2f 70 72 65 3e 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 </pre></th>...........<td>......
2b180 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
2b1a0 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></
2b1c0 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 3d 22 23 li>...............<li><a.href="#
2b1e0 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 20 20 20 Floats">Floats</a></li>.........
2b200 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>.......
2b220 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 73 20 3c ....<td>...............Returns.<
2b240 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
2b260 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 73 70 61 6e ass="tok-null">true</span></span
2b280 3e 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 ></code>.if.a.is.greater.than.or
2b2a0 20 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 .equal.to.b,.otherwise.returns.<
2b2c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
2b2e0 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 73 70 61 ass="tok-null">false</span></spa
2b300 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 73 20 3c n></code>..............Invokes.<
2b320 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
2b340 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.
2b360 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 20 20 20 operands............</td>.......
2b380 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 3e ....<td>.............<pre><code>
2b3a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d <span.class="line">(<span.class=
2b3c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 3d 20 3c 73 70 61 "tok-number">2</span>.&gt;=.<spa
2b3e0 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 3d n.class="tok-number">1</span>).=
2b400 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 65 3c 2f 73 =.<span.class="tok-null">true</s
2b420 70 61 6e 3e 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 pan></span></code></pre>........
2b440 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>.........<
2b460 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 3c 70 tr>...........<th.scope="row"><p
2b480 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c re><code><span.class="line">a.&l
2b4a0 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 t;.b</span></code></pre></th>...
2b4c0 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>...
2b4e0 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
2b500 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>...........
2b520 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
2b540 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 20 20 </a></li>.............</ul>.....
2b560 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 20 ......</td>...........<td>......
2b580 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 6c 61 .........Returns.<code><span.cla
2b5a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 ss="line"><span.class="tok-null"
2b5c0 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 >true</span></span></code>.if.a.
2b5e0 69 73 20 6c 65 73 73 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 is.less.than.b,.otherwise.return
2b600 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e s.<code><span.class="line"><span
2b620 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 3c 2f .class="tok-null">false</span></
2b640 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
2b660 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
2b680 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
2b6a0 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>....
2b6c0 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
2b6e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 de><span.class="line">(<span.cla
2b700 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 20 3c 73 ss="tok-number">1</span>.&lt;.<s
2b720 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>)
2b740 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 72 75 65 3c .==.<span.class="tok-null">true<
2b760 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 /span></span></code>></pre>.....
2b780 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 20 ......</td>.........</tr>.......
2b7a0 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 22 ..<tr>...........<th.scope="row"
2b7c0 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 6c 69 6e 65 22 3e 61 ><pre><code><span.class="line">a
2b7e0 20 26 6c 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 .&lt;=.b</span></code></pre></th
2b800 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
2b820 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
2b840 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>.......
2b860 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 3e 46 6c ........<li><a.href="#Floats">Fl
2b880 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 6c 3e 0a oats</a></li>.............</ul>.
2b8a0 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>..
2b8c0 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 70 61 6e .............Returns.<code><span
2b8e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e .class="line"><span.class="tok-n
2b900 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 ull">true</span></span></code>.i
2b920 66 20 61 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 62 2c 20 f.a.is.less.than.or.equal.to.b,.
2b940 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 20 63 6c otherwise.returns.<code><span.cl
2b960 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c ass="line"><span.class="tok-null
2b980 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 ">false</span></span></code>....
2b9a0 20 20 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 ..........Invokes.<a.href="#Peer
2b9c0 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 6f -Type-Resolution">Peer.Type.Reso
2b9e0 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 0a 20 20 20 lution</a>.for.the.operands.....
2ba00 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>.....
2ba20 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="
2ba40 6c 69 6e 65 22 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 line">(<span.class="tok-number">
2ba60 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 1</span>.&lt;=.<span.class="tok-
2ba80 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 number">2</span>).==.<span.class
2baa0 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 73 70 61 6e 3e 3c 2f ="tok-null">true</span></span></
2bac0 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>.....
2bae0 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>..........
2bb00 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 .<th.scope="row"><pre><code><spa
2bb20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 2b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f n.class="line">a.++.b</span></co
2bb40 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 de></pre></th>...........<td>...
2bb60 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
2bb80 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 6c ><a.href="#Arrays">Arrays</a></l
2bba0 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>...........<
2bbc0 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>.............
2bbe0 41 72 72 61 79 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 Array.concatenation.............
2bc00 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
2bc20 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 68 20 ilable.when.the.lengths.of.both.
2bc40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e <code><span.class="line">a</span
2bc60 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 3d 22 ></code>.and.<code><span.class="
2bc80 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 3c 61 20 68 72 65 line">b</span></code>.are.<a.hre
2bca0 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 20 6b 6e 6f 77 6e f="#comptime">compile-time.known
2bcc0 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 20 20 </a>.</li>.............</ul>....
2bce0 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>.....
2bd00 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="
2bd20 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
2bd40 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 6f 6b 2d 62 </span>.mem.=.<span.class="tok-b
2bd60 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
2bd80 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
2bda0 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 an>).mem;</span>.<span.class="li
2bdc0 6e 65 22 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 ne"><span.class="tok-kw">const</
2bde0 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 74 span>.array1.=.[_]<span.class="t
2be00 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=
2be20 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
2be40 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 3c 2f 73 70 61 6e 3e s="tok-number">2</span>};</span>
2be60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
2be80 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 32 20 3d 20 5b "tok-kw">const</span>.array2.=.[
2bea0 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
2bec0 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 72 22 3e 33 3c 2f an>{<span.class="tok-number">3</
2bee0 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 6d 62 65 72 22 3e 34 span>,<span.class="tok-number">4
2bf00 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>};</span>.<span.class="li
2bf20 6e 65 22 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 ne"><span.class="tok-kw">const</
2bf40 73 70 61 6e 3e 20 74 6f 67 65 74 68 65 72 20 3d 20 61 72 72 61 79 31 20 2b 2b 20 61 72 72 61 79 span>.together.=.array1.++.array
2bf60 32 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 65 6d 2;</span>.<span.class="line">mem
2bf80 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 33 32 3c .eql(<span.class="tok-type">u32<
2bfa0 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 74 6f 67 65 74 68 65 72 2c 20 26 61 6d 70 3b 5b 5f 5d 3c /span>,.&amp;together,.&amp;[_]<
2bfc0 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>
2bfe0 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 31 3c 2f 73 70 61 {<span.class="tok-number">1</spa
2c000 6e 3e 2c 3c 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
2c020 70 61 6e 3e 2c 3c 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 pan>,<span.class="tok-number">3<
2c040 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 6d 62 65 72 22 3e /span>,<span.class="tok-number">
2c060 34 3c 2f 73 70 61 6e 3e 7d 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 4</span>})</span></code></pre>..
2c080 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>....
2c0a0 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
2c0c0 6f 77 22 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 6c 69 6e 65 ow"><pre><code><span.class="line
2c0e0 22 3e 61 20 2a 2a 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 ">a.**.b</span></code></pre></th
2c100 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
2c120 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 41 72 >...............<li><a.href="#Ar
2c140 72 61 79 73 22 3e 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 20 rays">Arrays</a></li>...........
2c160 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>.........
2c180 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 20 6d 75 6c 74 69 70 6c ..<td>.............Array.multipl
2c1a0 69 63 61 74 69 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 ication..............<ul>.......
2c1c0 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 ........<li>Only.available.when.
2c1e0 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d the.length.of.<code><span.class=
2c200 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 "line">a</span></code>.and.<code
2c220 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">b</span></co
2c240 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
2c260 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>........
2c280 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>......
2c2a0 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
2c2c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
2c2e0 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 73 70 61 "tok-kw">const</span>.mem.=.<spa
2c300 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
2c320 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
2c340 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c ;std&quot;</span>).mem;</span>.<
2c360 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2c380 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 74 74 65 72 6e 20 3d 20 3c 73 ok-kw">const</span>.pattern.=.<s
2c3a0 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 26 71 75 6f pan.class="tok-str">&quot;ab&quo
2c3c0 74 3b 3c 2f 73 70 61 6e 3e 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 t;</span>.**.<span.class="tok-nu
2c3e0 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">3</span>;</span>.<span.cla
2c400 73 73 3d 22 6c 69 6e 65 22 3e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">mem.eql(<span.class="t
2c420 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 2c 20 3c 73 70 ok-type">u8</span>,.pattern,.<sp
2c440 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 61 62 61 62 26 an.class="tok-str">&quot;ababab&
2c460 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 quot;</span>)</span></code></pre
2c480 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>.
2c4a0 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
2c4c0 3d 22 72 6f 77 22 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 6c ="row"><pre><code><span.class="l
2c4e0 69 6e 65 22 3e 61 2e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 ine">a.*</span></code></pre></th
2c500 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
2c520 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 50 6f >...............<li><a.href="#Po
2c540 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 20 20 20 20 inters">Pointers</a></li>.......
2c560 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>.....
2c580 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 6f 69 6e 74 65 72 20 64 ......<td>.............Pointer.d
2c5a0 65 72 65 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 ereference............</td>.....
2c5c0 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 64 ......<td>.............<pre><cod
2c5e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
2c600 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.
2c620 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 73 class="tok-type">u32</span>.=.<s
2c640 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
2c660 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 n>;</span>.<span.class="line"><s
2c680 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>.
2c6a0 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ptr.=.&amp;x;</span>.<span.class
2c6c0 3d 22 6c 69 6e 65 22 3e 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ="line">ptr.*.==.<span.class="to
2c6e0 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-number">1234</span></span></co
2c700 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 20 de></pre>...........</td>.......
2c720 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>...........<
2c740 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 th.scope="row"><pre><code><span.
2c760 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 3b 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 class="line">&amp;a</span></code
2c780 3e 3c 2f 70 72 65 3e 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 ></pre></th>...........<td>.....
2c7a0 20 20 20 20 20 20 20 20 41 6c 6c 20 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 ........All.types...........</td
2c7c0 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 64 64 >...........<td>.............Add
2c7e0 72 65 73 73 20 6f 66 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 ress.of............</td>........
2c800 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 3e 3c ...<td>.............<pre><code><
2c820 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2c840 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 63 6c 61 ok-kw">const</span>.x:.<span.cla
2c860 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
2c880 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>;
2c8a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
2c8c0 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
2c8e0 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .=.&amp;x;</span>.<span.class="l
2c900 69 6e 65 22 3e 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 ine">ptr.*.==.<span.class="tok-n
2c920 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e umber">1234</span></span></code>
2c940 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>.........<
2c960 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 20 /tr>.........<tr>...........<th.
2c980 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 scope="row"><pre><code><span.cla
2c9a0 73 73 3d 22 6c 69 6e 65 22 3e 61 20 7c 7c 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ss="line">a.||.b</span></code></
2c9c0 70 72 65 3e 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 pre></th>...........<td>........
2c9e0 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
2ca00 72 65 66 3d 22 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 ref="#Error-Set-Type">Error.Set.
2ca20 54 79 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 2f 75 6c 3e 0a Type</a></li>.............</ul>.
2ca40 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>..
2ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 72 67 69 6e 67 2d 45 .............<a.href="#Merging-E
2ca80 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 61 rror-Sets">Merging.Error.Sets</a
2caa0 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>
2cac0 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
2cae0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
2cb00 63 6f 6e 73 74 3c 2f 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 const</span>.A.=.<span.class="to
2cb20 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 4f 6e 65 7d 3b 3c 2f 73 70 61 6e 3e 0a k-kw">error</span>{One};</span>.
2cb40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
2cb60 74 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 tok-kw">const</span>.B.=.<span.c
2cb80 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 54 77 6f 7d 3b lass="tok-kw">error</span>{Two};
2cba0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 41 20 7c 7c </span>.<span.class="line">(A.||
2cbc0 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 3e 65 72 72 6f .B).==.<span.class="tok-kw">erro
2cbe0 72 3c 2f 73 70 61 6e 3e 7b 4f 6e 65 2c 20 54 77 6f 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e r</span>{One,.Two}</span></code>
2cc00 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>.........<
2cc20 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
2cc40 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 20 20 20 20 20 20 3c ble>.......</div>..............<
2cc60 68 33 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 h3.id="Precedence"><a.href="#toc
2cc80 2d 50 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 -Precedence">Precedence</a>.<a.c
2cca0 6c 61 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 lass="hdr".href="#Precedence">..
2ccc0 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
2cce0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 28 29 20 78 5b 5d 20 78 2e 79 20 78 2e 2a 20 78 n.class="line">x().x[].x.y.x.*.x
2cd00 2e 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 21 62 .?</span>.<span.class="line">a!b
2cd20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 7b 7d 3c 2f </span>.<span.class="line">x{}</
2cd40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 78 20 2d 78 20 2d span>.<span.class="line">!x.-x.-
2cd60 25 78 20 7e 78 20 26 61 6d 70 3b 78 20 3f 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 %x.~x.&amp;x.?x</span>.<span.cla
2cd80 73 73 3d 22 6c 69 6e 65 22 3e 2a 20 2f 20 25 20 2a 2a 20 2a 25 20 2a 7c 20 7c 7c 3c 2f 73 70 61 ss="line">*./.%.**.*%.*|.||</spa
2cda0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 20 2d 20 2b 2b 20 2b 25 20 n>.<span.class="line">+.-.++.+%.
2cdc0 2d 25 20 2b 7c 20 2d 7c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e -%.+|.-|</span>.<span.class="lin
2cde0 65 22 3e 26 6c 74 3b 26 6c 74 3b 20 26 67 74 3b 26 67 74 3b 20 26 6c 74 3b 26 6c 74 3b 7c 3c 2f e">&lt;&lt;.&gt;&gt;.&lt;&lt;|</
2ce00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 3b 20 5e span>.<span.class="line">&amp;.^
2ce20 20 7c 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 65 3c 2f .|.<span.class="tok-kw">orelse</
2ce40 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 61 74 63 68 span>.<span.class="tok-kw">catch
2ce60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
2ce80 22 3e 3d 3d 20 21 3d 20 26 6c 74 3b 20 26 67 74 3b 20 26 6c 74 3b 3d 20 26 67 74 3b 3d 3c 2f 73 ">==.!=.&lt;.&gt;.&lt;=.&gt;=</s
2cea0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
2cec0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ass="tok-kw">and</span></span>.<
2cee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2cf00 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ok-kw">or</span></span>.<span.cl
2cf20 61 73 73 3d 22 6c 69 6e 65 22 3e 3d 20 2a 3d 20 2a 25 3d 20 2a 7c 3d 20 2f 3d 20 25 3d 20 2b 3d ass="line">=.*=.*%=.*|=./=.%=.+=
2cf40 20 2b 25 3d 20 2b 7c 3d 20 2d 3d 20 2d 25 3d 20 2d 7c 3d 20 26 6c 74 3b 26 6c 74 3b 3d 20 26 6c .+%=.+|=.-=.-%=.-|=.&lt;&lt;=.&l
2cf60 74 3b 26 6c 74 3b 7c 3d 20 26 67 74 3b 26 67 74 3b 3d 20 26 61 6d 70 3b 3d 20 5e 3d 20 7c 3d 3c t;&lt;|=.&gt;&gt;=.&amp;=.^=.|=<
2cf80 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 0a 20 20 20 20 20 /span></code></pre>.............
2cfa0 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 20 68 72 65 66 3d ........<h2.id="Arrays"><a.href=
2cfc0 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 61 20 63 6c 61 73 "#toc-Arrays">Arrays</a>.<a.clas
2cfe0 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 2f 61 3e 3c 2f 68 s="hdr".href="#Arrays">..</a></h
2d000 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 20 63 6c 2>........<figure><figcaption.cl
2d020 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"
2d040 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 69 67 63 61 70 74 >test_arrays.zig</cite></figcapt
2d060 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 6c 69 6e 65 ion><pre><code><span.class="line
2d080 22 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 "><span.class="tok-kw">const</sp
2d0a0 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
2d0c0 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
2d0e0 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
2d100 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n>).testing.expect;</span>.<span
2d120 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
2d140 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 3c 73 70 61 6e 20 63 w">const</span>.assert.=.<span.c
2d160 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
2d180 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
2d1a0 64 26 71 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 3c 2f 73 d&quot;</span>).debug.assert;</s
2d1c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
2d1e0 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.=.
2d200 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
2d220 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">&
2d240 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 3c 2f 73 70 61 quot;std&quot;</span>).mem;</spa
2d260 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
2d280 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
2d2a0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 6c 69 74 65 72 61 6c 3c 2f 73 70 61 k-comment">//.array.literal</spa
2d2c0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
2d2e0 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 6d an.class="tok-kw">const</span>.m
2d300 65 73 73 61 67 65 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 essage.=.[_]<span.class="tok-typ
2d320 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 2d 73 e">u8</span>{.<span.class="tok-s
2d340 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 6f 6b tr">'h'</span>,.<span.class="tok
2d360 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 22 74 -str">'e'</span>,.<span.class="t
2d380 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 73 3d ok-str">'l'</span>,.<span.class=
2d3a0 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
2d3c0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e s="tok-str">'o'</span>.};</span>
2d3e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
2d400 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
2d420 63 6f 6d 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 comment">//.get.the.size.of.an.a
2d440 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rray</span></span>.<span.class="
2d460 6c 69 6e 65 22 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 line"><span.class="tok-kw">compt
2d480 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ime</span>.{</span>.<span.class=
2d4a0 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 6d 65 73 73 61 67 65 2e 6c 65 6e 20 3d 3d "line">....assert(message.len.==
2d4c0 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
2d4e0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
2d500 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
2d520 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
2d540 73 3d 22 74 6f 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 s="tok-comment">//.A.string.lite
2d560 72 61 6c 20 69 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 ral.is.a.single-item.pointer.to.
2d580 61 6e 20 61 72 72 61 79 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.array.</span></span>.<span.cl
2d5a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
2d5c0 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 61 const</span>.same_message.=.<spa
2d5e0 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 75 n.class="tok-str">&quot;hello&qu
2d600 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ot;</span>;</span>.<span.class="
2d620 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
2d640 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</
2d660 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
2d680 22 3e 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 73 ">....assert(mem.eql(<span.class
2d6a0 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 6d 65 73 73 ="tok-type">u8</span>,.&amp;mess
2d6c0 61 67 65 2c 20 73 61 6d 65 5f 6d 65 73 73 61 67 65 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 age,.same_message));</span>.<spa
2d6e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n.class="line">}</span>.<span.cl
2d700 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
2d720 6c 69 6e 65 22 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 line"><span.class="tok-kw">test<
2d740 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
2d760 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 6f 74 3b 3c 2f ot;iterate.over.an.array&quot;</
2d780 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
2d7a0 22 3e 20 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</
2d7c0 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 6f 6b 2d 74 79 70 65 span>.sum:.<span.class="tok-type
2d7e0 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
2d800 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">0</span>;</span>.<span
2d820 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
2d840 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6d 65 73 73 61 67 65 29 20 7c 62 79 74 ok-kw">for</span>.(message).|byt
2d860 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 e|.{</span>.<span.class="line">.
2d880 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 62 79 74 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .......sum.+=.byte;</span>.<span
2d8a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .class="line">....}</span>.<span
2d8c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
2d8e0 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.==.
2d900 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 61 6e 3e <span.class="tok-str">'h'</span>
2d920 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 2f 73 70 .+.<span.class="tok-str">'e'</sp
2d940 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 6c 27 3c an>.+.<span.class="tok-str">'l'<
2d960 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 62 65 72 /span>.*.<span.class="tok-number
2d980 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 2d 73 74 ">2</span>.+.<span.class="tok-st
2d9a0 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r">'o'</span>);</span>.<span.cla
2d9c0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
2d9e0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
2da00 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 20 6d 6f ><span.class="tok-comment">//.mo
2da20 64 69 66 69 61 62 6c 65 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 difiable.array</span></span>.<sp
2da40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
2da60 2d 6b 77 22 3e 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 -kw">var</span>.some_integers:.[
2da80 3c 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 73 70 <span.class="tok-number">100</sp
2daa0 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 69 33 32 3c 2f an>]<span.class="tok-type">i32</
2dac0 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
2dae0 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ndefined</span>;</span>.<span.cl
2db00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
2db20 6c 69 6e 65 22 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 line"><span.class="tok-kw">test<
2db40 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
2db60 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 2f 73 70 61 6e 3e 20 ot;modify.an.array&quot;</span>.
2db80 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
2dba0 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>.
2dbc0 28 26 61 6d 70 3b 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 (&amp;some_integers,.<span.class
2dbe0 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 69 74 65 6d ="tok-number">0</span>..).|*item
2dc00 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ,.i|.{</span>.<span.class="line"
2dc20 3e 20 20 20 20 20 20 20 20 69 74 65 6d 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >........item.*.=.<span.class="t
2dc40 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 29 3b 3c ok-builtin">@intCast</span>(i);<
2dc60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c /span>.<span.class="line">....}<
2dc80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
2dca0 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
2dcc0 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 73 73 3d 22 pect(some_integers[<span.class="
2dce0 74 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 tok-number">10</span>].==.<span.
2dd00 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 3c 2f class="tok-number">10</span>);</
2dd20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
2dd40 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
2dd60 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
2dd80 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 70 61 6e 20 63 ok-number">99</span>].==.<span.c
2dda0 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 29 3b 3c 2f 73 lass="tok-number">99</span>);</s
2ddc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
2dde0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
2de00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
2de20 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 comment">//.array.concatenation.
2de40 77 6f 72 6b 73 20 69 66 20 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 6b 6e 6f 77 6e 3c 2f 73 works.if.the.values.are.known</s
2de60 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
2de80 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 61 74 20 63 span.class="tok-comment">//.at.c
2dea0 6f 6d 70 69 6c 65 20 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ompile.time</span></span>.<span.
2dec0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
2dee0 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 3c 73 70 ">const</span>.part_one.=.[_]<sp
2df00 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 20 an.class="tok-type">i32</span>{.
2df20 3c 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
2df40 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 3c 2f 73 >,.<span.class="tok-number">2</s
2df60 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 33 pan>,.<span.class="tok-number">3
2df80 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
2dfa0 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">4</span>.};</span>.<span.class
2dfc0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
2dfe0 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 74 5f 74 77 6f 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c st</span>.part_two.=.[_]<span.cl
2e000 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 73 70 61 6e ass="tok-type">i32</span>{.<span
2e020 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 73 .class="tok-number">5</span>,.<s
2e040 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 2c pan.class="tok-number">6</span>,
2e060 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 61 .<span.class="tok-number">7</spa
2e080 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 2f n>,.<span.class="tok-number">8</
2e0a0 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>.};</span>.<span.class="lin
2e0c0 65 22 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 e"><span.class="tok-kw">const</s
2e0e0 70 61 6e 3e 20 61 6c 6c 5f 6f 66 5f 69 74 20 3d 20 70 61 72 74 5f 6f 6e 65 20 2b 2b 20 70 61 72 pan>.all_of_it.=.part_one.++.par
2e100 74 5f 74 77 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 t_two;</span>.<span.class="line"
2e120 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</
2e140 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
2e160 22 3e 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 73 ">....assert(mem.eql(<span.class
2e180 3d 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 61 6c 6c ="tok-type">i32</span>,.&amp;all
2e1a0 5f 6f 66 5f 69 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 _of_it,.&amp;[_]<span.class="tok
2e1c0 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 73 3d 22 -type">i32</span>{.<span.class="
2e1e0 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 73 tok-number">1</span>,.<span.clas
2e200 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 63 s="tok-number">2</span>,.<span.c
2e220 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 61 lass="tok-number">3</span>,.<spa
2e240 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 3c n.class="tok-number">4</span>,.<
2e260 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>
2e280 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 70 ,.<span.class="tok-number">6</sp
2e2a0 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 37 3c an>,.<span.class="tok-number">7<
2e2c0 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"
2e2e0 3e 38 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >8</span>.}));</span>.<span.clas
2e300 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
2e320 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
2e340 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 72 65 6d <span.class="tok-comment">//.rem
2e360 65 6d 62 65 72 20 74 68 61 74 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 61 ember.that.string.literals.are.a
2e380 72 72 61 79 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rrays</span></span>.<span.class=
2e3a0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
2e3c0 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f t</span>.hello.=.<span.class="to
2e3e0 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 61 6e 3e 3b k-str">&quot;hello&quot;</span>;
2e400 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
2e420 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
2e440 6c 64 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 ld.=.<span.class="tok-str">&quot
2e460 3b 77 6f 72 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ;world&quot;</span>;</span>.<spa
2e480 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
2e4a0 6b 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 kw">const</span>.hello_world.=.h
2e4c0 65 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 ello.++.<span.class="tok-str">&q
2e4e0 75 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 3c 2f 73 70 uot;.&quot;</span>.++.world;</sp
2e500 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
2e520 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 3c 2f 73 ss="tok-kw">comptime</span>.{</s
2e540 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 pan>.<span.class="line">....asse
2e560 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 2d 74 79 70 65 rt(mem.eql(<span.class="tok-type
2e580 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 2c 20 3c 73 70 61 6e 20 ">u8</span>,.hello_world,.<span.
2e5a0 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 20 77 6f 72 6c class="tok-str">&quot;hello.worl
2e5c0 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 d&quot;</span>));</span>.<span.c
2e5e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">}</span>.<span.class
2e600 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
2e620 65 22 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 20 e"><span.class="tok-comment">//.
2e640 2a 2a 20 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 **.does.repeating.patterns</span
2e660 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
2e680 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 61 n.class="tok-kw">const</span>.pa
2e6a0 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 71 ttern.=.<span.class="tok-str">&q
2e6c0 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 61 uot;ab&quot;</span>.**.<span.cla
2e6e0 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 3c 2f 73 70 61 6e 3e ss="tok-number">3</span>;</span>
2e700 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
2e720 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 3c 2f 73 70 61 6e "tok-kw">comptime</span>.{</span
2e740 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 >.<span.class="line">....assert(
2e760 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
2e780 38 3c 2f 73 70 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 8</span>,.pattern,.<span.class="
2e7a0 74 6f 6b 2d 73 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 tok-str">&quot;ababab&quot;</spa
2e7c0 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>));</span>.<span.class="line">
2e7e0 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
2e800 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
2e820 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 61 ss="tok-comment">//.initialize.a
2e840 6e 20 61 72 72 61 79 20 74 6f 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n.array.to.zero</span></span>.<s
2e860 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
2e880 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 72 6f 20 3d 20 5b 5f k-kw">const</span>.all_zero.=.[_
2e8a0 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 31 36 3c 2f 73 70 61 ]<span.class="tok-type">u16</spa
2e8c0 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 72 22 3e 30 3c 2f 73 n>{<span.class="tok-number">0</s
2e8e0 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 2d 6e 75 6d 62 65 72 pan>}.**.<span.class="tok-number
2e900 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">10</span>;</span>.<span.class=
2e920 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
2e940 22 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 "><span.class="tok-kw">comptime<
2e960 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
2e980 65 22 3e 20 20 20 20 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 e">....assert(all_zero.len.==.<s
2e9a0 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>
2e9c0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
2e9e0 20 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 .assert(all_zero[<span.class="to
2ea00 6b 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 k-number">5</span>].==.<span.cla
2ea20 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 3c 2f 73 70 61 6e ss="tok-number">0</span>);</span
2ea40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
2ea60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
2ea80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d lass="line"><span.class="tok-com
2eaa0 6d 65 6e 74 22 3e 2f 2f 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 64 65 20 74 ment">//.use.compile-time.code.t
2eac0 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 o.initialize.an.array</span></sp
2eae0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
2eb00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 61 6e 63 79 5f 61 72 72 ss="tok-kw">var</span>.fancy_arr
2eb20 61 79 20 3d 20 69 6e 69 74 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ay.=.init:.{</span>.<span.class=
2eb40 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
2eb60 76 61 72 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 var</span>.initial_value:.[<span
2eb80 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 5d 50 6f .class="tok-number">10</span>]Po
2eba0 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 6c 6c 22 3e 75 6e 64 int.=.<span.class="tok-null">und
2ebc0 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 efined</span>;</span>.<span.clas
2ebe0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
2ec00 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 6c 75 65 ">for</span>.(&amp;initial_value
2ec20 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
2ec40 61 6e 3e 2e 2e 29 20 7c 2a 70 74 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an>..).|*pt,.i|.{</span>.<span.c
2ec60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 74 2e 2a 20 3d 20 50 6f 69 6e 74 lass="line">........pt.*.=.Point
2ec80 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
2eca0 20 20 20 20 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 62 75 .........x.=.<span.class="tok-bu
2ecc0 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 69 29 2c 3c 2f 73 70 61 6e iltin">@intCast</span>(i),</span
2ece0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
2ed00 20 2e 79 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 ..y.=.<span.class="tok-builtin">
2ed20 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 69 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d @intCast</span>(i.*.<span.class=
2ed40 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">2</span>),</span>.<
2ed60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 span.class="line">........};</sp
2ed80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 an>.<span.class="line">....}</sp
2eda0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
2edc0 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 69 6e .class="tok-kw">break</span>.:in
2ede0 69 74 20 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 it.initial_value;</span>.<span.c
2ee00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
2ee20 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
2ee40 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 63 6c 61 73 73 3d 22 nst</span>.Point.=.<span.class="
2ee60 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-kw">struct</span>.{</span>.<
2ee80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 span.class="line">....x:.<span.c
2eea0 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 3c 2f 73 70 61 lass="tok-type">i32</span>,</spa
2eec0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 n>.<span.class="line">....y:.<sp
2eee0 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 2c 3c an.class="tok-type">i32</span>,<
2ef00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 /span>.<span.class="line">};</sp
2ef20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
2ef40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2ef60 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="
2ef80 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 61 tok-str">&quot;compile-time.arra
2efa0 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c y.initialization&quot;</span>.{<
2efc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
2efe0 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
2f000 70 65 63 74 28 66 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 pect(fancy_array[<span.class="to
2f020 6b 2d 6e 75 6d 62 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 k-number">4</span>].x.==.<span.c
2f040 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 3c 2f 73 70 lass="tok-number">4</span>);</sp
2f060 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
2f080 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
2f0a0 74 28 66 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 t(fancy_array[<span.class="tok-n
2f0c0 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
2f0e0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e s="tok-number">8</span>);</span>
2f100 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
2f120 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
2f140 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ass="line"><span.class="tok-comm
2f160 65 6e 74 22 3e 2f 2f 20 63 61 6c 6c 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 6e 69 74 69 ent">//.call.a.function.to.initi
2f180 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 alize.an.array</span></span>.<sp
2f1a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
2f1c0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 6f 72 65 5f 70 6f 69 6e 74 73 20 3d 20 5b 5f -kw">var</span>.more_points.=.[_
2f1e0 5d 50 6f 69 6e 74 7b 6d 61 6b 65 50 6f 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ]Point{makePoint(<span.class="to
2f200 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c k-number">3</span>)}.**.<span.cl
2f220 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 3c 2f 73 70 61 ass="tok-number">10</span>;</spa
2f240 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
2f260 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
2f280 3d 22 74 6f 6b 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 ="tok-fn">makePoint</span>(x:.<s
2f2a0 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>)
2f2c0 20 50 6f 69 6e 74 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .Point.{</span>.<span.class="lin
2f2e0 65 22 3e 20 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 e">....<span.class="tok-kw">retu
2f300 72 6e 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rn</span>.Point{</span>.<span.cl
2f320 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 20 3d 20 78 2c 3c 2f 73 70 61 6e ass="line">.........x.=.x,</span
2f340 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 79 20 >.<span.class="line">.........y.
2f360 3d 20 78 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 =.x.*.<span.class="tok-number">2
2f380 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
2f3a0 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e">....};</span>.<span.class="li
2f3c0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
2f3e0 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>
2f400 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 72 72 .<span.class="tok-str">&quot;arr
2f420 61 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 ay.initialization.with.function.
2f440 63 61 6c 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 calls&quot;</span>.{</span>.<spa
2f460 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
2f480 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 6f 72 65 5f 70 tok-kw">try</span>.expect(more_p
2f4a0 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 65 72 22 3e 34 oints[<span.class="tok-number">4
2f4c0 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 2d 6e </span>].x.==.<span.class="tok-n
2f4e0 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">3</span>);</span>.<span.c
2f500 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
2f520 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e -kw">try</span>.expect(more_poin
2f540 74 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 34 3c 2f 73 ts[<span.class="tok-number">4</s
2f560 70 61 6e 3e 5d 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 pan>].y.==.<span.class="tok-numb
2f580 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">6</span>);</span>.<span.clas
2f5a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
2f5c0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 2e ">try</span>.expect(more_points.
2f5e0 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">
2f600 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 10</span>);</span>.<span.class="
2f620 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
2f640 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
2f660 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
2f680 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 72 72 61 ><samp>$.<kbd>zig.test.test_arra
2f6a0 79 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 34 20 74 65 73 74 2e 69 74 65 72 61 74 65 20 6f 76 ys.zig</kbd>.1/4.test.iterate.ov
2f6c0 65 72 20 61 6e 20 61 72 72 61 79 2e 2e 2e 20 4f 4b 0a 32 2f 34 20 74 65 73 74 2e 6d 6f 64 69 66 er.an.array....OK.2/4.test.modif
2f6e0 79 20 61 6e 20 61 72 72 61 79 2e 2e 2e 20 4f 4b 0a 33 2f 34 20 74 65 73 74 2e 63 6f 6d 70 69 6c y.an.array....OK.3/4.test.compil
2f700 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 6e 2e 2e 2e 20 4f e-time.array.initialization....O
2f720 4b 0a 34 2f 34 20 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 K.4/4.test.array.initialization.
2f740 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.
2f760 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
2f780 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>.
2f7a0 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>.
2f7c0 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>
2f7e0 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
2f800 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
2f820 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
2f840 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
2f860 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
2f880 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>...
2f8a0 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.
2f8c0 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:...
2f8e0 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
2f900 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="
2f920 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
2f940 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><
2f960 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
2f980 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.=.
2f9a0 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
2f9c0 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">&
2f9e0 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 73 70 61 6e 3e 0a 3c quot;std&quot;</span>);</span>.<
2fa00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2fa20 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
2fa40 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .testing.expect;</span>.<span.cl
2fa60 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
2fa80 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
2faa0 3c 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 </span>.mat4x4.=.[<span.class="t
2fac0 6f 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 ok-number">4</span>][<span.class
2fae0 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 20 63 6c 61 ="tok-number">4</span>]<span.cla
2fb00 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e ss="tok-type">f32</span>{</span>
2fb20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e .<span.class="line">....[_]<span
2fb40 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 7b 20 3c 73 .class="tok-type">f32</span>{.<s
2fb60 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 2f 73 70 61 6e pan.class="tok-number">1.0</span
2fb80 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 2e 30 3c >,.<span.class="tok-number">0.0<
2fba0 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"
2fbc0 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
2fbe0 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e mber">0.0</span>.},</span>.<span
2fc00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 .class="line">....[_]<span.class
2fc20 3d 22 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 ="tok-type">f32</span>{.<span.cl
2fc40 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 2c 20 3c 73 70 ass="tok-number">0.0</span>,.<sp
2fc60 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 2f 73 70 61 6e 3e an.class="tok-number">1.0</span>
2fc80 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 2e 30 3c 2f ,.<span.class="tok-number">0.0</
2fca0 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">
2fcc0 31 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 1.0</span>.},</span>.<span.class
2fce0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ="line">....[_]<span.class="tok-
2fd00 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 74 type">f32</span>{.<span.class="t
2fd20 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 6e 20 63 6c 61 ok-number">0.0</span>,.<span.cla
2fd40 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
2fd60 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>,
2fd80 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
2fda0 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pan>.},</span>.<span.class="line
2fdc0 22 3e 20 20 20 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 ">....[_]<span.class="tok-type">
2fde0 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 74 6f 6b 2d 6e 75 6d f32</span>{.<span.class="tok-num
2fe00 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 6f ber">0.0</span>,.<span.class="to
2fe20 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 6e 20 63 6c 61 73 k-number">0.0</span>,.<span.clas
2fe40 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 6e s="tok-number">0.0</span>,.<span
2fe60 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 20 7d .class="tok-number">1.0</span>.}
2fe80 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f ,</span>.<span.class="line">};</
2fea0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
2fec0 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.
2fee0 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 6d 65 6e class="tok-str">&quot;multidimen
2ff00 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 3c 2f 73 70 sional.arrays&quot;</span>.{</sp
2ff20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
2ff40 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 74 .class="tok-comment">//.Access.t
2ff60 68 65 20 32 44 20 61 72 72 61 79 20 62 79 20 69 6e 64 65 78 69 6e 67 20 74 68 65 20 6f 75 74 65 he.2D.array.by.indexing.the.oute
2ff80 72 20 61 72 72 61 79 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 69 6e 6e 65 72 20 61 72 72 61 r.array,.and.then.the.inner.arra
2ffa0 79 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 y.</span></span>.<span.class="li
2ffc0 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">try
2ffe0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 74 34 78 34 5b 3c 73 70 61 6e 20 63 6c 61 73 </span>.expect(mat4x4[<span.clas
30000 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 5b 3c 73 70 61 6e 20 63 s="tok-number">1</span>][<span.c
30020 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 3d 3d 20 3c lass="tok-number">1</span>].==.<
30040 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 2f 73 70 61 span.class="tok-number">1.0</spa
30060 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>);</span>.<span.class="line"><
30080 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
300a0 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 65 72 65 20 pan.class="tok-comment">//.Here.
300c0 77 65 20 69 74 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 we.iterate.with.for.loops.</span
300e0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
30100 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>.
30120 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 72 (mat4x4,.<span.class="tok-number
30140 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 7b ">0</span>..).|row,.row_index|.{
30160 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
30180 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
301a0 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 2d 6e 75 6d 62 65 72 n>.(row,.<span.class="tok-number
301c0 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 6d 6e 5f 69 6e 64 65 ">0</span>..).|cell,.column_inde
301e0 78 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 x|.{</span>.<span.class="line">.
30200 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">
30220 69 66 3c 2f 73 70 61 6e 3e 20 28 72 6f 77 5f 69 6e 64 65 78 20 3d 3d 20 63 6f 6c 75 6d 6e 5f 69 if</span>.(row_index.==.column_i
30240 6e 64 65 78 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ndex).{</span>.<span.class="line
30260 22 3e 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
30280 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 65 6c 6c 20 3d 3d ok-kw">try</span>.expect(cell.==
302a0 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 2f 73 .<span.class="tok-number">1.0</s
302c0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
302e0 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >............}</span>.<span.clas
30300 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="line">........}</span>.<span.
30320 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
30340 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
30360 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
30380 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
303a0 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
303c0 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 69 67 3c 2f st_multidimensional_arrays.zig</
303e0 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 61 kbd>.1/1.test.multidimensional.a
30400 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 0a rrays....OK.All.1.tests.passed..
30420 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 20 </samp></pre></figure>..........
30440 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 64 .....<h3.id="Sentinel-Terminated
30460 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 2d -Arrays"><a.href="#toc-Sentinel-
30480 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 6d Terminated-Arrays">Sentinel-Term
304a0 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 22 inated.Arrays</a>.<a.class="hdr"
304c0 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 61 .href="#Sentinel-Terminated-Arra
304e0 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 20 ys">..</a></h3>........<p>......
30500 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .The.syntax.<code><span.class="l
30520 69 6e 65 22 3e 5b 4e 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 73 63 72 69 ine">[N:x]T</span></code>.descri
30540 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 73 65 6e 74 69 6e 65 bes.an.array.which.has.a.sentine
30560 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 3c 73 70 61 6e 20 63 l.element.of.value.<code><span.c
30580 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 20 74 lass="line">x</span></code>.at.t
305a0 68 65 0a 20 20 20 20 20 20 69 6e 64 65 78 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 he.......index.corresponding.to.
305c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 65 6e 3c 2f 73 70 <code><span.class="line">len</sp
305e0 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 66 69 an></code>........</p>.......<fi
30600 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"
30620 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 65 ><cite.class="file">test_null_te
30640 72 6d 69 6e 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 rminated_array.zig</cite></figca
30660 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 6c 69 ption><pre><code><span.class="li
30680 6e 65 22 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 ne"><span.class="tok-kw">const</
306a0 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
306c0 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
306e0 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
30700 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
30720 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>.
30740 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 3c 2f 73 70 expect.=.std.testing.expect;</sp
30760 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
30780 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
307a0 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="
307c0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 61 tok-str">&quot;null.terminated.a
307e0 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e rray&quot;</span>.{</span>.<span
30800 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
30820 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 20 3d 20 5b 5f 3a 3c ok-kw">const</span>.array.=.[_:<
30840 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>
30860 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
30880 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 72 22 3e 31 3c 2f 73 >.{<span.class="tok-number">1</s
308a0 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
308c0 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
308e0 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
30900 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">4</span>};</span>.<span.cla
30920 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
30940 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
30960 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
30980 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 29 20 -builtin">@TypeOf</span>(array).
309a0 3d 3d 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 34 3c 2f ==.[<span.class="tok-number">4</
309c0 73 70 61 6e 3e 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>:<span.class="tok-number">0
309e0 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
30a00 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 8</span>);</span>.<span.class="l
30a20 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
30a40 79 3c 2f 73 70 61 6e 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 y</span>.expect(array.len.==.<sp
30a60 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>);
30a80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
30aa0 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
30ac0 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 75 6d xpect(array[<span.class="tok-num
30ae0 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 73 73 3d 22 74 ber">4</span>].==.<span.class="t
30b00 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">0</span>);</span>.<sp
30b20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
30b40 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
30b60 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
30b80 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
30ba0 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 7a 69 67 3c .test_null_terminated_array.zig<
30bc0 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 61 /kbd>.1/1.test.null.terminated.a
30be0 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 0a 3c rray....OK.All.1.tests.passed..<
30c00 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 53 /samp></pre></figure>.......<p>S
30c20 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 53 ee.also:</p><ul>.<li><a.href="#S
30c40 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 53 65 6e entinel-Terminated-Pointers">Sen
30c60 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 3c 2f 6c tinel-Terminated.Pointers</a></l
30c80 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 6d 69 6e i>.<li><a.href="#Sentinel-Termin
30ca0 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 61 74 65 64 ated-Slices">Sentinel-Terminated
30cc0 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 20 20 20 20 0a 20 .Slices</a></li>.</ul>..........
30ce0 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 72 73 22 3e 3c 61 .............<h2.id="Vectors"><a
30d00 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 72 73 3c 2f 61 3e .href="#toc-Vectors">Vectors</a>
30d20 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 74 6f 72 73 22 3e .<a.class="hdr".href="#Vectors">
30d40 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 76 ..</a></h2>........<p>.......A.v
30d60 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 6e 73 2c 20 3c 61 ector.is.a.group.of.booleans,.<a
30d80 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 2c 20 .href="#Integers">Integers</a>,.
30da0 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 2c 20 6f 72 <a.href="#Floats">Floats</a>,.or
30dc0 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 3e 50 6f 69 6e 74 .......<a.href="#Pointers">Point
30de0 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 20 6f 6e 20 69 6e ers</a>.which.are.operated.on.in
30e00 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 72 75 63 74 69 6f .parallel,.using.SIMD.instructio
30e20 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 6f 72 20 74 79 70 ns.if.possible........Vector.typ
30e40 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 69 6c 74 69 6e 20 es.are.created.with.the.builtin.
30e60 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 3e 40 56 65 63 74 function.<a.href="#Vector">@Vect
30e80 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 20 20 or</a>........</p>.......<p>....
30ea0 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 65 20 62 75 69 6c ...Vectors.support.the.same.buil
30ec0 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 65 72 6c 79 69 6e tin.operators.as.their.underlyin
30ee0 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 6f 70 65 72 61 74 g.base.types........These.operat
30f00 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 2d 77 69 73 65 2c ions.are.performed.element-wise,
30f20 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 65 20 73 61 6d 65 .and.return.a.vector.of.the.same
30f40 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 20 76 65 63 74 6f .length.......as.the.input.vecto
30f60 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 2f 70 3e 0a 20 20 rs..This.includes:.......</p>...
30f80 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 74 68 6d 65 74 69 ....<ul>...........<li>Arithmeti
30fa0 63 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 3c 2f 73 c.(<code><span.class="line">+</s
30fc0 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 73 3d 22 pan></code>,.<code><span.class="
30fe0 6c 69 6e 65 22 3e 2d 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 line">-</span></code>,.<code><sp
31000 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c an.class="line">/</span></code>,
31020 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 2f 73 70 61 .<code><span.class="line">*</spa
31040 6e 3e 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 n></code>,......................
31060 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ....<code><span.class="line"><sp
31080 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 6f 6f 72 an.class="tok-builtin">@divFloor
310a0 3c 2f 73 70 61 6e 3e 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 </span></span></code>,.<code><sp
310c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
310e0 2d 62 75 69 6c 74 69 6e 22 3e 40 73 71 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 -builtin">@sqrt</span></span></c
31100 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 6c 69 6e 65 22 3e 3c ode>,.<code><span.class="line"><
31120 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 65 69 6c 3c 2f span.class="tok-builtin">@ceil</
31140 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 span></span></code>,............
31160 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 3d ..............<code><span.class=
31180 22 6c 69 6e 65 22 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 "line"><span.class="tok-builtin"
311a0 3e 40 6c 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 74 63 2e >@log</span></span></code>,.etc.
311c0 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 42 69 74 77 69 73 65 20 6f 70 65 )</li>...........<li>Bitwise.ope
311e0 72 61 74 6f 72 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 rators.(<code><span.class="line"
31200 3e 26 67 74 3b 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c >&gt;&gt;</span></code>,.<code><
31220 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 6c 74 3b 26 6c 74 3b 3c 2f 73 70 61 6e span.class="line">&lt;&lt;</span
31240 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 6c 69 6e ></code>,.<code><span.class="lin
31260 65 22 3e 26 61 6d 70 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 e">&amp;</span></code>,.........
31280 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 6f 64 65 3e 3c .........................<code><
312a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">|</span></code
312c0 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 3c 2f 73 >,.<code><span.class="line">~</s
312e0 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 20 20 20 20 20 pan></code>,.etc.)</li>.........
31300 20 20 3c 6c 69 3e 43 6f 6d 70 61 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 73 20 28 3c 63 6f 64 ..<li>Comparison.operators.(<cod
31320 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 6c 74 3b 3c 2f 73 70 61 6e 3e e><span.class="line">&lt;</span>
31340 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 6c 69 6e 65 </code>,.<code><span.class="line
31360 22 3e 26 67 74 3b 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 ">&gt;</span></code>,.<code><spa
31380 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3d 3d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c n.class="line">==</span></code>,
313a0 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 20 20 20 20 3c 70 .etc.)</li>.......</ul>.......<p
313c0 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 6f 20 75 73 65 20 >.......It.is.prohibited.to.use.
313e0 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 72 65 20 6f 66 20 a.math.operator.on.a.mixture.of.
31400 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 73 29 0a 20 20 20 scalars.(individual.numbers)....
31420 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 65 73 20 74 68 65 ...and.vectors..Zig.provides.the
31440 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 61 3e 20 62 75 69 .<a.href="#splat">@splat</a>.bui
31460 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 6d 20 73 63 61 6c ltin.to.easily.convert.from.scal
31480 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 69 74 20 73 75 70 ars.......to.vectors,.and.it.sup
314a0 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 65 64 75 63 65 3c ports.<a.href="#reduce">@reduce<
314c0 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 74 61 78 20 74 6f /a>.and.array.indexing.syntax.to
314e0 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 73 20 74 6f 20 73 .convert.......from.vectors.to.s
31500 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 72 74 20 61 73 73 calars..Vectors.also.support.ass
31520 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 6c 65 6e 67 74 68 ignment.to.and.from.fixed-length
31540 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 65 2d 6b 6e 6f 77 .......arrays.with.comptime-know
31560 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 20 3c 70 3e 0a 20 n.length........</p>.......<p>..
31580 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 6e 74 73 20 77 69 .....For.rearranging.elements.wi
315a0 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 5a 69 67 20 70 72 thin.and.between.vectors,.Zig.pr
315c0 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 6c 65 22 3e 40 73 ovides.the.<a.href="#shuffle">@s
315e0 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 65 6c 65 63 74 22 huffle</a>.and.<a.href="#select"
31600 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 20 20 20 20 3c 2f >@select</a>.functions........</
31620 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 6f 6e 73 20 6f 6e p>.......<p>.......Operations.on
31640 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 74 61 72 67 65 74 .vectors.shorter.than.the.target
31660 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
31680 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 6c 65 20 53 49 4d .typically.compile.to.single.SIM
316a0 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 65 20 76 65 63 74 D.......instructions,.while.vect
316c0 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 20 6d 61 63 68 69 ors.longer.than.the.target.machi
316e0 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 20 63 6f 6d 70 69 ne's.native.SIMD.size.will.compi
31700 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 69 6e 73 74 72 75 le.to.multiple.SIMD.......instru
31720 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 6f 6e 20 64 6f 65 ctions..If.a.given.operation.doe
31740 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 74 68 65 20 74 61 sn't.have.SIMD.support.on.the.ta
31760 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 70 69 6c 65 72 20 rget.architecture,.the.compiler.
31780 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 61 74 69 6e 67 20 will.default.......to.operating.
317a0 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 20 61 74 20 61 20 on.each.vector.element.one.at.a.
317c0 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 70 74 69 6d 65 2d time..Zig.supports.any.comptime-
317e0 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 32 5e 33 32 2d 31 known.vector.length.up.to.2^32-1
31800 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 65 72 73 20 6f 66 ,.......although.small.powers.of
31820 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 61 6c 2e 20 4e 6f .two.(2-64).are.most.typical..No
31840 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 65 63 74 6f 72 20 te.that.excessively.long.vector.
31860 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 20 20 20 20 72 65 lengths.(e.g..2^20).may.......re
31880 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 6e 20 63 75 72 72 sult.in.compiler.crashes.on.curr
318a0 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 20 3c 2f 70 3e 0a ent.versions.of.Zig........</p>.
318c0 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=
318e0 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
31900 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 70 74 69 6f 6e 3e t_vector.zig</cite></figcaption>
31920 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
31940 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>.
31960 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">
31980 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-
319a0 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 3c 2f 73 str">&quot;std&quot;</span>);</s
319c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
319e0 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
31a00 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 3b Equal.=.std.testing.expectEqual;
31a20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
31a40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
31a60 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
31a80 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 63 74 6f 72 20 ss="tok-str">&quot;Basic.vector.
31aa0 75 73 61 67 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 usage&quot;</span>.{</span>.<spa
31ac0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
31ae0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 56 65 63 74 6f 72 73 20 68 61 76 65 20 61 20 63 tok-comment">//.Vectors.have.a.c
31b00 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 61 6e 64 20 62 61 73 ompile-time.known.length.and.bas
31b20 65 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e.type.</span></span>.<span.clas
31b40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
31b60 22 3e 63 6f 6e 73 74 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 ">const</span>.a.=.<span.class="
31b80 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 61 tok-builtin">@Vector</span>(<spa
31ba0 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 3c n.class="tok-number">4</span>,.<
31bc0 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>
31be0 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 31 3c 2f 73 ){.<span.class="tok-number">1</s
31c00 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
31c20 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
31c40 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
31c60 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">4</span>.};</span>.<span.cl
31c80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
31ca0 6b 77 22 3e 63 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 kw">const</span>.b.=.<span.class
31cc0 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
31ce0 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>,
31d00 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
31d20 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 35 3c n>){.<span.class="tok-number">5<
31d40 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"
31d60 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 6e 75 6d 62 >6</span>,.<span.class="tok-numb
31d80 65 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 er">7</span>,.<span.class="tok-n
31da0 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">8</span>.};</span>.<span.
31dc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
31de0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
31e00 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 20 70 6c ment">//.Math.operations.take.pl
31e20 61 63 65 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ace.element-wise.</span></span>.
31e40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
31e60 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 2b ss="tok-kw">const</span>.c.=.a.+
31e80 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f .b;</span>.<span.class="line"></
31ea0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
31ec0 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 64 69 76 69 an.class="tok-comment">//.Indivi
31ee0 64 75 61 6c 20 76 65 63 74 6f 72 20 65 6c 65 6d 65 6e 74 73 20 63 61 6e 20 62 65 20 61 63 63 65 dual.vector.elements.can.be.acce
31f00 73 73 65 64 20 75 73 69 6e 67 20 61 72 72 61 79 20 69 6e 64 65 78 69 6e 67 20 73 79 6e 74 61 78 ssed.using.array.indexing.syntax
31f20 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
31f40 65 22 3e 20 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 e">....<span.class="tok-kw">try<
31f60 2f 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 /span>.expectEqual(<span.class="
31f80 74 6f 6b 2d 6e 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 tok-number">6</span>,.c[<span.cl
31fa0 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 3b 3c 2f 73 70 ass="tok-number">0</span>]);</sp
31fc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
31fe0 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
32000 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 3e tEqual(<span.class="tok-number">
32020 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 6d 8</span>,.c[<span.class="tok-num
32040 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">1</span>]);</span>.<span.cl
32060 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
32080 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 61 6e kw">try</span>.expectEqual(<span
320a0 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 2c 20 63 .class="tok-number">10</span>,.c
320c0 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
320e0 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>]);</span>.<span.class="line">
32100 20 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
32120 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 6f 6b an>.expectEqual(<span.class="tok
32140 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 -number">12</span>,.c[<span.clas
32160 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e s="tok-number">3</span>]);</span
32180 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
321a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
321c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
321e0 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
32200 72 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 r">&quot;Conversion.between.vect
32220 6f 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 ors,.arrays,.and.slices&quot;</s
32240 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
32260 3e 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">/
32280 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 61 72 72 61 79 /.Vectors.and.fixed-length.array
322a0 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 67 6e 65 64 20 s.can.be.automatically.assigned.
322c0 62 61 63 6b 20 61 6e 64 20 66 6f 72 74 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 back.and.forth</span></span>.<sp
322e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
32300 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 31 3a 20 5b 3c 73 70 61 6e "tok-kw">var</span>.arr1:.[<span
32320 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 3c 73 70 .class="tok-number">4</span>]<sp
32340 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 3d an.class="tok-type">f32</span>.=
32360 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 66 33 32 3c 2f .[_]<span.class="tok-type">f32</
32380 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 22 3e span>{.<span.class="tok-number">
323a0 31 2e 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 1.1</span>,.<span.class="tok-num
323c0 62 65 72 22 3e 33 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 ber">3.2</span>,.<span.class="to
323e0 6b 2d 6e 75 6d 62 65 72 22 3e 34 2e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 k-number">4.5</span>,.<span.clas
32400 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 2e 36 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 s="tok-number">5.6</span>.};</sp
32420 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
32440 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 65 63 3a 20 .class="tok-kw">var</span>.vec:.
32460 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
32480 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 72 r</span>(<span.class="tok-number
324a0 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 74 79 70 ">4</span>,.<span.class="tok-typ
324c0 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 61 72 72 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 e">f32</span>).=.arr1;</span>.<s
324e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
32500 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 32 3a 20 5b 3c 73 70 61 ="tok-kw">var</span>.arr2:.[<spa
32520 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 3c 73 n.class="tok-number">4</span>]<s
32540 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>.
32560 3d 20 76 65 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 =.vec;</span>.<span.class="line"
32580 3e 20 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
325a0 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 3c 2f 73 pan>.expectEqual(arr1,.arr2);</s
325c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
325e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
32600 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f ss="tok-comment">//.You.can.also
32620 20 61 73 73 69 67 6e 20 66 72 6f 6d 20 61 20 73 6c 69 63 65 20 77 69 74 68 20 63 6f 6d 70 74 69 .assign.from.a.slice.with.compti
32640 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 74 6f 20 61 20 76 65 63 74 6f 72 20 75 73 69 6e me-known.length.to.a.vector.usin
32660 67 20 2e 2a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 g..*</span></span>.<span.class="
32680 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">c
326a0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 65 63 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 onst</span>.vec2:.<span.class="t
326c0 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 61 6e ok-builtin">@Vector</span>(<span
326e0 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 20 3c 73 .class="tok-number">2</span>,.<s
32700 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 29 pan.class="tok-type">f32</span>)
32720 20 3d 20 61 72 72 31 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"
32740 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 62 >1</span>..<span.class="tok-numb
32760 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">3</span>].*;</span>.<span.cl
32780 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
327a0 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">v
327c0 61 72 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 73 3d 22 ar</span>.slice:.[]<span.class="
327e0 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 73 tok-kw">const</span>.<span.class
32800 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 61 72 ="tok-type">f32</span>.=.&amp;ar
32820 72 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 r1;</span>.<span.class="line">..
32840 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
32860 3e 20 6f 66 66 73 65 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 >.offset:.<span.class="tok-type"
32880 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
328a0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">1</span>;</span>.<span.cl
328c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
328e0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 65 78 74 72 61 63 74 20 61 20 63 6f 6d 70 74 69 6d comment">//.To.extract.a.comptim
32900 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 66 72 6f 6d 20 61 20 72 75 6e 74 69 6d 65 2d 6b 6e e-known.length.from.a.runtime-kn
32920 6f 77 6e 20 6f 66 66 73 65 74 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 own.offset,</span></span>.<span.
32940 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
32960 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 69 72 73 74 20 65 78 74 72 61 63 74 20 61 20 6e 65 k-comment">//.first.extract.a.ne
32980 77 20 73 6c 69 63 65 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 6f 66 66 73 65 74 w.slice.from.the.starting.offset
329a0 2c 20 74 68 65 6e 20 61 6e 20 61 72 72 61 79 20 6f 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ,.then.an.array.of</span></span>
329c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
329e0 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 6d 65 2d 6b 6e ass="tok-comment">//.comptime-kn
32a00 6f 77 6e 20 6c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 own.length</span></span>.<span.c
32a20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
32a40 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 6c -kw">const</span>.vec3:.<span.cl
32a60 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 3e ass="tok-builtin">@Vector</span>
32a80 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 61 (<span.class="tok-number">2</spa
32aa0 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 2f n>,.<span.class="tok-type">f32</
32ac0 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 63 span>).=.slice[offset..][<span.c
32ae0 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 61 lass="tok-number">0</span>..<spa
32b00 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 2a n.class="tok-number">2</span>].*
32b20 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
32b40 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>.
32b60 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 2c 20 76 65 63 32 5b expectEqual(slice[offset],.vec2[
32b80 3c 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
32ba0 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >]);</span>.<span.class="line">.
32bc0 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
32be0 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 20 2b 20 3c 73 n>.expectEqual(slice[offset.+.<s
32c00 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>]
32c20 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">
32c40 31 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 1</span>]);</span>.<span.class="
32c60 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
32c80 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 76 65 63 32 2c 20 76 65 63 33 ry</span>.expectEqual(vec2,.vec3
32ca0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
32cc0 73 70 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 span></code></pre></figure><figu
32ce0 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"
32d00 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>$.
32d20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 76 65 63 74 6f 72 2e 7a 69 67 3c 2f 6b <kbd>zig.test.test_vector.zig</k
32d40 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 42 61 73 69 63 20 76 65 63 74 6f 72 20 75 73 61 67 65 2e bd>.1/2.test.Basic.vector.usage.
32d60 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 2e 43 6f 6e 76 65 72 73 69 6f 6e 20 62 65 74 77 65 65 ...OK.2/2.test.Conversion.betwee
32d80 6e 20 76 65 63 74 6f 72 73 2c 20 61 72 72 61 79 73 2c 20 61 6e 64 20 73 6c 69 63 65 73 2e 2e 2e n.vectors,.arrays,.and.slices...
32da0 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 3e 3c .OK.All.2.tests.passed..</samp><
32dc0 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 54 /pre></figure>.......<p>.......T
32de0 4f 44 4f 20 74 61 6c 6b 20 61 62 6f 75 74 20 43 20 41 42 49 20 69 6e 74 65 72 6f 70 3c 62 72 2f ODO.talk.about.C.ABI.interop<br/
32e00 3e 0a 20 20 20 20 20 20 54 4f 44 4f 20 63 6f 6e 73 69 64 65 72 20 73 75 67 67 65 73 74 69 6e 67 >.......TODO.consider.suggesting
32e20 20 73 74 64 2e 4d 75 6c 74 69 41 72 72 61 79 4c 69 73 74 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .std.MultiArrayList.......</p>..
32e40 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 61 .....<p>See.also:</p><ul>.<li><a
32e60 20 68 72 65 66 3d 22 23 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c .href="#splat">@splat</a></li>.<
32e80 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 3c 2f li><a.href="#shuffle">@shuffle</
32ea0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 6c 65 63 74 22 3e 40 73 a></li>.<li><a.href="#select">@s
32ec0 65 6c 65 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 72 65 64 elect</a></li>.<li><a.href="#red
32ee0 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 uce">@reduce</a></li>.</ul>.....
32f00 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 50 6f 69 6e 74 65 72 73 22 3e 3c 61 ............<h2.id="Pointers"><a
32f20 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f .href="#toc-Pointers">Pointers</
32f40 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 6f 69 6e 74 65 72 a>.<a.class="hdr".href="#Pointer
32f60 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 20 20 s">..</a></h2>........<p>.......
32f80 5a 69 67 20 68 61 73 20 74 77 6f 20 6b 69 6e 64 73 20 6f 66 20 70 6f 69 6e 74 65 72 73 3a 20 73 Zig.has.two.kinds.of.pointers:.s
32fa0 69 6e 67 6c 65 2d 69 74 65 6d 20 61 6e 64 20 6d 61 6e 79 2d 69 74 65 6d 2e 0a 20 20 20 20 20 20 ingle-item.and.many-item........
32fc0 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 3c 63 </p>.......<ul>...........<li><c
32fe0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e ode><span.class="line">*T</span>
33000 3c 2f 63 6f 64 65 3e 20 2d 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f </code>.-.single-item.pointer.to
33020 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 69 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c .exactly.one.item..............<
33040 75 6c 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 64 ul>...............<li>Supports.d
33060 65 72 65 66 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 eref.syntax:.<code><span.class="
33080 6c 69 6e 65 22 3e 70 74 72 2e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 line">ptr.*</span></code></li>..
330a0 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 6c 69 3e ...........</ul>...........</li>
330c0 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
330e0 3d 22 6c 69 6e 65 22 3e 5b 2a 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6d 61 6e ="line">[*]T</span></code>.-.man
33100 79 2d 69 74 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 y-item.pointer.to.unknown.number
33120 20 6f 66 20 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 .of.items..............<ul>.....
33140 20 20 20 20 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 ..........<li>Supports.index.syn
33160 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 tax:.<code><span.class="line">pt
33180 72 5b 69 5d 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 r[i]</span></code></li>.........
331a0 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 78 3a ......<li>Supports.slice.syntax:
331c0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 5b 73 74 .<code><span.class="line">ptr[st
331e0 61 72 74 2e 2e 65 6e 64 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 art..end]</span></code></li>....
33200 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 69 6e 74 65 72 20 ...........<li>Supports.pointer.
33220 61 72 69 74 68 6d 65 74 69 63 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c arithmetic:.<code><span.class="l
33240 69 6e 65 22 3e 70 74 72 20 2b 20 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 ine">ptr.+.x</span></code>,.<cod
33260 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 20 2d 20 78 3c 2f 73 70 e><span.class="line">ptr.-.x</sp
33280 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 20 20 20 20 3c 6c an></code></li>...............<l
332a0 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 i><code><span.class="line">T</sp
332c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 68 61 76 65 20 61 20 6b 6e 6f 77 6e 20 73 69 7a an></code>.must.have.a.known.siz
332e0 65 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 e,.which.means.that.it.cannot.be
33300 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
33320 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-type">a
33340 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 nyopaque</span></span></code>.or
33360 20 61 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 .any.other.<a.href="#opaque">opa
33380 71 75 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 que.type</a>.</li>.............<
333a0 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 3c 2f 75 6c 3e /ul>...........</li>.......</ul>
333c0 0a 20 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 .......<p>These.types.are.closel
333e0 79 20 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 y.related.to.<a.href="#Arrays">A
33400 72 72 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 rrays</a>.and.<a.href="#Slices">
33420 53 6c 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 Slices</a>:</p>.........<ul>....
33440 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="
33460 6c 69 6e 65 22 3e 2a 5b 4e 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 70 6f 69 6e line">*[N]T</span></code>.-.poin
33480 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 6c 65 2d 69 ter.to.N.items,.same.as.single-i
334a0 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 20 20 20 20 tem.pointer.to.an.array.........
334c0 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 69 3e 53 75 .....<ul>.................<li>Su
334e0 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 3c 73 70 61 6e pports.index.syntax:.<code><span
33500 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 72 72 61 79 5f 70 74 72 5b 69 5d 3c 2f 73 70 61 6e .class="line">array_ptr[i]</span
33520 3e 3c 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 ></code></li>.................<l
33540 69 3e 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 3c i>Supports.slice.syntax:.<code><
33560 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 72 72 61 79 5f 70 74 72 5b 73 74 61 72 span.class="line">array_ptr[star
33580 74 2e 2e 65 6e 64 5d 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 t..end]</span></code></li>......
335a0 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
335c0 65 72 74 79 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 erty:.<code><span.class="line">a
335e0 72 72 61 79 5f 70 74 72 2e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a rray_ptr.len</span></code></li>.
33600 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 3c 2f ............</ul>.............</
33620 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 75 6c 3e 0a 20 li>.........</ul>.........<ul>..
33640 20 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
33660 3d 22 6c 69 6e 65 22 3e 5b 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 69 73 20 61 ="line">[]T</span></code>.-.is.a
33680 20 73 6c 69 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 .slice.(a.fat.pointer,.which.con
336a0 74 61 69 6e 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 3c 73 tains.a.pointer.of.type.<code><s
336c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="line">[*]T</span></co
336e0 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 20 3c de>.and.a.length)..............<
33700 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 74 73 ul>.................<li>Supports
33720 20 69 6e 64 65 78 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .index.syntax:.<code><span.class
33740 3d 22 6c 69 6e 65 22 3e 73 6c 69 63 65 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ="line">slice[i]</span></code></
33760 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 75 70 70 6f 72 74 73 li>.................<li>Supports
33780 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .slice.syntax:.<code><span.class
337a0 3d 22 6c 69 6e 65 22 3e 73 6c 69 63 65 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 73 70 61 6e 3e ="line">slice[start..end]</span>
337c0 3c 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 </code></li>.................<li
337e0 3e 53 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 3c 73 >Supports.len.property:.<code><s
33800 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6c 69 63 65 2e 6c 65 6e 3c 2f 73 70 61 6e pan.class="line">slice.len</span
33820 3e 3c 2f 63 6f 64 65 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 ></code></li>.............</ul>.
33840 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a ............</li>.........</ul>.
33860 20 20 20 20 20 20 20 20 3c 70 3e 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ........<p>Use.<code><span.class
33880 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 3b 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 ="line">&amp;x</span></code>.to.
338a0 6f 62 74 61 69 6e 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 obtain.a.single-item.pointer:</p
338c0 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
338e0 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
33900 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 63 69 74 est_single_item_pointer.zig</cit
33920 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.
33940 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
33960 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
33980 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>
339a0 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
339c0 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 3c 2f &quot;</span>).testing.expect;</
339e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
33a00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
33a20 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
33a40 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 64 64 72 65 73 73 20 6f 66 20 73 79 6e 74 ="tok-str">&quot;address.of.synt
33a60 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ax&quot;</span>.{</span>.<span.c
33a80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
33aa0 2d 63 6f 6d 6d 65 6e 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 -comment">//.Get.the.address.of.
33ac0 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 a.variable:</span></span>.<span.
33ae0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
33b00 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 63 6c 61 73 k-kw">const</span>.x:.<span.clas
33b20 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.
33b40 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 3c class="tok-number">1234</span>;<
33b60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
33b80 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>.
33ba0 78 5f 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 x_ptr.=.&amp;x;</span>.<span.cla
33bc0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
33be0 69 6e 65 22 3e 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 ine">....<span.class="tok-commen
33c00 74 22 3e 2f 2f 20 44 65 72 65 66 65 72 65 6e 63 65 20 61 20 70 6f 69 6e 74 65 72 3a 3c 2f 73 70 t">//.Dereference.a.pointer:</sp
33c20 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
33c40 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
33c60 3e 20 65 78 70 65 63 74 28 78 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.expect(x_ptr.*.==.<span.class=
33c80 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 3c 2f 73 70 61 6e "tok-number">1234</span>);</span
33ca0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
33cc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
33ce0 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 20 74 68 "tok-comment">//.When.you.get.th
33d00 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 2c 20 79 e.address.of.a.const.variable,.y
33d20 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 69 6e 74 ou.get.a.const.single-item.point
33d40 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c er.</span></span>.<span.class="l
33d60 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
33d80 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
33da0 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 78 5f 70 74 72 29 20 -builtin">@TypeOf</span>(x_ptr).
33dc0 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 63 6f 6e 73 74 3c 2f ==.*<span.class="tok-kw">const</
33de0 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 69 33 32 span>.<span.class="tok-type">i32
33e00 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
33e20 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ne"></span>.<span.class="line">.
33e40 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">//.
33e60 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d 75 74 61 74 65 20 74 68 65 20 76 61 6c 75 65 2c If.you.want.to.mutate.the.value,
33e80 20 79 6f 75 27 64 20 6e 65 65 64 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 6d 75 74 61 .you'd.need.an.address.of.a.muta
33ea0 62 6c 65 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ble.variable:</span></span>.<spa
33ec0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
33ee0 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 61 73 tok-kw">var</span>.y:.<span.clas
33f00 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.
33f20 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 3b 3c class="tok-number">5678</span>;<
33f40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
33f60 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>.
33f80 79 5f 70 74 72 20 3d 20 26 61 6d 70 3b 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 y_ptr.=.&amp;y;</span>.<span.cla
33fa0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
33fc0 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
33fe0 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 79 5f ="tok-builtin">@TypeOf</span>(y_
34000 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 22 3e ptr).==.*<span.class="tok-type">
34020 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d i32</span>);</span>.<span.class=
34040 22 6c 69 6e 65 22 3e 20 20 20 20 79 5f 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 "line">....y_ptr.*.+=.<span.clas
34060 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">1</span>;</span>.
34080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
340a0 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 5f ss="tok-kw">try</span>.expect(y_
340c0 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 65 72 ptr.*.==.<span.class="tok-number
340e0 22 3e 35 36 37 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">5679</span>);</span>.<span.cla
34100 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
34120 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
34140 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
34160 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 6f >.<span.class="tok-str">&quot;po
34180 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 70 61 6e 3e 20 inter.array.access&quot;</span>.
341a0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
341c0 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 61 6b <span.class="tok-comment">//.Tak
341e0 69 6e 67 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 6e 20 69 6e 64 69 76 69 64 75 61 6c 20 ing.an.address.of.an.individual.
34200 65 6c 65 6d 65 6e 74 20 67 69 76 65 73 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 element.gives.a</span></span>.<s
34220 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
34240 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f ="tok-comment">//.single-item.po
34260 69 6e 74 65 72 2e 20 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 70 6f 69 6e 74 65 72 3c 2f 73 70 61 inter..This.kind.of.pointer</spa
34280 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
342a0 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 64 6f .<span.class="tok-comment">//.do
342c0 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 es.not.support.pointer.arithmeti
342e0 63 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 c.</span></span>.<span.class="li
34300 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">var
34320 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="
34340 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
34360 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
34380 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 6e ass="tok-number">2</span>,.<span
343a0 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
343c0 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>,
343e0 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
34400 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 2f n>,.<span.class="tok-number">6</
34420 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">
34440 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 6d 62 65 7</span>,.<span.class="tok-numbe
34460 72 22 3e 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 r">8</span>,.<span.class="tok-nu
34480 6d 62 65 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 mber">9</span>,.<span.class="tok
344a0 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -number">10</span>.};</span>.<sp
344c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
344e0 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 61 6d 70 "tok-kw">const</span>.ptr.=.&amp
34500 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 72 22 3e ;array[<span.class="tok-number">
34520 32 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>];</span>.<span.class="l
34540 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
34560 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
34580 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 20 3d 3d -builtin">@TypeOf</span>(ptr).==
345a0 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 75 38 3c 2f 73 70 61 .*<span.class="tok-type">u8</spa
345c0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>);</span>.<span.class="line"><
345e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
34600 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
34620 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
34640 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
34660 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">3</span>);</span>.<spa
34680 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 n.class="line">....ptr.*.+=.<spa
346a0 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 3c 2f n.class="tok-number">1</span>;</
346c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
346e0 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
34700 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
34720 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
34740 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">4</span>);</span>.<span
34760 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
34780 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.
347a0 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
347c0 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
347e0 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
34800 3e 0a 31 2f 32 20 74 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 >.1/2.test.address.of.syntax....
34820 4f 4b 0a 32 2f 32 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 61 72 72 61 79 20 61 63 63 65 73 73 OK.2/2.test.pointer.array.access
34840 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 73 61 6d ....OK.All.2.tests.passed..</sam
34860 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>.....
34880 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 ...Zig.supports.pointer.arithmet
348a0 69 63 2e 20 49 74 27 73 20 62 65 74 74 65 72 20 74 6f 20 61 73 73 69 67 6e 20 74 68 65 20 70 6f ic..It's.better.to.assign.the.po
348c0 69 6e 74 65 72 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 inter.to.<code><span.class="line
348e0 22 3e 5b 2a 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 69 6e 63 72 65 6d 65 ">[*]T</span></code>.and.increme
34900 6e 74 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 64 nt.that.variable..For.example,.d
34920 69 72 65 63 74 6c 79 20 69 6e 63 72 65 6d 65 6e 74 69 6e 67 20 74 68 65 20 70 6f 69 6e 74 65 72 irectly.incrementing.the.pointer
34940 20 66 72 6f 6d 20 61 20 73 6c 69 63 65 20 77 69 6c 6c 20 63 6f 72 72 75 70 74 20 69 74 2e 0a 20 .from.a.slice.will.corrupt.it...
34960 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
34980 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=
349a0 22 66 69 6c 65 22 3e 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 "file">test_pointer_arithmetic.z
349c0 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
349e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
34a00 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.=.<
34a20 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
34a40 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
34a60 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
34a80 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pect;</span>.<span.class="line">
34aa0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
34ac0 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
34ae0 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 6e 74 65 72 20 n.class="tok-str">&quot;pointer.
34b00 61 72 69 74 68 6d 65 74 69 63 20 77 69 74 68 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 arithmetic.with.many-item.pointe
34b20 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r&quot;</span>.{</span>.<span.cl
34b40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
34b60 6b 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 5d 3c 73 70 61 kw">const</span>.array.=.[_]<spa
34b80 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>{.<
34ba0 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>
34bc0 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
34be0 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<
34c00 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"
34c20 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >4</span>.};</span>.<span.class=
34c40 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
34c60 76 61 72 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 var</span>.ptr:.[*]<span.class="
34c80 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 73 tok-kw">const</span>.<span.class
34ca0 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 26 61 6d 70 3b 61 72 ="tok-type">i32</span>.=.&amp;ar
34cc0 72 61 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ray;</span>.<span.class="line"><
34ce0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
34d00 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
34d20 70 65 63 74 28 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 pect(ptr[<span.class="tok-number
34d40 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 6f 6b 2d ">0</span>].==.<span.class="tok-
34d60 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">1</span>);</span>.<span.
34d80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 20 2b 3d 20 3c 73 70 61 6e 20 63 6c class="line">....ptr.+=.<span.cl
34da0 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 3c 2f 73 70 61 6e ass="tok-number">1</span>;</span
34dc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
34de0 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(
34e00 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 30 3c 2f ptr[<span.class="tok-number">0</
34e20 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
34e40 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">2</span>);</span>.<span.class
34e60 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
34e80 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
34ea0 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>.
34ec0 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 6e <span.class="tok-str">&quot;poin
34ee0 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 73 26 71 75 6f 74 3b ter.arithmetic.with.slices&quot;
34f00 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
34f20 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">var
34f40 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="
34f60 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
34f80 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
34fa0 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
34fc0 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>,.<
34fe0 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>
35000 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .};</span>.<span.class="line">..
35020 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
35040 3e 20 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 >.length:.<span.class="tok-type"
35060 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
35080 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">0</span>;</span>.<span.
350a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
350c0 6b 2d 6b 77 22 3e 76 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 k-kw">var</span>.slice.=.array[l
350e0 65 6e 67 74 68 2e 2e 61 72 72 61 79 2e 6c 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ength..array.len];</span>.<span.
35100 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
35120 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
35140 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 70 61 6e 20 63 >try</span>.expect(slice[<span.c
35160 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>].==.<
35180 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>
351a0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
351c0 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>
351e0 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
35200 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">4</span>);</span>.
35220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
35240 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 2e 70 74 72 20 2b 3d 20 3c .class="line">....slice.ptr.+=.<
35260 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>
35280 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
352a0 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 6e 6f 77 <span.class="tok-comment">//.now
352c0 20 74 68 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 .the.slice.is.in.an.bad.state.si
352e0 6e 63 65 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 nce.len.has.not.been.updated</sp
35300 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f an></span>.<span.class="line"></
35320 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
35340 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
35360 65 63 74 28 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 ect(slice[<span.class="tok-numbe
35380 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 6f 6b r">0</span>].==.<span.class="tok
353a0 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">2</span>);</span>.<span
353c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
353e0 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 6c 69 63 65 2e 6c ok-kw">try</span>.expect(slice.l
35400 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 34 en.==.<span.class="tok-number">4
35420 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
35440 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
35460 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
35480 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><
354a0 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 65 samp>$.<kbd>zig.test.test_pointe
354c0 72 5f 61 72 69 74 68 6d 65 74 69 63 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e r_arithmetic.zig</kbd>.1/2.test.
354e0 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 6e 79 2d 69 74 65 pointer.arithmetic.with.many-ite
35500 6d 20 70 6f 69 6e 74 65 72 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 m.pointer....OK.2/2.test.pointer
35520 20 61 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 .arithmetic.with.slices....OK.Al
35540 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><
35560 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 49 6e 20 5a 69 /figure>.......<p>.........In.Zi
35580 67 2c 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 g,.we.generally.prefer.<a.href="
355a0 23 53 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 #Slices">Slices</a>.rather.than.
355c0 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 65 64 2d 50 6f <a.href="#Sentinel-Terminated-Po
355e0 69 6e 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 inters">Sentinel-Terminated.Poin
35600 74 65 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 ters</a>..........You.can.turn.a
35620 6e 20 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 n.array.or.pointer.into.a.slice.
35640 75 73 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 using.slice.syntax........</p>..
35660 20 20 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 .....<p>.........Slices.have.bou
35680 6e 64 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 nds.checking.and.are.therefore.p
356a0 72 6f 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 rotected.........against.this.ki
356c0 6e 64 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 nd.of.undefined.behavior..This.i
356e0 73 20 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 s.one.reason.........we.prefer.s
35700 6c 69 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 lices.to.pointers........</p>...
35720 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
35740 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_
35760 73 6c 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 slice_bounds.zig</cite></figcapt
35780 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 6c 69 6e 65 ion><pre><code><span.class="line
357a0 22 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 "><span.class="tok-kw">const</sp
357c0 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
357e0 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
35800 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
35820 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n>).testing.expect;</span>.<span
35840 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
35860 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
35880 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">
358a0 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 73 6c 69 63 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 &quot;pointer.slicing&quot;</spa
358c0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
358e0 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
35900 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 2d 74 n>.array.=.[_]<span.class="tok-t
35920 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
35940 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 3d 22 -number">1</span>,.<span.class="
35960 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 61 73 tok-number">2</span>,.<span.clas
35980 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 20 63 s="tok-number">3</span>,.<span.c
359a0 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
359c0 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>,.<
359e0 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>
35a00 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
35a20 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<
35a40 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"
35a60 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 6d 62 >9</span>,.<span.class="tok-numb
35a80 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">10</span>.};</span>.<span.cl
35aa0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
35ac0 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 6c 61 73 kw">var</span>.start:.<span.clas
35ae0 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
35b00 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 3b 3c 2f n.class="tok-number">2</span>;</
35b20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
35b40 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
35b60 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 73 74 61 72 74 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d lice.=.array[start..<span.class=
35b80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">4</span>];</span>.<
35ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
35bc0 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 6c 69 s="tok-kw">try</span>.expect(sli
35be0 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 2d 6e 75 6d 62 65 ce.len.==.<span.class="tok-numbe
35c00 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">2</span>);</span>.<span.class
35c20 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
35c40 65 22 3e 20 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 e">....<span.class="tok-kw">try<
35c60 2f 73 70 61 6e 3e 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 /span>.expect(array[<span.class=
35c80 22 74 6f 6b 2d 6e 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 "tok-number">3</span>].==.<span.
35ca0 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 3c 2f 73 class="tok-number">4</span>);</s
35cc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 pan>.<span.class="line">....slic
35ce0 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
35d00 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"
35d20 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >1</span>;</span>.<span.class="l
35d40 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
35d60 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 6e 20 63 6c 61 73 y</span>.expect(array[<span.clas
35d80 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 3d 20 3c 73 70 61 s="tok-number">3</span>].==.<spa
35da0 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 3b 3c n.class="tok-number">5</span>);<
35dc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
35de0 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 3e n></code></pre></figure><figure>
35e00 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
35e20 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
35e40 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 73 2e 7a 69 67 d>zig.test.test_slice_bounds.zig
35e60 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 73 6c 69 63 69 6e 67 2e </kbd>.1/1.test.pointer.slicing.
35e80 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
35ea0 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 50 6f 69 6e 74 65 ></pre></figure>.......<p>Pointe
35ec0 72 73 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 74 6f 6f 2c 20 61 73 20 rs.work.at.compile-time.too,.as.
35ee0 6c 6f 6e 67 20 61 73 20 74 68 65 20 63 6f 64 65 20 64 6f 65 73 20 6e 6f 74 20 64 65 70 65 6e 64 long.as.the.code.does.not.depend
35f00 20 6f 6e 0a 20 20 20 20 20 20 61 6e 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 20 6c 61 .on.......an.undefined.memory.la
35f20 79 6f 75 74 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 yout:</p>.......<figure><figcapt
35f40 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=
35f60 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 "file">test_comptime_pointers.zi
35f80 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>
35fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
35fc0 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
35fe0 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<
36000 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
36020 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
36040 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ect;</span>.<span.class="line"><
36060 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
36080 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
360a0 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 65 20 .class="tok-str">&quot;comptime.
360c0 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c pointers&quot;</span>.{</span>.<
360e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
36100 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 3c 2f 73 70 s="tok-kw">comptime</span>.{</sp
36120 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
36140 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
36160 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
36180 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
361a0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
361c0 65 22 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 6b 77 22 3e e">........<span.class="tok-kw">
361e0 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 3c 2f 73 70 61 6e const</span>.ptr.=.&amp;x;</span
36200 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 74 72 >.<span.class="line">........ptr
36220 2e 2a 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 31 .*.+=.<span.class="tok-number">1
36240 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
36260 65 22 3e 20 20 20 20 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 e">........x.+=.<span.class="tok
36280 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">1</span>;</span>.<span.
362a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
362c0 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 74 72 2e ="tok-kw">try</span>.expect(ptr.
362e0 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 65 72 22 3e 33 3c *.==.<span.class="tok-number">3<
36300 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
36320 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e">....}</span>.<span.class="lin
36340 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
36360 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
36380 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
363a0 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 6d amp>$.<kbd>zig.test.test_comptim
363c0 65 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 63 6f e_pointers.zig</kbd>.1/1.test.co
363e0 6d 70 74 69 6d 65 20 70 6f 69 6e 74 65 72 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 mptime.pointers....OK.All.1.test
36400 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>
36420 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 .......<p>To.convert.an.integer.
36440 61 64 64 72 65 73 73 20 69 6e 74 6f 20 61 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 3c 63 6f 64 address.into.a.pointer,.use.<cod
36460 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
36480 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 2f 73 70 61 6e ="tok-builtin">@ptrFromInt</span
364a0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 6f 20 63 6f 6e 76 65 72 ></span></code>........To.conver
364c0 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 75 73 65 20 3c t.a.pointer.to.an.integer,.use.<
364e0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
36500 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 2f 73 ass="tok-builtin">@intFromPtr</s
36520 70 61 6e 3e 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 pan></span></code>:</p>.......<f
36540 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
36560 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 74 65 67 65 "><cite.class="file">test_intege
36580 72 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 63 69 74 65 3e 3c r_pointer_conversion.zig</cite><
365a0 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
365c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
365e0 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
36600 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
36620 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
36640 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 3c 2f 73 70 61 ot;</span>).testing.expect;</spa
36660 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
36680 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
366a0 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
366c0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 69 6e 74 46 72 6f 6d 50 74 72 20 61 6e 64 20 40 70 ok-str">&quot;@intFromPtr.and.@p
366e0 74 72 46 72 6f 6d 49 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a trFromInt&quot;</span>.{</span>.
36700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
36720 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 3a 20 2a 3c ss="tok-kw">const</span>.ptr:.*<
36740 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>
36760 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 74 .=.<span.class="tok-builtin">@pt
36780 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 6b rFromInt</span>(<span.class="tok
367a0 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 29 3b 3c 2f 73 70 -number">0xdeadbee0</span>);</sp
367c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
367e0 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 64 .class="tok-kw">const</span>.add
36800 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 69 r.=.<span.class="tok-builtin">@i
36820 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ntFromPtr</span>(ptr);</span>.<s
36840 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
36860 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
36880 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
368a0 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 3d 22 74 6f 6b 2d 74 pan>(addr).==.<span.class="tok-t
368c0 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ype">usize</span>);</span>.<span
368e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
36900 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 72 20 3d 3d ok-kw">try</span>.expect(addr.==
36920 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 64 65 61 64 .<span.class="tok-number">0xdead
36940 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 bee0</span>);</span>.<span.class
36960 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
36980 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=
369a0 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
369c0 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 69 6e re><samp>$.<kbd>zig.test.test_in
369e0 74 65 67 65 72 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 teger_pointer_conversion.zig</kb
36a00 64 3e 0a 31 2f 31 20 74 65 73 74 2e 40 69 6e 74 46 72 6f 6d 50 74 72 20 61 6e 64 20 40 70 74 72 d>.1/1.test.@intFromPtr.and.@ptr
36a20 46 72 6f 6d 49 6e 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 FromInt....OK.All.1.tests.passed
36a40 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>.......<
36a60 70 3e 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 70 72 65 73 65 72 76 65 20 6d 65 6d 6f 72 79 p>Zig.is.able.to.preserve.memory
36a80 20 61 64 64 72 65 73 73 65 73 20 69 6e 20 63 6f 6d 70 74 69 6d 65 20 63 6f 64 65 2c 20 61 73 20 .addresses.in.comptime.code,.as.
36aa0 6c 6f 6e 67 20 61 73 0a 20 20 20 20 20 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 6e 65 76 long.as.......the.pointer.is.nev
36ac0 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 er.dereferenced:</p>.......<figu
36ae0 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"><
36b00 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 65 5f cite.class="file">test_comptime_
36b20 70 6f 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 pointer_conversion.zig</cite></f
36b40 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
36b60 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
36b80 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="
36ba0 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
36bc0 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
36be0 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 3c 2f 73 70 61 6e 3e ;</span>).testing.expect;</span>
36c00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
36c20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
36c40 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
36c60 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 6f 6d 49 6e 74 -str">&quot;comptime.@ptrFromInt
36c80 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
36ca0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
36cc0 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 w">comptime</span>.{</span>.<spa
36ce0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
36d00 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 69 73 20 61 62 6c 65 20 ss="tok-comment">//.Zig.is.able.
36d20 74 6f 20 64 6f 20 74 68 69 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 73 20 6c to.do.this.at.compile-time,.as.l
36d40 6f 6e 67 20 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ong.as</span></span>.<span.class
36d60 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
36d80 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 74 72 20 69 73 20 6e 65 76 65 72 20 64 65 72 65 66 65 -comment">//.ptr.is.never.derefe
36da0 72 65 6e 63 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 renced.</span></span>.<span.clas
36dc0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
36de0 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 63 k-kw">const</span>.ptr:.*<span.c
36e00 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
36e20 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
36e40 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
36e60 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 r">0xdeadbee0</span>);</span>.<s
36e80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
36ea0 6c 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 64 72 20 lass="tok-kw">const</span>.addr.
36ec0 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 6e 74 =.<span.class="tok-builtin">@int
36ee0 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 FromPtr</span>(ptr);</span>.<spa
36f00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
36f20 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
36f40 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<
36f60 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 3d 22 74 6f 6b /span>(addr).==.<span.class="tok
36f80 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -type">usize</span>);</span>.<sp
36fa0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
36fc0 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
36fe0 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 75 6d 62 65 72 22 3e ddr.==.<span.class="tok-number">
37000 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 0xdeadbee0</span>);</span>.<span
37020 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .class="line">....}</span>.<span
37040 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
37060 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.
37080 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
370a0 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
370c0 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 6f 6e 2e est_comptime_pointer_conversion.
370e0 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 63 6f 6d 70 74 69 6d 65 20 40 70 74 72 zig</kbd>.1/1.test.comptime.@ptr
37100 46 72 6f 6d 49 6e 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 FromInt....OK.All.1.tests.passed
37120 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>.......<
37140 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=
37160 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 6c 20 50 6f "#Optional-Pointers">Optional.Po
37180 69 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 70 74 inters</a></li>.<li><a.href="#pt
371a0 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 3c 2f 6c 69 3e 0a 3c rFromInt">@ptrFromInt</a></li>.<
371c0 6c 69 3e 3c 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 li><a.href="#intFromPtr">@intFro
371e0 6d 50 74 72 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 6f mPtr</a></li>.<li><a.href="#C-Po
37200 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 2f 75 6c inters">C.Pointers</a></li>.</ul
37220 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 76 6f 6c 61 74 69 6c 65 22 3e 3c 61 20 68 72 >........<h3.id="volatile"><a.hr
37240 65 66 3d 22 23 74 6f 63 2d 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e 20 ef="#toc-volatile">volatile</a>.
37260 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 74 69 6c 65 22 3e <a.class="hdr".href="#volatile">
37280 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4c 6f 61 64 73 20 61 6e 64 20 ..</a></h3>........<p>Loads.and.
372a0 73 74 6f 72 65 73 20 61 72 65 20 61 73 73 75 6d 65 64 20 74 6f 20 6e 6f 74 20 68 61 76 65 20 73 stores.are.assumed.to.not.have.s
372c0 69 64 65 20 65 66 66 65 63 74 73 2e 20 49 66 20 61 20 67 69 76 65 6e 20 6c 6f 61 64 20 6f 72 20 ide.effects..If.a.given.load.or.
372e0 73 74 6f 72 65 0a 20 20 20 20 20 20 73 68 6f 75 6c 64 20 68 61 76 65 20 73 69 64 65 20 65 66 66 store.......should.have.side.eff
37300 65 63 74 73 2c 20 73 75 63 68 20 61 73 20 4d 65 6d 6f 72 79 20 4d 61 70 70 65 64 20 49 6e 70 75 ects,.such.as.Memory.Mapped.Inpu
37320 74 2f 4f 75 74 70 75 74 20 28 4d 4d 49 4f 29 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e t/Output.(MMIO),.use.<code><span
37340 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
37360 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e w">volatile</span></span></code>
37380 2e 0a 20 20 20 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 ........In.the.following.code,.l
373a0 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e oads.and.stores.with.<code><span
373c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 6d 69 6f 5f 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="line">mmio_ptr</span></c
373e0 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 65 ode>.are.guaranteed.to.all.happe
37400 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 73 n.......and.in.the.same.order.as
37420 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 75 .in.source.code:</p>.......<figu
37440 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"><
37460 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 2e cite.class="file">test_volatile.
37480 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
374a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
374c0 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.=.
374e0 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
37500 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">&
37520 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
37540 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 xpect;</span>.<span.class="line"
37560 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
37580 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
375a0 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 6f 6c 61 74 69 6c an.class="tok-str">&quot;volatil
375c0 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e&quot;</span>.{</span>.<span.cl
375e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
37600 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
37620 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>
37640 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
37660 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
37680 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
376a0 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 3c 2f 73 k-number">0x12345678</span>);</s
376c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
376e0 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
37700 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
37720 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 3c 73 70 61 6e 20 peOf</span>(mmio_ptr).==.*<span.
37740 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 20 3c class="tok-kw">volatile</span>.<
37760 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>)
37780 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
377a0 70 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 pan></code></pre></figure><figur
377c0 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">
377e0 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>$.<
37800 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 7a 69 67 3c 2f kbd>zig.test.test_volatile.zig</
37820 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 76 6f 6c 61 74 69 6c 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c kbd>.1/1.test.volatile....OK.All
37840 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></
37860 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 74 68 61 figure>.......<p>.......Note.tha
37880 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e t.<code><span.class="line"><span
378a0 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><
378c0 2f 73 70 61 6e 3e 3c 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 /span></code>.is.unrelated.to.co
378e0 6e 63 75 72 72 65 6e 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 ncurrency.and.<a.href="#Atomics"
37900 3e 41 74 6f 6d 69 63 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 >Atomics</a>........If.you.see.c
37920 6f 64 65 20 74 68 61 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 ode.that.is.using.<code><span.cl
37940 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
37960 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f volatile</span></span></code>.fo
37980 72 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 r.something.other.than.Memory.Ma
379a0 70 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 pped.......Input/Output,.it.is.p
379c0 72 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 robably.a.bug........</p>.......
379e0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 63 6f 6e 76 65 72 74 20 6f 6e 65 20 .......<p>.......To.convert.one.
37a00 70 6f 69 6e 74 65 72 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2c 20 75 73 65 20 3c 61 20 pointer.type.to.another,.use.<a.
37a20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 2e 20 54 68 href="#ptrCast">@ptrCast</a>..Th
37a40 69 73 20 69 73 20 61 6e 20 75 6e 73 61 66 65 0a 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 is.is.an.unsafe.......operation.
37a60 74 68 61 74 20 5a 69 67 20 63 61 6e 6e 6f 74 20 70 72 6f 74 65 63 74 20 79 6f 75 20 61 67 61 69 that.Zig.cannot.protect.you.agai
37a80 6e 73 74 2e 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 nst..Use.<code><span.class="line
37aa0 22 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 72 "><span.class="tok-builtin">@ptr
37ac0 43 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 6c 79 20 77 Cast</span></span></code>.only.w
37ae0 68 65 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 61 72 65 20 hen.other.......conversions.are.
37b00 6e 6f 74 20 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 3c not.possible........</p>.......<
37b20 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
37b40 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 70 6f 69 6e 74 p"><cite.class="file">test_point
37b60 65 72 5f 63 61 73 74 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 er_casting.zig</cite></figcaptio
37b80 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 6c 69 6e 65 22 3e n><pre><code><span.class="line">
37ba0 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
37bc0 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
37be0 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
37c00 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 3c k-str">&quot;std&quot;</span>);<
37c20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
37c40 63 6c 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
37c60 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
37c80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
37ca0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
37cc0 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-
37ce0 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 61 73 74 69 6e 67 26 71 75 6f 74 3b str">&quot;pointer.casting&quot;
37d00 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
37d20 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">con
37d40 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.bytes.<span.class="tok
37d60 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 22 74 -kw">align</span>(<span.class="t
37d80 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 3c 73 70 61 ok-builtin">@alignOf</span>(<spa
37da0 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 29 20 n.class="tok-type">u32</span>)).
37dc0 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 3c 2f =.[_]<span.class="tok-type">u8</
37de0 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 22 3e span>{.<span.class="tok-number">
37e00 30 78 31 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 0x12</span>,.<span.class="tok-nu
37e20 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 mber">0x12</span>,.<span.class="
37e40 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 20 63 tok-number">0x12</span>,.<span.c
37e60 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 20 7d 3b lass="tok-number">0x12</span>.};
37e80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
37ea0 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>
37ec0 20 75 33 32 5f 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 3e .u32_ptr:.*<span.class="tok-kw">
37ee0 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
37f00 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
37f20 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 26 61 6d 70 3b k-builtin">@ptrCast</span>(&amp;
37f40 62 79 74 65 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 bytes);</span>.<span.class="line
37f60 22 3e 20 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</
37f80 73 70 61 6e 3e 20 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 span>.expect(u32_ptr.*.==.<span.
37fa0 63 6c 61 73 73 3d 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 class="tok-number">0x12121212</s
37fc0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
37fe0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
38000 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 45 76 65 <span.class="tok-comment">//.Eve
38020 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 64 20 2d 20 74 68 n.this.example.is.contrived.-.th
38040 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 74 68 65 20 61 62 ere.are.better.ways.to.do.the.ab
38060 6f 76 65 20 74 68 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ove.than</span></span>.<span.cla
38080 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
380a0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 63 61 73 74 69 6e 67 2e 20 46 6f 72 20 omment">//.pointer.casting..For.
380c0 65 78 61 6d 70 6c 65 2c 20 75 73 69 6e 67 20 61 20 73 6c 69 63 65 20 6e 61 72 72 6f 77 69 6e 67 example,.using.a.slice.narrowing
380e0 20 63 61 73 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .cast:</span></span>.<span.class
38100 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
38120 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 33 32 5f 76 61 6c 75 65 20 3d 20 73 74 64 2e 6d 65 >const</span>.u32_value.=.std.me
38140 6d 2e 62 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 m.bytesAsSlice(<span.class="tok-
38160 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c type">u32</span>,.bytes[<span.cl
38180 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 5d 29 5b 3c 73 ass="tok-number">0</span>..])[<s
381a0 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>]
381c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
381e0 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>.
38200 65 78 70 65 63 74 28 75 33 32 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d expect(u32_value.==.<span.class=
38220 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>);
38240 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
38260 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
38280 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 76 65 6e 20 class="tok-comment">//.And.even.
382a0 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 68 74 66 6f another.way,.the.most.straightfo
382c0 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 3c 2f 73 70 61 6e rward.way.to.do.it:</span></span
382e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
38300 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(
38320 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 73 <span.class="tok-builtin">@as</s
38340 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 3c pan>(<span.class="tok-type">u32<
38360 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 69 6e /span>,.<span.class="tok-builtin
38380 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 62 79 74 65 73 29 29 20 3d 3d 20 3c 73 70 ">@bitCast</span>(bytes)).==.<sp
383a0 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 31 32 31 32 31 32 an.class="tok-number">0x12121212
383c0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
383e0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
38400 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
38420 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
38440 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 6e 74 65 72 20 n.class="tok-str">&quot;pointer.
38460 63 68 69 6c 64 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e child.type&quot;</span>.{</span>
38480 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
384a0 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 79 70 ass="tok-comment">//.pointer.typ
384c0 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 74 65 es.have.a.`child`.field.which.te
384e0 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 2e 3c lls.you.the.type.they.point.to.<
38500 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
38520 3e 20 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
38540 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
38560 6c 74 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 ltin">@typeInfo</span>(*<span.cl
38580 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 2e 50 6f 69 6e 74 ass="tok-type">u32</span>).Point
385a0 65 72 2e 63 68 69 6c 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 er.child.==.<span.class="tok-typ
385c0 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">u32</span>);</span>.<span.cla
385e0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
38600 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
38620 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>
38640 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_
38660 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 0a 31 2f 32 20 74 65 pointer_casting.zig</kbd>.1/2.te
38680 73 74 2e 70 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 st.pointer.casting....OK.2/2.tes
386a0 74 2e 70 6f 69 6e 74 65 72 20 63 68 69 6c 64 20 74 79 70 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 t.pointer.child.type....OK.All.2
386c0 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
386e0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c gure>.......<h3.id="Alignment"><
38700 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e a.href="#toc-Alignment">Alignmen
38720 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 41 6c 69 67 t</a>.<a.class="hdr".href="#Alig
38740 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 3c 70 3e 0a 20 20 nment">..</a></h3>........<p>...
38760 20 20 20 20 45 61 63 68 20 74 79 70 65 20 68 61 73 20 61 6e 20 3c 73 74 72 6f 6e 67 3e 61 6c 69 ....Each.type.has.an.<strong>ali
38780 67 6e 6d 65 6e 74 3c 2f 73 74 72 6f 6e 67 3e 20 2d 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 gnment</strong>.-.a.number.of.by
387a0 74 65 73 20 73 75 63 68 20 74 68 61 74 2c 0a 20 20 20 20 20 20 77 68 65 6e 20 61 20 76 61 6c 75 tes.such.that,.......when.a.valu
387c0 65 20 6f 66 20 74 68 65 20 74 79 70 65 20 69 73 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 6f 72 20 e.of.the.type.is.loaded.from.or.
387e0 73 74 6f 72 65 64 20 74 6f 20 6d 65 6d 6f 72 79 2c 0a 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f stored.to.memory,.......the.memo
38800 72 79 20 61 64 64 72 65 73 73 20 6d 75 73 74 20 62 65 20 65 76 65 6e 6c 79 20 64 69 76 69 73 69 ry.address.must.be.evenly.divisi
38820 62 6c 65 20 62 79 20 74 68 69 73 20 6e 75 6d 62 65 72 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 0a ble.by.this.number..You.can.use.
38840 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f ......<a.href="#alignOf">@alignO
38860 66 3c 2f 61 3e 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 74 68 69 73 20 76 61 6c 75 65 20 66 6f 72 f</a>.to.find.out.this.value.for
38880 20 61 6e 79 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 .any.type........</p>.......<p>.
388a0 20 20 20 20 20 20 41 6c 69 67 6e 6d 65 6e 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 43 ......Alignment.depends.on.the.C
388c0 50 55 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 62 75 74 20 69 73 20 61 6c 77 61 79 73 20 61 PU.architecture,.but.is.always.a
388e0 20 70 6f 77 65 72 20 6f 66 20 74 77 6f 2c 20 61 6e 64 0a 20 20 20 20 20 20 6c 65 73 73 20 74 68 .power.of.two,.and.......less.th
38900 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 an.<code><span.class="line"><spa
38920 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 26 6c n.class="tok-number">1</span>.&l
38940 74 3b 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 t;&lt;.<span.class="tok-number">
38960 32 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 29</span></span></code>........<
38980 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 70 6f /p>.......<p>.......In.Zig,.a.po
389a0 69 6e 74 65 72 20 74 79 70 65 20 68 61 73 20 61 6e 20 61 6c 69 67 6e 6d 65 6e 74 20 76 61 6c 75 inter.type.has.an.alignment.valu
389c0 65 2e 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 0a e..If.the.value.is.equal.to.the.
389e0 20 20 20 20 20 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e ......alignment.of.the.underlyin
38a00 67 20 74 79 70 65 2c 20 69 74 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 g.type,.it.can.be.omitted.from.t
38a20 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 72 he.type:.......</p>.......<figur
38a40 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
38a60 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 76 61 72 69 61 62 6c 65 5f 61 ite.class="file">test_variable_a
38a80 6c 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 lignment.zig</cite></figcaption>
38aa0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
38ac0 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>.
38ae0 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">
38b00 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-
38b20 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 3c 2f 73 str">&quot;std&quot;</span>);</s
38b40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
38b60 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 75 69 6c 74 69 ass="tok-kw">const</span>.builti
38b80 6e 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 n.=.<span.class="tok-builtin">@i
38ba0 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
38bc0 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 3b 3c r">&quot;builtin&quot;</span>);<
38be0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
38c00 63 6c 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
38c20 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
38c40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
38c60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
38c80 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-
38ca0 73 74 72 22 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 str">&quot;variable.alignment&qu
38cc0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
38ce0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
38d00 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
38d20 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
38d40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ok-number">1234</span>;</span>.<
38d60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
38d80 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 69 67 6e 5f 6f 66 s="tok-kw">const</span>.align_of
38da0 5f 69 33 32 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 _i32.=.<span.class="tok-builtin"
38dc0 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 74 6f >@alignOf</span>(<span.class="to
38de0 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 78 29 29 3b 3c 2f k-builtin">@TypeOf</span>(x));</
38e00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
38e20 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
38e40 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 54 ect(<span.class="tok-builtin">@T
38e60 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 78 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 ypeOf</span>(&amp;x).==.*<span.c
38e80 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 3c 2f 73 70 lass="tok-type">i32</span>);</sp
38ea0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
38ec0 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
38ee0 74 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 32 3c 2f 73 t(*<span.class="tok-type">i32</s
38f00 70 61 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 pan>.==.*<span.class="tok-kw">al
38f20 69 67 6e 3c 2f 73 70 61 6e 3e 28 61 6c 69 67 6e 5f 6f 66 5f 69 33 32 29 20 3c 73 70 61 6e 20 63 ign</span>(align_of_i32).<span.c
38f40 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 3c 2f 73 70 lass="tok-type">i32</span>);</sp
38f60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
38f80 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
38fa0 69 6e 2e 74 61 72 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 in.target.cpu.arch.==..x86_64).{
38fc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
38fe0 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
39000 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
39020 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
39040 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
39060 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
39080 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">4</span>);</span>.<span.c
390a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">....}</span>.<span.c
390c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
390e0 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
39100 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
39120 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
39140 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 62 64 3e 0a 31 t_variable_alignment.zig</kbd>.1
39160 2f 31 20 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 /1.test.variable.alignment....OK
39180 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
391a0 65 3e 3c 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 e></figure>.......<p>In.the.same
391c0 20 77 61 79 20 74 68 61 74 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .way.that.a.<code><span.class="l
391e0 69 6e 65 22 3e 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 ine">*<span.class="tok-type">i32
39200 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 3c 61 20 </span></span></code>.can.be.<a.
39220 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 3c 2f 61 href="#Type-Coercion">coerced</a
39240 3e 20 74 6f 20 61 0a 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 >.to.a...........<code><span.cla
39260 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ss="line">*<span.class="tok-kw">
39280 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
392a0 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 pe">i32</span></span></code>,.a.
392c0 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 6c 61 72 67 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 pointer.with.a.larger.alignment.
392e0 63 61 6e 20 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 63 61 73 74 20 74 6f 20 can.be.implicitly.......cast.to.
39300 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 a.pointer.with.a.smaller.alignme
39320 6e 74 2c 20 62 75 74 20 6e 6f 74 20 76 69 63 65 20 76 65 72 73 61 2e 0a 20 20 20 20 20 20 3c 2f nt,.but.not.vice.versa........</
39340 70 3e 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 73 70 65 63 69 p>.......<p>.......You.can.speci
39360 66 79 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 6e 20 76 61 72 69 61 62 6c 65 73 20 61 6e 64 20 66 75 fy.alignment.on.variables.and.fu
39380 6e 63 74 69 6f 6e 73 2e 20 49 66 20 79 6f 75 20 64 6f 20 74 68 69 73 2c 20 74 68 65 6e 0a 20 20 nctions..If.you.do.this,.then...
393a0 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 68 65 6d 20 67 65 74 20 74 68 65 20 73 70 65 ....pointers.to.them.get.the.spe
393c0 63 69 66 69 65 64 20 61 6c 69 67 6e 6d 65 6e 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 cified.alignment:.......</p>....
393e0 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
39400 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 76 g-cap"><cite.class="file">test_v
39420 61 72 69 61 62 6c 65 5f 66 75 6e 63 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 ariable_func_alignment.zig</cite
39440 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
39460 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
39480 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
394a0 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>(
394c0 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&
394e0 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 3c 2f 73 quot;</span>).testing.expect;</s
39500 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
39520 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
39540 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 63 6c tok-kw">var</span>.foo:.<span.cl
39560 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 20 63 ass="tok-type">u8</span>.<span.c
39580 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
395a0 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 3d 20 .class="tok-number">4</span>).=.
395c0 3c 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 73 70 <span.class="tok-number">100</sp
395e0 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c an>;</span>.<span.class="line"><
39600 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
39620 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
39640 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 76 61 .class="tok-str">&quot;global.va
39660 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c riable.alignment&quot;</span>.{<
39680 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
396a0 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
396c0 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">@
396e0 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
39700 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 66 6f -builtin">@TypeOf</span>(&amp;fo
39720 6f 29 29 2e 50 6f 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 o)).Pointer.alignment.==.<span.c
39740 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 3c 2f 73 70 lass="tok-number">4</span>);</sp
39760 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
39780 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
397a0 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 70 t(<span.class="tok-builtin">@Typ
397c0 65 4f 66 3c 2f 73 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 eOf</span>(&amp;foo).==.*<span.c
397e0 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
39800 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 3c 73 .class="tok-number">4</span>).<s
39820 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 3b pan.class="tok-type">u8</span>);
39840 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
39860 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>
39880 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
398a0 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
398c0 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
398e0 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>]<
39900 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>.
39920 3d 20 26 61 6d 70 3b 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 =.&amp;foo;</span>.<span.class="
39940 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">c
39960 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 70 61 6e 20 63 6c onst</span>.as_slice:.[]<span.cl
39980 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 20 ass="tok-kw">align</span>(<span.
399a0 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 3c 73 70 class="tok-number">4</span>).<sp
399c0 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 20 an.class="tok-type">u8</span>.=.
399e0 61 73 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 as_pointer_to_array;</span>.<spa
39a00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
39a20 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 75 6e 61 6c 69 67 6e 65 tok-kw">const</span>.as_unaligne
39a40 64 5f 73 6c 69 63 65 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 d_slice:.[]<span.class="tok-type
39a60 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 61 73 5f 73 6c 69 63 65 3b 3c 2f 73 70 61 6e 3e 0a 3c ">u8</span>.=.as_slice;</span>.<
39a80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
39aa0 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 73 5f s="tok-kw">try</span>.expect(as_
39ac0 75 6e 61 6c 69 67 6e 65 64 5f 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b unaligned_slice[<span.class="tok
39ae0 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 61 73 -number">0</span>].==.<span.clas
39b00 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 3b 3c 2f 73 70 61 s="tok-number">100</span>);</spa
39b20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c n>.<span.class="line">}</span>.<
39b40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
39b60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
39b80 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"
39ba0 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 74 6f 6b 2d >derp</span>().<span.class="tok-
39bc0 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
39be0 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 70 61 6e 20 k-builtin">@sizeOf</span>(<span.
39c00 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 20 2a class="tok-type">usize</span>).*
39c20 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
39c40 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</
39c60 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
39c80 22 3e 20 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 ">....<span.class="tok-kw">retur
39ca0 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 75 6d 62 65 72 n</span>.<span.class="tok-number
39cc0 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">1234</span>;</span>.<span.clas
39ce0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
39d00 69 6e 65 22 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 2f 73 70 ine"><span.class="tok-kw">fn</sp
39d20 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 70 31 3c 2f an>.<span.class="tok-fn">noop1</
39d40 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 3e 61 6c 69 span>().<span.class="tok-kw">ali
39d60 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 75 6d 62 65 gn</span>(<span.class="tok-numbe
39d80 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 6f 6b 2d 74 79 r">1</span>).<span.class="tok-ty
39da0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pe">void</span>.{}</span>.<span.
39dc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
39de0 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"
39e00 3e 6e 6f 6f 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 >noop4</span>().<span.class="tok
39e20 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 22 74 -kw">align</span>(<span.class="t
39e40 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 73 73 ok-number">4</span>).<span.class
39e60 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 73 70 61 6e ="tok-type">void</span>.{}</span
39e80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
39ea0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
39ec0 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
39ee0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 20 61 6c 69 67 6e 6d 65 6e 74 26 k-str">&quot;function.alignment&
39f00 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
39f20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
39f40 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 65 72 70 28 29 20 3d 3d 20 3c 73 ">try</span>.expect(derp().==.<s
39f60 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
39f80 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
39fa0 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
39fc0 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
39fe0 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 3d 20 3c 73 70 in">@TypeOf</span>(noop1).==.<sp
3a000 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 28 29 20 3c an.class="tok-kw">fn</span>.().<
3a020 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 3e span.class="tok-kw">align</span>
3a040 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
3a060 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<
3a080 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
3a0a0 65 22 3e 20 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 e">....<span.class="tok-kw">try<
3a0c0 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 62 /span>.expect(<span.class="tok-b
3a0e0 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 34 29 20 3d 3d uiltin">@TypeOf</span>(noop4).==
3a100 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>.
3a120 28 29 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 ().<span.class="tok-kw">align</s
3a140 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 3c pan>(<span.class="tok-number">4<
3a160 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 76 /span>).<span.class="tok-type">v
3a180 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d oid</span>);</span>.<span.class=
3a1a0 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 6f 70 31 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e "line">....noop1();</span>.<span
3a1c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 6f 70 34 28 29 3b 3c 2f 73 70 61 6e .class="line">....noop4();</span
3a1e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
3a200 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
3a220 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</
3a240 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
3a260 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 67 6e 6d 65 .test.test_variable_func_alignme
3a280 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 67 6c 6f 62 61 6c 20 76 61 72 nt.zig</kbd>.1/2.test.global.var
3a2a0 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 2e 66 iable.alignment....OK.2/2.test.f
3a2c0 75 6e 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 unction.alignment....OK.All.2.te
3a2e0 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
3a300 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 68 61 76 65 20 61 e>.......<p>.......If.you.have.a
3a320 20 70 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 .pointer.or.a.slice.that.has.a.s
3a340 6d 61 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 mall.alignment,.but.you.know.tha
3a360 74 20 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 t.it.actually.......has.a.bigger
3a380 20 61 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 .alignment,.use.<a.href="#alignC
3a3a0 61 73 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 ast">@alignCast</a>.to.change.th
3a3c0 65 0a 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 e.......pointer.into.a.more.alig
3a3e0 6e 65 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 ned.pointer..This.is.a.no-op.at.
3a400 72 75 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 runtime,.but.inserts.a.......<a.
3a420 68 72 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 href="#Incorrect-Pointer-Alignme
3a440 6e 74 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 nt">safety.check</a>:.......</p>
3a460 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
3a480 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
3a4a0 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 74 2e 7a st_incorrect_pointer_alignment.z
3a4c0 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
3a4e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
3a500 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
3a520 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
3a540 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
3a560 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ;std&quot;</span>);</span>.<span
3a580 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
3a5a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
3a5c0 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">
3a5e0 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 26 71 &quot;pointer.alignment.safety&q
3a600 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>.{</span>.<span.class
3a620 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
3a640 3e 76 61 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 >var</span>.array.<span.class="t
3a660 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=
3a680 22 74 6f 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 "tok-number">4</span>).=.[_]<spa
3a6a0 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 7b 20 3c n.class="tok-type">u32</span>{.<
3a6c0 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 31 31 31 31 31 span.class="tok-number">0x111111
3a6e0 31 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 11</span>,.<span.class="tok-numb
3a700 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a er">0x11111111</span>.};</span>.
3a720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
3a740 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 73 20 3d ss="tok-kw">const</span>.bytes.=
3a760 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 73 70 61 .std.mem.sliceAsBytes(array[<spa
3a780 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 2e 2e 5d n.class="tok-number">0</span>..]
3a7a0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
3a7c0 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>
3a7e0 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 6f 6f 28 62 79 74 65 73 29 20 3d .std.testing.expect(foo(bytes).=
3a800 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 31 31 =.<span.class="tok-number">0x111
3a820 31 31 31 31 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 11111</span>);</span>.<span.clas
3a840 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
3a860 69 6e 65 22 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 2f 73 70 ine"><span.class="tok-kw">fn</sp
3a880 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 73 70 an>.<span.class="tok-fn">foo</sp
3a8a0 61 6e 3e 28 62 79 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 an>(bytes:.[]<span.class="tok-ty
3a8c0 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-
3a8e0 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 type">u32</span>.{</span>.<span.
3a900 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
3a920 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
3a940 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
3a960 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<
3a980 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>];</span>.<span.class="lin
3a9a0 65 22 3e 20 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 e">....<span.class="tok-kw">cons
3a9c0 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 74 t</span>.int_slice.=.std.mem.byt
3a9e0 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 22 esAsSlice(<span.class="tok-type"
3aa00 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 75 >u32</span>,.<span.class="tok-bu
3aa20 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=
3aa40 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
3aa60 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 63 s="tok-number">4</span>).<span.c
3aa80 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 6e lass="tok-type">u8</span>,.<span
3aaa0 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<
3aac0 2f 73 70 61 6e 3e 28 73 6c 69 63 65 34 29 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 /span>(slice4)));</span>.<span.c
3aae0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
3ab00 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 69 63 65 5b 3c 73 70 -kw">return</span>.int_slice[<sp
3ab20 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 3b an.class="tok-number">0</span>];
3ab40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
3ab60 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
3ab80 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
3aba0 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
3abc0 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 5f 70 6f 69 6e 74 bd>zig.test.test_incorrect_point
3abe0 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 20 74 65 73 74 2e er_alignment.zig</kbd>.1/1.test.
3ac00 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 2e 2e 20 74 68 72 65 pointer.alignment.safety....thre
3ac20 61 64 20 32 34 35 31 37 34 34 20 70 61 6e 69 63 3a 20 69 6e 63 6f 72 72 65 63 74 20 61 6c 69 67 ad.2451744.panic:.incorrect.alig
3ac40 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 6e 65 72 2f 5f 77 nment./home/ci/actions-runner/_w
3ac60 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
3ac80 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 6d 65 6e /test_incorrect_pointer_alignmen
3aca0 74 2e 7a 69 67 3a 31 30 3a 36 38 3a 20 30 78 32 32 34 34 64 66 20 69 6e 20 66 6f 6f 20 28 74 65 t.zig:10:68:.0x2244df.in.foo.(te
3acc0 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 20 73 74 64 2e 6d 65 st).....const.int_slice.=.std.me
3ace0 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 5d 61 6c 69 67 6e 28 m.bytesAsSlice(u32,.@as([]align(
3ad00 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 29 29 3b 0a 20 20 20 4).u8,.@alignCast(slice4)));....
3ad20 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 ................................
3ad40 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 ................................
3ad60 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/
3ad80 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
3ada0 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 74 2e 7a 69 t_incorrect_pointer_alignment.zi
3adc0 67 3a 36 3a 33 31 3a 20 30 78 32 32 34 33 63 66 20 69 6e 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 g:6:31:.0x2243cf.in.test.pointer
3ade0 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 20 28 74 65 73 74 29 0a 20 20 20 20 74 72 79 .alignment.safety.(test).....try
3ae00 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 6f 6f 28 62 79 74 65 73 29 20 3d .std.testing.expect(foo(bytes).=
3ae20 3d 20 30 78 31 31 31 31 31 31 31 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.0x11111111);..................
3ae40 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-
3ae60 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
3ae80 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a ost/lib/zig/test_runner.zig:176:
3aea0 32 38 3a 20 30 78 32 32 64 31 63 39 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 6e 61 6c 20 28 74 65 28:.0x22d1c9.in.mainTerminal.(te
3aec0 73 74 29 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 st).........}.else.test_fn.func(
3aee0 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 5e 0a );............................^.
3af00 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
3af20 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 74 65 73 g-bootstrap/out/host/lib/zig/tes
3af40 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 36 3a 32 38 3a 20 30 78 32 32 35 34 32 61 20 69 6e 20 t_runner.zig:36:28:.0x22542a.in.
3af60 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 69 6e 54 main.(test).........return.mainT
3af80 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 20 20 20 erminal();......................
3afa0 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/
3afc0 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
3afe0 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 34 /zig/std/start.zig:564:22:.0x224
3b000 39 63 32 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 9c2.in.posixCallMainAndExit.(tes
3b020 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();.....
3b040 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
3b060 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
3b080 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 34 ut/host/lib/zig/std/start.zig:24
3b0a0 33 3a 35 3a 20 30 78 32 32 34 35 31 31 20 69 6e 20 5f 73 74 61 72 74 20 28 74 65 73 74 29 0a 20 3:5:.0x224511.in._start.(test)..
3b0c0 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_
3b0e0 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.??
3b100 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 73 ?.(???).error:.the.following.tes
3b120 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 69 t.command.crashed:./home/ci/acti
3b140 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
3b160 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 64 38 31 39 34 66 62 38 30 63 31 ut/zig-local-cache/o/d8194fb80c1
3b180 66 62 66 65 32 34 34 62 39 66 34 34 37 30 37 34 35 61 39 61 65 2f 74 65 73 74 0a 3c 2f 73 61 6d fbfe244b9f4470745a9ae/test.</sam
3b1a0 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>...............
3b1c0 3c 68 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 <h3.id="allowzero"><a.href="#toc
3b1e0 2d 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 3c 61 20 63 6c 61 -allowzero">allowzero</a>.<a.cla
3b200 73 73 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 ss="hdr".href="#allowzero">..</a
3b220 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 68 69 73 20 70 6f 69 ></h3>........<p>.......This.poi
3b240 6e 74 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 nter.attribute.allows.a.pointer.
3b260 74 6f 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 to.have.address.zero..This.is.on
3b280 6c 79 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 ly.ever.needed.on.the.......free
3b2a0 73 74 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 standing.OS.target,.where.the.ad
3b2c0 64 72 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 dress.zero.is.mappable..If.you.w
3b2e0 61 6e 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 ant.to.represent.null.pointers,.
3b300 75 73 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 use.......<a.href="#Optional-Poi
3b320 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 20 69 6e 73 nters">Optional.Pointers</a>.ins
3b340 74 65 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 tead..<a.href="#Optional-Pointer
3b360 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 77 69 74 68 20 3c 63 s">Optional.Pointers</a>.with.<c
3b380 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
3b3a0 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 2f 73 70 ss="tok-kw">allowzero</span></sp
3b3c0 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 20 73 61 6d an></code>.......are.not.the.sam
3b3e0 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 63 6f 64 65 e.size.as.pointers..In.this.code
3b400 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 20 20 20 64 .example,.if.the.pointer.......d
3b420 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 63 6c 61 73 id.not.have.the.<code><span.clas
3b440 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c s="line"><span.class="tok-kw">al
3b460 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 74 lowzero</span></span></code>.att
3b480 72 69 62 75 74 65 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 61 0a 20 20 20 20 20 20 3c 61 ribute,.this.would.be.a.......<a
3b4a0 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 2d 4e 75 6c .href="#Pointer-Cast-Invalid-Nul
3b4c0 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e l">Pointer.Cast.Invalid.Null</a>
3b4e0 20 70 61 6e 69 63 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 .panic:.......</p>.......<figure
3b500 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
3b520 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 77 7a 65 72 6f 2e 7a te.class="file">test_allowzero.z
3b540 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
3b560 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
3b580 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
3b5a0 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
3b5c0 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
3b5e0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ;std&quot;</span>);</span>.<span
3b600 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
3b620 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
3b640 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ting.expect;</span>.<span.class=
3b660 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
3b680 22 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 "><span.class="tok-kw">test</spa
3b6a0 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 61 n>.<span.class="tok-str">&quot;a
3b6c0 6c 6c 6f 77 7a 65 72 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c llowzero&quot;</span>.{</span>.<
3b6e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
3b700 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 7a 65 72 6f 3a 20 3c 73 70 61 s="tok-kw">var</span>.zero:.<spa
3b720 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>.
3b740 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
3b760 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
3b780 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
3b7a0 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 3e 61 6c n>.ptr:.*<span.class="tok-kw">al
3b7c0 6c 6f 77 7a 65 72 6f 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 lowzero</span>.<span.class="tok-
3b7e0 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="
3b800 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 2f 73 70 61 6e 3e 28 tok-builtin">@ptrFromInt</span>(
3b820 7a 65 72 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 zero);</span>.<span.class="line"
3b840 3e 20 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
3b860 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
3b880 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 70 74 72 29 20 3d 3d ltin">@intFromPtr</span>(ptr).==
3b8a0 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
3b8c0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
3b8e0 3c 2f 73 70 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 </span></code></pre></figure><fi
3b900 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
3b920 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>
3b940 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 77 7a 65 72 6f 2e 7a $.<kbd>zig.test.test_allowzero.z
3b960 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 61 6c 6c 6f 77 7a 65 72 6f 2e 2e 2e 20 4f ig</kbd>.1/1.test.allowzero....O
3b980 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 70 K.All.1.tests.passed..</samp></p
3b9a0 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
3b9c0 64 3d 22 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 d="Sentinel-Terminated-Pointers"
3b9e0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 ><a.href="#toc-Sentinel-Terminat
3ba00 65 64 2d 50 6f 69 6e 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 ed-Pointers">Sentinel-Terminated
3ba20 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 64 72 22 20 68 72 65 .Pointers</a>.<a.class="hdr".hre
3ba40 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 73 f="#Sentinel-Terminated-Pointers
3ba60 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 54 ">..</a></h3>........<p>.......T
3ba80 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e he.syntax.<code><span.class="lin
3baa0 65 22 3e 5b 2a 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 73 63 72 69 62 65 e">[*:x]T</span></code>.describe
3bac0 73 20 61 20 70 6f 69 6e 74 65 72 20 74 68 61 74 0a 20 20 20 20 20 20 68 61 73 20 61 20 6c 65 6e s.a.pointer.that.......has.a.len
3bae0 67 74 68 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 61 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c gth.determined.by.a.sentinel.val
3bb00 75 65 2e 20 54 68 69 73 20 70 72 6f 76 69 64 65 73 20 70 72 6f 74 65 63 74 69 6f 6e 0a 20 20 20 ue..This.provides.protection....
3bb20 20 20 20 61 67 61 69 6e 73 74 20 62 75 66 66 65 72 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 6f ...against.buffer.overflow.and.o
3bb40 76 65 72 72 65 61 64 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 verreads........</p>.......<figu
3bb60 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"><
3bb80 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 cite.class="file">sentinel-termi
3bba0 6e 61 74 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 nated_pointer.zig</cite></figcap
3bbc0 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 6c 69 6e tion><pre><code><span.class="lin
3bbe0 65 22 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 e"><span.class="tok-kw">const</s
3bc00 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
3bc20 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=
3bc40 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>
3bc60 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 );</span>.<span.class="line"></s
3bc80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
3bca0 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 69 73 20 61 6c 73 ass="tok-comment">//.This.is.als
3bcc0 6f 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 60 73 74 64 2e 63 2e 70 72 69 6e 74 66 60 2e 3c 2f o.available.as.`std.c.printf`.</
3bce0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
3bd00 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>.
3bd20 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
3bd40 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
3bd60 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 6b 2d 6b &quot;</span>.<span.class="tok-k
3bd80 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
3bda0 22 3e 70 72 69 6e 74 66 3c 2f 73 70 61 6e 3e 28 66 6f 72 6d 61 74 3a 20 5b 2a 3a 3c 73 70 61 6e ">printf</span>(format:.[*:<span
3bdc0 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
3bde0 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>.<
3be00 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>,
3be20 20 2e 2e 2e 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 ....).<span.class="tok-type">c_i
3be40 6e 74 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nt</span>;</span>.<span.class="l
3be60 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
3be80 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>.
3bea0 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>.<
3bec0 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>(
3bee0 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 61 6e 79 65 72 72 6f ).<span.class="tok-type">anyerro
3bf00 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 22 3e r</span>!<span.class="tok-type">
3bf20 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 void</span>.{</span>.<span.class
3bf40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c 61 ="line">...._.=.printf(<span.cla
3bf60 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!
3bf80 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
3bfa0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 4b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ok-comment">//.OK</span></span>.
3bfc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
3bfe0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
3c000 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 73 67 20 3d 20 3c 73 70 61 6e 20 ok-kw">const</span>.msg.=.<span.
3c020 63 6c 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 class="tok-str">&quot;Hello,.wor
3c040 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ld!\n&quot;</span>;</span>.<span
3c060 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
3c080 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 ok-kw">const</span>.non_null_ter
3c0a0 6d 69 6e 61 74 65 64 5f 6d 73 67 3a 20 5b 6d 73 67 2e 6c 65 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 minated_msg:.[msg.len]<span.clas
3c0c0 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 6d 73 67 2e 2a 3b 3c s="tok-type">u8</span>.=.msg.*;<
3c0e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 /span>.<span.class="line">...._.
3c100 3d 20 70 72 69 6e 74 66 28 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 =.printf(&amp;non_null_terminate
3c120 64 5f 6d 73 67 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 d_msg);</span>.<span.class="line
3c140 22 3e 7d 3c 2f 73 70 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 ">}</span></code></pre></figure>
3c160 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
3c180 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
3c1a0 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 65 6e 74 69 6e 65 6c mp>$.<kbd>zig.build-exe.sentinel
3c1c0 2d 74 65 72 6d 69 6e 61 74 65 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 20 2d 6c 63 3c 2f 6b 62 64 -terminated_pointer.zig.-lc</kbd
3c1e0 3e 0a 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 6c 2d >.<span.class="sgr-1m">sentinel-
3c200 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 3c 2f terminated_pointer.zig:11:16:.</
3c220 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
3c240 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
3c260 70 65 63 74 65 64 20 74 79 70 65 20 27 5b 2a 3a 30 5d 63 6f 6e 73 74 20 75 38 27 2c 20 66 6f 75 pected.type.'[*:0]const.u8',.fou
3c280 6e 64 20 27 2a 63 6f 6e 73 74 20 5b 31 34 5d 75 38 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 5f 20 nd.'*const.[14]u8'.</span>...._.
3c2a0 3d 20 70 72 69 6e 74 66 28 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 =.printf(&amp;non_null_terminate
3c2c0 64 5f 6d 73 67 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 d_msg);................<span.cla
3c2e0 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">^~~~~~~~~~~~~~~~~~~
3c300 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
3c320 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 2e 7a 69 ">sentinel-terminated_pointer.zi
3c340 67 3a 31 31 3a 31 36 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 g:11:16:.</span><span.class="sgr
3c360 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="
3c380 73 67 72 2d 31 6d 22 3e 64 65 73 74 69 6e 61 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 72 65 71 75 sgr-1m">destination.pointer.requ
3c3a0 69 72 65 73 20 27 30 27 20 73 65 6e 74 69 6e 65 6c 0a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 ires.'0'.sentinel.</span><span.c
3c3c0 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
3c3e0 64 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3a 34 3a 33 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e d_pointer.zig:4:35:.</span><span
3c400 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
3c420 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 72 20 74 79 70 pan.class="sgr-1m">parameter.typ
3c440 65 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 70 75 62 20 65 78 74 65 72 e.declared.here.</span>pub.exter
3c460 6e 20 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 20 66 6e 20 70 72 69 6e 74 66 28 66 6f 72 6d 61 74 n.&quot;c&quot;.fn.printf(format
3c480 3a 20 5b 2a 3a 30 5d 63 6f 6e 73 74 20 75 38 2c 20 2e 2e 2e 29 20 63 5f 69 6e 74 3b 0a 20 20 20 :.[*:0]const.u8,....).c_int;....
3c4a0 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 3c 73 ..............................<s
3c4c0 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e pan.class="sgr-32m">~^~~~~~~~~~~
3c4e0 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 6d 22 3e 72 65 ~.</span><span.class="sgr-2m">re
3c500 66 65 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 63 61 6c 6c 4d 61 69 6e 3a 20 2f 68 6f 6d 65 ferenced.by:.....callMain:./home
3c520 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
3c540 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
3c560 74 2e 7a 69 67 3a 35 37 34 3a 33 32 0a 20 20 20 20 69 6e 69 74 45 76 65 6e 74 4c 6f 6f 70 41 6e t.zig:574:32.....initEventLoopAn
3c580 64 43 61 6c 6c 4d 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 dCallMain:./home/ci/actions-runn
3c5a0 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/
3c5c0 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 30 38 3a 33 34 0a 20 20 20 lib/zig/std/start.zig:508:34....
3c5e0 20 72 65 6d 61 69 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 .remaining.reference.traces.hidd
3c600 65 6e 3b 20 75 73 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 en;.use.'-freference-trace'.to.s
3c620 65 65 20 61 6c 6c 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 ee.all.reference.traces.</span>.
3c640 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>
3c660 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="#
3c680 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
3c6a0 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 3c 2f 6c 69 3e 0a inel-Terminated.Slices</a></li>.
3c6c0 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 65 <li><a.href="#Sentinel-Terminate
3c6e0 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 74 65 64 20 41 72 d-Arrays">Sentinel-Terminated.Ar
3c700 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 20 0a 20 20 20 20 rays</a></li>.</ul>.............
3c720 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 6c 69 63 65 73 22 3e 3c 61 20 68 72 65 ..........<h2.id="Slices"><a.hre
3c740 66 3d 22 23 74 6f 63 2d 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c f="#toc-Slices">Slices</a>.<a.cl
3c760 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c ass="hdr".href="#Slices">..</a><
3c780 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 20 /h2>........<figure><figcaption.
3c7a0 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
3c7c0 65 22 3e 74 65 73 74 5f 62 61 73 69 63 5f 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c e">test_basic_slices.zig</cite><
3c7e0 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
3c800 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
3c820 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
3c840 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
3c860 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
3c880 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 3c 2f 73 70 61 ot;</span>).testing.expect;</spa
3c8a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
3c8c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
3c8e0 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
3c900 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 69 63 20 73 6c 69 63 65 73 26 71 75 6f 74 3b ok-str">&quot;basic.slices&quot;
3c920 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
3c940 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">var
3c960 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="
3c980 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
3c9a0 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
3c9c0 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
3c9e0 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>,.<
3ca00 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>
3ca20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .};</span>.<span.class="line">..
3ca40 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 41 ..<span.class="tok-comment">//.A
3ca60 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 6c 65 6e 67 74 68 .slice.is.a.pointer.and.a.length
3ca80 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 6e 20 61 72 72 61 ..The.difference.between.an.arra
3caa0 79 20 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d y.and</span></span>.<span.class=
3cac0 22 6c 69 6e 65 22 3e 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 "line">....<span.class="tok-comm
3cae0 65 6e 74 22 3e 2f 2f 20 61 20 73 6c 69 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 61 72 72 61 ent">//.a.slice.is.that.the.arra
3cb00 79 27 73 20 6c 65 6e 67 74 68 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 74 79 70 65 20 61 y's.length.is.part.of.the.type.a
3cb20 6e 64 20 6b 6e 6f 77 6e 20 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nd.known.at</span></span>.<span.
3cb40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
3cb60 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 77 68 65 72 k-comment">//.compile-time,.wher
3cb80 65 61 73 20 74 68 65 20 73 6c 69 63 65 27 73 20 6c 65 6e 67 74 68 20 69 73 20 6b 6e 6f 77 6e 20 eas.the.slice's.length.is.known.
3cba0 61 74 20 72 75 6e 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 at.runtime.</span></span>.<span.
3cbc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
3cbe0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 6f 74 68 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 k-comment">//.Both.can.be.access
3cc00 65 64 20 77 69 74 68 20 74 68 65 20 60 6c 65 6e 60 20 66 69 65 6c 64 2e 3c 2f 73 70 61 6e 3e 3c ed.with.the.`len`.field.</span><
3cc20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
3cc40 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 6b 6e pan.class="tok-kw">var</span>.kn
3cc60 6f 77 6e 5f 61 74 5f 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 own_at_runtime_zero:.<span.class
3cc80 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
3cca0 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 3c 2f 73 .class="tok-number">0</span>;</s
3ccc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
3cce0 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 6c n.class="tok-kw">const</span>.sl
3cd00 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 7a 65 72 ice.=.array[known_at_runtime_zer
3cd20 6f 2e 2e 61 72 72 61 79 2e 6c 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 o..array.len];</span>.<span.clas
3cd40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
3cd60 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=
3cd80 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 73 6c 69 "tok-builtin">@TypeOf</span>(sli
3cda0 63 65 29 20 3d 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 ce).==.[]<span.class="tok-type">
3cdc0 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d i32</span>);</span>.<span.class=
3cde0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
3ce00 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 try</span>.expect(&amp;slice[<sp
3ce20 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 20 an.class="tok-number">0</span>].
3ce40 3d 3d 20 26 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 ==.&amp;array[<span.class="tok-n
3ce60 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">0</span>]);</span>.<span.
3ce80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
3cea0 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 2e 6c 65 k-kw">try</span>.expect(slice.le
3cec0 6e 20 3d 3d 20 61 72 72 61 79 2e 6c 65 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n.==.array.len);</span>.<span.cl
3cee0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
3cf00 6c 69 6e 65 22 3e 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 line">....<span.class="tok-comme
3cf20 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 6d nt">//.If.you.slice.with.comptim
3cf40 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 2c e-known.start.and.end.positions,
3cf60 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .the.result.is</span></span>.<sp
3cf80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
3cfa0 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 72 20 74 6f 20 61 6e "tok-comment">//.a.pointer.to.an
3cfc0 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 63 65 2e 3c 2f 73 70 .array,.rather.than.a.slice.</sp
3cfe0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
3d000 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
3d020 61 6e 3e 20 61 72 72 61 79 5f 70 74 72 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 an>.array_ptr.=.array[<span.clas
3d040 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 61 72 72 61 79 2e 6c s="tok-number">0</span>..array.l
3d060 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 en];</span>.<span.class="line">.
3d080 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
3d0a0 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
3d0c0 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 70 74 72 29 20 3d 3d in">@TypeOf</span>(array_ptr).==
3d0e0 20 2a 5b 61 72 72 61 79 2e 6c 65 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 .*[array.len]<span.class="tok-ty
3d100 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">i32</span>);</span>.<span.cl
3d120 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
3d140 6c 69 6e 65 22 3e 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 line">....<span.class="tok-comme
3d160 6e 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 nt">//.You.can.perform.a.slice-b
3d180 79 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 y-length.by.slicing.twice..This.
3d1a0 61 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 3c 2f 73 70 61 6e allows.the.compiler</span></span
3d1c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
3d1e0 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 72 66 6f 72 6d lass="tok-comment">//.to.perform
3d200 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 63 6f 67 6e 69 .some.optimisations.like.recogni
3d220 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 68 20 77 68 65 sing.a.comptime-known.length.whe
3d240 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n</span></span>.<span.class="lin
3d260 65 22 3e 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 e">....<span.class="tok-comment"
3d280 3e 2f 2f 20 74 68 65 20 73 74 61 72 74 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 6b >//.the.start.position.is.only.k
3d2a0 6e 6f 77 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c nown.at.runtime.</span></span>.<
3d2c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
3d2e0 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 5f 73 74 s="tok-kw">var</span>.runtime_st
3d300 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
3d320 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
3d340 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">1</span>;</span>.<span.class
3d360 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
3d380 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 65 6e 67 74 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 >const</span>.length.=.<span.cla
3d3a0 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 3c 2f 73 70 61 6e 3e ss="tok-number">2</span>;</span>
3d3c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
3d3e0 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 5f ass="tok-kw">const</span>.array_
3d400 70 74 72 5f 6c 65 6e 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 ptr_len.=.array[runtime_start..]
3d420 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
3d440 6e 3e 2e 2e 6c 65 6e 67 74 68 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>..length];</span>.<span.class=
3d460 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
3d480 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
3d4a0 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 72 72 61 79 ok-builtin">@TypeOf</span>(array
3d4c0 5f 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 _ptr_len).==.*[length]<span.clas
3d4e0 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 3c 2f 73 70 61 6e 3e s="tok-type">i32</span>);</span>
3d500 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
3d520 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
3d540 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 61 64 64 72 65 73 tok-comment">//.Using.the.addres
3d560 73 2d 6f 66 20 6f 70 65 72 61 74 6f 72 20 6f 6e 20 61 20 73 6c 69 63 65 20 67 69 76 65 73 20 61 s-of.operator.on.a.slice.gives.a
3d580 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 .single-item.pointer,</span></sp
3d5a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
3d5c0 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 68 69 6c 65 20 75 73 .class="tok-comment">//.while.us
3d5e0 69 6e 67 20 74 68 65 20 60 70 74 72 60 20 66 69 65 6c 64 20 67 69 76 65 73 20 61 20 6d 61 6e 79 ing.the.`ptr`.field.gives.a.many
3d600 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -item.pointer.</span></span>.<sp
3d620 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
3d640 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
3d660 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
3d680 61 6e 3e 28 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 an>(slice.ptr).==.[*]<span.class
3d6a0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-type">i32</span>);</span>.
3d6c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
3d6e0 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
3d700 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<
3d720 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 74 /span>(&amp;slice[<span.class="t
3d740 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 ok-number">0</span>]).==.*<span.
3d760 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 3c 2f 73 class="tok-type">i32</span>);</s
3d780 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
3d7a0 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
3d7c0 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
3d7e0 74 46 72 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 tFromPtr</span>(slice.ptr).==.<s
3d800 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 6f 6d pan.class="tok-builtin">@intFrom
3d820 50 74 72 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 Ptr</span>(&amp;slice[<span.clas
3d840 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 29 3b 3c 2f 73 70 61 s="tok-number">0</span>]));</spa
3d860 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
3d880 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
3d8a0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 6c 69 63 65 73 20 68 61 76 65 20 61 72 ="tok-comment">//.Slices.have.ar
3d8c0 72 61 79 20 62 6f 75 6e 64 73 20 63 68 65 63 6b 69 6e 67 2e 20 49 66 20 79 6f 75 20 74 72 79 20 ray.bounds.checking..If.you.try.
3d8e0 74 6f 20 61 63 63 65 73 73 20 73 6f 6d 65 74 68 69 6e 67 20 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f to.access.something.out</span></
3d900 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
3d920 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 66 20 62 6f 75 an.class="tok-comment">//.of.bou
3d940 6e 64 73 2c 20 79 6f 75 27 6c 6c 20 67 65 74 20 61 20 73 61 66 65 74 79 20 63 68 65 63 6b 20 66 nds,.you'll.get.a.safety.check.f
3d960 61 69 6c 75 72 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ailure:</span></span>.<span.clas
3d980 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 s="line">....slice[<span.class="
3d9a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 20 2b 3d 20 3c 73 70 61 6e 20 tok-number">10</span>].+=.<span.
3d9c0 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 3c 2f 73 70 class="tok-number">1</span>;</sp
3d9e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
3da00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
3da20 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 6c s="tok-comment">//.Note.that.`sl
3da40 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 20 ice.ptr`.does.not.invoke.safety.
3da60 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 3c checking,.while.`&amp;slice[0]`<
3da80 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
3daa0 3e 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">/
3dac0 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 68 61 73 20 6c 65 6e /.asserts.that.the.slice.has.len
3dae0 20 26 67 74 3b 20 30 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .&gt;.0.</span></span>.<span.cla
3db00 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
3db20 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
3db40 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>
3db60 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_
3db80 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 20 74 65 73 74 2e basic_slices.zig</kbd>.1/1.test.
3dba0 62 61 73 69 63 20 73 6c 69 63 65 73 2e 2e 2e 20 74 68 72 65 61 64 20 32 34 35 31 38 31 34 20 70 basic.slices....thread.2451814.p
3dbc0 61 6e 69 63 3a 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 anic:.index.out.of.bounds:.index
3dbe0 20 31 30 2c 20 6c 65 6e 20 34 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e .10,.len.4./home/ci/actions-runn
3dc00 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
3dc20 6e 5f 74 6d 70 2f 74 65 73 74 5f 62 61 73 69 63 5f 73 6c 69 63 65 73 2e 7a 69 67 3a 33 36 3a 31 n_tmp/test_basic_slices.zig:36:1
3dc40 30 3a 20 30 78 32 32 34 36 39 35 20 69 6e 20 74 65 73 74 2e 62 61 73 69 63 20 73 6c 69 63 65 73 0:.0x224695.in.test.basic.slices
3dc60 20 28 74 65 73 74 29 0a 20 20 20 20 73 6c 69 63 65 5b 31 30 5d 20 2b 3d 20 31 3b 0a 20 20 20 20 .(test).....slice[10].+=.1;.....
3dc80 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/_
3dca0 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/
3dcc0 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 32 32 zig/test_runner.zig:176:28:.0x22
3dce0 64 61 36 39 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 20 da69.in.mainTerminal.(test).....
3dd00 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 20 20 ....}.else.test_fn.func();......
3dd20 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
3dd40 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
3dd60 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 rap/out/host/lib/zig/test_runner
3dd80 2e 7a 69 67 3a 33 36 3a 32 38 3a 20 30 78 32 32 35 62 66 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 .zig:36:28:.0x225bfa.in.main.(te
3dda0 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 61 6c 28 st).........return.mainTerminal(
3ddc0 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 5e 0a );............................^.
3dde0 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
3de00 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
3de20 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 34 63 39 32 20 69 6e 20 70 /start.zig:564:22:.0x224c92.in.p
3de40 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 20 20 20 20 osixCallMainAndExit.(test)......
3de60 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();.............
3de80 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
3dea0 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/
3dec0 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 lib/zig/std/start.zig:243:5:.0x2
3dee0 32 34 37 65 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 247e1.in._start.(test).....asm.v
3df00 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).{.
3df20 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.???.(???).
3df40 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
3df60 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
3df80 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
3dfa0 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 35 35 34 39 39 37 34 63 63 32 34 65 64 38 65 34 62 35 36 ocal-cache/o/5549974cc24ed8e4b56
3dfc0 33 38 35 31 62 63 66 36 65 63 30 31 30 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3851bcf6ec010/test.</samp></pre>
3dfe0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 6f 6e 65 20 72 </figure>.......<p>This.is.one.r
3e000 65 61 73 6f 6e 20 77 65 20 70 72 65 66 65 72 20 73 6c 69 63 65 73 20 74 6f 20 70 6f 69 6e 74 65 eason.we.prefer.slices.to.pointe
3e020 72 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 6f rs.</p>.......<figure><figcaptio
3e040 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
3e060 69 6c 65 22 3e 74 65 73 74 5f 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ile">test_slices.zig</cite></fig
3e080 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="
3e0a0 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
3e0c0 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
3e0e0 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
3e100 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
3e120 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
3e140 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
3e160 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 3c 2f >.expect.=.std.testing.expect;</
3e180 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
3e1a0 6c 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.=
3e1c0 20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .std.mem;</span>.<span.class="li
3e1e0 6e 65 22 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 ne"><span.class="tok-kw">const</
3e200 73 70 61 6e 3e 20 66 6d 74 20 3d 20 73 74 64 2e 66 6d 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span>.fmt.=.std.fmt;</span>.<spa
3e220 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
3e240 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
3e260 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"
3e280 3e 26 71 75 6f 74 3b 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 >&quot;using.slices.for.strings&
3e2a0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
3e2c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
3e2e0 6d 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 mment">//.Zig.has.no.concept.of.
3e300 73 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 strings..String.literals.are.con
3e320 73 74 20 70 6f 69 6e 74 65 72 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 st.pointers</span></span>.<span.
3e340 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
3e360 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 6e 61 74 65 64 k-comment">//.to.null-terminated
3e380 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 6e 74 69 6f 6e .arrays.of.u8,.and.by.convention
3e3a0 20 70 61 72 61 6d 65 74 65 72 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .parameters</span></span>.<span.
3e3c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
3e3e0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 61 74 20 61 72 65 20 26 71 75 6f 74 3b 73 74 72 k-comment">//.that.are.&quot;str
3e400 69 6e 67 73 26 71 75 6f 74 3b 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 55 54 ings&quot;.are.expected.to.be.UT
3e420 46 2d 38 20 65 6e 63 6f 64 65 64 20 73 6c 69 63 65 73 20 6f 66 20 75 38 2e 3c 2f 73 70 61 6e 3e F-8.encoded.slices.of.u8.</span>
3e440 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
3e460 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 65 72 65 span.class="tok-comment">//.Here
3e480 20 77 65 20 63 6f 65 72 63 65 20 2a 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 20 61 6e 64 20 2a 63 .we.coerce.*const.[5:0]u8.and.*c
3e4a0 6f 6e 73 74 20 5b 36 3a 30 5d 75 38 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e onst.[6:0]u8.to.[]const.u8</span
3e4c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
3e4e0 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
3e500 3e 20 68 65 6c 6c 6f 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 >.hello:.[]<span.class="tok-kw">
3e520 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
3e540 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 6b pe">u8</span>.=.<span.class="tok
3e560 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 61 6e 3e 3b 3c -str">&quot;hello&quot;</span>;<
3e580 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
3e5a0 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>.
3e5c0 77 6f 72 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 world:.[]<span.class="tok-kw">co
3e5e0 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 65 nst</span>.<span.class="tok-type
3e600 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 6b 2d 73 ">u8</span>.=.<span.class="tok-s
3e620 74 72 22 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 3c 2f tr">&quot;......&quot;</span>;</
3e640 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
3e660 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
3e680 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 6c 6c 5f 74 6f 67 65 ass="tok-kw">var</span>.all_toge
3e6a0 74 68 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 62 65 72 22 3e ther:.[<span.class="tok-number">
3e6c0 31 30 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 79 70 65 100</span>]<span.class="tok-type
3e6e0 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 6b 2d 6e ">u8</span>.=.<span.class="tok-n
3e700 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ull">undefined</span>;</span>.<s
3e720 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
3e740 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 75 73 65 20 73 6c ="tok-comment">//.You.can.use.sl
3e760 69 63 65 20 73 79 6e 74 61 78 20 77 69 74 68 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 72 75 6e ice.syntax.with.at.least.one.run
3e780 74 69 6d 65 2d 6b 6e 6f 77 6e 20 69 6e 64 65 78 20 6f 6e 20 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 time-known.index.on.an</span></s
3e7a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
3e7c0 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 74 n.class="tok-comment">//.array.t
3e7e0 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 61 72 72 61 79 20 69 6e 74 6f 20 61 20 73 6c 69 63 65 2e o.convert.an.array.into.a.slice.
3e800 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
3e820 22 3e 20 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</
3e840 73 70 61 6e 3e 20 73 74 61 72 74 20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 span>.start.:.<span.class="tok-t
3e860 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=
3e880 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-number">0</span>;</span>.<s
3e8a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
3e8c0 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 74 6f 67 65 74 ="tok-kw">const</span>.all_toget
3e8e0 68 65 72 5f 73 6c 69 63 65 20 3d 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5b 73 74 61 72 74 2e 2e her_slice.=.all_together[start..
3e900 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ];</span>.<span.class="line">...
3e920 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 53 74 .<span.class="tok-comment">//.St
3e940 72 69 6e 67 20 63 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 ring.concatenation.example.</spa
3e960 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
3e980 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
3e9a0 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
3e9c0 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
3e9e0 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
3ea00 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
3ea20 6e 3e 2c 20 2e 7b 20 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c n>,..{.hello,.world.});</span>.<
3ea40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
3ea60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
3ea80 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 20 63 61 6e k-comment">//.Generally,.you.can
3eaa0 20 75 73 65 20 55 54 46 2d 38 20 61 6e 64 20 6e 6f 74 20 77 6f 72 72 79 20 61 62 6f 75 74 20 77 .use.UTF-8.and.not.worry.about.w
3eac0 68 65 74 68 65 72 20 73 6f 6d 65 74 68 69 6e 67 20 69 73 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 hether.something.is.a</span></sp
3eae0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
3eb00 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 74 72 69 6e 67 2e 20 .class="tok-comment">//.string..
3eb20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 69 If.you.don't.need.to.deal.with.i
3eb40 6e 64 69 76 69 64 75 61 6c 20 63 68 61 72 61 63 74 65 72 73 2c 20 6e 6f 20 6e 65 65 64 3c 2f 73 ndividual.characters,.no.need</s
3eb60 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
3eb80 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">//.
3eba0 74 6f 20 64 65 63 6f 64 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 to.decode.</span></span>.<span.c
3ebc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
3ebe0 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 28 3c -kw">try</span>.expect(mem.eql(<
3ec00 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>,
3ec20 20 68 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 .hello_world,.<span.class="tok-s
3ec40 74 72 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 tr">&quot;hello.......&quot;</sp
3ec60 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>));</span>.<span.class="line"
3ec80 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
3eca0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
3ecc0 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
3ece0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6c 69 63 65 20 70 6f 69 6e 74 lass="tok-str">&quot;slice.point
3ed00 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 er&quot;</span>.{</span>.<span.c
3ed20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
3ed40 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">var</span>.a:.[]<span.class
3ed60 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
3ed80 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 6e 3e 3b ass="tok-null">undefined</span>;
3eda0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
3edc0 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
3ede0 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">
3ee00 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 29 20 3d 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 @TypeOf</span>(a).==.[]<span.cla
3ee20 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 3c 2f 73 70 61 6e 3e ss="tok-type">u8</span>);</span>
3ee40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
3ee60 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 3a 20 5b ass="tok-kw">var</span>.array:.[
3ee80 3c 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
3eea0 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 70 n>]<span.class="tok-type">u8</sp
3eec0 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 64 an>.=.<span.class="tok-null">und
3eee0 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 efined</span>;</span>.<span.clas
3ef00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
3ef20 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 61 72 72 61 79 3b ">const</span>.ptr.=.&amp;array;
3ef40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
3ef60 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
3ef80 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">
3efa0 40 54 79 70 65 4f 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 @TypeOf</span>(ptr).==.*[<span.c
3efc0 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 5d 3c 73 70 61 lass="tok-number">10</span>]<spa
3efe0 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 3c 2f n.class="tok-type">u8</span>);</
3f000 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
3f020 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
3f040 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 6e 74 65 72 20 74 ass="tok-comment">//.A.pointer.t
3f060 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 75 73 74 20 6c 69 o.an.array.can.be.sliced.just.li
3f080 6b 65 20 61 6e 20 61 72 72 61 79 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ke.an.array:</span></span>.<span
3f0a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
3f0c0 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
3f0e0 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>.=.<
3f100 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>
3f120 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
3f140 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>.
3f160 65 6e 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 3e 75 73 69 7a end:.<span.class="tok-type">usiz
3f180 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
3f1a0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">5</span>;</span>.<span.class
3f1c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
3f1e0 3e 63 6f 6e 73 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 >const</span>.slice.=.ptr[start.
3f200 2e 65 6e 64 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .end];</span>.<span.class="line"
3f220 3e 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 6b 2d 6e 75 6d 62 >....slice[<span.class="tok-numb
3f240 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 73 3d 22 74 6f 6b er">2</span>].=.<span.class="tok
3f260 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">3</span>;</span>.<span.
3f280 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
3f2a0 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
3f2c0 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 5d pan.class="tok-number">2</span>]
3f2e0 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 2f .==.<span.class="tok-number">3</
3f300 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
3f320 22 3e 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">
3f340 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.
3f360 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
3f380 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
3f3a0 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
3f3c0 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
3f3e0 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 3d 20 5b 5d 3c 73 n">@TypeOf</span>(slice).==.[]<s
3f400 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 3b pan.class="tok-type">u8</span>);
3f420 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
3f440 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
3f460 63 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 class="tok-comment">//.Again,.sl
3f480 69 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 icing.with.comptime-known.indexe
3f4a0 73 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 s.will.produce.another.pointer</
3f4c0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
3f4e0 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">//
3f500 20 74 6f 20 61 6e 20 61 72 72 61 79 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .to.an.array:</span></span>.<spa
3f520 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
3f540 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 32 20 3d 20 73 6c 69 63 tok-kw">const</span>.ptr2.=.slic
3f560 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 32 3c 2f 73 70 e[<span.class="tok-number">2</sp
3f580 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 33 3c an>..<span.class="tok-number">3<
3f5a0 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>];</span>.<span.class="lin
3f5c0 65 22 3e 20 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 e">....<span.class="tok-kw">try<
3f5e0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 32 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 /span>.expect(ptr2.len.==.<span.
3f600 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 3c 2f 73 class="tok-number">1</span>);</s
3f620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
3f640 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
3f660 63 74 28 70 74 72 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 ct(ptr2[<span.class="tok-number"
3f680 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 6f 6b 2d 6e >0</span>].==.<span.class="tok-n
3f6a0 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">3</span>);</span>.<span.c
3f6c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
3f6e0 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
3f700 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>(
3f720 70 74 72 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 ptr2).==.*[<span.class="tok-numb
3f740 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 22 74 6f 6b 2d 74 79 er">1</span>]<span.class="tok-ty
3f760 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pe">u8</span>);</span>.<span.cla
3f780 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
3f7a0 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
3f7c0 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>
3f7e0 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_
3f800 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 75 73 69 6e 67 20 slices.zig</kbd>.1/2.test.using.
3f820 73 6c 69 63 65 73 20 66 6f 72 20 73 74 72 69 6e 67 73 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 slices.for.strings....OK.2/2.tes
3f840 74 2e 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 t.slice.pointer....OK.All.2.test
3f860 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>
3f880 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>
3f8a0 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 3c 2f 61 3e <a.href="#Pointers">Pointers</a>
3f8c0 3c 2f 6c 69 3e 0a 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 </li>.<li><a.href="#for">for</a>
3f8e0 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 72 72 61 </li>.<li><a.href="#Arrays">Arra
3f900 79 73 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 69 64 ys</a></li>.</ul>.........<h3.id
3f920 3d 22 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 3c 61 ="Sentinel-Terminated-Slices"><a
3f940 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d .href="#toc-Sentinel-Terminated-
3f960 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 6c 69 63 Slices">Sentinel-Terminated.Slic
3f980 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 53 65 6e es</a>.<a.class="hdr".href="#Sen
3f9a0 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 c2 a7 3c 2f 61 3e 3c tinel-Terminated-Slices">..</a><
3f9c0 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 20 73 79 6e 74 61 78 /h3>........<p>.......The.syntax
3f9e0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 3a 78 5d 54 3c .<code><span.class="line">[:x]T<
3fa00 2f 73 70 61 6e 3e 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 /span></code>.is.a.slice.which.h
3fa20 61 73 20 61 20 72 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 as.a.runtime-known.length.......
3fa40 61 6e 64 20 61 6c 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 and.also.guarantees.a.sentinel.v
3fa60 61 6c 75 65 20 61 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 alue.at.the.element.indexed.by.t
3fa80 68 65 20 6c 65 6e 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 he.length..The.type.does.not....
3faa0 20 20 20 67 75 61 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 ...guarantee.that.there.are.no.s
3fac0 65 6e 74 69 6e 65 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 entinel.elements.before.that..Se
3fae0 6e 74 69 6e 65 6c 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 ntinel-terminated.slices.allow.e
3fb00 6c 65 6d 65 6e 74 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 lement.......access.to.the.<code
3fb20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f ><span.class="line">len</span></
3fb40 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
3fb60 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
3fb80 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
3fba0 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
3fbc0 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 6c aption><pre><code><span.class="l
3fbe0 69 6e 65 22 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 ine"><span.class="tok-kw">const<
3fc00 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
3fc20 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
3fc40 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
3fc60 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>);</span>.<span.class="line"><
3fc80 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>
3fca0 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 3c 2f 73 .expect.=.std.testing.expect;</s
3fcc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
3fce0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
3fd00 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=
3fd20 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 "tok-str">&quot;null.terminated.
3fd40 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 slice&quot;</span>.{</span>.<spa
3fd60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
3fd80 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 3c 73 tok-kw">const</span>.slice:.[:<s
3fda0 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>]
3fdc0 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
3fde0 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
3fe00 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 6f 74 n>.=.<span.class="tok-str">&quot
3fe20 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ;hello&quot;</span>;</span>.<spa
3fe40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
3fe60 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
3fe80 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 2e 6c 65 6e 20 3d w">try</span>.expect(slice.len.=
3fea0 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
3fec0 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
3fee0 20 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
3ff00 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 74 6f an>.expect(slice[<span.class="to
3ff20 6b 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 k-number">5</span>].==.<span.cla
3ff40 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 3c 2f 73 70 61 6e ss="tok-number">0</span>);</span
3ff60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
3ff80 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
3ffa0 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</
3ffc0 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
3ffe0 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 65 .test.test_null_terminated_slice
40000 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 .zig</kbd>.1/1.test.null.termina
40020 74 65 64 20 73 6c 69 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 ted.slice....OK.All.1.tests.pass
40040 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>......
40060 20 3c 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 .<p>.......Sentinel-terminated.s
40080 6c 69 63 65 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 63 72 65 61 74 65 64 20 75 73 69 6e 67 20 lices.can.also.be.created.using.
400a0 61 20 76 61 72 69 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 6c 69 63 65 20 73 79 6e 74 61 78 0a a.variation.of.the.slice.syntax.
400c0 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 6c 69 6e 65 22 3e 64 ......<code><span.class="line">d
400e0 61 74 61 5b 73 74 61 72 74 2e 2e 65 6e 64 20 3a 78 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ata[start..end.:x]</span></code>
40100 2c 20 77 68 65 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ,.where.<code><span.class="line"
40120 3e 64 61 74 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 6d 61 6e 79 2d 69 74 >data</span></code>.is.a.many-it
40140 65 6d 20 70 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 61 72 72 61 79 20 6f 72 20 73 6c 69 63 65 em.pointer,.......array.or.slice
40160 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c .and.<code><span.class="line">x<
40180 2f 73 70 61 6e 3e 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 /span></code>.is.the.sentinel.va
401a0 6c 75 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 lue........</p>.......<figure><f
401c0 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.
401e0 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 61 74 65 class="file">test_null_terminate
40200 64 5f 73 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 d_slicing.zig</cite></figcaption
40220 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 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
40240 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>
40260 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"
40280 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
402a0 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 3c 2f -str">&quot;std&quot;</span>);</
402c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
402e0 6c 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
40300 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c t.=.std.testing.expect;</span>.<
40320 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
40340 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
40360 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
40380 74 72 22 3e 26 71 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 69 6e tr">&quot;null.terminated.slicin
403a0 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c g&quot;</span>.{</span>.<span.cl
403c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
403e0 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 3c 73 70 61 6e 20 kw">var</span>.array.=.[_]<span.
40400 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 73 70 61 class="tok-type">u8</span>{.<spa
40420 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>,.<
40440 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>
40460 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 3c 2f 73 70 ,.<span.class="tok-number">1</sp
40480 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<
404a0 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"
404c0 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 62 >3</span>,.<span.class="tok-numb
404e0 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
40500 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
40520 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">0</span>.};</span>.<sp
40540 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
40560 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 5f 6c 65 6e 67 "tok-kw">var</span>.runtime_leng
40580 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 75 73 69 7a 65 th:.<span.class="tok-type">usize
405a0 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 65 </span>.=.<span.class="tok-numbe
405c0 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">3</span>;</span>.<span.class=
405e0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
40600 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e const</span>.slice.=.array[<span
40620 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 2e 2e 72 75 .class="tok-number">0</span>..ru
40640 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 20 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ntime_length.:<span.class="tok-n
40660 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">0</span>];</span>.<span.c
40680 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
406a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
406c0 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
406e0 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 73 6c 69 63 65 ok-builtin">@TypeOf</span>(slice
40700 29 20 3d 3d 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 ).==.[:<span.class="tok-number">
40720 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 79 70 65 22 3e 0</span>]<span.class="tok-type">
40740 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 u8</span>);</span>.<span.class="
40760 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
40780 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 3c 73 ry</span>.expect(slice.len.==.<s
407a0 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 29 pan.class="tok-number">3</span>)
407c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
407e0 70 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 pan></code></pre></figure><figur
40800 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">
40820 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>$.<
40840 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 72 6d 69 6e 61 74 65 kbd>zig.test.test_null_terminate
40860 64 5f 73 6c 69 63 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6e 75 6c d_slicing.zig</kbd>.1/1.test.nul
40880 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 69 6e 67 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 l.terminated.slicing....OK.All.1
408a0 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
408c0 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
408e0 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 69 6e 67 20 61 73 73 65 72 74 73 20 74 68 61 74 20 74 erminated.slicing.asserts.that.t
40900 68 65 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 70 6f 73 69 74 he.element.in.the.sentinel.posit
40920 69 6f 6e 20 6f 66 20 74 68 65 20 62 61 63 6b 69 6e 67 20 64 61 74 61 20 69 73 0a 20 20 20 20 20 ion.of.the.backing.data.is......
40940 20 61 63 74 75 61 6c 6c 79 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e 20 49 66 .actually.the.sentinel.value..If
40960 20 74 68 69 73 20 69 73 20 6e 6f 74 20 74 68 65 20 63 61 73 65 2c 20 73 61 66 65 74 79 2d 70 72 .this.is.not.the.case,.safety-pr
40980 6f 74 65 63 74 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 otected.<a.href="#Undefined-Beha
409a0 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 72 65 73 vior">Undefined.Behavior</a>.res
409c0 75 6c 74 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 65 3e 3c ults........</p>.......<figure><
409e0 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
40a00 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 65 6e 74 69 6e 65 6c 5f 6d 69 73 6d .class="file">test_sentinel_mism
40a20 61 74 63 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 70 72 65 atch.zig</cite></figcaption><pre
40a40 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
40a60 63 6c 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.
40a80 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
40aa0 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"
40ac0 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 3c 2f 73 70 61 6e 3e >&quot;std&quot;</span>);</span>
40ae0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
40b00 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
40b20 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 td.testing.expect;</span>.<span.
40b40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
40b60 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">tes
40b80 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">&
40ba0 71 75 6f 74 3b 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 quot;sentinel.mismatch&quot;</sp
40bc0 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
40be0 20 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
40c00 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 2d an>.array.=.[_]<span.class="tok-
40c20 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 6f type">u8</span>{.<span.class="to
40c40 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 73 3d k-number">3</span>,.<span.class=
40c60 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 61 "tok-number">2</span>,.<span.cla
40c80 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 70 61 6e 20 ss="tok-number">1</span>,.<span.
40ca0 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 3c 2f class="tok-number">0</span>.};</
40cc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
40ce0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
40d00 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 67 20 61 20 ass="tok-comment">//.Creating.a.
40d20 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 6f 6d 20 74 sentinel-terminated.slice.from.t
40d40 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 2f 73 70 61 he.array.with.a.length.of.2</spa
40d60 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
40d80 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 77 69 .<span.class="tok-comment">//.wi
40da0 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 76 61 6c 75 65 20 60 31 60 20 6f 63 63 75 70 ll.result.in.the.value.`1`.occup
40dc0 79 69 6e 67 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d 65 6e 74 20 70 6f 73 69 74 69 ying.the.sentinel.element.positi
40de0 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c on.</span></span>.<span.class="l
40e00 69 6e 65 22 3e 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 ine">....<span.class="tok-commen
40e20 74 22 3e 2f 2f 20 54 68 69 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 69 6e t">//.This.does.not.match.the.in
40e40 64 69 63 61 74 65 64 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 6f 66 20 60 30 60 20 61 6e dicated.sentinel.value.of.`0`.an
40e60 64 20 77 69 6c 6c 20 6c 65 61 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 d.will.lead</span></span>.<span.
40e80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
40ea0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 61 20 72 75 6e 74 69 6d 65 20 70 61 6e 69 63 k-comment">//.to.a.runtime.panic
40ec0 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
40ee0 65 22 3e 20 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 e">....<span.class="tok-kw">var<
40f00 2f 73 70 61 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 /span>.runtime_length:.<span.cla
40f20 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
40f40 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 3b 3c an.class="tok-number">2</span>;<
40f60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
40f80 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>.
40fa0 73 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 slice.=.array[<span.class="tok-n
40fc0 75 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 umber">0</span>..runtime_length.
40fe0 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 73 70 61 :<span.class="tok-number">0</spa
41000 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>];</span>.<span.class="line"><
41020 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 /span>.<span.class="line">...._.
41040 3d 20 73 6c 69 63 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e =.slice;</span>.<span.class="lin
41060 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
41080 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
410a0 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
410c0 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 65 6e 74 69 6e 65 amp>$.<kbd>zig.test.test_sentine
410e0 6c 5f 6d 69 73 6d 61 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 73 65 l_mismatch.zig</kbd>.1/1.test.se
41100 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 32 34 35 31 39 32 ntinel.mismatch....thread.245192
41120 32 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 2.panic:.sentinel.mismatch:.expe
41140 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
41160 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/
41180 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
411a0 68 2e 7a 69 67 3a 31 32 3a 32 34 3a 20 30 78 32 32 34 32 34 36 20 69 6e 20 74 65 73 74 2e 73 65 h.zig:12:24:.0x224246.in.test.se
411c0 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 74 ntinel.mismatch.(test).....const
411e0 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 68 .slice.=.array[0..runtime_length
41200 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 2f .:0];........................^./
41220 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
41240 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 74 65 73 74 -bootstrap/out/host/lib/zig/test
41260 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 32 32 64 61 34 39 20 69 6e 20 _runner.zig:176:28:.0x22da49.in.
41280 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 7d 20 65 6c mainTerminal.(test).........}.el
412a0 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 se.test_fn.func();..............
412c0 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
412e0 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/
41300 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 36 3a host/lib/zig/test_runner.zig:36:
41320 32 38 3a 20 30 78 32 32 35 61 30 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 28:.0x225a0a.in.main.(test).....
41340 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 20 ....return.mainTerminal();......
41360 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
41380 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
413a0 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
413c0 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 34 38 34 32 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c ig:564:22:.0x224842.in.posixCall
413e0 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
41400 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();.....................
41420 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
41440 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/
41460 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 32 34 33 39 31 20 69 6e std/start.zig:243:5:.0x224391.in
41480 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 20 ._start.(test).....asm.volatile.
414a0 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 3f (switch.(native_arch).{.....^.??
414c0 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 3a 20 74 ?:?:?:.0x0.in.???.(???).error:.t
414e0 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 73 68 65 he.following.test.command.crashe
41500 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 6f 72 6b d:./home/ci/actions-runner/_work
41520 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
41540 68 65 2f 6f 2f 33 35 31 30 65 61 30 33 61 30 38 31 38 32 64 33 63 37 32 62 36 62 33 61 34 32 64 he/o/3510ea03a08182d3c72b6b3a42d
41560 36 32 39 61 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 629a3/test.</samp></pre></figure
41580 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
415a0 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 65 64 2d 50 ><a.href="#Sentinel-Terminated-P
415c0 6f 69 6e 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 ointers">Sentinel-Terminated.Poi
415e0 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 53 65 6e nters</a></li>.<li><a.href="#Sen
41600 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
41620 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
41640 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=
41660 22 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 74 72 75 63 74 22 3e 73 "struct"><a.href="#toc-struct">s
41680 74 72 75 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 truct</a>.<a.class="hdr".href="#
416a0 73 74 72 75 63 74 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 struct">..</a></h2>........<figu
416c0 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"><
416e0 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 75 63 74 73 2e 7a cite.class="file">test_structs.z
41700 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
41720 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
41740 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 74 72 75 63 "tok-comment">//.Declare.a.struc
41760 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 t.</span></span>.<span.class="li
41780 6e 65 22 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 ne"><span.class="tok-comment">//
417a0 20 5a 69 67 20 67 69 76 65 73 20 6e 6f 20 67 75 61 72 61 6e 74 65 65 73 20 61 62 6f 75 74 20 74 .Zig.gives.no.guarantees.about.t
417c0 68 65 20 6f 72 64 65 72 20 6f 66 20 66 69 65 6c 64 73 20 61 6e 64 20 74 68 65 20 73 69 7a 65 20 he.order.of.fields.and.the.size.
417e0 6f 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 of</span></span>.<span.class="li
41800 6e 65 22 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 ne"><span.class="tok-comment">//
41820 20 74 68 65 20 73 74 72 75 63 74 20 62 75 74 20 74 68 65 20 66 69 65 6c 64 73 20 61 72 65 20 67 .the.struct.but.the.fields.are.g
41840 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 41 42 49 2d 61 6c 69 67 6e 65 64 2e 3c 2f 73 70 uaranteed.to.be.ABI-aligned.</sp
41860 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
41880 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>.
418a0 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 74 72 Point.=.<span.class="tok-kw">str
418c0 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d uct</span>.{</span>.<span.class=
418e0 22 6c 69 6e 65 22 3e 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 "line">....x:.<span.class="tok-t
41900 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ype">f32</span>,</span>.<span.cl
41920 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ass="line">....y:.<span.class="t
41940 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-type">f32</span>,</span>.<spa
41960 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n.class="line">};</span>.<span.c
41980 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
419a0 22 6c 69 6e 65 22 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 "line"><span.class="tok-comment"
419c0 3e 2f 2f 20 4d 61 79 62 65 20 77 65 20 77 61 6e 74 20 74 6f 20 70 61 73 73 20 69 74 20 74 6f 20 >//.Maybe.we.want.to.pass.it.to.
419e0 4f 70 65 6e 47 4c 20 73 6f 20 77 65 20 77 61 6e 74 20 74 6f 20 62 65 20 70 61 72 74 69 63 75 6c OpenGL.so.we.want.to.be.particul
41a00 61 72 20 61 62 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ar.about</span></span>.<span.cla
41a20 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
41a40 6e 74 22 3e 2f 2f 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 nt">//.how.the.bytes.are.arrange
41a60 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d.</span></span>.<span.class="li
41a80 6e 65 22 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 ne"><span.class="tok-kw">const</
41aa0 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-
41ac0 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
41ae0 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-kw">struct</span>.{</span>.<s
41b00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c pan.class="line">....x:.<span.cl
41b20 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 3c 2f 73 70 61 6e ass="tok-type">f32</span>,</span
41b40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 >.<span.class="line">....y:.<spa
41b60 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 3c 2f n.class="tok-type">f32</span>,</
41b80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 span>.<span.class="line">};</spa
41ba0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
41bc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
41be0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d lass="line"><span.class="tok-com
41c00 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 20 6f 66 20 ment">//.Declare.an.instance.of.
41c20 61 20 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c a.struct.</span></span>.<span.cl
41c40 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
41c60 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 50 6f 69 6e 74 20 7b 3c 2f 73 70 61 6e 3e 0a const</span>.p.=.Point.{</span>.
41c80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 <span.class="line">.....x.=.<spa
41ca0 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 3c 2f 73 70 61 6e 3e n.class="tok-number">0.12</span>
41cc0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
41ce0 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 62 65 72 22 3e 30 2e .y.=.<span.class="tok-number">0.
41d00 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 34</span>,</span>.<span.class="l
41d20 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ine">};</span>.<span.class="line
41d40 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
41d60 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 4d 61 79 62 65 20 an.class="tok-comment">//.Maybe.
41d80 77 65 27 72 65 20 6e 6f 74 20 72 65 61 64 79 20 74 6f 20 66 69 6c 6c 20 6f 75 74 20 73 6f 6d 65 we're.not.ready.to.fill.out.some
41da0 20 6f 66 20 74 68 65 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .of.the.fields.</span></span>.<s
41dc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
41de0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 32 20 3d 20 50 6f 69 6e 74 20 7b 3c 2f 73 k-kw">var</span>.p2.=.Point.{</s
41e00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 78 20 3d pan>.<span.class="line">.....x.=
41e20 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 31 32 3c 2f .<span.class="tok-number">0.12</
41e40 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
41e60 3e 20 20 20 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 6c 6c 22 >.....y.=.<span.class="tok-null"
41e80 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >undefined</span>,</span>.<span.
41ea0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 class="line">};</span>.<span.cla
41ec0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
41ee0 69 6e 65 22 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 ine"><span.class="tok-comment">/
41f00 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 3c 2f 73 70 61 6e /.Structs.can.have.methods</span
41f20 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
41f40 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 74 20 n.class="tok-comment">//.Struct.
41f60 6d 65 74 68 6f 64 73 20 61 72 65 20 6e 6f 74 20 73 70 65 63 69 61 6c 2c 20 74 68 65 79 20 61 72 methods.are.not.special,.they.ar
41f80 65 20 6f 6e 6c 79 20 6e 61 6d 65 73 70 61 63 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a e.only.namespaced</span></span>.
41fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
41fc0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 tok-comment">//.functions.that.y
41fe0 6f 75 20 63 61 6e 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 ou.can.call.with.dot.syntax.</sp
42000 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
42020 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>.
42040 56 65 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 Vec3.=.<span.class="tok-kw">stru
42060 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ct</span>.{</span>.<span.class="
42080 6c 69 6e 65 22 3e 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 line">....x:.<span.class="tok-ty
420a0 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pe">f32</span>,</span>.<span.cla
420c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ss="line">....y:.<span.class="to
420e0 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-type">f32</span>,</span>.<span
42100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 .class="line">....z:.<span.class
42120 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c ="tok-type">f32</span>,</span>.<
42140 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
42160 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
42180 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
421a0 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
421c0 2d 66 6e 22 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 -fn">init</span>(x:.<span.class=
421e0 22 74 6f 6b 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 "tok-type">f32</span>,.y:.<span.
42200 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 20 7a 3a 20 class="tok-type">f32</span>,.z:.
42220 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
42240 3e 29 20 56 65 63 33 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >).Vec3.{</span>.<span.class="li
42260 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
42280 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 56 65 63 33 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >return</span>.Vec3.{</span>.<sp
422a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 78 20 3d an.class="line">.............x.=
422c0 20 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .x,</span>.<span.class="line">..
422e0 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ...........y.=.y,</span>.<span.c
42300 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 7a 20 3d 20 7a 2c 3c lass="line">.............z.=.z,<
42320 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
42340 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..};</span>.<span.class="line">.
42360 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ...}</span>.<span.class="line"><
42380 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
423a0 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
423c0 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
423e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 74 3c 2f 73 70 61 6e 3e 28 73 65 6c an.class="tok-fn">dot</span>(sel
42400 66 3a 20 56 65 63 33 2c 20 6f 74 68 65 72 3a 20 56 65 63 33 29 20 3c 73 70 61 6e 20 63 6c 61 73 f:.Vec3,.other:.Vec3).<span.clas
42420 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e s="tok-type">f32</span>.{</span>
42440 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
42460 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 73 n.class="tok-kw">return</span>.s
42480 65 6c 66 2e 78 20 2a 20 6f 74 68 65 72 2e 78 20 2b 20 73 65 6c 66 2e 79 20 2a 20 6f 74 68 65 72 elf.x.*.other.x.+.self.y.*.other
424a0 2e 79 20 2b 20 73 65 6c 66 2e 7a 20 2a 20 6f 74 68 65 72 2e 7a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .y.+.self.z.*.other.z;</span>.<s
424c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">....}</span>.<s
424e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan.class="line">};</span>.<span
42500 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
42520 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
42540 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=
42560 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
42580 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
425a0 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 3c 2f 73 70 61 6e t;</span>).testing.expect;</span
425c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
425e0 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
42600 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 74 20 70 72 6f 64 75 63 74 26 71 75 s="tok-str">&quot;dot.product&qu
42620 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
42640 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
42660 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 31 20 3d 20 56 65 63 33 2e 69 6e 69 74 28 3c 73 70 61 const</span>.v1.=.Vec3.init(<spa
42680 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>,
426a0 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
426c0 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 30 pan>,.<span.class="tok-number">0
426e0 2e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .0</span>);</span>.<span.class="
42700 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">c
42720 6f 6e 73 74 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 onst</span>.v2.=.Vec3.init(<span
42740 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 2c 20 .class="tok-number">0.0</span>,.
42760 3c 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 2f 73 70 <span.class="tok-number">1.0</sp
42780 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 2e an>,.<span.class="tok-number">0.
427a0 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 0</span>);</span>.<span.class="l
427c0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
427e0 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 3c 73 y</span>.expect(v1.dot(v2).==.<s
42800 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 61 6e pan.class="tok-number">0.0</span
42820 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
42840 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
42860 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 4f 74 68 65 72 20 an.class="tok-comment">//.Other.
42880 74 68 61 6e 20 62 65 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 63 61 6c 6c 20 77 69 74 than.being.available.to.call.wit
428a0 68 20 64 6f 74 20 73 79 6e 74 61 78 2c 20 73 74 72 75 63 74 20 6d 65 74 68 6f 64 73 20 61 72 65 h.dot.syntax,.struct.methods.are
428c0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
428e0 22 3e 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">
42900 2f 2f 20 6e 6f 74 20 73 70 65 63 69 61 6c 2e 20 59 6f 75 20 63 61 6e 20 72 65 66 65 72 65 6e 63 //.not.special..You.can.referenc
42920 65 20 74 68 65 6d 20 61 73 20 61 6e 79 20 6f 74 68 65 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 e.them.as.any.other.declaration.
42940 69 6e 73 69 64 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 inside</span></span>.<span.class
42960 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
42980 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 72 75 63 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ment">//.the.struct:</span></spa
429a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
429c0 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
429e0 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
42a00 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 3c 2f 73 70 61 6e ="tok-number">0.0</span>);</span
42a20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
42a40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
42a60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d lass="line"><span.class="tok-com
42a80 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 64 65 63 6c 61 72 ment">//.Structs.can.have.declar
42aa0 61 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ations.</span></span>.<span.clas
42ac0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e s="line"><span.class="tok-commen
42ae0 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 30 20 66 69 65 6c 64 73 2e t">//.Structs.can.have.0.fields.
42b00 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
42b20 22 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 "><span.class="tok-kw">const</sp
42b40 61 6e 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 an>.Empty.=.<span.class="tok-kw"
42b60 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >struct</span>.{</span>.<span.cl
42b80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
42ba0 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-
42bc0 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 63 6c 61 73 kw">const</span>.PI.=.<span.clas
42be0 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 3c 2f 73 70 61 s="tok-number">3.14</span>;</spa
42c00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a n>.<span.class="line">};</span>.
42c20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
42c40 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=
42c60 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 72 75 63 74 20 6e 61 6d 65 73 70 61 63 65 "tok-str">&quot;struct.namespace
42c80 64 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e d.variable&quot;</span>.{</span>
42ca0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
42cc0 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 45 ass="tok-kw">try</span>.expect(E
42ce0 6d 70 74 79 2e 50 49 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 mpty.PI.==.<span.class="tok-numb
42d00 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 er">3.14</span>);</span>.<span.c
42d20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
42d40 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
42d60 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 6e 3e 28 ss="tok-builtin">@sizeOf</span>(
42d80 45 6d 70 74 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 Empty).==.<span.class="tok-numbe
42da0 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">0</span>);</span>.<span.class
42dc0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
42de0 65 22 3e 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 e">....<span.class="tok-comment"
42e00 3e 2f 2f 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 69 6e 73 74 61 6e 74 69 61 74 65 20 61 6e >//.you.can.still.instantiate.an
42e20 20 65 6d 70 74 79 20 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .empty.struct</span></span>.<spa
42e40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
42e60 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 6f 65 73 5f 6e 6f 74 68 69 6e tok-kw">const</span>.does_nothin
42e80 67 20 3d 20 45 6d 70 74 79 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 g.=.Empty.{};</span>.<span.class
42ea0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
42ec0 65 22 3e 20 20 20 20 5f 20 3d 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 3b 3c 2f 73 70 61 6e 3e 0a e">...._.=.does_nothing;</span>.
42ee0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
42f00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
42f20 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
42f40 6e 74 22 3e 2f 2f 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 6f 72 64 65 72 20 69 73 20 64 65 74 nt">//.struct.field.order.is.det
42f60 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20 6f 70 74 69 ermined.by.the.compiler.for.opti
42f80 6d 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c mal.performance.</span></span>.<
42fa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
42fc0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 6f 77 65 76 65 72 2c 20 79 6f 75 20 63 61 6e 20 ok-comment">//.however,.you.can.
42fe0 73 74 69 6c 6c 20 63 61 6c 63 75 6c 61 74 65 20 61 20 73 74 72 75 63 74 20 62 61 73 65 20 70 6f still.calculate.a.struct.base.po
43000 69 6e 74 65 72 20 67 69 76 65 6e 20 61 20 66 69 65 6c 64 20 70 6f 69 6e 74 65 72 3a 3c 2f 73 70 inter.given.a.field.pointer:</sp
43020 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
43040 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
43060 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 65 74 59 42 61 73 65 64 4f 6e 58 3c 2f an.class="tok-fn">setYBasedOnX</
43080 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 74 79 70 65 22 span>(x:.*<span.class="tok-type"
430a0 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 73 3d 22 74 6f 6b >f32</span>,.y:.<span.class="tok
430c0 2d 74 79 70 65 22 3e 66 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">f32</span>).<span.class="
430e0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-type">void</span>.{</span>.<
43100 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
43120 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 6f 69 6e 74 20 3d 20 s="tok-kw">const</span>.point.=.
43140 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
43160 50 61 72 65 6e 74 50 74 72 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e 20 63 6c ParentPtr</span>(Point,.<span.cl
43180 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 70 61 ass="tok-str">&quot;x&quot;</spa
431a0 6e 3e 2c 20 78 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 n>,.x);</span>.<span.class="line
431c0 22 3e 20 20 20 20 70 6f 69 6e 74 2e 79 20 3d 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ">....point.y.=.y;</span>.<span.
431e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
43200 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
43220 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">
43240 26 71 75 6f 74 3b 66 69 65 6c 64 20 70 61 72 65 6e 74 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b &quot;field.parent.pointer&quot;
43260 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
43280 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">var
432a0 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 20 3d 20 50 6f 69 6e 74 20 7b 3c 2f 73 70 61 6e 3e 0a 3c </span>.point.=.Point.{</span>.<
432c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c span.class="line">.........x.=.<
432e0 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 31 32 33 34 3c 2f span.class="tok-number">0.1234</
43300 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
43320 3e 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 6b 2d 6e >.........y.=.<span.class="tok-n
43340 75 6d 62 65 72 22 3e 30 2e 35 36 37 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 umber">0.5678</span>,</span>.<sp
43360 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 an.class="line">....};</span>.<s
43380 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 74 59 42 61 73 65 64 4f 6e pan.class="line">....setYBasedOn
433a0 58 28 26 61 6d 70 3b 70 6f 69 6e 74 2e 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b X(&amp;point.x,.<span.class="tok
433c0 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -number">0.9</span>);</span>.<sp
433e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
43400 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 6f 69 6e 74 "tok-kw">try</span>.expect(point
43420 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 72 22 3e 30 .y.==.<span.class="tok-number">0
43440 2e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .9</span>);</span>.<span.class="
43460 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
43480 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
434a0 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 59 6f 75 20 63 61 an.class="tok-comment">//.You.ca
434c0 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 66 75 6e 63 74 69 6f n.return.a.struct.from.a.functio
434e0 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 72 69 63 73 3c 2f 73 n..This.is.how.we.do.generics</s
43500 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
43520 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 5a span.class="tok-comment">//.in.Z
43540 69 67 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ig:</span></span>.<span.class="l
43560 69 6e 65 22 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 2f 73 70 ine"><span.class="tok-kw">fn</sp
43580 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 6e 6b 65 64 4c an>.<span.class="tok-fn">LinkedL
435a0 69 73 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 ist</span>(<span.class="tok-kw">
435c0 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 73 3d 22 comptime</span>.T:.<span.class="
435e0 74 6f 6b 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 tok-type">type</span>).<span.cla
43600 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 3c 2f 73 70 61 ss="tok-type">type</span>.{</spa
43620 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
43640 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 73 70 class="tok-kw">return</span>.<sp
43660 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>.
43680 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
436a0 20 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
436c0 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</
436e0 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 6b 77 span>.Node.=.<span.class="tok-kw
43700 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ">struct</span>.{</span>.<span.c
43720 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 76 3a 20 3f 2a lass="line">............prev:.?*
43740 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e Node,</span>.<span.class="line">
43760 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e ............next:.?*Node,</span>
43780 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
437a0 64 61 74 61 3a 20 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e data:.T,</span>.<span.class="lin
437c0 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 e">........};</span>.<span.class
437e0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
43800 65 22 3e 20 20 20 20 20 20 20 20 66 69 72 73 74 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e e">........first:.?*Node,</span>
43820 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6c 61 73 74 .<span.class="line">........last
43840 3a 20 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c :..?*Node,</span>.<span.class="l
43860 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6c 65 6e 3a 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ine">........len:...<span.class=
43880 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a "tok-type">usize</span>,</span>.
438a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e <span.class="line">....};</span>
438c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
438e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
43900 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
43920 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
43940 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 3c 2f 73 70 61 6e 3e ">&quot;linked.list&quot;</span>
43960 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
43980 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 46 75 .<span.class="tok-comment">//.Fu
439a0 6e 63 74 69 6f 6e 73 20 63 61 6c 6c 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 nctions.called.at.compile-time.a
439c0 72 65 20 6d 65 6d 6f 69 7a 65 64 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 79 6f 75 20 63 61 6e 3c re.memoized..This.means.you.can<
439e0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
43a00 3e 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">/
43a20 2f 20 64 6f 20 74 68 69 73 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 /.do.this:</span></span>.<span.c
43a40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
43a60 2d 6b 77 22 3e 74 72 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 -kw">try</span>.expect(LinkedLis
43a80 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 2f 73 70 t(<span.class="tok-type">i32</sp
43aa0 61 6e 3e 29 20 3d 3d 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 an>).==.LinkedList(<span.class="
43ac0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-type">i32</span>));</span>.<
43ae0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
43b00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
43b20 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 20 3d 20 4c 69 6e 6b 65 64 4c 69 k-kw">var</span>.list.=.LinkedLi
43b40 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 33 32 3c 2f 73 st(<span.class="tok-type">i32</s
43b60 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pan>).{</span>.<span.class="line
43b80 22 3e 20 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">.........first.=.<span.class="
43ba0 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-null">null</span>,</span>.<s
43bc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 61 73 74 20 3d pan.class="line">.........last.=
43be0 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
43c00 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>,</span>.<span.class="line">.
43c20 20 20 20 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 ........len.=.<span.class="tok-n
43c40 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">0</span>,</span>.<span.cl
43c60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....};</span>.<span.c
43c80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
43ca0 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 6c 65 6e 20 -kw">try</span>.expect(list.len.
43cc0 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
43ce0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
43d00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
43d20 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 69 6e <span.class="tok-comment">//.Sin
43d40 63 65 20 74 79 70 65 73 20 61 72 65 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 20 ce.types.are.first.class.values.
43d60 79 6f 75 20 63 61 6e 20 69 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 74 79 70 65 3c 2f 73 70 you.can.instantiate.the.type</sp
43d80 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
43da0 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
43dc0 79 20 61 73 73 69 67 6e 69 6e 67 20 69 74 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 y.assigning.it.to.a.variable:</s
43de0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
43e00 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
43e20 70 61 6e 3e 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 pan>.ListOfInts.=.LinkedList(<sp
43e40 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 3b an.class="tok-type">i32</span>);
43e60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
43e80 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
43ea0 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 28 3c xpect(ListOfInts.==.LinkedList(<
43ec0 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>
43ee0 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ));</span>.<span.class="line"></
43f00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
43f20 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 6e 6f 64 an.class="tok-kw">var</span>.nod
43f40 65 20 3d 20 4c 69 73 74 4f 66 49 6e 74 73 2e 4e 6f 64 65 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e.=.ListOfInts.Node.{</span>.<sp
43f60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 72 65 76 20 3d 20 an.class="line">.........prev.=.
43f80 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
43fa0 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>,</span>.<span.class="line">..
43fc0 20 20 20 20 20 20 2e 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 .......next.=.<span.class="tok-n
43fe0 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ull">null</span>,</span>.<span.c
44000 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 64 61 74 61 20 3d 20 3c 73 70 61 lass="line">.........data.=.<spa
44020 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 3e n.class="tok-number">1234</span>
44040 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
44060 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 };</span>.<span.class="line">...
44080 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>
440a0 20 6c 69 73 74 32 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d .list2.=.LinkedList(<span.class=
440c0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a "tok-type">i32</span>).{</span>.
440e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 69 72 73 <span.class="line">.........firs
44100 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 t.=.&amp;node,</span>.<span.clas
44120 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 26 61 6d 70 3b 6e 6f s="line">.........last.=.&amp;no
44140 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 de,</span>.<span.class="line">..
44160 20 20 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 .......len.=.<span.class="tok-nu
44180 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">1</span>,</span>.<span.cla
441a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ss="line">....};</span>.<span.cl
441c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
441e0 6c 69 6e 65 22 3e 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 line">....<span.class="tok-comme
44200 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 nt">//.When.using.a.pointer.to.a
44220 20 73 74 72 75 63 74 2c 20 66 69 65 6c 64 73 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 .struct,.fields.can.be.accessed.
44240 64 69 72 65 63 74 6c 79 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c directly,</span></span>.<span.cl
44260 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
44280 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 74 68 6f 75 74 20 65 78 70 6c 69 63 69 74 6c 79 20 64 comment">//.without.explicitly.d
442a0 65 72 65 66 65 72 65 6e 63 69 6e 67 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e ereferencing.the.pointer.</span>
442c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
442e0 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 6f 20 79 span.class="tok-comment">//.So.y
44300 6f 75 20 63 61 6e 20 64 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ou.can.do</span></span>.<span.cl
44320 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
44340 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 72 73 kw">try</span>.expect(list2.firs
44360 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 75 6d t.?.data.==.<span.class="tok-num
44380 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ber">1234</span>);</span>.<span.
443a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
443c0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 73 74 65 61 64 20 6f 66 20 74 72 79 20 65 78 70 k-comment">//.instead.of.try.exp
443e0 65 63 74 28 6c 69 73 74 32 2e 66 69 72 73 74 2e 3f 2e 2a 2e 64 61 74 61 20 3d 3d 20 31 32 33 34 ect(list2.first.?.*.data.==.1234
44400 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 );</span></span>.<span.class="li
44420 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
44440 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
44460 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><
44480 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 72 75 63 74 samp>$.<kbd>zig.test.test_struct
444a0 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 34 20 74 65 73 74 2e 64 6f 74 20 70 72 6f 64 75 63 74 s.zig</kbd>.1/4.test.dot.product
444c0 2e 2e 2e 20 4f 4b 0a 32 2f 34 20 74 65 73 74 2e 73 74 72 75 63 74 20 6e 61 6d 65 73 70 61 63 65 ....OK.2/4.test.struct.namespace
444e0 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 2e 66 69 65 6c 64 20 d.variable....OK.3/4.test.field.
44500 70 61 72 65 6e 74 20 70 6f 69 6e 74 65 72 2e 2e 2e 20 4f 4b 0a 34 2f 34 20 74 65 73 74 2e 6c 69 parent.pointer....OK.4/4.test.li
44520 6e 6b 65 64 20 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 nked.list....OK.All.4.tests.pass
44540 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 0a 20 20 20 20 ed..</samp></pre></figure>......
44560 20 20 3c 68 33 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 ..<h3.id="Default-Field-Values">
44580 3c 61 20 68 72 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 <a.href="#toc-Default-Field-Valu
445a0 65 73 22 3e 44 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 es">Default.Field.Values</a>.<a.
445c0 63 6c 61 73 73 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 class="hdr".href="#Default-Field
445e0 2d 56 61 6c 75 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 -Values">..</a></h3>........<p>.
44600 20 20 20 20 20 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 ......Each.struct.field.may.have
44620 20 61 6e 20 65 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 .an.expression.indicating.the.de
44640 66 61 75 6c 74 20 66 69 65 6c 64 20 76 61 6c 75 65 2e 20 53 75 63 68 20 65 78 70 72 65 73 73 69 fault.field.value..Such.expressi
44660 6f 6e 73 0a 20 20 20 20 20 20 61 72 65 20 65 78 65 63 75 74 65 64 20 61 74 20 3c 61 20 68 72 65 ons.......are.executed.at.<a.hre
44680 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 2c 20 61 6e 64 20 f="#comptime">comptime</a>,.and.
446a0 61 6c 6c 6f 77 20 74 68 65 20 66 69 65 6c 64 20 74 6f 20 62 65 20 6f 6d 69 74 74 65 64 20 69 6e allow.the.field.to.be.omitted.in
446c0 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 20 .a.struct.literal.expression:...
446e0 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
44700 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="
44720 66 69 6c 65 22 3e 74 65 73 74 5f 73 74 72 75 63 74 5f 64 65 66 61 75 6c 74 5f 66 69 65 6c 64 5f file">test_struct_default_field_
44740 76 61 6c 75 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 values.zig</cite></figcaption><p
44760 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
44780 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
447a0 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 75 63 74 3c o.=.<span.class="tok-kw">struct<
447c0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
447e0 65 22 3e 20 20 20 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 e">....a:.<span.class="tok-type"
44800 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
44820 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e umber">1234</span>,</span>.<span
44840 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 .class="line">....b:.<span.class
44860 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c ="tok-type">i32</span>,</span>.<
44880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span.class="line">};</span>.<spa
448a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
448c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
448e0 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"
44900 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 74 69 61 6c 69 7a 61 >&quot;default.struct.initializa
44920 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 7b 3c 2f 73 70 61 6e tion.fields&quot;</span>.{</span
44940 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
44960 6c 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 46 lass="tok-kw">const</span>.x.=.F
44980 6f 6f 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 oo{</span>.<span.class="line">..
449a0 20 20 20 20 20 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 6d 62 .......b.=.<span.class="tok-numb
449c0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">5</span>,</span>.<span.class
449e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">....};</span>.<span.clas
44a00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
44a20 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 6e 20 ">if</span>.(x.a.+.x.b.!=.<span.
44a40 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 29 20 class="tok-number">1239</span>).
44a60 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
44a80 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
44aa0 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 22 ompileError</span>(<span.class="
44ac0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 74 27 73 20 65 76 65 6e 20 63 6f 6d 70 74 69 6d tok-str">&quot;it's.even.comptim
44ae0 65 2d 6b 6e 6f 77 6e 21 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c e-known!&quot;</span>);</span>.<
44b00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....}</span>.<
44b20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">}</span></code
44b40 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
44b60 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
44b80 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
44ba0 73 74 20 74 65 73 74 5f 73 74 72 75 63 74 5f 64 65 66 61 75 6c 74 5f 66 69 65 6c 64 5f 76 61 6c st.test_struct_default_field_val
44bc0 75 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 64 65 66 61 75 6c 74 20 73 ues.zig</kbd>.1/1.test.default.s
44be0 74 72 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 truct.initialization.fields....O
44c00 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 70 K.All.1.tests.passed..</samp></p
44c20 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
44c40 64 3d 22 65 78 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 d="extern-struct"><a.href="#toc-
44c60 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 74 3c 2f 61 3e extern-struct">extern.struct</a>
44c80 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 2d 73 74 .<a.class="hdr".href="#extern-st
44ca0 72 75 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 3e 41 6e 20 3c ruct">..</a></h3>........<p>An.<
44cc0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
44ce0 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 61 6e ass="tok-kw">extern</span>.<span
44d00 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 3c 2f 73 .class="tok-kw">struct</span></s
44d20 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 74 pan></code>.has.in-memory.layout
44d40 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 6d 61 74 63 68 20 74 68 65 0a 20 20 20 20 20 20 43 .guaranteed.to.match.the.......C
44d60 20 41 42 49 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .ABI.for.the.target.</p>.......<
44d80 70 3e 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 73 74 72 75 63 74 20 73 68 6f 75 6c 64 20 6f 6e 6c p>This.kind.of.struct.should.onl
44da0 79 20 62 65 20 75 73 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 y.be.used.for.compatibility.with
44dc0 20 74 68 65 20 43 20 41 42 49 2e 20 45 76 65 72 79 20 6f 74 68 65 72 0a 20 20 20 20 20 20 75 73 .the.C.ABI..Every.other.......us
44de0 65 20 63 61 73 65 20 73 68 6f 75 6c 64 20 62 65 20 73 6f 6c 76 65 64 20 77 69 74 68 20 3c 61 20 e.case.should.be.solved.with.<a.
44e00 68 72 65 66 3d 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 href="#packed-struct">packed.str
44e20 75 63 74 3c 2f 61 3e 20 6f 72 20 6e 6f 72 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 uct</a>.or.normal.<a.href="#stru
44e40 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 ct">struct</a>.</p>.......<p>See
44e60 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 74 .also:</p><ul>.<li><a.href="#ext
44e80 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 3c 2f 6c 69 3e ern-union">extern.union</a></li>
44ea0 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 22 3e 65 78 74 65 .<li><a.href="#extern-enum">exte
44ec0 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 20 20 20 20 0a 0a rn.enum</a></li>.</ul>..........
44ee0 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 74 22 3e 3c 61 20 ......<h3.id="packed-struct"><a.
44f00 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 70 61 63 6b 65 64 href="#toc-packed-struct">packed
44f20 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 20 68 72 65 66 3d .struct</a>.<a.class="hdr".href=
44f40 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 33 3e 0a 0a 20 20 "#packed-struct">..</a></h3>....
44f60 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 6c 20 73 74 72 75 ....<p>.......Unlike.normal.stru
44f80 63 74 73 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 cts,.<code><span.class="line"><s
44fa0 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 6e 3e pan.class="tok-kw">packed</span>
44fc0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 73 20 68 61 76 65 20 67 75 61 72 </span></code>.structs.have.guar
44fe0 61 6e 74 65 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 3a 0a 20 20 20 20 20 20 3c anteed.in-memory.layout:.......<
45000 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 46 69 65 6c 64 /p>.......<ul>.........<li>Field
45020 73 20 72 65 6d 61 69 6e 20 69 6e 20 74 68 65 20 6f 72 64 65 72 20 64 65 63 6c 61 72 65 64 2c 20 s.remain.in.the.order.declared,.
45040 6c 65 61 73 74 20 74 6f 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 2e 3c 2f 6c 69 3e 0a least.to.most.significant.</li>.
45060 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 72 65 20 69 73 20 6e 6f 20 70 61 64 64 69 6e 67 20 ........<li>There.is.no.padding.
45080 62 65 74 77 65 65 6e 20 66 69 65 6c 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 between.fields.</li>.........<li
450a0 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 72 62 69 74 72 61 72 79 20 77 69 64 74 68 20 3c 61 >Zig.supports.arbitrary.width.<a
450c0 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 20 61 .href="#Integers">Integers</a>.a
450e0 6e 64 20 61 6c 74 68 6f 75 67 68 20 6e 6f 72 6d 61 6c 6c 79 2c 20 69 6e 74 65 67 65 72 73 20 77 nd.although.normally,.integers.w
45100 69 74 68 20 66 65 77 65 72 0a 20 20 20 20 20 20 20 20 74 68 61 6e 20 38 20 62 69 74 73 20 77 69 ith.fewer.........than.8.bits.wi
45120 6c 6c 20 73 74 69 6c 6c 20 75 73 65 20 31 20 62 79 74 65 20 6f 66 20 6d 65 6d 6f 72 79 2c 20 69 ll.still.use.1.byte.of.memory,.i
45140 6e 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 2c 20 74 68 65 79 20 75 73 65 0a 20 20 20 20 20 n.packed.structs,.they.use......
45160 20 20 20 65 78 61 63 74 6c 79 20 74 68 65 69 72 20 62 69 74 20 77 69 64 74 68 2e 0a 20 20 20 20 ...exactly.their.bit.width......
45180 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 ....</li>.........<li><code><spa
451a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
451c0 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 type">bool</span></span></code>.
451e0 66 69 65 6c 64 73 20 75 73 65 20 65 78 61 63 74 6c 79 20 31 20 62 69 74 2e 3c 2f 6c 69 3e 0a 20 fields.use.exactly.1.bit.</li>..
45200 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
45220 75 6d 3c 2f 61 3e 20 66 69 65 6c 64 20 75 73 65 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 62 69 um</a>.field.uses.exactly.the.bi
45240 74 20 77 69 64 74 68 20 6f 66 20 69 74 73 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2e t.width.of.its.integer.tag.type.
45260 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 70 61 </li>.........<li>A.<a.href="#pa
45280 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 61 3e 20 66 69 65 cked-union">packed.union</a>.fie
452a0 6c 64 20 75 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 ld.uses.exactly.the.bit.width.of
452c0 20 74 68 65 20 75 6e 69 6f 6e 20 66 69 65 6c 64 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 74 68 .the.union.field.with.........th
452e0 65 20 6c 61 72 67 65 73 74 20 62 69 74 20 77 69 64 74 68 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 e.largest.bit.width.</li>.......
45300 20 20 3c 6c 69 3e 4e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 61 72 65 ..<li>Non-ABI-aligned.fields.are
45320 20 70 61 63 6b 65 64 20 69 6e 74 6f 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 .packed.into.the.smallest.possib
45340 6c 65 0a 20 20 20 20 20 20 20 20 41 42 49 2d 61 6c 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 le.........ABI-aligned.integers.
45360 69 6e 20 61 63 63 6f 72 64 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 74 61 72 67 65 74 20 65 6e in.accordance.with.the.target.en
45380 64 69 61 6e 6e 65 73 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f dianness..........</li>.......</
453a0 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 61 6e 73 20 74 ul>.......<p>.......This.means.t
453c0 68 61 74 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c hat.a.<code><span.class="line"><
453e0 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 6e span.class="tok-kw">packed</span
45400 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 73 >.<span.class="tok-kw">struct</s
45420 70 61 6e 3e 3c 2f 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 pan></span></code>.can.participa
45440 74 65 0a 20 20 20 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 te.......in.a.<a.href="#bitCast"
45460 3e 40 62 69 74 43 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 >@bitCast</a>.or.a.<a.href="#ptr
45480 43 61 73 74 22 3e 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 Cast">@ptrCast</a>.to.reinterpre
454a0 74 20 6d 65 6d 6f 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 t.memory........This.even.works.
454c0 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 6d 65 3c at.<a.href="#comptime">comptime<
454e0 2f 61 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 /a>:.......</p>.......<figure><f
45500 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.
45520 63 6c 61 73 73 3d 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 class="file">test_packed_structs
45540 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
45560 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
45580 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
455a0 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<
455c0 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
455e0 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ot;std&quot;</span>);</span>.<sp
45600 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
45620 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 20 -kw">const</span>.native_endian.
45640 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
45660 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"
45680 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 2e 74 61 72 >&quot;builtin&quot;</span>).tar
456a0 67 65 74 2e 63 70 75 2e 61 72 63 68 2e 65 6e 64 69 61 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 get.cpu.arch.endian();</span>.<s
456c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
456e0 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.
45700 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 testing.expect;</span>.<span.cla
45720 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
45740 69 6e 65 22 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 ine"><span.class="tok-kw">const<
45760 2f 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 /span>.Full.=.<span.class="tok-k
45780 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 6f w">packed</span>.<span.class="to
457a0 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-kw">struct</span>.{</span>.<sp
457c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 3a 20 3c 73 70 61 an.class="line">....number:.<spa
457e0 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 2c 3c 2f n.class="tok-type">u16</span>,</
45800 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 span>.<span.class="line">};</spa
45820 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
45840 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 44 69 76 69 64 65 64 20 s="tok-kw">const</span>.Divided.
45860 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 2f 73 =.<span.class="tok-kw">packed</s
45880 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 63 74 pan>.<span.class="tok-kw">struct
458a0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
458c0 6e 65 22 3e 20 20 20 20 68 61 6c 66 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ne">....half1:.<span.class="tok-
458e0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c type">u8</span>,</span>.<span.cl
45900 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 71 75 61 72 74 65 72 33 3a 20 3c 73 70 61 6e 20 63 ass="line">....quarter3:.<span.c
45920 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e lass="tok-type">u4</span>,</span
45940 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 71 75 61 72 74 65 72 >.<span.class="line">....quarter
45960 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 2f 73 70 4:.<span.class="tok-type">u4</sp
45980 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d an>,</span>.<span.class="line">}
459a0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
459c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
459e0 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
45a00 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 62 69 74 43 61 73 74 20 62 65 74 ass="tok-str">&quot;@bitCast.bet
45a20 77 65 65 6e 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ween.packed.structs&quot;</span>
45a40 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
45a60 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>
45a80 20 64 6f 54 68 65 54 65 73 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .doTheTest();</span>.<span.class
45aa0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
45ac0 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"
45ae0 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 3c 2f 73 >comptime</span>.doTheTest();</s
45b00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
45b20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
45b40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
45b60 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
45b80 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 6e 20 63 6c 61 n">doTheTest</span>().!<span.cla
45ba0 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 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
45bc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
45be0 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
45c00 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 73 69 7a 65 (<span.class="tok-builtin">@size
45c20 4f 66 3c 2f 73 70 61 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 Of</span>(Full).==.<span.class="
45c40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">2</span>);</span>.<s
45c60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
45c80 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
45ca0 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 73 n.class="tok-builtin">@sizeOf</s
45cc0 70 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 pan>(Divided).==.<span.class="to
45ce0 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">2</span>);</span>.<spa
45d00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
45d20 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 75 6c 6c 20 3d 20 46 75 6c 6c 7b 20 tok-kw">var</span>.full.=.Full{.
45d40 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 6b 2d 6e 75 6d 62 65 .number.=.<span.class="tok-numbe
45d60 72 22 3e 30 78 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e r">0x1234</span>.};</span>.<span
45d80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
45da0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 69 76 69 64 65 64 3a 20 44 69 76 69 64 ok-kw">var</span>.divided:.Divid
45dc0 65 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 ed.=.<span.class="tok-builtin">@
45de0 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 66 75 6c 6c 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 bitCast</span>(full);</span>.<sp
45e00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
45e20 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 69 76 69 64 "tok-kw">try</span>.expect(divid
45e40 65 64 2e 68 61 6c 66 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 ed.half1.==.<span.class="tok-num
45e60 62 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ber">0x34</span>);</span>.<span.
45e80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
45ea0 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.
45ec0 71 75 61 72 74 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 quarter3.==.<span.class="tok-num
45ee0 62 65 72 22 3e 30 78 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">0x2</span>);</span>.<span.c
45f00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
45f20 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 71 -kw">try</span>.expect(divided.q
45f40 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 62 uarter4.==.<span.class="tok-numb
45f60 65 72 22 3e 30 78 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">0x1</span>);</span>.<span.cl
45f80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
45fa0 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">v
45fc0 61 72 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 65 64 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d ar</span>.ordered:.[<span.class=
45fe0 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 61 73 "tok-number">2</span>]<span.clas
46000 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
46020 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 70 61 lass="tok-builtin">@bitCast</spa
46040 6e 3e 28 66 75 6c 6c 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n>(full);</span>.<span.class="li
46060 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">swi
46080 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 29 20 7b 3c 2f 73 70 tch</span>.(native_endian).{</sp
460a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e an>.<span.class="line">.........
460c0 42 69 67 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 Big.=&gt;.{</span>.<span.class="
460e0 6c 69 6e 65 22 3e 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 line">............<span.class="t
46100 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 64 ok-kw">try</span>.expect(ordered
46120 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
46140 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">
46160 30 78 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 0x12</span>);</span>.<span.class
46180 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="line">............<span.class=
461a0 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 6f 72 64 65 72 "tok-kw">try</span>.expect(order
461c0 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 72 22 3e 31 3c 2f 73 ed[<span.class="tok-number">1</s
461e0 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 72 pan>].==.<span.class="tok-number
46200 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">0x34</span>);</span>.<span.cla
46220 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ss="line">........},</span>.<spa
46240 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 4c 69 74 74 6c 65 20 3d n.class="line">.........Little.=
46260 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 &gt;.{</span>.<span.class="line"
46280 3e 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
462a0 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 61 ">try</span>.expect(ordered[<spa
462c0 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>].=
462e0 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 33 34 3c =.<span.class="tok-number">0x34<
46300 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
46320 65 22 3e 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 e">............<span.class="tok-
46340 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 64 5b 3c 73 kw">try</span>.expect(ordered[<s
46360 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>]
46380 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 78 31 .==.<span.class="tok-number">0x1
463a0 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>);</span>.<span.class="l
463c0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ine">........},</span>.<span.cla
463e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ss="line">....}</span>.<span.cla
46400 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
46420 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
46440 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>
46460 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_
46480 70 61 63 6b 65 64 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 packed_structs.zig</kbd>.1/1.tes
464a0 74 2e 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 t.@bitCast.between.packed.struct
464c0 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 61 s....OK.All.1.tests.passed..</sa
464e0 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>....
46500 20 20 20 5a 69 67 20 61 6c 6c 6f 77 73 20 74 68 65 20 61 64 64 72 65 73 73 20 74 6f 20 62 65 20 ...Zig.allows.the.address.to.be.
46520 74 61 6b 65 6e 20 6f 66 20 61 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c taken.of.a.non-byte-aligned.fiel
46540 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 3e 3c 66 69 67 d:.......</p>.......<figure><fig
46560 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
46580 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 ass="file">test_pointer_to_non-b
465a0 79 74 65 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 yte_aligned_field.zig</cite></fi
465c0 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=
465e0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
46600 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 2d t</span>.std.=.<span.class="tok-
46620 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
46640 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 73 ass="tok-str">&quot;std&quot;</s
46660 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
46680 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
466a0 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 3c n>.expect.=.std.testing.expect;<
466c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
466e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
46700 3d 22 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 ="tok-kw">const</span>.BitField.
46720 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 2f 73 =.<span.class="tok-kw">packed</s
46740 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 63 74 pan>.<span.class="tok-kw">struct
46760 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
46780 6e 65 22 3e 20 20 20 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 ne">....a:.<span.class="tok-type
467a0 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">u3</span>,</span>.<span.class=
467c0 22 6c 69 6e 65 22 3e 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 "line">....b:.<span.class="tok-t
467e0 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ype">u3</span>,</span>.<span.cla
46800 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ss="line">....c:.<span.class="to
46820 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 k-type">u2</span>,</span>.<span.
46840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 class="line">};</span>.<span.cla
46860 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
46880 69 6e 65 22 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 73 ine"><span.class="tok-kw">var</s
468a0 70 61 6e 3e 20 66 6f 6f 20 3d 20 42 69 74 46 69 65 6c 64 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 pan>.foo.=.BitField{</span>.<spa
468c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c n.class="line">.....a.=.<span.cl
468e0 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 3c 2f 73 70 61 6e ass="tok-number">1</span>,</span
46900 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 62 20 3d 20 3c 73 >.<span.class="line">.....b.=.<s
46920 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>,
46940 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e </span>.<span.class="line">.....
46960 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 3e 33 3c 2f c.=.<span.class="tok-number">3</
46980 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
469a0 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >};</span>.<span.class="line"></
469c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
469e0 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.
46a00 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 6e 74 65 72 20 74 6f class="tok-str">&quot;pointer.to
46a20 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 .non-byte-aligned.field&quot;</s
46a40 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
46a60 3e 20 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<
46a80 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 66 6f 6f 2e 62 3b 3c 2f 73 70 61 6e 3e 0a /span>.ptr.=.&amp;foo.b;</span>.
46aa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
46ac0 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 74 ss="tok-kw">try</span>.expect(pt
46ae0 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 65 72 22 3e r.*.==.<span.class="tok-number">
46b00 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>);</span>.<span.class="l
46b20 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
46b40 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
46b60 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>
46b80 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
46ba0 65 72 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 er_to_non-byte_aligned_field.zig
46bc0 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 </kbd>.1/1.test.pointer.to.non-b
46be0 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 74 65 yte-aligned.field....OK.All.1.te
46c00 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
46c20 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 65 20 e>.......<p>.......However,.the.
46c40 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 66 69 pointer.to.a.non-byte-aligned.fi
46c60 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 20 63 eld.has.special.properties.and.c
46c80 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 6f 72 annot.......be.passed.when.a.nor
46ca0 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 20 3c mal.pointer.is.expected:.......<
46cc0 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
46ce0 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"
46d00 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 63 69 >test_misaligned_pointer.zig</ci
46d20 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
46d40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
46d60 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
46d80 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>(<
46da0 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
46dc0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
46de0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
46e00 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
46e20 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 xpect;</span>.<span.class="line"
46e40 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
46e60 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 69 n.class="tok-kw">const</span>.Bi
46e80 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 61 tField.=.<span.class="tok-kw">pa
46ea0 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"
46ec0 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >struct</span>.{</span>.<span.cl
46ee0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ass="line">....a:.<span.class="t
46f00 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ok-type">u3</span>,</span>.<span
46f20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 .class="line">....b:.<span.class
46f40 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ="tok-type">u3</span>,</span>.<s
46f60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c pan.class="line">....c:.<span.cl
46f80 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ass="tok-type">u2</span>,</span>
46fa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .<span.class="line">};</span>.<s
46fc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
46fe0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
47000 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 46 69 65 6c 64 >var</span>.bit_field.=.BitField
47020 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
47040 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 72 22 3e 31 3c .a.=.<span.class="tok-number">1<
47060 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
47080 22 3e 20 20 20 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 6d 62 ">.....b.=.<span.class="tok-numb
470a0 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">2</span>,</span>.<span.class
470c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ="line">.....c.=.<span.class="to
470e0 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">3</span>,</span>.<span
47100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .class="line">};</span>.<span.cl
47120 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
47140 6c 69 6e 65 22 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 line"><span.class="tok-kw">test<
47160 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
47180 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 ot;pointer.to.non-bit-aligned.fi
471a0 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 eld&quot;</span>.{</span>.<span.
471c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
471e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 61 72 28 26 61 6d 70 k-kw">try</span>.expect(bar(&amp
47200 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ;bit_field.b).==.<span.class="to
47220 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">2</span>);</span>.<spa
47240 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n.class="line">}</span>.<span.cl
47260 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
47280 6c 69 6e 65 22 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 2f 73 line"><span.class="tok-kw">fn</s
472a0 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
472c0 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 63 6f pan>(x:.*<span.class="tok-kw">co
472e0 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 65 nst</span>.<span.class="tok-type
47300 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 74 79 ">u3</span>).<span.class="tok-ty
47320 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pe">u3</span>.{</span>.<span.cla
47340 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
47360 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 w">return</span>.x.*;</span>.<sp
47380 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
473a0 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
473c0 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
473e0 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
47400 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 7a 69 67 3c 2f 6b 62 .test_misaligned_pointer.zig</kb
47420 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
47440 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 72 2e 7a 69 67 3a 31 mp/test_misaligned_pointer.zig:1
47460 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 22 73 67 72 2d 33 31 7:20:.</span><span.class="sgr-31
47480 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 67 m">error:.</span><span.class="sg
474a0 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 73 74 20 75 33 27 2c r-1m">expected.type.'*const.u3',
474c0 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 0a 3c 2f 73 70 61 6e .found.'*align(1:3:1).u3'.</span
474e0 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 62 69 74 5f 66 69 65 >....try.expect(bar(&amp;bit_fie
47500 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 20 20 20 20 20 20 20 ld.b).==.2);....................
47520 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 7e 7e <span.class="sgr-32m">^~~~~~~~~~
47540 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 22 3e 64 ~~.</span><span.class="sgr-1m">d
47560 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
47580 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=
475a0 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
475c0 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 73 69 7a 65 20 27 31 ss="sgr-1m">pointer.host.size.'1
475e0 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 72 20 68 6f 73 74 20 '.cannot.cast.into.pointer.host.
47600 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 73 73 3d 22 73 67 72 size.'0'.</span><span.class="sgr
47620 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 5f -1m">docgen_tmp/test_misaligned_
47640 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 20 pointer.zig:17:20:.</span><span.
47660 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
47680 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 62 69 74 20 6f 66 an.class="sgr-1m">pointer.bit.of
476a0 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 20 70 6f 69 6e 74 65 fset.'3'.cannot.cast.into.pointe
476c0 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 73 70 61 6e 20 63 6c r.bit.offset.'0'.</span><span.cl
476e0 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 6d 69 73 ass="sgr-1m">docgen_tmp/test_mis
47700 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 3a 20 3c 2f 73 70 61 aligned_pointer.zig:20:11:.</spa
47720 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 2f n><span.class="sgr-36m">note:.</
47740 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 61 72 61 6d 65 span><span.class="sgr-1m">parame
47760 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 73 70 61 6e 3e 66 6e ter.type.declared.here.</span>fn
47780 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 20 20 20 20 20 20 20 .bar(x:.*const.u3).u3.{.........
477a0 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 7e ..<span.class="sgr-32m">^~~~~~~~
477c0 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 3e ~.</span>.</samp></pre></figure>
477e0 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 63 61 73 65 2c 20 74 .......<p>.......In.this.case,.t
47800 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c he.function.<code><span.class="l
47820 69 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 6e 6f 74 20 62 65 ine">bar</span></code>.cannot.be
47840 20 63 61 6c 6c 65 64 20 62 65 63 61 75 73 65 20 74 68 65 20 70 6f 69 6e 74 65 72 0a 20 20 20 20 .called.because.the.pointer.....
47860 20 20 74 6f 20 74 68 65 20 6e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 20 6d ..to.the.non-ABI-aligned.field.m
47880 65 6e 74 69 6f 6e 73 20 74 68 65 20 62 69 74 20 6f 66 66 73 65 74 2c 20 62 75 74 20 74 68 65 20 entions.the.bit.offset,.but.the.
478a0 66 75 6e 63 74 69 6f 6e 20 65 78 70 65 63 74 73 20 61 6e 20 41 42 49 2d 61 6c 69 67 6e 65 64 20 function.expects.an.ABI-aligned.
478c0 70 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 3c 70 3e 0a 20 20 pointer........</p>.......<p>...
478e0 20 20 20 20 50 6f 69 6e 74 65 72 73 20 74 6f 20 6e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 64 20 ....Pointers.to.non-ABI-aligned.
47900 66 69 65 6c 64 73 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 64 64 72 65 73 73 20 61 73 fields.share.the.same.address.as
47920 20 74 68 65 20 6f 74 68 65 72 20 66 69 65 6c 64 73 20 77 69 74 68 69 6e 20 74 68 65 69 72 20 68 .the.other.fields.within.their.h
47940 6f 73 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 ost.integer:.......</p>.......<f
47960 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
47980 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 70 61 63 6b 65 64 "><cite.class="file">test_packed
479a0 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 61 64 64 72 65 73 73 2e 7a 69 67 3c 2f 63 69 74 65 3e _struct_field_address.zig</cite>
479c0 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
479e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
47a00 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="
47a20 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
47a40 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
47a60 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
47a80 69 6e 65 22 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 ine"><span.class="tok-kw">const<
47aa0 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
47ac0 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ct;</span>.<span.class="line"></
47ae0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
47b00 6c 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 69 74 46 69 lass="tok-kw">const</span>.BitFi
47b20 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 61 63 6b 65 eld.=.<span.class="tok-kw">packe
47b40 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 3e 73 74 d</span>.<span.class="tok-kw">st
47b60 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ruct</span>.{</span>.<span.class
47b80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ="line">....a:.<span.class="tok-
47ba0 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c type">u3</span>,</span>.<span.cl
47bc0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ass="line">....b:.<span.class="t
47be0 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ok-type">u3</span>,</span>.<span
47c00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 .class="line">....c:.<span.class
47c20 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ="tok-type">u2</span>,</span>.<s
47c40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan.class="line">};</span>.<span
47c60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
47c80 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 s="line"><span.class="tok-kw">va
47ca0 72 3c 2f 73 70 61 6e 3e 20 62 69 74 5f 66 69 65 6c 64 20 3d 20 42 69 74 46 69 65 6c 64 7b 3c 2f r</span>.bit_field.=.BitField{</
47cc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 20 span>.<span.class="line">.....a.
47ce0 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
47d00 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>,</span>.<span.class="line">.
47d20 20 20 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 6d 62 65 72 22 ....b.=.<span.class="tok-number"
47d40 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >2</span>,</span>.<span.class="l
47d60 69 6e 65 22 3e 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 2d 6e ine">.....c.=.<span.class="tok-n
47d80 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">3</span>,</span>.<span.cl
47da0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">};</span>.<span.class
47dc0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
47de0 65 22 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 e"><span.class="tok-kw">test</sp
47e00 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;
47e20 70 6f 69 6e 74 65 72 73 20 6f 66 20 73 75 62 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 pointers.of.sub-byte-aligned.fie
47e40 6c 64 73 20 73 68 61 72 65 20 61 64 64 72 65 73 73 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e lds.share.addresses&quot;</span>
47e60 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
47e80 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>
47ea0 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 6e .expect(<span.class="tok-builtin
47ec0 22 3e 40 69 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 ">@intFromPtr</span>(&amp;bit_fi
47ee0 65 6c 64 2e 61 29 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 eld.a).==.<span.class="tok-built
47f00 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 70 3b 62 69 74 5f in">@intFromPtr</span>(&amp;bit_
47f20 66 69 65 6c 64 2e 62 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c field.b));</span>.<span.class="l
47f40 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
47f60 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
47f80 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
47fa0 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
47fc0 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>(&
47fe0 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 63 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 amp;bit_field.c));</span>.<span.
48000 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
48020 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
48040 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
48060 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
48080 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 73 73 2e 7a st_packed_struct_field_address.z
480a0 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 73 20 6f 66 20 73 75 ig</kbd>.1/1.test.pointers.of.su
480c0 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
480e0 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..
48100 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>
48120 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
48140 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
48160 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"
48180 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>.......
481a0 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
481c0 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
481e0 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
48200 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="
48220 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
48240 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
48260 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
48280 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
482a0 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
482c0 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
482e0 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 3c 2f >.expect.=.std.testing.expect;</
48300 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
48320 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
48340 22 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 "tok-kw">const</span>.BitField.=
48360 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 2f 73 70 .<span.class="tok-kw">packed</sp
48380 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<
483a0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
483c0 65 22 3e 20 20 20 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 e">....a:.<span.class="tok-type"
483e0 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >u3</span>,</span>.<span.class="
48400 6c 69 6e 65 22 3e 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 line">....b:.<span.class="tok-ty
48420 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 pe">u3</span>,</span>.<span.clas
48440 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b s="line">....c:.<span.class="tok
48460 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 -type">u2</span>,</span>.<span.c
48480 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
484a0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
484c0 6e 65 22 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 ne"><span.class="tok-kw">test</s
484e0 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
48500 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c ;pointer.to.non-bit-aligned.fiel
48520 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d&quot;</span>.{</span>.<span.cl
48540 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
48560 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 kw">comptime</span>.{</span>.<sp
48580 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
485a0 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(<
485c0 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 69 74 4f 66 66 span.class="tok-builtin">@bitOff
485e0 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 6e 20 63 6c 61 setOf</span>(BitField,.<span.cla
48600 73 73 3d 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 ss="tok-str">&quot;a&quot;</span
48620 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 30 >).==.<span.class="tok-number">0
48640 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
48660 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
48680 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="
486a0 74 6f 6b 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 tok-builtin">@bitOffsetOf</span>
486c0 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"
486e0 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.
48700 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 3c 2f 73 class="tok-number">3</span>);</s
48720 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
48740 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>.
48760 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"
48780 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 2c 20 3c >@bitOffsetOf</span>(BitField,.<
487a0 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 71 75 6f span.class="tok-str">&quot;c&quo
487c0 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 2d 6e t;</span>).==.<span.class="tok-n
487e0 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">6</span>);</span>.<span.c
48800 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
48820 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
48840 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
48860 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>
48880 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"
488a0 3e 26 71 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 >&quot;a&quot;</span>).==.<span.
488c0 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 3c 2f 73 class="tok-number">0</span>);</s
488e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
48900 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>.
48920 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"
48940 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 2c 20 3c 73 70 61 >@offsetOf</span>(BitField,.<spa
48960 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 71 75 6f 74 3b 3c n.class="tok-str">&quot;b&quot;<
48980 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
489a0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">0</span>);</span>.<span.clas
489c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f s="line">........<span.class="to
489e0 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
48a00 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 4f 66 3c 2f 73 70 61 ass="tok-builtin">@offsetOf</spa
48a20 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 22 74 6f 6b 2d 73 74 n>(BitField,.<span.class="tok-st
48a40 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 r">&quot;c&quot;</span>).==.<spa
48a60 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 3c n.class="tok-number">0</span>);<
48a80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c /span>.<span.class="line">....}<
48aa0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
48ac0 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 3e n></code></pre></figure><figure>
48ae0 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
48b00 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
48b20 64 3e 7a 69 67 20 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 d>zig.test.test_bitOffsetOf_offs
48b40 65 74 4f 66 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 70 6f 69 6e 74 65 72 20 etOf.zig</kbd>.1/1.test.pointer.
48b60 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 2e 2e 2e 20 4f 4b 0a 41 to.non-bit-aligned.field....OK.A
48b80 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>
48ba0 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 50 61 63 6b 65 64 </figure>.......<p>.......Packed
48bc0 20 73 74 72 75 63 74 73 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 61 6c 69 67 6e 6d 65 6e 74 .structs.have.the.same.alignment
48be0 20 61 73 20 74 68 65 69 72 20 62 61 63 6b 69 6e 67 20 69 6e 74 65 67 65 72 2c 20 68 6f 77 65 76 .as.their.backing.integer,.howev
48c00 65 72 2c 20 6f 76 65 72 61 6c 69 67 6e 65 64 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 er,.overaligned.......pointers.t
48c20 6f 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 o.packed.structs.can.override.th
48c40 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 69 is:.......</p>.......<figure><fi
48c60 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
48c80 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6f 76 65 72 61 6c 69 67 6e 65 64 5f 70 61 63 lass="file">test_overaligned_pac
48ca0 6b 65 64 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 ked_struct.zig</cite></figcaptio
48cc0 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 6c 69 6e 65 22 3e n><pre><code><span.class="line">
48ce0 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
48d00 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
48d20 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
48d40 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 3c k-str">&quot;std&quot;</span>);<
48d60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
48d80 63 6c 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
48da0 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
48dc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
48de0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
48e00 77 22 3e 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 w">const</span>.S.=.<span.class=
48e20 22 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 "tok-kw">packed</span>.<span.cla
48e40 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 3c 2f 73 70 61 ss="tok-kw">struct</span>.{</spa
48e60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 n>.<span.class="line">....a:.<sp
48e80 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 3c an.class="tok-type">u32</span>,<
48ea0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a /span>.<span.class="line">....b:
48ec0 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
48ee0 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b n>,</span>.<span.class="line">};
48f00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
48f20 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
48f40 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 76 65 72 61 6c 69 67 n.class="tok-str">&quot;overalig
48f60 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 26 71 75 6f ned.pointer.to.packed.struct&quo
48f80 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
48fa0 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">v
48fc0 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 53 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ar</span>.foo:.S.<span.class="to
48fe0 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 22 k-kw">align</span>(<span.class="
49000 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3d 20 2e 7b 20 2e 61 20 3d 20 tok-number">4</span>).=..{..a.=.
49020 3c 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
49040 3e 2c 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 6d 62 65 72 22 >,..b.=.<span.class="tok-number"
49060 3e 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >2</span>.};</span>.<span.class=
49080 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
490a0 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 22 const</span>.ptr:.*<span.class="
490c0 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
490e0 3d 22 74 6f 6b 2d 6e 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 ="tok-number">4</span>).S.=.&amp
49100 3b 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ;foo;</span>.<span.class="line">
49120 20 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</
49140 73 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 span>.ptr_to_b:.*<span.class="to
49160 6b 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 k-type">u32</span>.=.&amp;ptr.b;
49180 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
491a0 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
491c0 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 6c 61 73 73 3d xpect(ptr_to_b.*.==.<span.class=
491e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">2</span>);</span>.<
49200 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">}</span></code
49220 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
49240 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
49260 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
49280 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 74 72 75 63 st.test_overaligned_packed_struc
492a0 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6f 76 65 72 61 6c 69 67 6e 65 64 t.zig</kbd>.1/1.test.overaligned
492c0 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 4f 4b 0a .pointer.to.packed.struct....OK.
492e0 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
49300 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 27 73 20 ></figure>.......<p>.......It's.
49320 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 74 20 6f also.possible.to.set.alignment.o
49340 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 20 20 20 f.struct.fields:.......</p>.....
49360 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
49380 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 6c -cap"><cite.class="file">test_al
493a0 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 3e 3c 2f igned_struct_fields.zig</cite></
493c0 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
493e0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
49400 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
49420 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.
49440 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;<
49460 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
49480 65 22 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 e"><span.class="tok-kw">const</s
494a0 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 pan>.expectEqual.=.std.testing.e
494c0 78 70 65 63 74 45 71 75 61 6c 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 xpectEqual;</span>.<span.class="
494e0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
49500 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
49520 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 61 6c >.<span.class="tok-str">&quot;al
49540 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 6e 3e igned.struct.fields&quot;</span>
49560 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
49580 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
495a0 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 73 74 72 75 n>.S.=.<span.class="tok-kw">stru
495c0 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ct</span>.{</span>.<span.class="
495e0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f line">........a:.<span.class="to
49600 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 22 k-type">u32</span>.<span.class="
49620 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
49640 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a ="tok-number">2</span>),</span>.
49660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 3a 20 3c 73 <span.class="line">........b:.<s
49680 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>.
496a0 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
496c0 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 36 34 3c 2f 73 >(<span.class="tok-number">64</s
496e0 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>),</span>.<span.class="line"
49700 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >....};</span>.<span.class="line
49720 22 3e 20 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</
49740 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=
49760 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
49780 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>.};
497a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
497c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
497e0 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
49800 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 3e 36 Equal(<span.class="tok-number">6
49820 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 62 75 69 6c 74 4</span>,.<span.class="tok-built
49840 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 53 29 29 3b 3c 2f 73 70 61 6e 3e 0a in">@alignOf</span>(S));</span>.
49860 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
49880 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 71 75 ss="tok-kw">try</span>.expectEqu
498a0 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 3c 2f al(*<span.class="tok-kw">align</
498c0 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 32 span>(<span.class="tok-number">2
498e0 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">
49900 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 75 69 u32</span>,.<span.class="tok-bui
49920 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 2e 61 29 ltin">@TypeOf</span>(&amp;foo.a)
49940 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
49960 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>
49980 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .expectEqual(*<span.class="tok-k
499a0 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 6b w">align</span>(<span.class="tok
499c0 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -number">64</span>).<span.class=
499e0 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 70 61 6e 20 63 6c 61 "tok-type">u32</span>,.<span.cla
49a00 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>(
49a20 26 61 6d 70 3b 66 6f 6f 2e 62 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 &amp;foo.b));</span>.<span.class
49a40 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
49a60 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=
49a80 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
49aa0 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 61 6c re><samp>$.<kbd>zig.test.test_al
49ac0 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 6b 62 64 3e 0a 31 2f igned_struct_fields.zig</kbd>.1/
49ae0 31 20 74 65 73 74 2e 61 6c 69 67 6e 65 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 2e 2e 2e 20 1.test.aligned.struct.fields....
49b00 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></
49b20 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 73 pre></figure>.......<p>.......Us
49b40 69 6e 67 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d ing.packed.structs.with.<a.href=
49b60 22 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e 20 69 73 20 70 72 6f 62 "#volatile">volatile</a>.is.prob
49b80 6c 65 6d 61 74 69 63 2c 20 61 6e 64 20 6d 61 79 20 62 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 lematic,.and.may.be.a.compile.er
49ba0 72 6f 72 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 0a 20 20 20 20 20 20 46 6f 72 20 64 65 74 ror.in.the.future........For.det
49bc0 61 69 6c 73 20 6f 6e 20 74 68 69 73 20 73 75 62 73 63 72 69 62 65 20 74 6f 0a 20 20 20 20 20 20 ails.on.this.subscribe.to.......
49be0 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 69 67 6c <a.href="https://github.com/zigl
49c00 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 37 36 31 22 3e 74 68 69 73 20 69 73 73 75 65 3c ang/zig/issues/1761">this.issue<
49c20 2f 61 3e 2e 0a 20 20 20 20 20 20 54 4f 44 4f 20 75 70 64 61 74 65 20 74 68 65 73 65 20 64 6f 63 /a>........TODO.update.these.doc
49c40 73 20 77 69 74 68 20 61 20 72 65 63 6f 6d 6d 65 6e 64 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 s.with.a.recommendation.on.how.t
49c60 6f 20 75 73 65 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 77 69 74 68 20 4d 4d 49 4f 0a 20 o.use.packed.structs.with.MMIO..
49c80 20 20 20 20 20 28 74 68 65 20 75 73 65 20 63 61 73 65 20 66 6f 72 20 76 6f 6c 61 74 69 6c 65 20 .....(the.use.case.for.volatile.
49ca0 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 29 20 6f 6e 63 65 20 74 68 69 73 20 69 73 73 75 65 20 packed.structs).once.this.issue.
49cc0 69 73 20 72 65 73 6f 6c 76 65 64 2e 0a 20 20 20 20 20 20 44 6f 6e 27 74 20 77 6f 72 72 79 2c 20 is.resolved........Don't.worry,.
49ce0 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20 61 20 67 6f 6f 64 20 73 6f 6c 75 74 69 6f 6e 20 66 6f there.will.be.a.good.solution.fo
49d00 72 20 74 68 69 73 20 75 73 65 20 63 61 73 65 20 69 6e 20 7a 69 67 2e 0a 20 20 20 20 20 20 3c 2f r.this.use.case.in.zig........</
49d20 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 53 74 72 75 63 74 2d p>...............<h3.id="Struct-
49d40 4e 61 6d 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 74 72 75 63 74 2d 4e 61 6d Naming"><a.href="#toc-Struct-Nam
49d60 69 6e 67 22 3e 53 74 72 75 63 74 20 4e 61 6d 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ing">Struct.Naming</a>.<a.class=
49d80 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e c2 a7 3c 2f "hdr".href="#Struct-Naming">..</
49da0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 69 6e 63 65 20 61 6c 6c 20 73 74 72 75 a></h3>........<p>Since.all.stru
49dc0 63 74 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75 73 2c 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 cts.are.anonymous,.Zig.infers.th
49de0 65 20 74 79 70 65 20 6e 61 6d 65 20 62 61 73 65 64 20 6f 6e 20 61 20 66 65 77 20 72 75 6c 65 73 e.type.name.based.on.a.few.rules
49e00 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 49 .</p>.......<ul>...........<li>I
49e20 66 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a f.the.struct.is.in.the.initializ
49e40 61 74 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 2c 20 ation.expression.of.a.variable,.
49e60 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 20 20 20 20 74 68 it.gets.named.after...........th
49e80 61 74 20 76 61 72 69 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e at.variable.</li>...........<li>
49ea0 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 If.the.struct.is.in.the.<code><s
49ec0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
49ee0 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-kw">return</span></span></code
49f00 3e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 61 66 74 65 >.expression,.it.gets.named.afte
49f20 72 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 74 20 69 73 20 72 r...........the.function.it.is.r
49f40 65 74 75 72 6e 69 6e 67 20 66 72 6f 6d 2c 20 77 69 74 68 20 74 68 65 20 70 61 72 61 6d 65 74 65 eturning.from,.with.the.paramete
49f60 72 20 76 61 6c 75 65 73 20 73 65 72 69 61 6c 69 7a 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 r.values.serialized.</li>.......
49f80 20 20 20 20 3c 6c 69 3e 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 73 74 72 75 63 74 20 67 65 ....<li>Otherwise,.the.struct.ge
49fa0 74 73 20 61 20 6e 61 6d 65 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 28 66 69 6c 65 6e 61 6d ts.a.name.such.as.<code>(filenam
49fc0 65 2e 66 75 6e 63 6e 61 6d 65 2e 5f 5f 73 74 72 75 63 74 5f 49 44 29 3c 2f 63 6f 64 65 3e 2e 3c e.funcname.__struct_ID)</code>.<
49fe0 2f 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 /li>...........<li>If.the.struct
4a000 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 73 69 64 65 20 61 6e 6f 74 68 65 72 20 73 74 72 75 .is.declared.inside.another.stru
4a020 63 74 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 61 66 74 65 72 20 62 6f 74 68 20 74 68 65 ct,.it.gets.named.after.both.the
4a040 20 70 61 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 61 6e 64 20 74 68 65 .parent...........struct.and.the
4a060 20 6e 61 6d 65 20 69 6e 66 65 72 72 65 64 20 62 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 72 .name.inferred.by.the.previous.r
4a080 75 6c 65 73 2c 20 73 65 70 61 72 61 74 65 64 20 62 79 20 61 20 64 6f 74 2e 3c 2f 6c 69 3e 0a 20 ules,.separated.by.a.dot.</li>..
4a0a0 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 69 67 63 61 70 .....</ul>.......<figure><figcap
4a0c0 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
4a0e0 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 5f 6e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f ="file">struct_name.zig</cite></
4a100 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
4a120 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
4a140 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
4a160 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.
4a180 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;<
4a1a0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
4a1c0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
4a1e0 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
4a200 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
4a220 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>().
4a240 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
4a260 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
4a280 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
4a2a0 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">
4a2c0 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 struct</span>.{};</span>.<span.c
4a2e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 lass="line">....std.debug.print(
4a300 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 69 <span.class="tok-str">&quot;vari
4a320 61 62 6c 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 able:.{s}\n&quot;</span>,..{<spa
4a340 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<
4a360 2f 73 70 61 6e 3e 28 46 6f 6f 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 /span>(Foo)});</span>.<span.clas
4a380 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 s="line">....std.debug.print(<sp
4a3a0 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
4a3c0 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 61 6e 20 us:.{s}\n&quot;</span>,..{<span.
4a3e0 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 2f 73 class="tok-builtin">@typeName</s
4a400 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 75 63 74 pan>(<span.class="tok-kw">struct
4a420 3c 2f 73 70 61 6e 3e 20 7b 7d 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 </span>.{})});</span>.<span.clas
4a440 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 s="line">....std.debug.print(<sp
4a460 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 75 6e 63 74 69 6f an.class="tok-str">&quot;functio
4a480 6e 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 n:.{s}\n&quot;</span>,..{<span.c
4a4a0 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
4a4c0 61 6e 3e 28 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 an>(List(<span.class="tok-type">
4a4e0 69 33 32 3c 2f 73 70 61 6e 3e 29 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 i32</span>))});</span>.<span.cla
4a500 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
4a520 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
4a540 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 2f 73 70 61 6e 3e 20 ><span.class="tok-kw">fn</span>.
4a560 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 3c 2f 73 70 61 6e 3e <span.class="tok-fn">List</span>
4a580 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</
4a5a0 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 79 70 65 22 3e span>.T:.<span.class="tok-type">
4a5c0 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 74 79 type</span>).<span.class="tok-ty
4a5e0 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pe">type</span>.{</span>.<span.c
4a600 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
4a620 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="
4a640 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-kw">struct</span>.{</span>.<
4a660 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 78 3a 20 54 2c 3c span.class="line">........x:.T,<
4a680 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b /span>.<span.class="line">....};
4a6a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
4a6c0 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
4a6e0 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
4a700 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
4a720 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 7a 69 67 bd>zig.build-exe.struct_name.zig
4a740 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 73 74 72 75 63 74 5f 6e 61 6d 65 3c 2f 6b 62 64 </kbd>.$.<kbd>./struct_name</kbd
4a760 3e 0a 76 61 72 69 61 62 6c 65 3a 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 6d 61 69 6e 2e 46 6f 6f >.variable:.struct_name.main.Foo
4a780 0a 61 6e 6f 6e 79 6d 6f 75 73 3a 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 6d 61 69 6e 5f 5f 73 74 .anonymous:.struct_name.main__st
4a7a0 72 75 63 74 5f 33 35 30 39 0a 66 75 6e 63 74 69 6f 6e 3a 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e ruct_3509.function:.struct_name.
4a7c0 4c 69 73 74 28 69 33 32 29 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e List(i32).</samp></pre></figure>
4a7e0 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 6f 6e 79 6d 6f 75 73 ...............<h3.id="Anonymous
4a800 2d 53 74 72 75 63 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 -Struct-Literals"><a.href="#toc-
4a820 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 41 6e 6f 6e 79 Anonymous-Struct-Literals">Anony
4a840 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 mous.Struct.Literals</a>.<a.clas
4a860 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 53 74 72 75 63 74 2d s="hdr".href="#Anonymous-Struct-
4a880 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 70 3e Literals">..</a></h3>........<p>
4a8a0 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f 77 73 20 6f 6d 69 74 74 69 6e 67 20 74 68 65 20 73 .......Zig.allows.omitting.the.s
4a8c0 74 72 75 63 74 20 74 79 70 65 20 6f 66 20 61 20 6c 69 74 65 72 61 6c 2e 20 57 68 65 6e 20 74 68 truct.type.of.a.literal..When.th
4a8e0 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 e.result.is.<a.href="#Type-Coerc
4a900 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 75 ion">coerced</a>,.......the.stru
4a920 63 74 20 6c 69 74 65 72 61 6c 20 77 69 6c 6c 20 64 69 72 65 63 74 6c 79 20 69 6e 73 74 61 6e 74 ct.literal.will.directly.instant
4a940 69 61 74 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 iate.the.<a.href="#Result-Locati
4a960 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 3c 2f 61 on-Semantics">result.location</a
4a980 3e 2c 0a 20 20 20 20 20 20 77 69 74 68 20 6e 6f 20 63 6f 70 79 3a 0a 20 20 20 20 20 20 3c 2f 70 >,.......with.no.copy:.......</p
4a9a0 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
4a9c0 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
4a9e0 65 73 74 5f 73 74 72 75 63 74 5f 72 65 73 75 6c 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 est_struct_result.zig</cite></fi
4aa00 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=
4aa20 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
4aa40 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 2d t</span>.std.=.<span.class="tok-
4aa60 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
4aa80 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 73 ass="tok-str">&quot;std&quot;</s
4aaa0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
4aac0 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
4aae0 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 3c n>.expect.=.std.testing.expect;<
4ab00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
4ab20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
4ab40 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 69 6e 74 20 3d 20 3c ="tok-kw">const</span>.Point.=.<
4ab60 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 6e span.class="tok-kw">struct</span
4ab80 3e 20 7b 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 >.{x:.<span.class="tok-type">i32
4aba0 3c 2f 73 70 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 </span>,.y:.<span.class="tok-typ
4abc0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">i32</span>};</span>.<span.cla
4abe0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
4ac00 69 6e 65 22 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 ine"><span.class="tok-kw">test</
4ac20 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
4ac40 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 26 71 75 6f 74 3b t;anonymous.struct.literal&quot;
4ac60 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
4ac80 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">var
4aca0 3c 2f 73 70 61 6e 3e 20 70 74 3a 20 50 6f 69 6e 74 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 </span>.pt:.Point.=..{</span>.<s
4acc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 pan.class="line">.........x.=.<s
4ace0 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 3e pan.class="tok-number">13</span>
4ad00 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
4ad20 20 20 20 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 62 65 72 .....y.=.<span.class="tok-number
4ad40 22 3e 36 37 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">67</span>,</span>.<span.class=
4ad60 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">....};</span>.<span.class
4ad80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
4ada0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 2e 78 20 3d 3d 20 3c 73 70 61 6e >try</span>.expect(pt.x.==.<span
4adc0 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 3e 29 3b 3c .class="tok-number">13</span>);<
4ade0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
4ae00 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
4ae20 70 65 63 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 pect(pt.y.==.<span.class="tok-nu
4ae40 6d 62 65 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">67</span>);</span>.<span.c
4ae60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
4ae80 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
4aea0 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
4aec0 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
4aee0 74 5f 73 74 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 t_struct_result.zig</kbd>.1/1.te
4af00 73 74 2e 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 2e 2e 2e 20 4f st.anonymous.struct.literal....O
4af20 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 70 K.All.1.tests.passed..</samp></p
4af40 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 65 re></figure>.......<p>.......The
4af60 20 73 74 72 75 63 74 20 74 79 70 65 20 63 61 6e 20 62 65 20 69 6e 66 65 72 72 65 64 2e 20 48 65 .struct.type.can.be.inferred..He
4af80 72 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e re.the.<a.href="#Result-Location
4afa0 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 3c 2f 61 3e 0a -Semantics">result.location</a>.
4afc0 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 20 74 79 70 65 2c 20 61 ......does.not.include.a.type,.a
4afe0 6e 64 20 73 6f 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 20 nd.so.Zig.infers.the.type:......
4b000 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.
4b020 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
4b040 65 22 3e 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f 75 73 5f 73 74 72 75 63 74 2e 7a 69 67 3c 2f 63 69 e">test_anonymous_struct.zig</ci
4b060 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
4b080 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
4b0a0 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
4b0c0 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>(<
4b0e0 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
4b100 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
4b120 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
4b140 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
4b160 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 xpect;</span>.<span.class="line"
4b180 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
4b1a0 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
4b1c0 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 75 6c 6c 79 20 61 an.class="tok-str">&quot;fully.a
4b1e0 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f nonymous.struct&quot;</span>.{</
4b200 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
4b220 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 64 75 6d an.class="tok-kw">try</span>.dum
4b240 70 28 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 p(.{</span>.<span.class="line">.
4b260 20 20 20 20 20 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 ........int.=.<span.class="tok-b
4b280 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="
4b2a0 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
4b2c0 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 2c 3c 2f 73 70 s="tok-number">1234</span>),</sp
4b2e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e an>.<span.class="line">.........
4b300 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 6e float.=.<span.class="tok-builtin
4b320 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
4b340 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 6b pe">f64</span>,.<span.class="tok
4b360 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c -number">12.34</span>),</span>.<
4b380 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 62 20 3d 20 3c span.class="line">.........b.=.<
4b3a0 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
4b3c0 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >,</span>.<span.class="line">...
4b3e0 20 20 20 20 20 2e 73 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 ......s.=.<span.class="tok-str">
4b400 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 &quot;hi&quot;</span>,</span>.<s
4b420 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a pan.class="line">....});</span>.
4b440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
4b460 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
4b480 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
4b4a0 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 75 n</span>.<span.class="tok-fn">du
4b4c0 6d 70 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mp</span>(args:.<span.class="tok
4b4e0 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
4b500 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 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
4b520 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
4b540 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(
4b560 61 72 67 73 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 6e 75 6d args.int.==.<span.class="tok-num
4b580 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ber">1234</span>);</span>.<span.
4b5a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
4b5c0 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 66 6c 6f k-kw">try</span>.expect(args.flo
4b5e0 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 72 22 3e 31 at.==.<span.class="tok-number">1
4b600 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 2.34</span>);</span>.<span.class
4b620 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
4b640 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 62 29 3b 3c 2f 73 70 61 >try</span>.expect(args.b);</spa
4b660 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
4b680 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
4b6a0 28 61 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 (args.s[<span.class="tok-number"
4b6c0 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 6f 6b 2d 73 >0</span>].==.<span.class="tok-s
4b6e0 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c tr">'h'</span>);</span>.<span.cl
4b700 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
4b720 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 5b 3c 73 70 kw">try</span>.expect(args.s[<sp
4b740 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>].
4b760 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 3c 2f 73 70 ==.<span.class="tok-str">'i'</sp
4b780 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
4b7a0 7d 3c 2f 73 70 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 }</span></code></pre></figure><f
4b7c0 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
4b7e0 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
4b800 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 75 73 5f >$.<kbd>zig.test.test_anonymous_
4b820 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 2e 66 75 6c 6c 79 20 struct.zig</kbd>.1/1.test.fully.
4b840 61 6e 6f 6e 79 6d 6f 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 anonymous.struct....OK.All.1.tes
4b860 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
4b880 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 75 70 6c 65 73 22 3e >...............<h3.id="Tuples">
4b8a0 3c 61 20 68 72 65 66 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 <a.href="#toc-Tuples">Tuples</a>
4b8c0 20 3c 61 20 63 6c 61 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 .<a.class="hdr".href="#Tuples">.
4b8e0 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 6e 6f 6e .</a></h3>........<p>.......Anon
4b900 79 6d 6f 75 73 20 73 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 ymous.structs.can.be.created.wit
4b920 68 6f 75 74 20 73 70 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 hout.specifying.field.names,.and
4b940 20 61 72 65 20 72 65 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 .are.referred.to.as."tuples"....
4b960 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 66 69 65 ....</p>.......<p>.......The.fie
4b980 6c 64 73 20 61 72 65 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 lds.are.implicitly.named.using.n
4b9a0 75 6d 62 65 72 73 20 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 umbers.starting.from.0..Because.
4b9c0 74 68 65 69 72 20 6e 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 their.names.are.integers,.......
4b9e0 74 68 65 79 20 63 61 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 they.cannot.be.accessed.with.<co
4ba00 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">.</span></
4ba20 63 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 code>.syntax.without.also.wrappi
4ba40 6e 67 20 74 68 65 6d 20 69 6e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ng.them.in.......<code><span.cla
4ba60 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f ss="line">@&quot;&quot;</span></
4ba80 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 3c 73 70 61 6e 20 code>..Names.inside.<code><span.
4baa0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e class="line">@&quot;&quot;</span
4bac0 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 61 6c 77 61 79 73 20 72 65 63 6f 67 6e 69 73 65 64 20 61 ></code>.are.always.recognised.a
4bae0 73 0a 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 s.......<a.href="#Identifiers">i
4bb00 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 dentifiers</a>........</p>......
4bb20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 69 6b 65 20 61 72 72 61 79 73 2c 20 74 75 70 6c 65 73 20 68 .<p>.......Like.arrays,.tuples.h
4bb40 61 76 65 20 61 20 2e 6c 65 6e 20 66 69 65 6c 64 2c 20 63 61 6e 20 62 65 20 69 6e 64 65 78 65 64 ave.a..len.field,.can.be.indexed
4bb60 20 28 70 72 6f 76 69 64 65 64 20 74 68 65 20 69 6e 64 65 78 20 69 73 20 63 6f 6d 70 74 69 6d 65 .(provided.the.index.is.comptime
4bb80 2d 6b 6e 6f 77 6e 29 0a 20 20 20 20 20 20 61 6e 64 20 77 6f 72 6b 20 77 69 74 68 20 74 68 65 20 -known).......and.work.with.the.
4bba0 2b 2b 20 61 6e 64 20 2a 2a 20 6f 70 65 72 61 74 6f 72 73 2e 20 54 68 65 79 20 63 61 6e 20 61 6c ++.and.**.operators..They.can.al
4bbc0 73 6f 20 62 65 20 69 74 65 72 61 74 65 64 20 6f 76 65 72 20 77 69 74 68 20 3c 61 20 68 72 65 66 so.be.iterated.over.with.<a.href
4bbe0 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 2e 0a 20 ="#inline-for">inline.for</a>...
4bc00 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
4bc20 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=
4bc40 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 75 70 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 "file">test_tuples.zig</cite></f
4bc60 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
4bc80 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
4bca0 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
4bcc0 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
4bce0 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;</
4bd00 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
4bd20 22 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 "><span.class="tok-kw">const</sp
4bd40 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 3b an>.expect.=.std.testing.expect;
4bd60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
4bd80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
4bda0 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
4bdc0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 75 70 6c 65 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;tuple&quot;</
4bde0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
4be00 22 3e 20 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
4be20 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 73 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e </span>.values.=..{</span>.<span
4be40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
4be60 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
4be80 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
4bea0 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
4bec0 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>),</span>.<span.class="line">.
4bee0 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 22 .......<span.class="tok-builtin"
4bf00 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 70 >@as</span>(<span.class="tok-typ
4bf20 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 6b 2d e">f64</span>,.<span.class="tok-
4bf40 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 number">12.34</span>),</span>.<s
4bf60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
4bf80 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 3c 2f 73 70 lass="tok-null">true</span>,</sp
4bfa0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
4bfc0 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 71 75 span.class="tok-str">&quot;hi&qu
4bfe0 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ot;</span>,</span>.<span.class="
4c000 6c 69 6e 65 22 3e 20 20 20 20 7d 20 2b 2b 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f line">....}.++..{<span.class="to
4c020 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 k-null">false</span>}.**.<span.c
4c040 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 3c 2f 73 70 61 lass="tok-number">2</span>;</spa
4c060 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
4c080 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
4c0a0 28 76 61 6c 75 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 (values[<span.class="tok-number"
4c0c0 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 6f 6b 2d 6e >0</span>].==.<span.class="tok-n
4c0e0 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 umber">1234</span>);</span>.<spa
4c100 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
4c120 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 65 73 tok-kw">try</span>.expect(values
4c140 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 34 3c 2f 73 70 61 [<span.class="tok-number">4</spa
4c160 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 6c 6c 22 3e 66 61 n>].==.<span.class="tok-null">fa
4c180 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lse</span>);</span>.<span.class=
4c1a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
4c1c0 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
4c1e0 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
4c200 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,.
4c220 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 i|.{</span>.<span.class="line">.
4c240 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</
4c260 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 6f 6b 2d 6e 75 6d span>.(i.!=.<span.class="tok-num
4c280 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-
4c2a0 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 kw">continue</span>;</span>.<spa
4c2c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
4c2e0 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 29 ss="tok-kw">try</span>.expect(v)
4c300 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
4c320 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 }</span>.<span.class="line">....
4c340 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>.
4c360 65 78 70 65 63 74 28 76 61 6c 75 65 73 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 expect(values.len.==.<span.class
4c380 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">6</span>);</span>.
4c3a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
4c3c0 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 61 ss="tok-kw">try</span>.expect(va
4c3e0 6c 75 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 lues.@&quot;3&quot;[<span.class=
4c400 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 20 "tok-number">0</span>].==.<span.
4c420 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 29 3b 3c 2f 73 70 class="tok-str">'h'</span>);</sp
4c440 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
4c460 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
4c480 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
4c4a0 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
4c4c0 69 67 20 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 ig.test.test_tuples.zig</kbd>.1/
4c4e0 31 20 74 65 73 74 2e 74 75 70 6c 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 1.test.tuple....OK.All.1.tests.p
4c500 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>...
4c520 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 0a ...........<p>See.also:</p><ul>.
4c540 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 6d 65 <li><a.href="#comptime">comptime
4c560 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 69 65 6c 64 50 61 72 </a></li>.<li><a.href="#fieldPar
4c580 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 3e 3c 2f 6c 69 3e entPtr">@fieldParentPtr</a></li>
4c5a0 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 65 6e 75 .</ul>...............<h2.id="enu
4c5c0 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 m"><a.href="#toc-enum">enum</a>.
4c5e0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e c2 a7 3c 2f <a.class="hdr".href="#enum">..</
4c600 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 69 a></h2>........<figure><figcapti
4c620 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="
4c640 66 69 6c 65 22 3e 74 65 73 74 5f 65 6e 75 6d 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 file">test_enums.zig</cite></fig
4c660 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="
4c680 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
4c6a0 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 6f </span>.expect.=.<span.class="to
4c6c0 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.
4c6e0 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;<
4c700 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c /span>).testing.expect;</span>.<
4c720 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
4c740 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 73 70 61 6e 20 ok-kw">const</span>.mem.=.<span.
4c760 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
4c780 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
4c7a0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 td&quot;</span>).mem;</span>.<sp
4c7c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
4c7e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ass="line"><span.class="tok-comm
4c800 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c ent">//.Declare.an.enum.</span><
4c820 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
4c840 63 6c 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 79 70 65 class="tok-kw">const</span>.Type
4c860 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
4c880 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
4c8a0 20 20 20 20 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....ok,</span>.<span.class="line
4c8c0 22 3e 20 20 20 20 6e 6f 74 5f 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">....not_ok,</span>.<span.class
4c8e0 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ="line">};</span>.<span.class="l
4c900 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
4c920 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 44 65 63 <span.class="tok-comment">//.Dec
4c940 6c 61 72 65 20 61 20 73 70 65 63 69 66 69 63 20 65 6e 75 6d 20 66 69 65 6c 64 2e 3c 2f 73 70 61 lare.a.specific.enum.field.</spa
4c960 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
4c980 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
4c9a0 20 3d 20 54 79 70 65 2e 6f 6b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .=.Type.ok;</span>.<span.class="
4c9c0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
4c9e0 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 20 49 66 ><span.class="tok-comment">//.If
4ca00 20 79 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 .you.want.access.to.the.ordinal.
4ca20 76 61 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 3c 2f 73 70 value.of.an.enum,.you</span></sp
4ca40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
4ca60 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 69 66 79 20 ss="tok-comment">//.can.specify.
4ca80 74 68 65 20 74 61 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 the.tag.type.</span></span>.<spa
4caa0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
4cac0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 kw">const</span>.Value.=.<span.c
4cae0 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 70 61 6e 20 lass="tok-kw">enum</span>(<span.
4cb00 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 20 7b 3c 2f 73 class="tok-type">u2</span>).{</s
4cb20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7a 65 72 6f pan>.<span.class="line">....zero
4cb40 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
4cb60 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 one,</span>.<span.class="line">.
4cb80 20 20 20 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ...two,</span>.<span.class="line
4cba0 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ">};</span>.<span.class="line"><
4cbc0 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 6f 77 20 span.class="tok-comment">//.Now.
4cbe0 79 6f 75 20 63 61 6e 20 63 61 73 74 20 62 65 74 77 65 65 6e 20 75 32 20 61 6e 64 20 56 61 6c 75 you.can.cast.between.u2.and.Valu
4cc00 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.</span></span>.<span.class="li
4cc20 6e 65 22 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 ne"><span.class="tok-comment">//
4cc40 20 54 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 73 74 61 72 74 73 20 66 72 6f 6d 20 30 .The.ordinal.value.starts.from.0
4cc60 2c 20 63 6f 75 6e 74 69 6e 67 20 75 70 20 62 79 20 31 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 ,.counting.up.by.1.from.the.prev
4cc80 69 6f 75 73 20 6d 65 6d 62 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ious.member.</span></span>.<span
4cca0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
4ccc0 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-
4cce0 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 str">&quot;enum.ordinal.value&qu
4cd00 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
4cd20 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
4cd40 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
4cd60 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 70 61 6e 3e 28 ok-builtin">@intFromEnum</span>(
4cd80 56 61 6c 75 65 2e 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 Value.zero).==.<span.class="tok-
4cda0 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">0</span>);</span>.<span.
4cdc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
4cde0 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
4ce00 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</
4ce20 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=
4ce40 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">1</span>);</span>.<
4ce60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
4ce80 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
4cea0 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 6f 6d 45 an.class="tok-builtin">@intFromE
4cec0 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 73 70 61 6e 20 63 num</span>(Value.two).==.<span.c
4cee0 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 3c 2f 73 70 lass="tok-number">2</span>);</sp
4cf00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
4cf20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
4cf40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .class="line"><span.class="tok-c
4cf60 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 omment">//.You.can.override.the.
4cf80 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e ordinal.value.for.an.enum.</span
4cfa0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
4cfc0 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
4cfe0 6c 75 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 lue2.=.<span.class="tok-kw">enum
4d000 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 75 </span>(<span.class="tok-type">u
4d020 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 32</span>).{</span>.<span.class=
4d040 22 6c 69 6e 65 22 3e 20 20 20 20 68 75 6e 64 72 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 "line">....hundred.=.<span.class
4d060 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 3c 2f 73 70 61 6e 3e ="tok-number">100</span>,</span>
4d080 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 6f 75 73 61 6e 64 .<span.class="line">....thousand
4d0a0 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 30 30 .=.<span.class="tok-number">1000
4d0c0 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
4d0e0 65 22 3e 20 20 20 20 6d 69 6c 6c 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e">....million.=.<span.class="to
4d100 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 30 30 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e k-number">1000000</span>,</span>
4d120 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .<span.class="line">};</span>.<s
4d140 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
4d160 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
4d180 6f 6b 2d 73 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 ok-str">&quot;set.enum.ordinal.v
4d1a0 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e alue&quot;</span>.{</span>.<span
4d1c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
4d1e0 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
4d200 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<
4d220 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 6e 20 /span>(Value2.hundred).==.<span.
4d240 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 3b 3c class="tok-number">100</span>);<
4d260 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
4d280 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
4d2a0 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">@
4d2c0 69 6e 74 46 72 6f 6d 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 74 68 6f 75 73 61 intFromEnum</span>(Value2.thousa
4d2e0 6e 64 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 nd).==.<span.class="tok-number">
4d300 31 30 30 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 1000</span>);</span>.<span.class
4d320 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
4d340 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="
4d360 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 70 61 6e 3e tok-builtin">@intFromEnum</span>
4d380 28 56 61 6c 75 65 32 2e 6d 69 6c 6c 69 6f 6e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d (Value2.million).==.<span.class=
4d3a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 30 30 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 "tok-number">1000000</span>);</s
4d3c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
4d3e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
4d400 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
4d420 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
4d440 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 3c 2f 73 70 61 6e e.only.some.values.</span></span
4d460 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
4d480 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 33 20 3d 20 ="tok-kw">const</span>.Value3.=.
4d4a0 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>
4d4c0 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 3c 2f 73 70 61 6e (<span.class="tok-type">u4</span
4d4e0 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >).{</span>.<span.class="line">.
4d500 20 20 20 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...a,</span>.<span.class="line">
4d520 20 20 20 20 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 ....b.=.<span.class="tok-number"
4d540 3e 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >8</span>,</span>.<span.class="l
4d560 69 6e 65 22 3e 20 20 20 20 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">....c,</span>.<span.class="
4d580 6c 69 6e 65 22 3e 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 line">....d.=.<span.class="tok-n
4d5a0 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">4</span>,</span>.<span.cl
4d5c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....e,</span>.<span.c
4d5e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
4d600 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
4d620 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">
4d640 26 71 75 6f 74 3b 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 &quot;enum.implicit.ordinal.valu
4d660 65 73 20 61 6e 64 20 6f 76 65 72 72 69 64 64 65 6e 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f es.and.overridden.values&quot;</
4d680 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
4d6a0 22 3e 20 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</
4d6c0 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
4d6e0 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
4d700 33 2e 61 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.a).==.<span.class="tok-number"
4d720 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >0</span>);</span>.<span.class="
4d740 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
4d760 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
4d780 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 70 61 6e 3e 28 56 k-builtin">@intFromEnum</span>(V
4d7a0 61 6c 75 65 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 alue3.b).==.<span.class="tok-num
4d7c0 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">8</span>);</span>.<span.cla
4d7e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
4d800 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
4d820 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 70 61 ="tok-builtin">@intFromEnum</spa
4d840 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 6f 6b n>(Value3.c).==.<span.class="tok
4d860 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">9</span>);</span>.<span
4d880 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
4d8a0 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
4d8c0 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<
4d8e0 2f 73 70 61 6e 3e 28 56 61 6c 75 65 33 2e 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>(Value3.d).==.<span.class=
4d900 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">4</span>);</span>.<
4d920 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
4d940 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
4d960 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 6f 6d 45 an.class="tok-builtin">@intFromE
4d980 6e 75 6d 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 33 2e 65 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c num</span>(Value3.e).==.<span.cl
4d9a0 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 3c 2f 73 70 61 ass="tok-number">5</span>);</spa
4d9c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c n>.<span.class="line">}</span>.<
4d9e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
4da00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f class="line"><span.class="tok-co
4da20 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
4da40 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
4da60 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
4da80 65 22 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 20 e"><span.class="tok-comment">//.
4daa0 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 61 6c 2c 20 74 68 Enum.methods.are.not.special,.th
4dac0 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 61 6e 3e 3c 2f 73 ey.are.only.namespaced</span></s
4dae0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
4db00 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 75 6e 63 74 69 6f 6e 73 20 74 ass="tok-comment">//.functions.t
4db20 68 61 74 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 hat.you.can.call.with.dot.syntax
4db40 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
4db60 65 22 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 e"><span.class="tok-kw">const</s
4db80 70 61 6e 3e 20 53 75 69 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>.Suit.=.<span.class="tok-kw"
4dba0 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >enum</span>.{</span>.<span.clas
4dbc0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6c 75 62 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e s="line">....clubs,</span>.<span
4dbe0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 70 61 64 65 73 2c 3c 2f 73 70 61 6e 3e .class="line">....spades,</span>
4dc00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 69 61 6d 6f 6e 64 73 .<span.class="line">....diamonds
4dc20 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
4dc40 68 65 61 72 74 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 hearts,</span>.<span.class="line
4dc60 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
4dc80 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 6e 3e .<span.class="tok-kw">pub</span>
4dca0 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>.
4dcc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 43 6c 75 62 73 3c 2f 73 70 <span.class="tok-fn">isClubs</sp
4dce0 61 6e 3e 28 73 65 6c 66 3a 20 53 75 69 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>(self:.Suit).<span.class="tok
4dd00 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -type">bool</span>.{</span>.<spa
4dd20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
4dd40 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 65 6c 66 20 3d ss="tok-kw">return</span>.self.=
4dd60 3d 20 53 75 69 74 2e 63 6c 75 62 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 =.Suit.clubs;</span>.<span.class
4dd80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">....}</span>.<span.class
4dda0 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ="line">};</span>.<span.class="l
4ddc0 69 6e 65 22 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 ine"><span.class="tok-kw">test</
4dde0 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
4de00 74 3b 65 6e 75 6d 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 t;enum.method&quot;</span>.{</sp
4de20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
4de40 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 20 3d .class="tok-kw">const</span>.p.=
4de60 20 53 75 69 74 2e 73 70 61 64 65 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .Suit.spades;</span>.<span.class
4de80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
4dea0 3e 74 72 79 3c 2f 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 >try</span>.expect(!p.isClubs())
4dec0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
4dee0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
4df00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
4df20 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 20 65 6e 75 6d 20 63 61 6e 20 62 65 20 73 tok-comment">//.An.enum.can.be.s
4df40 77 69 74 63 68 65 64 20 75 70 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 witched.upon.</span></span>.<spa
4df60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
4df80 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
4dfa0 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 3c 2f 73 70 61 6e 3e ss="tok-kw">enum</span>.{</span>
4dfc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 72 69 6e 67 2c 3c .<span.class="line">....string,<
4dfe0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 /span>.<span.class="line">....nu
4e000 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e mber,</span>.<span.class="line">
4e020 20 20 20 20 6e 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ....none,</span>.<span.class="li
4e040 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ne">};</span>.<span.class="line"
4e060 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
4e080 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 6e >.<span.class="tok-str">&quot;en
4e0a0 75 6d 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a um.switch&quot;</span>.{</span>.
4e0c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
4e0e0 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 20 3d 20 46 6f 6f ss="tok-kw">const</span>.p.=.Foo
4e100 2e 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .number;</span>.<span.class="lin
4e120 65 22 3e 20 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 e">....<span.class="tok-kw">cons
4e140 74 3c 2f 73 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 t</span>.what_is_it.=.<span.clas
4e160 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 70 29 20 7b 3c 2f s="tok-kw">switch</span>.(p).{</
4e180 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
4e1a0 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 22 74 .Foo.string.=&gt;.<span.class="t
4e1c0 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 26 71 ok-str">&quot;this.is.a.string&q
4e1e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d uot;</span>,</span>.<span.class=
4e200 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 46 6f 6f 2e 6e 75 6d 62 65 72 20 3d 26 67 74 3b 20 "line">........Foo.number.=&gt;.
4e220 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 68 69 73 <span.class="tok-str">&quot;this
4e240 20 69 73 20 61 20 6e 75 6d 62 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e .is.a.number&quot;</span>,</span
4e260 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 46 6f 6f >.<span.class="line">........Foo
4e280 2e 6e 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 2d 73 74 72 .none.=&gt;.<span.class="tok-str
4e2a0 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 6f 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 ">&quot;this.is.a.none&quot;</sp
4e2c0 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>,</span>.<span.class="line">.
4e2e0 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...};</span>.<span.class="line">
4e300 20 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
4e320 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="
4e340 74 6f 6b 2d 74 79 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 tok-type">u8</span>,.what_is_it,
4e360 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 68 69 .<span.class="tok-str">&quot;thi
4e380 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 3e 29 29 3b 3c 2f 73 s.is.a.number&quot;</span>));</s
4e3a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
4e3c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
4e3e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
4e400 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 79 70 65 49 6e 66 6f 20 63 61 6e 20 62 65 20 75 73 65 comment">//.@typeInfo.can.be.use
4e420 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 d.to.access.the.integer.tag.type
4e440 20 6f 66 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .of.an.enum.</span></span>.<span
4e460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
4e480 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 6d 61 6c 6c 20 3d 20 3c 73 70 61 6e 20 63 6c w">const</span>.Small.=.<span.cl
4e4a0 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 3c 2f 73 70 61 6e ass="tok-kw">enum</span>.{</span
4e4c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 65 2c 3c 2f 73 >.<span.class="line">....one,</s
4e4e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 77 6f 2c pan>.<span.class="line">....two,
4e500 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 </span>.<span.class="line">....t
4e520 68 72 65 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e hree,</span>.<span.class="line">
4e540 20 20 20 20 66 6f 75 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ....four,</span>.<span.class="li
4e560 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ne">};</span>.<span.class="line"
4e580 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
4e5a0 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 73 74 >.<span.class="tok-str">&quot;st
4e5c0 64 2e 6d 65 74 61 2e 54 61 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e d.meta.Tag&quot;</span>.{</span>
4e5e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
4e600 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(<
4e620 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
4e640 66 6f 3c 2f 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 fo</span>(Small).Enum.tag_type.=
4e660 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 75 32 3c 2f 73 70 61 =.<span.class="tok-type">u2</spa
4e680 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
4e6a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
4e6c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
4e6e0 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 6f 20 74 65 6c s="tok-comment">//.@typeInfo.tel
4e700 6c 73 20 75 73 20 74 68 65 20 66 69 65 6c 64 20 63 6f 75 6e 74 20 61 6e 64 20 74 68 65 20 66 69 ls.us.the.field.count.and.the.fi
4e720 65 6c 64 73 20 6e 61 6d 65 73 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 elds.names:</span></span>.<span.
4e740 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
4e760 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
4e780 74 72 22 3e 26 71 75 6f 74 3b 40 74 79 70 65 49 6e 66 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e tr">&quot;@typeInfo&quot;</span>
4e7a0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
4e7c0 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>
4e7e0 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 6e .expect(<span.class="tok-builtin
4e800 22 3e 40 74 79 70 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 ">@typeInfo</span>(Small).Enum.f
4e820 69 65 6c 64 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 ields.len.==.<span.class="tok-nu
4e840 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">4</span>);</span>.<span.cl
4e860 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
4e880 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
4e8a0 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>,.
4e8c0 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
4e8e0 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
4e900 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>]
4e920 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
4e940 6f 74 3b 74 77 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ot;two&quot;</span>));</span>.<s
4e960 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
4e980 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
4e9a0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-comment
4e9c0 22 3e 2f 2f 20 40 74 61 67 4e 61 6d 65 20 67 69 76 65 73 20 61 20 5b 3a 30 5d 63 6f 6e 73 74 20 ">//.@tagName.gives.a.[:0]const.
4e9e0 75 38 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 6e 75 6d 20 76 61 6c u8.representation.of.an.enum.val
4ea00 75 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ue:</span></span>.<span.class="l
4ea20 69 6e 65 22 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 ine"><span.class="tok-kw">test</
4ea40 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
4ea60 74 3b 40 74 61 67 4e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e t;@tagName&quot;</span>.{</span>
4ea80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
4eaa0 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
4eac0 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 38 em.eql(<span.class="tok-type">u8
4eae0 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 69 </span>,.<span.class="tok-builti
4eb00 6e 22 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 n">@tagName</span>(Small.three),
4eb20 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 68 72 .<span.class="tok-str">&quot;thr
4eb40 65 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ee&quot;</span>));</span>.<span.
4eb60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
4eb80 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
4eba0 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
4ebc0 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
4ebe0 73 74 5f 65 6e 75 6d 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 38 20 74 65 73 74 2e 65 6e 75 6d st_enums.zig</kbd>.1/8.test.enum
4ec00 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 2e 2e 2e 20 4f 4b 0a 32 2f 38 20 74 65 73 74 2e 73 65 .ordinal.value....OK.2/8.test.se
4ec20 74 20 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 33 2f 38 20 74 t.enum.ordinal.value....OK.3/8.t
4ec40 65 73 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 est.enum.implicit.ordinal.values
4ec60 20 61 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 .and.overridden.values....OK.4/8
4ec80 20 74 65 73 74 2e 65 6e 75 6d 20 6d 65 74 68 6f 64 2e 2e 2e 20 4f 4b 0a 35 2f 38 20 74 65 73 74 .test.enum.method....OK.5/8.test
4eca0 2e 65 6e 75 6d 20 73 77 69 74 63 68 2e 2e 2e 20 4f 4b 0a 36 2f 38 20 74 65 73 74 2e 73 74 64 2e .enum.switch....OK.6/8.test.std.
4ecc0 6d 65 74 61 2e 54 61 67 2e 2e 2e 20 4f 4b 0a 37 2f 38 20 74 65 73 74 2e 40 74 79 70 65 49 6e 66 meta.Tag....OK.7/8.test.@typeInf
4ece0 6f 2e 2e 2e 20 4f 4b 0a 38 2f 38 20 74 65 73 74 2e 40 74 61 67 4e 61 6d 65 2e 2e 2e 20 4f 4b 0a o....OK.8/8.test.@tagName....OK.
4ed00 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
4ed20 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 2f 70 ></figure>.......<p>See.also:</p
4ed40 3e 3c 75 6c 3e 0a 3c 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 ><ul>.<li><a.href="#typeInfo">@t
4ed60 79 70 65 49 6e 66 6f 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 ypeInfo</a></li>.<li><a.href="#t
4ed80 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 3c 6c 69 3e 3c 61 agName">@tagName</a></li>.<li><a
4eda0 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 3c 2f 6c 69 3e .href="#sizeOf">@sizeOf</a></li>
4edc0 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 65 6e .</ul>.........<h3.id="extern-en
4ede0 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 um"><a.href="#toc-extern-enum">e
4ee00 78 74 65 72 6e 20 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 xtern.enum</a>.<a.class="hdr".hr
4ee20 65 66 3d 22 23 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 ef="#extern-enum">..</a></h3>...
4ee40 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 65 6e 75 6d 73 .....<p>.......By.default,.enums
4ee60 20 61 72 65 20 6e 6f 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 63 6f 6d 70 61 74 .are.not.guaranteed.to.be.compat
4ee80 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 43 20 41 42 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ible.with.the.C.ABI:.......</p>.
4eea0 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=
4eec0 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 65 6e 75 "zig-cap"><cite.class="file">enu
4eee0 6d 5f 65 78 70 6f 72 74 5f 65 72 72 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 m_export_error.zig</cite></figca
4ef00 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 6c 69 ption><pre><code><span.class="li
4ef20 6e 65 22 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 ne"><span.class="tok-kw">const</
4ef40 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 22 span>.Foo.=.<span.class="tok-kw"
4ef60 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 3c 2f 73 70 61 6e 3e >enum</span>.{.a,.b,.c.};</span>
4ef80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
4efa0 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 6c 61 "tok-kw">export</span>.<span.cla
4efc0 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
4efe0 73 3d 22 74 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 s="tok-fn">entry</span>(foo:.Foo
4f000 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
4f020 70 61 6e 3e 20 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c pan>.{._.=.foo;.}</span></code><
4f040 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
4f060 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
4f080 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
4f0a0 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 64 d-obj.enum_export_error.zig</kbd
4f0c0 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
4f0e0 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 2f p/enum_export_error.zig:2:17:.</
4f100 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
4f120 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 61 :.</span><span.class="sgr-1m">pa
4f140 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 72 rameter.of.type.'enum_export_err
4f160 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 20 or.Foo'.not.allowed.in.function.
4f180 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 70 with.calling.convention.'C'.</sp
4f1a0 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 69 an>export.fn.entry(foo:.Foo).voi
4f1c0 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 3c d.{._.=.foo;.}.................<
4f1e0 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 2f span.class="sgr-32m">^~~~~~~~.</
4f200 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
4f220 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 3a _tmp/enum_export_error.zig:2:17:
4f240 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
4f260 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">
4f280 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 6e enum.tag.type.'u2'.is.not.extern
4f2a0 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 22 .compatible.</span><span.class="
4f2c0 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 65 sgr-1m">docgen_tmp/enum_export_e
4f2e0 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 73 rror.zig:2:17:.</span><span.clas
4f300 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 63 s="sgr-36m">note:.</span><span.c
4f320 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 68 lass="sgr-1m">only.integers.with
4f340 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 61 .0,.8,.16,.32,.64.and.128.bits.a
4f360 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 61 re.extern.compatible.</span><spa
4f380 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 6d n.class="sgr-1m">docgen_tmp/enum
4f3a0 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 3c _export_error.zig:1:13:.</span><
4f3c0 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 61 span.class="sgr-36m">note:.</spa
4f3e0 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 6c n><span.class="sgr-1m">enum.decl
4f400 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 75 ared.here.</span>const.Foo.=.enu
4f420 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 6e m.{.a,.b,.c.};.............<span
4f440 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 7e .class="sgr-32m">^~~~~~~~~~~~~~~
4f460 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 3e ~.</span>.</samp></pre></figure>
4f480 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 6d .......<p>.......For.a.C-ABI-com
4f4a0 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 69 patible.enum,.provide.an.explici
4f4c0 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 20 t.tag.type.to.......the.enum:...
4f4e0 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
4f500 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="
4f520 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 69 file">enum_export.zig</cite></fi
4f540 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=
4f560 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
4f580 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 74 6f 6b 2d t</span>.Foo.=.<span.class="tok-
4f5a0 6b 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 kw">enum</span>(<span.class="tok
4f5c0 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 29 20 7b 20 61 2c 20 62 2c 20 63 20 7d -type">c_int</span>).{.a,.b,.c.}
4f5e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
4f600 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>.<
4f620 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
4f640 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>(
4f660 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"
4f680 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 73 70 61 6e 3e >void</span>.{._.=.foo;.}</span>
4f6a0 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
4f6c0 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
4f6e0 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>
4f700 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 65 6e 75 6d 5f 65 78 70 6f 72 74 2e 7a 69 67 3c 2f 6b zig.build-obj.enum_export.zig</k
4f720 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>......
4f740 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e .........<h3.id="Enum-Literals">
4f760 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 <a.href="#toc-Enum-Literals">Enu
4f780 6d 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 68 72 m.Literals</a>.<a.class="hdr".hr
4f7a0 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ef="#Enum-Literals">..</a></h3>.
4f7c0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 6e 75 6d 20 6c 69 74 65 72 61 6c 73 20 61 .......<p>.......Enum.literals.a
4f7e0 6c 6c 6f 77 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 6e 20 65 llow.specifying.the.name.of.an.e
4f800 6e 75 6d 20 66 69 65 6c 64 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 num.field.without.specifying.the
4f820 20 65 6e 75 6d 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 .enum.type:.......</p>.......<fi
4f840 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"
4f860 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 6e 75 6d 5f 6c 69 ><cite.class="file">test_enum_li
4f880 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 6e 3e 3c 70 terals.zig</cite></figcaption><p
4f8a0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
4f8c0 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
4f8e0 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
4f900 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
4f920 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 3c 2f 73 70 61 r">&quot;std&quot;</span>);</spa
4f940 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
4f960 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.=
4f980 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .std.testing.expect;</span>.<spa
4f9a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
4f9c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
4f9e0 6f 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 onst</span>.Color.=.<span.class=
4fa00 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-kw">enum</span>.{</span>.<s
4fa20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 75 74 6f 2c 3c 2f 73 70 61 6e pan.class="line">....auto,</span
4fa40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 66 66 2c 3c 2f 73 >.<span.class="line">....off,</s
4fa60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 2c 3c pan>.<span.class="line">....on,<
4fa80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 /span>.<span.class="line">};</sp
4faa0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
4fac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
4fae0 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="
4fb00 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 75 6f tok-str">&quot;enum.literals&quo
4fb20 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
4fb40 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">c
4fb60 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 31 3a 20 43 6f 6c 6f 72 20 3d 20 2e 61 75 74 onst</span>.color1:.Color.=..aut
4fb80 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 o;</span>.<span.class="line">...
4fba0 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
4fbc0 6e 3e 20 63 6f 6c 6f 72 32 20 3d 20 43 6f 6c 6f 72 2e 61 75 74 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c n>.color2.=.Color.auto;</span>.<
4fbe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
4fc00 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 6c s="tok-kw">try</span>.expect(col
4fc20 6f 72 31 20 3d 3d 20 63 6f 6c 6f 72 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 or1.==.color2);</span>.<span.cla
4fc40 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
4fc60 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
4fc80 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
4fca0 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 73 77 >.<span.class="tok-str">&quot;sw
4fcc0 69 74 63 68 20 75 73 69 6e 67 20 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 3c 2f itch.using.enum.literals&quot;</
4fce0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
4fd00 22 3e 20 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
4fd20 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 6e 3b 3c 2f 73 70 61 6e 3e </span>.color.=.Color.on;</span>
4fd40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
4fd60 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
4fd80 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</
4fda0 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 span>.(color).{</span>.<span.cla
4fdc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 75 74 6f 20 3d 26 67 74 3b 20 3c 73 ss="line">.........auto.=&gt;.<s
4fde0 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
4fe00 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >,</span>.<span.class="line">...
4fe20 20 20 20 20 20 2e 6f 6e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ......on.=&gt;.<span.class="tok-
4fe40 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 null">true</span>,</span>.<span.
4fe60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 66 66 20 3d 26 67 74 3b 20 class="line">.........off.=&gt;.
4fe80 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
4fea0 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>,</span>.<span.class="line">.
4fec0 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...};</span>.<span.class="line">
4fee0 20 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
4ff00 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e an>.expect(result);</span>.<span
4ff20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
4ff40 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.
4ff60 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
4ff80 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
4ffa0 65 73 74 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 est_enum_literals.zig</kbd>.1/2.
4ffc0 74 65 73 74 2e 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 test.enum.literals....OK.2/2.tes
4ffe0 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 2e 2e 20 t.switch.using.enum.literals....
50000 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 3e 3c 2f OK.All.2.tests.passed..</samp></
50020 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 33 20 pre></figure>...............<h3.
50040 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 72 65 66 id="Non-exhaustive-enum"><a.href
50060 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 6f 6e 2d ="#toc-Non-exhaustive-enum">Non-
50080 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 22 68 64 exhaustive.enum</a>.<a.class="hd
500a0 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 22 3e c2 r".href="#Non-exhaustive-enum">.
500c0 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 20 4e 6f .</a></h3>........<p>.......A.No
500e0 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 74 65 64 n-exhaustive.enum.can.be.created
50100 20 62 79 20 61 64 64 69 6e 67 20 61 20 74 72 61 69 6c 69 6e 67 20 27 5f 27 20 66 69 65 6c 64 2e .by.adding.a.trailing.'_'.field.
50120 0a 20 20 20 20 20 20 49 74 20 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 20 74 61 67 20 74 79 .......It..must.specify.a.tag.ty
50140 70 65 20 61 6e 64 20 63 61 6e 6e 6f 74 20 63 6f 6e 73 75 6d 65 20 65 76 65 72 79 20 65 6e 75 6d pe.and.cannot.consume.every.enum
50160 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 20 20 eration.value........</p>.......
50180 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 46 72 6f 6d 49 6e 74 22 <p>.......<a.href="#enumFromInt"
501a0 3e 40 65 6e 75 6d 46 72 6f 6d 49 6e 74 3c 2f 61 3e 20 6f 6e 20 61 20 6e 6f 6e 2d 65 78 68 61 75 >@enumFromInt</a>.on.a.non-exhau
501c0 73 74 69 76 65 20 65 6e 75 6d 20 69 6e 76 6f 6c 76 65 73 20 74 68 65 20 73 61 66 65 74 79 20 73 stive.enum.involves.the.safety.s
501e0 65 6d 61 6e 74 69 63 73 0a 20 20 20 20 20 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 43 emantics.......of.<a.href="#intC
50200 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 ast">@intCast</a>.to.the.integer
50220 20 74 61 67 20 74 79 70 65 2c 20 62 75 74 20 62 65 79 6f 6e 64 20 74 68 61 74 20 61 6c 77 61 79 .tag.type,.but.beyond.that.alway
50240 73 20 72 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 61 20 77 65 6c 6c 2d 64 65 66 69 6e 65 s.results.in.......a.well-define
50260 64 20 65 6e 75 6d 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 d.enum.value........</p>.......<
50280 70 3e 0a 20 20 20 20 20 20 41 20 73 77 69 74 63 68 20 6f 6e 20 61 20 6e 6f 6e 2d 65 78 68 61 75 p>.......A.switch.on.a.non-exhau
502a0 73 74 69 76 65 20 65 6e 75 6d 20 63 61 6e 20 69 6e 63 6c 75 64 65 20 61 20 27 5f 27 20 70 72 6f stive.enum.can.include.a.'_'.pro
502c0 6e 67 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 ng.as.an.alternative.to.an.<code
502e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
50300 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 "tok-kw">else</span></span></cod
50320 65 3e 20 70 72 6f 6e 67 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 64 69 66 66 65 72 65 6e e>.prong.......with.the.differen
50340 63 65 20 62 65 69 6e 67 20 74 68 61 74 20 69 74 20 6d 61 6b 65 73 20 69 74 20 61 20 63 6f 6d 70 ce.being.that.it.makes.it.a.comp
50360 69 6c 65 20 65 72 72 6f 72 20 69 66 20 61 6c 6c 20 74 68 65 20 6b 6e 6f 77 6e 20 74 61 67 20 6e ile.error.if.all.the.known.tag.n
50380 61 6d 65 73 20 61 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 ames.are.not.handled.by.the.swit
503a0 63 68 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 ch........</p>.......<figure><fi
503c0 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
503e0 6c 61 73 73 3d 22 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 lass="file">test_switch_non-exha
50400 75 73 74 69 76 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 ustive.zig</cite></figcaption><p
50420 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
50440 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
50460 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
50480 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
504a0 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 3c 2f 73 70 61 r">&quot;std&quot;</span>);</spa
504c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
504e0 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.=
50500 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .std.testing.expect;</span>.<spa
50520 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
50540 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
50560 6f 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 onst</span>.Number.=.<span.class
50580 3d 22 74 6f 6b 2d 6b 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 ="tok-kw">enum</span>(<span.clas
505a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e s="tok-type">u8</span>).{</span>
505c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 65 2c 3c 2f 73 70 .<span.class="line">....one,</sp
505e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 77 6f 2c 3c an>.<span.class="line">....two,<
50600 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 /span>.<span.class="line">....th
50620 72 65 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ree,</span>.<span.class="line">.
50640 20 20 20 5f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..._,</span>.<span.class="line">
50660 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 };</span>.<span.class="line"></s
50680 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
506a0 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
506c0 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 6e 20 6e lass="tok-str">&quot;switch.on.n
506e0 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 6e 3e 20 on-exhaustive.enum&quot;</span>.
50700 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
50720 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
50740 3e 20 6e 75 6d 62 65 72 20 3d 20 4e 75 6d 62 65 72 2e 6f 6e 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 >.number.=.Number.one;</span>.<s
50760 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
50780 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 3d 20 ="tok-kw">const</span>.result.=.
507a0 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 61 <span.class="tok-kw">switch</spa
507c0 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n>.(number).{</span>.<span.class
507e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e ="line">.........one.=&gt;.<span
50800 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 3c 2f .class="tok-null">true</span>,</
50820 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
50840 20 2e 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..two,</span>.<span.class="line"
50860 3e 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 73 >.........three.=&gt;.<span.clas
50880 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 3c 2f 73 70 61 6e s="tok-null">false</span>,</span
508a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d >.<span.class="line">........_.=
508c0 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 73 &gt;.<span.class="tok-null">fals
508e0 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e</span>,</span>.<span.class="li
50900 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ne">....};</span>.<span.class="l
50920 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
50940 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a y</span>.expect(result);</span>.
50960 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
50980 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 6f 6e 65 20 ss="tok-kw">const</span>.is_one.
509a0 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
509c0 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pan>.(number).{</span>.<span.cla
509e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 ss="line">.........one.=&gt;.<sp
50a00 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>,
50a20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
50a40 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 65 3c 2f 73 70 ...<span.class="tok-kw">else</sp
50a60 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 6e 75 6c 6c 22 an>.=&gt;.<span.class="tok-null"
50a80 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >false</span>,</span>.<span.clas
50aa0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">....};</span>.<span.cla
50ac0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
50ae0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 73 5f 6f 6e 65 29 3b 3c 2f 73 w">try</span>.expect(is_one);</s
50b00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
50b20 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
50b40 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
50b60 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>
50b80 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 6e 6f 6e 2d 65 78 68 61 75 73 74 zig.test.test_switch_non-exhaust
50ba0 69 76 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 73 77 69 74 63 68 20 6f 6e ive.zig</kbd>.1/1.test.switch.on
50bc0 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 .non-exhaustive.enum....OK.All.1
50be0 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
50c00 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 3c 68 32 20 69 gure>......................<h2.i
50c20 64 3d 22 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 69 6f 6e 22 3e 75 d="union"><a.href="#toc-union">u
50c40 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 72 65 66 3d 22 23 75 nion</a>.<a.class="hdr".href="#u
50c60 6e 69 6f 6e 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 nion">..</a></h2>........<p>....
50c80 20 20 20 41 20 62 61 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ...A.bare.<code><span.class="lin
50ca0 65 22 3e 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 e"><span.class="tok-kw">union</s
50cc0 70 61 6e 3e 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 73 65 74 pan></span></code>.defines.a.set
50ce0 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 74 79 70 65 73 20 74 68 61 74 20 61 20 76 61 6c 75 65 0a .of.possible.types.that.a.value.
50d00 20 20 20 20 20 20 63 61 6e 20 62 65 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 66 69 65 6c 64 73 ......can.be.as.a.list.of.fields
50d20 2e 20 4f 6e 6c 79 20 6f 6e 65 20 66 69 65 6c 64 20 63 61 6e 20 62 65 20 61 63 74 69 76 65 20 61 ..Only.one.field.can.be.active.a
50d40 74 20 61 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 54 68 65 20 69 6e 2d 6d 65 6d 6f 72 79 20 72 65 t.a.time........The.in-memory.re
50d60 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 62 61 72 65 20 75 6e 69 6f 6e 73 20 69 73 20 6e presentation.of.bare.unions.is.n
50d80 6f 74 20 67 75 61 72 61 6e 74 65 65 64 2e 0a 20 20 20 20 20 20 42 61 72 65 20 75 6e 69 6f 6e 73 ot.guaranteed........Bare.unions
50da0 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 69 6e 74 65 72 70 72 65 74 20 6d .cannot.be.used.to.reinterpret.m
50dc0 65 6d 6f 72 79 2e 20 46 6f 72 20 74 68 61 74 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 emory..For.that,.use.<a.href="#p
50de0 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 6f 72 20 75 trCast">@ptrCast</a>,.......or.u
50e00 73 65 20 61 6e 20 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 se.an.<a.href="#extern-union">ex
50e20 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 61 tern.union</a>.or.a.<a.href="#pa
50e40 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 61 3e 20 77 68 69 cked-union">packed.union</a>.whi
50e60 63 68 20 68 61 76 65 0a 20 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 64 20 69 6e 2d 6d 65 6d 6f ch.have.......guaranteed.in-memo
50e80 72 79 20 6c 61 79 6f 75 74 2e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 57 72 6f 6e 67 ry.layout........<a.href="#Wrong
50ea0 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 41 63 63 65 73 73 69 6e 67 20 74 -Union-Field-Access">Accessing.t
50ec0 68 65 20 6e 6f 6e 2d 61 63 74 69 76 65 20 66 69 65 6c 64 3c 2f 61 3e 20 69 73 0a 20 20 20 20 20 he.non-active.field</a>.is......
50ee0 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 64 65 66 69 .safety-checked.<a.href="#Undefi
50f00 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
50f20 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 69 67 75 72 65 3e 3c </a>:.......</p>.......<figure><
50f40 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
50f60 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 72 6f 6e 67 5f 75 6e 69 6f 6e 5f 61 .class="file">test_wrong_union_a
50f80 63 63 65 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 ccess.zig</cite></figcaption><pr
50fa0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
50fc0 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 61 79 .class="tok-kw">const</span>.Pay
50fe0 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 69 6f load.=.<span.class="tok-kw">unio
51000 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n</span>.{</span>.<span.class="l
51020 69 6e 65 22 3e 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 ine">....int:.<span.class="tok-t
51040 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ype">i64</span>,</span>.<span.cl
51060 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">....float:.<span.clas
51080 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a s="tok-type">f64</span>,</span>.
510a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 <span.class="line">....boolean:.
510c0 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
510e0 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b n>,</span>.<span.class="line">};
51100 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
51120 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
51140 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
51160 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e nion&quot;</span>.{</span>.<span
51180 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
511a0 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 79 6c ok-kw">var</span>.payload.=.Payl
511c0 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 75 6d oad{..int.=.<span.class="tok-num
511e0 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ber">1234</span>.};</span>.<span
51200 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 .class="line">....payload.float.
51220 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 2e 33 34 =.<span.class="tok-number">12.34
51240 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
51260 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
51280 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
512a0 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
512c0 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 72 6f 6e 67 5f 75 amp>$.<kbd>zig.test.test_wrong_u
512e0 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 20 74 65 73 74 2e 73 nion_access.zig</kbd>.1/1.test.s
51300 69 6d 70 6c 65 20 75 6e 69 6f 6e 2e 2e 2e 20 74 68 72 65 61 64 20 32 34 35 32 34 30 36 20 70 61 imple.union....thread.2452406.pa
51320 6e 69 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 nic:.access.of.union.field.'floa
51340 74 27 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 t'.while.field.'int'.is.active./
51360 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
51380 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 74 5f 77 -bootstrap/zig/docgen_tmp/test_w
513a0 72 6f 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 32 32 rong_union_access.zig:8:12:.0x22
513c0 34 32 35 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 4257.in.test.simple.union.(test)
513e0 0a 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 .....payload.float.=.12.34;.....
51400 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
51420 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
51440 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 b/zig/test_runner.zig:176:28:.0x
51460 32 32 64 34 32 39 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 22d429.in.mainTerminal.(test)...
51480 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 ......}.else.test_fn.func();....
514a0 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/
514c0 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
514e0 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e strap/out/host/lib/zig/test_runn
51500 65 72 2e 7a 69 67 3a 33 36 3a 32 38 3a 20 30 78 32 32 35 34 37 61 20 69 6e 20 6d 61 69 6e 20 28 er.zig:36:28:.0x22547a.in.main.(
51520 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 61 test).........return.mainTermina
51540 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 20 l();............................
51560 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/
51580 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
515a0 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 34 38 31 32 20 69 6e td/start.zig:564:22:.0x224812.in
515c0 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 20 20 .posixCallMainAndExit.(test)....
515e0 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();...........
51600 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
51620 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
51640 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 34 33 3a 35 3a 20 30 t/lib/zig/std/start.zig:243:5:.0
51660 78 32 32 34 33 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 x224361.in._start.(test).....asm
51680 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 68 29 20 .volatile.(switch.(native_arch).
516a0 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 3f 3f 3f {.....^.???:?:?:.0x0.in.???.(???
516c0 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 63 6f 6d 6d ).error:.the.following.test.comm
516e0 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 73 2d 72 75 and.crashed:./home/ci/actions-ru
51700 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 7a 69 67 nner/_work/zig-bootstrap/out/zig
51720 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 34 63 38 64 34 39 33 65 39 30 62 31 30 64 38 30 38 -local-cache/o/4c8d493e90b10d808
51740 38 35 64 36 32 37 32 38 62 37 62 39 37 33 34 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 85d62728b7b9734/test.</samp></pr
51760 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 59 6f 75 20 63 61 6e 20 61 63 74 e></figure>.......<p>You.can.act
51780 69 76 61 74 65 20 61 6e 6f 74 68 65 72 20 66 69 65 6c 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 ivate.another.field.by.assigning
517a0 20 74 68 65 20 65 6e 74 69 72 65 20 75 6e 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 .the.entire.union:</p>.......<fi
517c0 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"
517e0 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 6d 70 6c 65 5f ><cite.class="file">test_simple_
51800 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 72 union.zig</cite></figcaption><pr
51820 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
51840 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
51860 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
51880 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
518a0 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 3c 2f 73 70 61 6e ">&quot;std&quot;</span>);</span
518c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
518e0 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.=.
51900 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e std.testing.expect;</span>.<span
51920 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
51940 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
51960 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 61 79 6c 6f 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 nst</span>.Payload.=.<span.class
51980 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ="tok-kw">union</span>.{</span>.
519a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 <span.class="line">....int:.<spa
519c0 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 3c 2f n.class="tok-type">i64</span>,</
519e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f span>.<span.class="line">....flo
51a00 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</
51a20 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
51a40 3e 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 2d 74 >....boolean:.<span.class="tok-t
51a60 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ype">bool</span>,</span>.<span.c
51a80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
51aa0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
51ac0 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">
51ae0 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 &quot;simple.union&quot;</span>.
51b00 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
51b20 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>.
51b40 70 61 79 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 payload.=.Payload{..int.=.<span.
51b60 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 20 7d class="tok-number">1234</span>.}
51b80 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
51ba0 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>.
51bc0 65 78 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 expect(payload.int.==.<span.clas
51be0 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 3c 2f 73 70 s="tok-number">1234</span>);</sp
51c00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 61 79 6c 6f an>.<span.class="line">....paylo
51c20 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 20 63 6c 61 ad.=.Payload{..float.=.<span.cla
51c40 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 3b 3c ss="tok-number">12.34</span>.};<
51c60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
51c80 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
51ca0 70 65 63 74 28 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 pect(payload.float.==.<span.clas
51cc0 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 3c 2f 73 s="tok-number">12.34</span>);</s
51ce0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
51d00 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
51d20 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
51d40 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>
51d60 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f zig.test.test_simple_union.zig</
51d80 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 2e 2e 2e 20 4f 4b kbd>.1/1.test.simple.union....OK
51da0 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
51dc0 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 6f e></figure>.......<p>.......In.o
51de0 72 64 65 72 20 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 rder.to.use.<a.href="#switch">sw
51e00 69 74 63 68 3c 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 itch</a>.with.a.union,.it.must.b
51e20 65 20 61 20 3c 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 e.a.<a.href="#Tagged-union">Tagg
51e40 65 64 20 75 6e 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 ed.union</a>........</p>.......<
51e60 70 3e 0a 20 20 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 p>.......To.initialize.a.union.w
51e80 68 65 6e 20 74 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 hen.the.tag.is.a.<a.href="#compt
51ea0 69 6d 65 22 3e 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 ime">comptime</a>-known.name,.se
51ec0 65 20 3c 61 20 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 e.<a.href="#unionInit">@unionIni
51ee0 74 3c 2f 61 3e 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 t</a>........</p>........<h3.id=
51f00 22 54 61 67 67 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 "Tagged-union"><a.href="#toc-Tag
51f20 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 20 3c 61 20 63 ged-union">Tagged.union</a>.<a.c
51f40 6c 61 73 73 3d 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 lass="hdr".href="#Tagged-union">
51f60 c2 a7 3c 2f 61 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 ..</a></h3>........<p>Unions.can
51f80 20 62 65 20 64 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 .be.declared.with.an.enum.tag.ty
51fa0 70 65 2e 0a 20 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 pe........This.turns.the.union.i
51fc0 6e 74 6f 20 61 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 nto.a.<em>tagged</em>.union,.whi
51fe0 63 68 20 6d 61 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 ch.makes.it.eligible.......to.us
52000 65 20 77 69 74 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 e.with.<a.href="#switch">switch<
52020 2f 61 3e 20 65 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 /a>.expressions........Tagged.un
52040 69 6f 6e 73 20 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 ions.coerce.to.their.tag.type:.<
52060 61 20 68 72 65 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 a.href="#Type-Coercion-Unions-an
52080 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 69 6f 6e 73 20 61 d-Enums">Type.Coercion:.Unions.a
520a0 6e 64 20 45 6e 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 nd.Enums</a>........</p>.......<
520c0 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
520e0 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 74 61 67 67 65 p"><cite.class="file">test_tagge
52100 64 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 d_union.zig</cite></figcaption><
52120 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
52140 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
52160 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">@
52180 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
521a0 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 3c 2f 73 70 tr">&quot;std&quot;</span>);</sp
521c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
521e0 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.
52200 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 =.std.testing.expect;</span>.<sp
52220 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
52240 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
52260 63 6f 6e 73 74 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 const</span>.ComplexTypeTag.=.<s
52280 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>.{
522a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f </span>.<span.class="line">....o
522c0 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 k,</span>.<span.class="line">...
522e0 20 6e 6f 74 5f 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .not_ok,</span>.<span.class="lin
52300 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e">};</span>.<span.class="line">
52320 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
52340 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.ComplexType.=.<span.class="tok
52360 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 -kw">union</span>(ComplexTypeTag
52380 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ).{</span>.<span.class="line">..
523a0 20 20 6f 6b 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 ..ok:.<span.class="tok-type">u8<
523c0 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
523e0 22 3e 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 ">....not_ok:.<span.class="tok-t
52400 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ype">void</span>,</span>.<span.c
52420 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
52440 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
52460 6e 65 22 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 ne"><span.class="tok-kw">test</s
52480 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
524a0 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 74 3b 3c 2f 73 ;switch.on.tagged.union&quot;</s
524c0 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
524e0 3e 20 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<
52500 2f 73 70 61 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 /span>.c.=.ComplexType{..ok.=.<s
52520 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 3e pan.class="tok-number">42</span>
52540 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .};</span>.<span.class="line">..
52560 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
52580 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
525a0 6e 22 3e 40 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 n">@as</span>(ComplexTypeTag,.c)
525c0 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c .==.ComplexTypeTag.ok);</span>.<
525e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
52600 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
52620 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 3c 2f 73 70 61 6e 3e k-kw">switch</span>.(c).{</span>
52640 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6d 70 .<span.class="line">........Comp
52660 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 20 3d 26 67 74 3b 20 7c 76 61 6c 75 65 7c 20 3c 73 70 61 lexTypeTag.ok.=&gt;.|value|.<spa
52680 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
526a0 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
526c0 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">42</span>),</span>.<span.cl
526e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 ass="line">........ComplexTypeTa
52700 67 2e 6e 6f 74 5f 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 g.not_ok.=&gt;.<span.class="tok-
52720 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c kw">unreachable</span>,</span>.<
52740 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....}</span>.<
52760 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span.class="line">}</span>.<span
52780 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
527a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
527c0 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">
527e0 26 71 75 6f 74 3b 67 65 74 20 74 61 67 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 &quot;get.tag.type&quot;</span>.
52800 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
52820 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>.
52840 65 78 70 65 63 74 28 73 74 64 2e 6d 65 74 61 2e 54 61 67 28 43 6f 6d 70 6c 65 78 54 79 70 65 29 expect(std.meta.Tag(ComplexType)
52860 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .==.ComplexTypeTag);</span>.<spa
52880 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
528a0 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
528c0 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
528e0 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.
52900 74 65 73 74 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 32 20 test_tagged_union.zig</kbd>.1/2.
52920 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 2e 20 4f test.switch.on.tagged.union....O
52940 4b 0a 32 2f 32 20 74 65 73 74 2e 67 65 74 20 74 61 67 20 74 79 70 65 2e 2e 2e 20 4f 4b 0a 41 6c K.2/2.test.get.tag.type....OK.Al
52960 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><
52980 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 6f 72 64 65 72 20 74 6f 20 6d 6f /figure>.......<p>In.order.to.mo
529a0 64 69 66 79 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 66 20 61 20 74 61 67 67 65 64 20 75 6e 69 dify.the.payload.of.a.tagged.uni
529c0 6f 6e 20 69 6e 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 on.in.a.switch.expression,......
529e0 20 70 6c 61 63 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .place.a.<code><span.class="line
52a00 22 3e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 68 65 20 76 61 72 ">*</span></code>.before.the.var
52a20 69 61 62 6c 65 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 iable.name.to.make.it.a.pointer:
52a40 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
52a60 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
52a80 73 3d 22 66 69 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 s="file">test_switch_modify_tagg
52aa0 65 64 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 ed_union.zig</cite></figcaption>
52ac0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
52ae0 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>.
52b00 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">
52b20 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-
52b40 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 3c 2f 73 str">&quot;std&quot;</span>);</s
52b60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
52b80 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
52ba0 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .=.std.testing.expect;</span>.<s
52bc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
52be0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
52c00 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 54 61 67 20 3d 20 3c >const</span>.ComplexTypeTag.=.<
52c20 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 20 span.class="tok-kw">enum</span>.
52c40 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
52c60 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ok,</span>.<span.class="line">..
52c80 20 20 6e 6f 74 5f 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ..not_ok,</span>.<span.class="li
52ca0 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ne">};</span>.<span.class="line"
52cc0 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
52ce0 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>.ComplexType.=.<span.class="to
52d00 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 k-kw">union</span>(ComplexTypeTa
52d20 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 g).{</span>.<span.class="line">.
52d40 20 20 20 6f 6b 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 ...ok:.<span.class="tok-type">u8
52d60 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
52d80 65 22 3e 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 e">....not_ok:.<span.class="tok-
52da0 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 type">void</span>,</span>.<span.
52dc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 class="line">};</span>.<span.cla
52de0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
52e00 69 6e 65 22 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 ine"><span.class="tok-kw">test</
52e20 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
52e40 74 3b 6d 6f 64 69 66 79 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 6e 20 73 77 69 74 63 68 26 t;modify.tagged.union.in.switch&
52e60 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
52e80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
52ea0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 7b 20 2e 6f ">var</span>.c.=.ComplexType{..o
52ec0 6b 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 3c k.=.<span.class="tok-number">42<
52ee0 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.};</span>.<span.class="li
52f00 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ne"></span>.<span.class="line">.
52f20 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 2f ...<span.class="tok-kw">switch</
52f40 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.(c).{</span>.<span.class="
52f60 6c 69 6e 65 22 3e 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 line">........ComplexTypeTag.ok.
52f80 3d 26 67 74 3b 20 7c 2a 76 61 6c 75 65 7c 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 =&gt;.|*value|.value.*.+=.<span.
52fa0 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 3c 2f 73 70 class="tok-number">1</span>,</sp
52fc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 an>.<span.class="line">........C
52fe0 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6e 6f 74 5f 6f 6b 20 3d 26 67 74 3b 20 3c 73 70 61 6e omplexTypeTag.not_ok.=&gt;.<span
53000 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 73 70 61 .class="tok-kw">unreachable</spa
53020 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>,</span>.<span.class="line">..
53040 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ..}</span>.<span.class="line"></
53060 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
53080 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
530a0 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
530c0 62 65 72 22 3e 34 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">43</span>);</span>.<span.cl
530e0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
53100 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
53120 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
53140 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
53160 5f 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 _switch_modify_tagged_union.zig<
53180 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6d 6f 64 69 66 79 20 74 61 67 67 65 64 20 75 6e 69 /kbd>.1/1.test.modify.tagged.uni
531a0 6f 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 on.in.switch....OK.All.1.tests.p
531c0 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>...
531e0 20 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 ....<p>.......Unions.can.be.made
53200 20 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 .to.infer.the.enum.tag.type.....
53220 20 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 ...Further,.unions.can.have.meth
53240 6f 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 ods.just.like.structs.and.enums.
53260 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
53280 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
532a0 73 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 s="file">test_union_method.zig</
532c0 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
532e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
53300 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
53320 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>
53340 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
53360 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>);</span>.<span.cla
53380 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
533a0 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
533c0 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .expect;</span>.<span.class="lin
533e0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
53400 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>.
53420 56 61 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 Variant.=.<span.class="tok-kw">u
53440 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"
53460 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >enum</span>).{</span>.<span.cla
53480 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">....int:.<span.class="
534a0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-type">i32</span>,</span>.<sp
534c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 3c 73 70 an.class="line">....boolean:.<sp
534e0 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 6e 3e 2c an.class="tok-type">bool</span>,
53500 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
53520 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
53540 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 6f 69 64 20 63 61 6e 20 class="tok-comment">//.void.can.
53560 62 65 20 6f 6d 69 74 74 65 64 20 77 68 65 6e 20 69 6e 66 65 72 72 69 6e 67 20 65 6e 75 6d 20 74 be.omitted.when.inferring.enum.t
53580 61 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ag.type.</span></span>.<span.cla
535a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="line">....none,</span>.<span
535c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
535e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
53600 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"
53620 3e 74 72 75 74 68 79 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 56 61 72 69 61 6e 74 29 20 3c 73 >truthy</span>(self:.Variant).<s
53640 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 6e 3e pan.class="tok-type">bool</span>
53660 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
53680 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 72 6e .....<span.class="tok-kw">return
536a0 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 73 77 69 </span>.<span.class="tok-kw">swi
536c0 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 65 6c 66 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e tch</span>.(self).{</span>.<span
536e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 56 61 72 69 61 6e .class="line">............Varian
53700 74 2e 69 6e 74 20 3d 26 67 74 3b 20 7c 78 5f 69 6e 74 7c 20 78 5f 69 6e 74 20 21 3d 20 3c 73 70 t.int.=&gt;.|x_int|.x_int.!=.<sp
53720 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 3c an.class="tok-number">0</span>,<
53740 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
53760 20 20 20 20 20 20 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 ......Variant.boolean.=&gt;.|x_b
53780 6f 6f 6c 7c 20 78 5f 62 6f 6f 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ool|.x_bool,</span>.<span.class=
537a0 22 6c 69 6e 65 22 3e 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 "line">............Variant.none.
537c0 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
537e0 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c se</span>,</span>.<span.class="l
53800 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ine">........};</span>.<span.cla
53820 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ss="line">....}</span>.<span.cla
53840 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ss="line">};</span>.<span.class=
53860 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
53880 22 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 "><span.class="tok-kw">test</spa
538a0 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 75 n>.<span.class="tok-str">&quot;u
538c0 6e 69 6f 6e 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e nion.method&quot;</span>.{</span
538e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
53900 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 3d 20 56 61 lass="tok-kw">var</span>.v1.=.Va
53920 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 6f 6b 2d 6e riant{..int.=.<span.class="tok-n
53940 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">1</span>.};</span>.<span.
53960 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
53980 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 32 20 3d 20 56 61 72 69 61 6e 74 7b 20 2e k-kw">var</span>.v2.=.Variant{..
539a0 62 6f 6f 6c 65 61 6e 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 boolean.=.<span.class="tok-null"
539c0 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >false</span>.};</span>.<span.cl
539e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
53a00 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
53a20 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 31 2e 74 72 75 74 68 79 28 29 29 3b 3c 2f ry</span>.expect(v1.truthy());</
53a40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
53a60 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
53a80 65 63 74 28 21 76 32 2e 74 72 75 74 68 79 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ect(!v2.truthy());</span>.<span.
53aa0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
53ac0 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
53ae0 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
53b00 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
53b20 73 74 5f 75 6e 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 st_union_method.zig</kbd>.1/1.te
53b40 73 74 2e 75 6e 69 6f 6e 20 6d 65 74 68 6f 64 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 st.union.method....OK.All.1.test
53b60 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>
53b80 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 23 74 61 67 4e 61 .......<p>.......<a.href="#tagNa
53ba0 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 me">@tagName</a>.can.be.used.to.
53bc0 72 65 74 75 72 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d return.a.<a.href="#comptime">com
53be0 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ptime</a>.......<code><span.clas
53c00 73 3d 22 6c 69 6e 65 22 3e 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 s="line">[:<span.class="tok-numb
53c20 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 6b 77 er">0</span>]<span.class="tok-kw
53c40 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-
53c60 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 type">u8</span></span></code>.va
53c80 6c 75 65 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 3a lue.representing.the.field.name:
53ca0 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
53cc0 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
53ce0 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 61 67 4e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e s="file">test_tagName.zig</cite>
53d00 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
53d20 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
53d40 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="
53d60 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
53d80 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
53da0 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
53dc0 69 6e 65 22 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 ine"><span.class="tok-kw">const<
53de0 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
53e00 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ct;</span>.<span.class="line"></
53e20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
53e40 6c 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 6d 61 6c 6c lass="tok-kw">const</span>.Small
53e60 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 75 6e 69 6f 6e 3c 2f 2.=.<span.class="tok-kw">union</
53e80 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<
53ea0 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>).{</span>.<span.class="li
53ec0 6e 65 22 3e 20 20 20 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 ne">....a:.<span.class="tok-type
53ee0 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">i32</span>,</span>.<span.class
53f00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ="line">....b:.<span.class="tok-
53f20 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 type">bool</span>,</span>.<span.
53f40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d class="line">....c:.<span.class=
53f60 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 "tok-type">u8</span>,</span>.<sp
53f80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an.class="line">};</span>.<span.
53fa0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
53fc0 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
53fe0 74 72 22 3e 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 tr">&quot;@tagName&quot;</span>.
54000 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
54020 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>.
54040 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="
54060 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
54080 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 6e 3e 28 53 ="tok-builtin">@tagName</span>(S
540a0 6d 61 6c 6c 32 2e 61 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e mall2.a),.<span.class="tok-str">
540c0 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c &quot;a&quot;</span>));</span>.<
540e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">}</span></code
54100 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
54120 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
54140 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
54160 73 74 20 74 65 73 74 5f 74 61 67 4e 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 st.test_tagName.zig</kbd>.1/1.te
54180 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 70 61 st.@tagName....OK.All.1.tests.pa
541a0 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>....
541c0 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 6e 22 ...........<h3.id="extern-union"
541e0 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 78 74 ><a.href="#toc-extern-union">ext
54200 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 72 65 ern.union</a>.<a.class="hdr".hre
54220 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 0a 20 f="#extern-union">..</a></h3>...
54240 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 63 6c .....<p>.......An.<code><span.cl
54260 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
54280 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 6b extern</span>.<span.class="tok-k
542a0 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 w">union</span></span></code>.ha
542c0 73 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 s.memory.layout.guaranteed.to.be
542e0 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 74 61 72 67 65 .compatible.with.......the.targe
54300 74 20 43 20 41 42 49 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 t.C.ABI........</p>.......<p>See
54320 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 74 .also:</p><ul>.<li><a.href="#ext
54340 65 72 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 3c 2f 6c ern-struct">extern.struct</a></l
54360 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="
54380 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 61 63 6b packed-union"><a.href="#toc-pack
543a0 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c ed-union">packed.union</a>.<a.cl
543c0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e c2 ass="hdr".href="#packed-union">.
543e0 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 20 3c 63 6f 64 65 3e 3c 73 70 .</a></h3>........<p>A.<code><sp
54400 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
54420 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 3d 22 -kw">packed</span>.<span.class="
54440 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-kw">union</span></span></cod
54460 65 3e 20 68 61 73 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 e>.has.well-defined.in-memory.la
54480 79 6f 75 74 20 61 6e 64 20 69 73 20 65 6c 69 67 69 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 74 yout.and.is.eligible...........t
544a0 6f 20 62 65 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 o.be.in.a.<a.href="#packed-struc
544c0 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 t">packed.struct</a>.</p>.......
544e0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d ........<h3.id="Anonymous-Union-
54500 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 Literals"><a.href="#toc-Anonymou
54520 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 73 20 55 6e 69 6f s-Union-Literals">Anonymous.Unio
54540 6e 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 68 72 n.Literals</a>.<a.class="hdr".hr
54560 65 66 3d 22 23 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 c2 ef="#Anonymous-Union-Literals">.
54580 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 41 .</a></h3>........<p><a.href="#A
545a0 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 41 6e 6f 6e 79 6d nonymous-Struct-Literals">Anonym
545c0 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 73 79 6e 74 61 78 20 63 ous.Struct.Literals</a>.syntax.c
545e0 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 75 6e 69 6f 6e 73 20 an.be.used.to.initialize.unions.
54600 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 74 79 70 without.specifying.......the.typ
54620 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
54640 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
54660 6c 65 22 3e 74 65 73 74 5f 61 6e 6f 6e 79 6d 6f 75 73 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 le">test_anonymous_union.zig</ci
54680 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
546a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
546c0 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
546e0 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>(<
54700 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
54720 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
54740 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
54760 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
54780 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 xpect;</span>.<span.class="line"
547a0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
547c0 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 4e 75 n.class="tok-kw">const</span>.Nu
547e0 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 77 22 3e 75 6e 69 6f mber.=.<span.class="tok-kw">unio
54800 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n</span>.{</span>.<span.class="l
54820 69 6e 65 22 3e 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 ine">....int:.<span.class="tok-t
54840 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ype">i32</span>,</span>.<span.cl
54860 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">....float:.<span.clas
54880 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a s="tok-type">f64</span>,</span>.
548a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 <span.class="line">};</span>.<sp
548c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
548e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
54900 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
54920 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 75 6e 69 6f 6e 20 6c 69 74 65 72 61 6c 20 ">&quot;anonymous.union.literal.
54940 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 syntax&quot;</span>.{</span>.<sp
54960 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
54980 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 4e 75 6d 62 65 72 20 3d 20 "tok-kw">var</span>.i:.Number.=.
549a0 2e 7b 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 6d 62 65 72 .{.int.=.<span.class="tok-number
549c0 22 3e 34 32 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">42</span>};</span>.<span.class
549e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
54a00 3e 76 61 72 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 3c 2f 73 >var</span>.f.=.makeNumber();</s
54a20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
54a40 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
54a60 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 6e 75 6d ct(i.int.==.<span.class="tok-num
54a80 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">42</span>);</span>.<span.cl
54aa0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
54ac0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 2e 66 6c 6f 61 74 20 3d 3d kw">try</span>.expect(f.float.==
54ae0 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<
54b00 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
54b20 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e">}</span>.<span.class="line"><
54b40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
54b60 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
54b80 6c 61 73 73 3d 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 lass="tok-fn">makeNumber</span>(
54ba0 29 20 4e 75 6d 62 65 72 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ).Number.{</span>.<span.class="l
54bc0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">re
54be0 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 2e 7b 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 turn</span>..{.float.=.<span.cla
54c00 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 7d 3b 3c 2f ss="tok-number">12.34</span>};</
54c20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
54c40 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 3e 3c ></code></pre></figure><figure><
54c60 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
54c80 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
54ca0 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 2e 7a >zig.test.test_anonymous_union.z
54cc0 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 61 6e 6f 6e 79 6d 6f 75 73 20 75 6e 69 6f ig</kbd>.1/1.test.anonymous.unio
54ce0 6e 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 n.literal.syntax....OK.All.1.tes
54d00 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
54d20 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 >.......................<h2.id="
54d40 6f 70 61 71 75 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6f 70 61 71 75 65 22 3e 6f 70 opaque"><a.href="#toc-opaque">op
54d60 61 71 75 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 6f aque</a>.<a.class="hdr".href="#o
54d80 70 61 71 75 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 paque">..</a></h2>........<p>...
54da0 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ....<code><span.class="line"><sp
54dc0 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 61 6e 3e 20 an.class="tok-kw">opaque</span>.
54de0 7b 7d 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 6e 65 77 20 {}</span></code>.declares.a.new.
54e00 74 79 70 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 type.with.an.unknown.(but.non-ze
54e20 72 6f 29 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 ro).size.and.alignment........It
54e40 20 63 61 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 .can.contain.declarations.the.sa
54e60 6d 65 20 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 me.as.<a.href="#struct">structs<
54e80 2f 61 3e 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 /a>,.<a.href="#union">unions</a>
54ea0 2c 0a 20 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 ,.......and.<a.href="#enum">enum
54ec0 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 70 3e 0a 20 20 20 20 s</a>........</p>.......<p>.....
54ee0 20 20 54 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 ..This.is.typically.used.for.typ
54f00 65 20 73 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 e.safety.when.interacting.with.C
54f20 20 63 6f 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 .code.that.does.not.expose.struc
54f40 74 20 64 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 t.details........Example:.......
54f60 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
54f80 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
54fa0 22 3e 74 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 ">test_opaque.zig</cite></figcap
54fc0 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 6c 69 6e tion><pre><code><span.class="lin
54fe0 65 22 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 e"><span.class="tok-kw">const</s
55000 70 61 6e 3e 20 44 65 72 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>.Derp.=.<span.class="tok-kw"
55020 3e 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >opaque</span>.{};</span>.<span.
55040 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
55060 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.Wat.=.<span.class
55080 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 3c 2f 73 70 61 ="tok-kw">opaque</span>.{};</spa
550a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
550c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
550e0 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 3d k-kw">extern</span>.<span.class=
55100 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="
55120 74 6f 6b 2d 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 tok-fn">bar</span>(d:.*Derp).<sp
55140 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 3b an.class="tok-type">void</span>;
55160 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
55180 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.
551a0 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 57 61 class="tok-fn">foo</span>(w:.*Wa
551c0 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 6e 76 t).<span.class="tok-kw">callconv
551e0 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 79 70 </span>(.C).<span.class="tok-typ
55200 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">void</span>.{</span>.<span.cl
55220 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 77 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ass="line">....bar(w);</span>.<s
55240 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
55260 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
55280 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">tes
552a0 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">&
552c0 71 75 6f 74 3b 63 61 6c 6c 20 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 quot;call.foo&quot;</span>.{</sp
552e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c an>.<span.class="line">....foo(<
55300 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<
55320 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
55340 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
55360 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
55380 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
553a0 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 61 71 75 65 2e amp>$.<kbd>zig.test.test_opaque.
553c0 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
553e0 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 36 3a 39 3a 20 3c ocgen_tmp/test_opaque.zig:6:9:.<
55400 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
55420 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 65 r:.</span><span.class="sgr-1m">e
55440 78 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 xpected.type.'*test_opaque.Derp'
55460 2c 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 ,.found.'*test_opaque.Wat'.</spa
55480 6e 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 n>....bar(w);.........<span.clas
554a0 73 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 s="sgr-32m">^.</span><span.class
554c0 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 6f 70 61 71 75 65 ="sgr-1m">docgen_tmp/test_opaque
554e0 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 67 .zig:6:9:.</span><span.class="sg
55500 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 3d r-36m">note:.</span><span.class=
55520 22 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 "sgr-1m">pointer.type.child.'tes
55540 74 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 t_opaque.Wat'.cannot.cast.into.p
55560 6f 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 ointer.type.child.'test_opaque.D
55580 65 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 erp'.</span><span.class="sgr-1m"
555a0 3e 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 >docgen_tmp/test_opaque.zig:2:13
555c0 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
555e0 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"
55600 3e 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 >opaque.declared.here.</span>con
55620 73 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 st.Wat.=.opaque.{};.............
55640 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 7e 0a <span.class="sgr-32m">^~~~~~~~~.
55660 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
55680 65 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 en_tmp/test_opaque.zig:1:14:.</s
556a0 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 20 pan><span.class="sgr-36m">note:.
556c0 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 70 61 71 </span><span.class="sgr-1m">opaq
556e0 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 74 20 44 65 ue.declared.here.</span>const.De
55700 72 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 rp.=.opaque.{};..............<sp
55720 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 2f 73 an.class="sgr-32m">^~~~~~~~~.</s
55740 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 5f pan><span.class="sgr-1m">docgen_
55760 74 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 tmp/test_opaque.zig:4:18:.</span
55780 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
557a0 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 61 72 61 6d 65 74 pan><span.class="sgr-1m">paramet
557c0 65 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 er.type.declared.here.</span>ext
557e0 65 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 ern.fn.bar(d:.*Derp).void;......
55800 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
55820 22 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 ">^~~~~.</span><span.class="sgr-
55840 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 63 61 6c 6c 2m">referenced.by:.....test.call
55860 20 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 .foo:.docgen_tmp/test_opaque.zig
55880 3a 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 :10:5.....remaining.reference.tr
558a0 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
558c0 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
558e0 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>.
55900 20 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 ..............<h2.id="Blocks"><a
55920 20 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 .href="#toc-Blocks">Blocks</a>.<
55940 61 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 a.class="hdr".href="#Blocks">..<
55960 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 42 6c 6f 63 6b 73 /a></h2>........<p>.......Blocks
55980 20 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 .are.used.to.limit.the.scope.of.
559a0 76 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 variable.declarations:.......</p
559c0 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
559e0 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
55a00 65 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 est_blocks.zig</cite></figcaptio
55a20 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 6c 69 6e 65 22 3e n><pre><code><span.class="line">
55a40 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>
55a60 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 63 63 .<span.class="tok-str">&quot;acc
55a80 65 73 73 20 76 61 72 69 61 62 6c 65 20 61 66 74 65 72 20 62 6c 6f 63 6b 20 73 63 6f 70 65 26 71 ess.variable.after.block.scope&q
55aa0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>.{</span>.<span.class
55ac0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">....{</span>.<span.class
55ae0 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
55b00 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="
55b20 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 6c 61 tok-type">i32</span>.=.<span.cla
55b40 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 3c 2f 73 70 61 6e 3e ss="tok-number">1</span>;</span>
55b60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 .<span.class="line">........_.=.
55b80 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 x;</span>.<span.class="line">...
55ba0 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .}</span>.<span.class="line">...
55bc0 20 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 72 22 3e 31 .x.+=.<span.class="tok-number">1
55be0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
55c00 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
55c20 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
55c40 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
55c60 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 62 6c 6f 63 6b 73 2e amp>$.<kbd>zig.test.test_blocks.
55c80 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
55ca0 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 62 6c 6f 63 6b 73 2e 7a 69 67 3a 36 3a 35 3a 20 3c ocgen_tmp/test_blocks.zig:6:5:.<
55cc0 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
55ce0 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 75 r:.</span><span.class="sgr-1m">u
55d00 73 65 20 6f 66 20 75 6e 64 65 63 6c 61 72 65 64 20 69 64 65 6e 74 69 66 69 65 72 20 27 78 27 0a se.of.undeclared.identifier.'x'.
55d20 3c 2f 73 70 61 6e 3e 20 20 20 20 78 20 2b 3d 20 31 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 </span>....x.+=.1;.....<span.cla
55d40 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 3e 3c 2f ss="sgr-32m">^.</span>.</samp></
55d60 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 42 6c 6f 63 6b 73 20 61 72 pre></figure>.......<p>Blocks.ar
55d80 65 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 57 68 65 6e 20 6c 61 62 65 6c 65 64 2c 20 3c 63 6f e.expressions..When.labeled,.<co
55da0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
55dc0 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 73 70 61 6e 3e 3c 2f s="tok-kw">break</span></span></
55de0 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 72 65 74 75 72 code>.can.be.used.......to.retur
55e00 6e 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 3a 0a 20 20 20 20 20 20 n.a.value.from.the.block:.......
55e20 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
55e40 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
55e60 22 3e 74 65 73 74 5f 6c 61 62 65 6c 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ">test_labeled_break.zig</cite><
55e80 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
55ea0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
55ec0 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
55ee0 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
55f00 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;
55f20 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
55f40 6e 65 22 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 ne"><span.class="tok-kw">const</
55f60 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
55f80 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 t;</span>.<span.class="line"></s
55fa0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
55fc0 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
55fe0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6c 61 62 65 6c 65 64 20 62 72 65 lass="tok-str">&quot;labeled.bre
56000 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c 65 64 20 62 6c 6f 63 6b 20 65 78 70 72 65 73 73 69 6f 6e ak.from.labeled.block.expression
56020 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
56040 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
56060 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
56080 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
560a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ="tok-number">123</span>;</span>
560c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
560e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
56100 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 6b 3a 20 7b 3c tok-kw">const</span>.x.=.blk:.{<
56120 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
56140 20 20 79 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 ..y.+=.<span.class="tok-number">
56160 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 1</span>;</span>.<span.class="li
56180 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
561a0 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >break</span>.:blk.y;</span>.<sp
561c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 an.class="line">....};</span>.<s
561e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
56200 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 78 20 3d 3d ="tok-kw">try</span>.expect(x.==
56220 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 34 3c 2f 73 .<span.class="tok-number">124</s
56240 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
56260 3e 20 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
56280 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 22 74 6f pan>.expect(y.==.<span.class="to
562a0 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">124</span>);</span>.<s
562c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
562e0 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
56300 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
56320 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
56340 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 0a 31 t.test_labeled_break.zig</kbd>.1
56360 2f 31 20 74 65 73 74 2e 6c 61 62 65 6c 65 64 20 62 72 65 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c /1.test.labeled.break.from.label
56380 65 64 20 62 6c 6f 63 6b 20 65 78 70 72 65 73 73 69 6f 6e 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 ed.block.expression....OK.All.1.
563a0 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
563c0 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 48 65 72 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ure>.......<p>Here,.<code><span.
563e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 6c 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 class="line">blk</span></code>.c
56400 61 6e 20 62 65 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 an.be.any.name.</p>.......<p>See
56420 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 4c 61 62 .also:</p><ul>.<li><a.href="#Lab
56440 65 6c 65 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 eled-while">Labeled.while</a></l
56460 69 3e 0a 3c 6c 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 i>.<li><a.href="#Labeled-for">La
56480 62 65 6c 65 64 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 beled.for</a></li>.</ul>........
564a0 20 3c 68 33 20 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 .<h3.id="Shadowing"><a.href="#to
564c0 63 2d 53 68 61 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 c-Shadowing">Shadowing</a>.<a.cl
564e0 61 73 73 3d 22 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 ass="hdr".href="#Shadowing">..</
56500 61 3e 3c 2f 68 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 a></h3>........<p><a.href="#Iden
56520 74 69 66 69 65 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 tifiers">Identifiers</a>.are.nev
56540 65 72 20 61 6c 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 er.allowed.to."hide".other.ident
56560 69 66 69 65 72 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 ifiers.by.using.the.same.name:</
56580 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
565a0 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">
565c0 74 65 73 74 5f 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 test_shadowing.zig</cite></figca
565e0 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 6c 69 ption><pre><code><span.class="li
56600 6e 65 22 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 ne"><span.class="tok-kw">const</
56620 73 70 61 6e 3e 20 70 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 span>.pi.=.<span.class="tok-numb
56640 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">3.14</span>;</span>.<span.cl
56660 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
56680 6c 69 6e 65 22 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 line"><span.class="tok-kw">test<
566a0 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
566c0 6f 74 3b 69 6e 73 69 64 65 20 74 65 73 74 20 62 6c 6f 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ot;inside.test.block&quot;</span
566e0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
56700 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 4c ..<span.class="tok-comment">//.L
56720 65 74 27 73 20 65 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 et's.even.go.inside.another.bloc
56740 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e k</span></span>.<span.class="lin
56760 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e">....{</span>.<span.class="lin
56780 65 22 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 6b 77 22 3e e">........<span.class="tok-kw">
567a0 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 3d 22 74 6f 6b 2d var</span>.pi:.<span.class="tok-
567c0 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="
567e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a tok-number">1234</span>;</span>.
56800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a <span.class="line">....}</span>.
56820 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">}</span></cod
56840 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
56860 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
56880 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
568a0 65 73 74 20 74 65 73 74 5f 73 68 61 64 6f 77 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 est.test_shadowing.zig</kbd>.<sp
568c0 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
568e0 74 5f 73 68 61 64 6f 77 69 6e 67 2e 7a 69 67 3a 36 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 t_shadowing.zig:6:13:.</span><sp
56900 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 6e an.class="sgr-31m">error:.</span
56920 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6c 6f 63 61 6c 20 76 61 72 69 ><span.class="sgr-1m">local.vari
56940 61 62 6c 65 20 73 68 61 64 6f 77 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6f 66 20 27 70 69 27 able.shadows.declaration.of.'pi'
56960 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 76 61 72 20 70 69 3a 20 69 33 32 20 3d 20 31 32 .</span>........var.pi:.i32.=.12
56980 33 34 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 73 67 72 34;.............<span.class="sgr
569a0 2d 33 32 6d 22 3e 5e 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 -32m">^~.</span><span.class="sgr
569c0 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 73 68 61 64 6f 77 69 6e 67 2e 7a -1m">docgen_tmp/test_shadowing.z
569e0 69 67 3a 31 3a 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 ig:1:1:.</span><span.class="sgr-
56a00 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 73 36m">note:.</span><span.class="s
56a20 67 72 2d 31 6d 22 3e 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 gr-1m">declared.here.</span>cons
56a40 74 20 70 69 20 3d 20 33 2e 31 34 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 t.pi.=.3.14;.<span.class="sgr-32
56a60 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 3c 2f 73 61 6d m">^~~~~~~~~~~~~~~.</span>.</sam
56a80 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>.....
56aa0 20 20 42 65 63 61 75 73 65 20 6f 66 20 74 68 69 73 2c 20 77 68 65 6e 20 79 6f 75 20 72 65 61 64 ..Because.of.this,.when.you.read
56ac0 20 5a 69 67 20 63 6f 64 65 20 79 6f 75 20 63 61 6e 20 61 6c 77 61 79 73 20 72 65 6c 79 20 6f 6e .Zig.code.you.can.always.rely.on
56ae0 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 74 6f 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 20 6d .an.identifier.to.consistently.m
56b00 65 61 6e 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 77 69 74 68 69 6e 20 ean.......the.same.thing.within.
56b20 74 68 65 20 73 63 6f 70 65 20 69 74 20 69 73 20 64 65 66 69 6e 65 64 2e 20 4e 6f 74 65 20 74 68 the.scope.it.is.defined..Note.th
56b40 61 74 20 79 6f 75 20 63 61 6e 2c 20 68 6f 77 65 76 65 72 2c 20 75 73 65 20 74 68 65 20 73 61 6d at.you.can,.however,.use.the.sam
56b60 65 20 6e 61 6d 65 20 69 66 0a 20 20 20 20 20 20 74 68 65 20 73 63 6f 70 65 73 20 61 72 65 20 73 e.name.if.......the.scopes.are.s
56b80 65 70 61 72 61 74 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 eparate:.......</p>.......<figur
56ba0 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
56bc0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 63 6f 70 65 73 2e 7a 69 67 ite.class="file">test_scopes.zig
56be0 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><
56c00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
56c20 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="
56c40 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 26 71 tok-str">&quot;separate.scopes&q
56c60 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>.{</span>.<span.class
56c80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">....{</span>.<span.class
56ca0 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
56cc0 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 20 63 6c 61 -kw">const</span>.pi.=.<span.cla
56ce0 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 3c 2f 73 70 ss="tok-number">3.14</span>;</sp
56d00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f an>.<span.class="line">........_
56d20 20 3d 20 70 69 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .=.pi;</span>.<span.class="line"
56d40 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
56d60 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....{</span>.<span.class="line"
56d80 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 6b 77 22 3e 76 61 >........<span.class="tok-kw">va
56da0 72 3c 2f 73 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 r</span>.pi:.<span.class="tok-ty
56dc0 70 65 22 3e 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 pe">bool</span>.=.<span.class="t
56de0 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-null">true</span>;</span>.<sp
56e00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 70 69 3b 3c an.class="line">........_.=.pi;<
56e20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c /span>.<span.class="line">....}<
56e40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
56e60 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 3e n></code></pre></figure><figure>
56e80 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
56ea0 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
56ec0 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 63 6f 70 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e d>zig.test.test_scopes.zig</kbd>
56ee0 0a 31 2f 31 20 74 65 73 74 2e 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 2e 2e 2e 20 4f 4b 0a .1/1.test.separate.scopes....OK.
56f00 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
56f20 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 3d ></figure>...............<h3.id=
56f40 22 45 6d 70 74 79 2d 42 6c 6f 63 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 6d 70 "Empty-Blocks"><a.href="#toc-Emp
56f60 74 79 2d 42 6c 6f 63 6b 73 22 3e 45 6d 70 74 79 20 42 6c 6f 63 6b 73 3c 2f 61 3e 20 3c 61 20 63 ty-Blocks">Empty.Blocks</a>.<a.c
56f80 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 6d 70 74 79 2d 42 6c 6f 63 6b 73 22 3e lass="hdr".href="#Empty-Blocks">
56fa0 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 65 6d 70 74 79 20 62 ..</a></h3>........<p>An.empty.b
56fc0 6c 6f 63 6b 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 lock.is.equivalent.to.<code><spa
56fe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
57000 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 type">void</span>{}</span></code
57020 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 61 70 74 69 6f 6e >:</p>.......<figure><figcaption
57040 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
57060 6c 65 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 le">test_empty_block.zig</cite><
57080 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
570a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
570c0 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
570e0 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
57100 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;
57120 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
57140 6e 65 22 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 ne"><span.class="tok-kw">const</
57160 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
57180 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 t;</span>.<span.class="line"></s
571a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
571c0 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 7b 3c 2f 73 70 61 6e ass="tok-kw">test</span>.{</span
571e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
57200 6c 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 7b lass="tok-kw">const</span>.a.=.{
57220 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 };</span>.<span.class="line">...
57240 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
57260 6e 3e 20 62 20 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 76 6f n>.b.=.<span.class="tok-type">vo
57280 69 64 3c 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d id</span>{};</span>.<span.class=
572a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
572c0 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
572e0 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 29 20 3d 3d ok-builtin">@TypeOf</span>(a).==
57300 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
57320 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
57340 20 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
57360 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
57380 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 62 29 20 3d 3d 20 3c 73 70 61 6e 20 tin">@TypeOf</span>(b).==.<span.
573a0 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 3c 2f class="tok-type">void</span>);</
573c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
573e0 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
57400 65 63 74 28 61 20 3d 3d 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ect(a.==.b);</span>.<span.class=
57420 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
57440 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="
57460 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
57480 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 65 6d 70 e><samp>$.<kbd>zig.test.test_emp
574a0 74 79 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 5f 30 2e 2e 2e ty_block.zig</kbd>.1/1.test_0...
574c0 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><
574e0 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 20 20 /pre></figure>..................
57500 20 20 20 20 3c 68 32 20 69 64 3d 22 73 77 69 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ....<h2.id="switch"><a.href="#to
57520 63 2d 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 c-switch">switch</a>.<a.class="h
57540 64 72 22 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a dr".href="#switch">..</a></h2>..
57560 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=
57580 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
575a0 74 5f 73 77 69 74 63 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 t_switch.zig</cite></figcaption>
575c0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
575e0 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>.
57600 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">
57620 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-
57640 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 3c 2f 73 str">&quot;std&quot;</span>);</s
57660 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
57680 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 75 69 6c 74 69 ass="tok-kw">const</span>.builti
576a0 6e 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 n.=.<span.class="tok-builtin">@i
576c0 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
576e0 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 3b 3c r">&quot;builtin&quot;</span>);<
57700 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
57720 63 6c 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
57740 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
57760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
57780 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
577a0 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-
577c0 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 73 69 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f str">&quot;switch.simple&quot;</
577e0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
57800 22 3e 20 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
57820 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 2d 74 79 70 65 </span>.a:.<span.class="tok-type
57840 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 6f 6b 2d ">u64</span>.=.<span.class="tok-
57860 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">10</span>;</span>.<span.
57880 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
578a0 6b 2d 6b 77 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 k-kw">const</span>.zz:.<span.cla
578c0 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
578e0 20 63 6c 61 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 3c .class="tok-number">103</span>;<
57900 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
57920 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
57940 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6c 6c 20 62 72 61 6e 63 68 lass="tok-comment">//.All.branch
57960 65 73 20 6f 66 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 20 6d 75 73 74 20 62 es.of.a.switch.expression.must.b
57980 65 20 61 62 6c 65 20 74 6f 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 3c 2f 73 70 61 6e 3e e.able.to.be.coerced.to.a</span>
579a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
579c0 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 6d 6d span.class="tok-comment">//.comm
579e0 6f 6e 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 on.type.</span></span>.<span.cla
57a00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
57a20 6f 6d 6d 65 6e 74 22 3e 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 omment">//</span></span>.<span.c
57a40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
57a60 2d 63 6f 6d 6d 65 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 -comment">//.Branches.cannot.fal
57a80 6c 74 68 72 6f 75 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 lthrough..If.fallthrough.behavio
57aa0 72 20 69 73 20 64 65 73 69 72 65 64 2c 20 63 6f 6d 62 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 r.is.desired,.combine</span></sp
57ac0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
57ae0 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
57b00 73 20 61 6e 64 20 75 73 65 20 61 6e 20 69 66 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c s.and.use.an.if.</span></span>.<
57b20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
57b40 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 70 61 s="tok-kw">const</span>.b.=.<spa
57b60 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 28 n.class="tok-kw">switch</span>.(
57b80 61 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 a).{</span>.<span.class="line">.
57ba0 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"
57bc0 3e 2f 2f 20 4d 75 6c 74 69 70 6c 65 20 63 61 73 65 73 20 63 61 6e 20 62 65 20 63 6f 6d 62 69 6e >//.Multiple.cases.can.be.combin
57be0 65 64 20 76 69 61 20 61 20 27 2c 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ed.via.a.','</span></span>.<span
57c00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
57c20 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
57c40 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
57c60 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 20 3d 26 n.class="tok-number">3</span>.=&
57c80 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 65 72 22 3e 30 3c 2f gt;.<span.class="tok-number">0</
57ca0 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
57cc0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
57ce0 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">//
57d00 20 52 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 .Ranges.can.be.specified.using.t
57d20 68 65 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 he.....syntax..These.are.inclusi
57d40 76 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ve</span></span>.<span.class="li
57d60 6e 65 22 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 63 6f 6d ne">........<span.class="tok-com
57d80 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 3e 3c 2f 73 ment">//.of.both.ends.</span></s
57da0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
57dc0 3c 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
57de0 3e 2e 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 30 30 >...<span.class="tok-number">100
57e00 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 6e </span>.=&gt;.<span.class="tok-n
57e20 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">1</span>,</span>.<span.cl
57e40 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
57e60 6c 69 6e 65 22 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 63 line">........<span.class="tok-c
57e80 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 61 6e 63 68 65 73 20 63 61 6e 20 62 65 20 61 72 62 69 74 omment">//.Branches.can.be.arbit
57ea0 72 61 72 69 6c 79 20 63 6f 6d 70 6c 65 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 rarily.complex.</span></span>.<s
57ec0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
57ee0 6c 61 73 73 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 lass="tok-number">101</span>.=&g
57f00 74 3b 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 t;.blk:.{</span>.<span.class="li
57f20 6e 65 22 3e 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 ne">............<span.class="tok
57f40 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 73 73 -kw">const</span>.c:.<span.class
57f60 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 20 63 ="tok-type">u64</span>.=.<span.c
57f80 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 3c 2f 73 70 61 lass="tok-number">5</span>;</spa
57fa0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
57fc0 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
57fe0 61 6e 3e 20 3a 62 6c 6b 20 63 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 an>.:blk.c.*.<span.class="tok-nu
58000 6d 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 mber">2</span>.+.<span.class="to
58020 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">1</span>;</span>.<span
58040 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a .class="line">........},</span>.
58060 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
58080 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
580a0 73 3d 22 74 6f 6b 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 s="tok-comment">//.Switching.on.
580c0 61 72 62 69 74 72 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 arbitrary.expressions.is.allowed
580e0 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .as.long.as.the</span></span>.<s
58100 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
58120 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
58140 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
58160 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
58180 20 20 20 20 7a 7a 20 3d 26 67 74 3b 20 7a 7a 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ....zz.=&gt;.zz,</span>.<span.cl
581a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e ass="line">........blk:.{</span>
581c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
581e0 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
58200 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 3e 75 33 32 3c >.d:.<span.class="tok-type">u32<
58220 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
58240 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">5</span>;</span>.<span.class="
58260 6c 69 6e 65 22 3e 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 line">............<span.class="t
58280 6f 6b 2d 6b 77 22 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 ok-kw">const</span>.e:.<span.cla
582a0 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
582c0 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 3b 3c .class="tok-number">100</span>;<
582e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
58300 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 72 65 61 6b ......<span.class="tok-kw">break
58320 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 64 20 2b 20 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e </span>.:blk.d.+.e;</span>.<span
58340 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 3d 26 67 74 3b 20 3c 73 .class="line">........}.=&gt;.<s
58360 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 73 70 61 6e pan.class="tok-number">107</span
58380 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >,</span>.<span.class="line"></s
583a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
583c0 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
583e0 20 65 6c 73 65 20 62 72 61 6e 63 68 20 63 61 74 63 68 65 73 20 65 76 65 72 79 74 68 69 6e 67 20 .else.branch.catches.everything.
58400 6e 6f 74 20 61 6c 72 65 61 64 79 20 63 61 70 74 75 72 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 not.already.captured.</span></sp
58420 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
58440 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 45 6c 73 65 span.class="tok-comment">//.Else
58460 20 62 72 61 6e 63 68 65 73 20 61 72 65 20 6d 61 6e 64 61 74 6f 72 79 20 75 6e 6c 65 73 73 20 74 .branches.are.mandatory.unless.t
58480 68 65 20 65 6e 74 69 72 65 20 72 61 6e 67 65 20 6f 66 20 76 61 6c 75 65 73 3c 2f 73 70 61 6e 3e he.entire.range.of.values</span>
584a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
584c0 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">//.
584e0 69 73 20 68 61 6e 64 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 is.handled.</span></span>.<span.
58500 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
58520 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
58540 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 3c 2f n.class="tok-number">9</span>,</
58560 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c span>.<span.class="line">....};<
58580 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
585a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
585c0 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(
585e0 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 22 3e 31 3c b.==.<span.class="tok-number">1<
58600 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
58620 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e">}</span>.<span.class="line"><
58640 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
58660 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 74 63 68 20 65 78 class="tok-comment">//.Switch.ex
58680 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 69 64 65 20 61 20 pressions.can.be.used.outside.a.
586a0 66 75 6e 63 74 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c function:</span></span>.<span.cl
586c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
586e0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 5f 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 const</span>.os_msg.=.<span.clas
58700 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 62 75 69 6c 74 69 s="tok-kw">switch</span>.(builti
58720 6e 2e 74 61 72 67 65 74 2e 6f 73 2e 74 61 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n.target.os.tag).{</span>.<span.
58740 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6c 69 6e 75 78 20 3d 26 67 74 3b 20 3c 73 class="line">.....linux.=&gt;.<s
58760 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 65 20 66 6f 75 pan.class="tok-str">&quot;we.fou
58780 6e 64 20 61 20 6c 69 6e 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 nd.a.linux.user&quot;</span>,</s
587a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
587c0 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
587e0 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 75 6f 74 3b 6e t;.<span.class="tok-str">&quot;n
58800 6f 74 20 61 20 6c 69 6e 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 ot.a.linux.user&quot;</span>,</s
58820 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e pan>.<span.class="line">};</span
58840 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
58860 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
58880 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 73 69 64 65 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 -comment">//.Inside.a.function,.
588a0 73 77 69 74 63 68 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 72 65 switch.statements.implicitly.are
588c0 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .compile-time</span></span>.<spa
588e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
58900 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 61 6c 75 61 74 65 64 20 69 66 20 74 68 65 20 74 61 72 comment">//.evaluated.if.the.tar
58920 67 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b get.expression.is.compile-time.k
58940 6e 6f 77 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d nown.</span></span>.<span.class=
58960 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">test
58980 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
589a0 75 6f 74 3b 73 77 69 74 63 68 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b uot;switch.inside.function&quot;
589c0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
589e0 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">swi
58a00 74 63 68 3c 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 tch</span>.(builtin.target.os.ta
58a20 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 g).{</span>.<span.class="line">.
58a40 20 20 20 20 20 20 20 2e 66 75 63 68 73 69 61 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ........fuchsia.=&gt;.{</span>.<
58a60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 span.class="line">............<s
58a80 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 4f 6e 20 61 6e pan.class="tok-comment">//.On.an
58aa0 20 4f 53 20 6f 74 68 65 72 20 74 68 61 6e 20 66 75 63 68 73 69 61 2c 20 62 6c 6f 63 6b 20 69 73 .OS.other.than.fuchsia,.block.is
58ac0 20 6e 6f 74 20 65 76 65 6e 20 61 6e 61 6c 79 7a 65 64 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .not.even.analyzed,</span></span
58ae0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
58b00 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 73 6f .<span.class="tok-comment">//.so
58b20 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 74 72 69 67 67 .this.compile.error.is.not.trigg
58b40 65 72 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ered.</span></span>.<span.class=
58b60 22 6c 69 6e 65 22 3e 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 "line">............<span.class="
58b80 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 20 66 75 63 68 73 69 61 20 74 68 69 73 20 tok-comment">//.On.fuchsia.this.
58ba0 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 77 6f 75 6c 64 20 62 65 20 74 72 69 67 67 65 72 65 64 compile.error.would.be.triggered
58bc0 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
58be0 65 22 3e 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 e">............<span.class="tok-
58c00 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
58c20 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 75 63 68 73 69 pan.class="tok-str">&quot;fuchsi
58c40 61 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f a.not.supported&quot;</span>);</
58c60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
58c80 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .},</span>.<span.class="line">..
58ca0 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 65 3c ......<span.class="tok-kw">else<
58cc0 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c /span>.=&gt;.{},</span>.<span.cl
58ce0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ass="line">....}</span>.<span.cl
58d00 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
58d20 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
58d40 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
58d60 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
58d80 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 73 77 69 74 63 _switch.zig</kbd>.1/2.test.switc
58da0 68 20 73 69 6d 70 6c 65 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 2e 73 77 69 74 63 68 20 69 h.simple....OK.2/2.test.switch.i
58dc0 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 73 74 73 nside.function....OK.All.2.tests
58de0 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>.
58e00 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 6c 61 73 ......<p>.......<code><span.clas
58e20 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 s="line"><span.class="tok-kw">sw
58e40 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 itch</span></span></code>.can.be
58e60 20 75 73 65 64 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 66 69 65 6c 64 20 76 61 6c 75 65 .used.to.capture.the.field.value
58e80 73 0a 20 20 20 20 20 20 6f 66 20 61 20 3c 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e s.......of.a.<a.href="#Tagged-un
58ea0 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 2e 20 4d 6f 64 69 66 69 63 61 74 ion">Tagged.union</a>..Modificat
58ec0 69 6f 6e 73 20 74 6f 20 74 68 65 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 63 61 6e 20 62 65 0a ions.to.the.field.values.can.be.
58ee0 20 20 20 20 20 20 64 6f 6e 65 20 62 79 20 70 6c 61 63 69 6e 67 20 61 20 3c 63 6f 64 65 3e 3c 73 ......done.by.placing.a.<code><s
58f00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">*</span></code>
58f20 20 62 65 66 6f 72 65 20 74 68 65 20 63 61 70 74 75 72 65 20 76 61 72 69 61 62 6c 65 20 6e 61 6d .before.the.capture.variable.nam
58f40 65 2c 0a 20 20 20 20 20 20 74 75 72 6e 69 6e 67 20 69 74 20 69 6e 74 6f 20 61 20 70 6f 69 6e 74 e,.......turning.it.into.a.point
58f60 65 72 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 er........</p>.......<figure><fi
58f80 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
58fa0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 lass="file">test_switch_tagged_u
58fc0 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 72 65 nion.zig</cite></figcaption><pre
58fe0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
59000 63 6c 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
59020 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 3e 40 ct.=.<span.class="tok-builtin">@
59040 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
59060 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 73 74 tr">&quot;std&quot;</span>).test
59080 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ing.expect;</span>.<span.class="
590a0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
590c0 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
590e0 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 73 77 >.<span.class="tok-str">&quot;sw
59100 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e itch.on.tagged.union&quot;</span
59120 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
59140 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
59160 61 6e 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 an>.Point.=.<span.class="tok-kw"
59180 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >struct</span>.{</span>.<span.cl
591a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">........x:.<span.clas
591c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c s="tok-type">u8</span>,</span>.<
591e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 79 3a 20 3c 73 70 span.class="line">........y:.<sp
59200 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 3c 2f an.class="tok-type">u8</span>,</
59220 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c span>.<span.class="line">....};<
59240 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
59260 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>.
59280 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 22 3e 75 6e 69 6f Item.=.<span.class="tok-kw">unio
592a0 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 6e n</span>(<span.class="tok-kw">en
592c0 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d um</span>).{</span>.<span.class=
592e0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 "line">........a:.<span.class="t
59300 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-type">u32</span>,</span>.<spa
59320 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 63 3a 20 50 6f 69 6e 74 2c n.class="line">........c:.Point,
59340 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
59360 20 20 20 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...d,</span>.<span.class="line">
59380 20 20 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 ........e:.<span.class="tok-type
593a0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">u32</span>,</span>.<span.class
593c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">....};</span>.<span.clas
593e0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
59400 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">var
59420 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 49 74 65 6d 7b 20 2e 63 20 3d 20 50 6f 69 6e 74 7b 20 2e 78 </span>.a.=.Item{..c.=.Point{..x
59440 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
59460 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 62 pan>,..y.=.<span.class="tok-numb
59480 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 er">2</span>.}.};</span>.<span.c
594a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
594c0 22 6c 69 6e 65 22 3e 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 "line">....<span.class="tok-comm
594e0 65 6e 74 22 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 ent">//.Switching.on.more.comple
59500 78 20 65 6e 75 6d 73 20 69 73 20 61 6c 6c 6f 77 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e x.enums.is.allowed.</span></span
59520 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
59540 6c 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 lass="tok-kw">const</span>.b.=.<
59560 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 61 6e span.class="tok-kw">switch</span
59580 3e 20 28 61 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >.(a).{</span>.<span.class="line
595a0 22 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 63 6f 6d 6d 65 ">........<span.class="tok-comme
595c0 6e 74 22 3e 2f 2f 20 41 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 20 69 73 20 61 6c 6c 6f 77 65 nt">//.A.capture.group.is.allowe
595e0 64 20 6f 6e 20 61 20 6d 61 74 63 68 2c 20 61 6e 64 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 d.on.a.match,.and.will.return.th
59600 65 20 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 e.enum</span></span>.<span.class
59620 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
59640 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 20 6d 61 74 63 68 65 64 2e 20 49 66 20 74 -comment">//.value.matched..If.t
59660 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 73 20 6f 66 20 62 6f 74 68 20 63 61 73 65 73 20 61 he.payload.types.of.both.cases.a
59680 72 65 20 74 68 65 20 73 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 re.the.same</span></span>.<span.
596a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
596c0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 79 20 63 61 6e 20 62 65 20 70 75 ="tok-comment">//.they.can.be.pu
596e0 74 20 69 6e 74 6f 20 74 68 65 20 73 61 6d 65 20 73 77 69 74 63 68 20 70 72 6f 6e 67 2e 3c 2f 73 t.into.the.same.switch.prong.</s
59700 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
59720 20 20 20 20 20 20 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 .......Item.a,.Item.e.=&gt;.|ite
59740 6d 7c 20 69 74 65 6d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e m|.item,</span>.<span.class="lin
59760 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
59780 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">
597a0 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 68 65 64 20 76 61 //.A.reference.to.the.matched.va
597c0 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 60 2a 60 20 73 79 lue.can.be.obtained.using.`*`.sy
597e0 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ntax.</span></span>.<span.class=
59800 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 49 74 65 6d 2e 63 20 3d 26 67 74 3b 20 7c 2a 69 74 "line">........Item.c.=&gt;.|*it
59820 65 6d 7c 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c em|.blk:.{</span>.<span.class="l
59840 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 69 74 65 6d 2e 2a 2e 78 20 2b 3d 20 3c 73 70 ine">............item.*.x.+=.<sp
59860 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 3c an.class="tok-number">1</span>;<
59880 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
598a0 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 72 65 61 6b ......<span.class="tok-kw">break
598c0 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 </span>.:blk.<span.class="tok-nu
598e0 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">6</span>;</span>.<span.cla
59900 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ss="line">........},</span>.<spa
59920 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
59940 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
59960 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 20 65 6c 73 65 20 69 73 20 72 65 71 75 69 72 ok-comment">//.No.else.is.requir
59980 65 64 20 69 66 20 74 68 65 20 74 79 70 65 73 20 63 61 73 65 73 20 77 61 73 20 65 78 68 61 75 73 ed.if.the.types.cases.was.exhaus
599a0 74 69 76 65 6c 79 20 68 61 6e 64 6c 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tively.handled</span></span>.<sp
599c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 49 74 65 6d 2e 64 20 3d an.class="line">........Item.d.=
599e0 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 65 72 22 3e 38 3c &gt;.<span.class="tok-number">8<
59a00 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
59a20 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....};</span>.<span.class="lin
59a40 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
59a60 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
59a80 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 2d 6e >.expect(b.==.<span.class="tok-n
59aa0 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">6</span>);</span>.<span.c
59ac0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
59ae0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 2e 63 2e 78 20 3d 3d 20 -kw">try</span>.expect(a.c.x.==.
59b00 3c 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
59b20 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c >);</span>.<span.class="line">}<
59b40 2f 73 70 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 /span></code></pre></figure><fig
59b60 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
59b80 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>$
59ba0 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 68 5f 74 61 67 67 65 .<kbd>zig.test.test_switch_tagge
59bc0 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 74 2e 73 77 69 74 63 d_union.zig</kbd>.1/1.test.switc
59be0 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
59c00 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
59c20 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
59c40 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</
59c60 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
59c80 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
59ca0 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
59cc0 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
59ce0 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>..
59d00 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
59d20 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
59d40 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
59d60 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
59d80 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>.......
59da0 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
59dc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
59de0 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 switch</span></span></code>.expr
59e00 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 6f 64 65 3e 3c 73 ession.does.not.have.an.<code><s
59e20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
59e40 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 k-kw">else</span></span></code>.
59e60 63 6c 61 75 73 65 2c 0a 20 20 20 20 20 20 69 74 20 6d 75 73 74 20 65 78 68 61 75 73 74 69 76 65 clause,.......it.must.exhaustive
59e80 6c 79 20 6c 69 73 74 20 61 6c 6c 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 2e ly.list.all.the.possible.values.
59ea0 20 46 61 69 6c 75 72 65 20 74 6f 20 64 6f 20 73 6f 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 .Failure.to.do.so.is.a.compile.e
59ec0 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 67 75 72 65 3e 3c rror:.......</p>.......<figure><
59ee0 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
59f00 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 68 61 6e 64 6c 65 64 5f 65 6e 75 .class="file">test_unhandled_enu
59f20 6d 65 72 61 74 69 6f 6e 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 meration_value.zig</cite></figca
59f40 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 6c 69 ption><pre><code><span.class="li
59f60 6e 65 22 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 ne"><span.class="tok-kw">const</
59f80 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 74 6f 6b 2d 6b span>.Color.=.<span.class="tok-k
59fa0 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c w">enum</span>.{</span>.<span.cl
59fc0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="line">....auto,</span>.<spa
59fe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 66 66 2c 3c 2f 73 70 61 6e 3e 0a 3c n.class="line">....off,</span>.<
5a000 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 2c 3c 2f 73 70 61 6e 3e span.class="line">....on,</span>
5a020 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .<span.class="line">};</span>.<s
5a040 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
5a060 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
5a080 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
5a0a0 72 22 3e 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 r">&quot;exhaustive.switching&qu
5a0c0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
5a0e0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
5a100 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 66 3b 3c const</span>.color.=.Color.off;<
5a120 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
5a140 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>
5a160 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .(color).{</span>.<span.class="l
5a180 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6c 6f 72 2e 61 75 74 6f 20 3d 26 67 74 3b 20 7b 7d ine">........Color.auto.=&gt;.{}
5a1a0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
5a1c0 20 20 20 20 43 6f 6c 6f 72 2e 6f 6e 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ....Color.on.=&gt;.{},</span>.<s
5a1e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">....}</span>.<s
5a200 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
5a220 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
5a240 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
5a260 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
5a280 74 20 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 6e 5f 76 61 6c t.test_unhandled_enumeration_val
5a2a0 75 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 72 2d 31 6d ue.zig</kbd>.<span.class="sgr-1m
5a2c0 22 3e 64 6f 63 67 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 ">docgen_tmp/test_unhandled_enum
5a2e0 65 72 61 74 69 6f 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 eration_value.zig:9:5:.</span><s
5a300 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
5a320 6e 3e 3c 73 70 61 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 n><span.class="sgr-1m">switch.mu
5a340 73 74 20 68 61 6e 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 st.handle.all.possibilities.</sp
5a360 61 6e 3e 20 20 20 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 an>....switch.(color).{.....<spa
5a380 6e 20 63 6c 61 73 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 n.class="sgr-32m">^~~~~~.</span>
5a3a0 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/
5a3c0 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 6e 5f 76 61 6c 75 65 test_unhandled_enumeration_value
5a3e0 2e 7a 69 67 3a 33 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 .zig:3:5:.</span><span.class="sg
5a400 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 3d r-36m">note:.</span><span.class=
5a420 22 73 67 72 2d 31 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 "sgr-1m">unhandled.enumeration.v
5a440 61 6c 75 65 3a 20 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 alue:.'off'.</span>....off,.....
5a460 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 70 61 6e <span.class="sgr-32m">^~~.</span
5a480 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 6d 70 ><span.class="sgr-1m">docgen_tmp
5a4a0 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 6e 5f 76 61 6c 75 /test_unhandled_enumeration_valu
5a4c0 65 2e 7a 69 67 3a 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 e.zig:1:15:.</span><span.class="
5a4e0 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 73 sgr-36m">note:.</span><span.clas
5a500 73 3d 22 73 67 72 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 s="sgr-1m">enum.'test_unhandled_
5a520 65 6e 75 6d 65 72 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 enumeration_value.Color'.declare
5a540 64 20 68 65 72 65 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 d.here.</span>const.Color.=.enum
5a560 20 7b 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 67 .{...............<span.class="sg
5a580 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 3c 2f 70 72 65 r-32m">^~~~.</span>.</samp></pre
5a5a0 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 3d ></figure>...............<h3.id=
5a5c0 22 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 3c "Switching-with-Enum-Literals"><
5a5e0 61 20 68 72 65 66 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 a.href="#toc-Switching-with-Enum
5a600 2d 4c 69 74 65 72 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 -Literals">Switching.with.Enum.L
5a620 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 3d iterals</a>.<a.class="hdr".href=
5a640 22 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 "#Switching-with-Enum-Literals">
5a660 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 3c 61 20 ..</a></h3>........<p>.......<a.
5a680 68 72 65 66 3d 22 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 href="#Enum-Literals">Enum.Liter
5a6a0 61 6c 73 3c 2f 61 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 als</a>.can.be.useful.to.use.wit
5a6c0 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e h.<code><span.class="line"><span
5a6e0 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 73 .class="tok-kw">switch</span></s
5a700 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
5a720 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
5a740 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">
5a760 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>.....
5a780 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
5a7a0 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
5a7c0 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
5a7e0 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 6c aption><pre><code><span.class="l
5a800 69 6e 65 22 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 ine"><span.class="tok-kw">const<
5a820 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
5a840 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
5a860 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
5a880 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>);</span>.<span.class="line"><
5a8a0 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>
5a8c0 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 3c 2f 73 .expect.=.std.testing.expect;</s
5a8e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
5a900 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
5a920 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 3c 73 70 tok-kw">const</span>.Color.=.<sp
5a940 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 3c an.class="tok-kw">enum</span>.{<
5a960 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 75 /span>.<span.class="line">....au
5a980 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 to,</span>.<span.class="line">..
5a9a0 20 20 6f 66 66 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..off,</span>.<span.class="line"
5a9c0 3e 20 20 20 20 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >....on,</span>.<span.class="lin
5a9e0 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e">};</span>.<span.class="line">
5aa00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
5aa20 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
5aa40 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 6c 69 74 n.class="tok-str">&quot;enum.lit
5aa60 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 3e 20 7b erals.with.switch&quot;</span>.{
5aa80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
5aaa0 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>
5aac0 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 66 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .color.=.Color.off;</span>.<span
5aae0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
5ab00 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 3d 20 3c 73 70 ok-kw">const</span>.result.=.<sp
5ab20 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>.
5ab40 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 (color).{</span>.<span.class="li
5ab60 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 75 74 6f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c ne">.........auto.=&gt;.<span.cl
5ab80 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 3c 2f 73 70 ass="tok-null">false</span>,</sp
5aba0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e an>.<span.class="line">.........
5abc0 6f 6e 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 on.=&gt;.<span.class="tok-null">
5abe0 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 false</span>,</span>.<span.class
5ac00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 66 66 20 3d 26 67 74 3b 20 3c 73 70 61 6e ="line">.........off.=&gt;.<span
5ac20 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 3c 2f .class="tok-null">true</span>,</
5ac40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c span>.<span.class="line">....};<
5ac60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
5ac80 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
5aca0 70 65 63 74 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 pect(result);</span>.<span.class
5acc0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
5ace0 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=
5ad00 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
5ad20 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 65 78 re><samp>$.<kbd>zig.test.test_ex
5ad40 68 61 75 73 74 69 76 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 haustive_switch.zig</kbd>.1/1.te
5ad60 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 2e 2e 20 st.enum.literals.with.switch....
5ad80 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></
5ada0 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 33 20 pre></figure>...............<h3.
5adc0 69 64 3d 22 49 6e 6c 69 6e 65 2d 73 77 69 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 id="Inline-switch"><a.href="#toc
5ade0 2d 49 6e 6c 69 6e 65 2d 73 77 69 74 63 68 22 3e 49 6e 6c 69 6e 65 20 73 77 69 74 63 68 3c 2f 61 -Inline-switch">Inline.switch</a
5ae00 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 6c 69 6e 65 2d 73 >.<a.class="hdr".href="#Inline-s
5ae20 77 69 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 3e 0a 20 20 witch">..</a></h3>........<p>...
5ae40 20 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 ....Switch.prongs.can.be.marked.
5ae60 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 as.<code><span.class="line"><spa
5ae80 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 6e 3e 3c 2f n.class="tok-kw">inline</span></
5aea0 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 20 20 20 20 74 span></code>.to.generate.......t
5aec0 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 73 73 69 62 6c he.prong's.body.for.each.possibl
5aee0 65 20 76 61 6c 75 65 20 69 74 20 63 6f 75 6c 64 20 68 61 76 65 3a 0a 20 20 20 20 20 20 3c 2f 70 e.value.it.could.have:.......</p
5af00 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
5af20 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
5af40 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 74 65 3e 3c 2f 66 69 est_inline_switch.zig</cite></fi
5af60 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=
5af80 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
5afa0 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 2d t</span>.std.=.<span.class="tok-
5afc0 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
5afe0 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 73 ass="tok-str">&quot;std&quot;</s
5b000 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
5b020 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
5b040 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 3c n>.expect.=.std.testing.expect;<
5b060 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
5b080 63 6c 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
5b0a0 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
5b0c0 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 r;</span>.<span.class="line"></s
5b0e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
5b100 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
5b120 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 61 6c 3c 2f 73 70 61 ss="tok-fn">isFieldOptional</spa
5b140 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 65 n>(<span.class="tok-kw">comptime
5b160 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 79 70 65 </span>.T:.<span.class="tok-type
5b180 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 66 69 65 6c 64 5f 69 6e 64 65 78 3a 20 3c 73 70 61 ">type</span>,.field_index:.<spa
5b1a0 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 29 n.class="tok-type">usize</span>)
5b1c0 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 3c 2f 73 .!<span.class="tok-type">bool</s
5b1e0 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
5b200 3e 20 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<
5b220 2f 73 70 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 /span>.fields.=.<span.class="tok
5b240 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 53 74 -builtin">@typeInfo</span>(T).St
5b260 72 75 63 74 2e 66 69 65 6c 64 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ruct.fields;</span>.<span.class=
5b280 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
5b2a0 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 6b return</span>.<span.class="tok-k
5b2c0 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 29 20 7b w">switch</span>.(field_index).{
5b2e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
5b300 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">//.
5b320 54 68 69 73 20 70 72 6f 6e 67 20 69 73 20 61 6e 61 6c 79 7a 65 64 20 60 66 69 65 6c 64 73 2e 6c This.prong.is.analyzed.`fields.l
5b340 65 6e 20 2d 20 31 60 20 74 69 6d 65 73 20 77 69 74 68 20 60 69 64 78 60 20 62 65 69 6e 67 20 61 en.-.1`.times.with.`idx`.being.a
5b360 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
5b380 22 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 63 6f 6d 6d 65 ">........<span.class="tok-comme
5b3a0 6e 74 22 3e 2f 2f 20 75 6e 69 71 75 65 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 61 6c nt">//.unique.comptime-known.val
5b3c0 75 65 20 65 61 63 68 20 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ue.each.time.</span></span>.<spa
5b3e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
5b400 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 20 ss="tok-kw">inline</span>.<span.
5b420 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 2e 66 69 class="tok-number">0</span>...fi
5b440 65 6c 64 73 2e 6c 65 6e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 elds.len.-.<span.class="tok-numb
5b460 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 61 6e 20 63 er">1</span>.=&gt;.|idx|.<span.c
5b480 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
5b4a0 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 22 74 6f 6b an>(fields[idx].<span.class="tok
5b4c0 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 6f 6e 61 6c -type">type</span>).==..Optional
5b4e0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
5b500 20 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 65 3c 2f 73 ....<span.class="tok-kw">else</s
5b520 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 6b 77 22 3e pan>.=&gt;.<span.class="tok-kw">
5b540 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 6b return</span>.<span.class="tok-k
5b560 77 22 3e 65 72 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 w">error</span>.IndexOutOfBounds
5b580 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
5b5a0 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f };</span>.<span.class="line">}</
5b5c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
5b5e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
5b600 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 3d 20 "tok-kw">const</span>.Struct1.=.
5b620 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
5b640 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 3e 75 n>.{.a:.<span.class="tok-type">u
5b660 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 6b 2d 32</span>,.b:.?<span.class="tok-
5b680 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type">u32</span>.};</span>.<span
5b6a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
5b6c0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
5b6e0 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">
5b700 26 71 75 6f 74 3b 75 73 69 6e 67 20 40 74 79 70 65 49 6e 66 6f 20 77 69 74 68 20 72 75 6e 74 69 &quot;using.@typeInfo.with.runti
5b720 6d 65 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a me.values&quot;</span>.{</span>.
5b740 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
5b760 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3a 20 3c 73 ss="tok-kw">var</span>.index:.<s
5b780 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
5b7a0 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</
5b7c0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
5b7e0 3e 20 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
5b800 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 6f 6b 2d 6b 77 pan>.expect(!<span.class="tok-kw
5b820 22 3e 74 72 79 3c 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 ">try</span>.isFieldOptional(Str
5b840 75 63 74 31 2c 20 69 6e 64 65 78 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 uct1,.index));</span>.<span.clas
5b860 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 s="line">....index.+=.<span.clas
5b880 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">1</span>;</span>.
5b8a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
5b8c0 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
5b8e0 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 69 73 pan.class="tok-kw">try</span>.is
5b900 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 65 78 29 29 3b 3c FieldOptional(Struct1,.index));<
5b920 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e /span>.<span.class="line">....in
5b940 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 6d 62 65 72 22 3e dex.+=.<span.class="tok-number">
5b960 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 1</span>;</span>.<span.class="li
5b980 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">try
5b9a0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.expectError(<span.class=
5b9c0 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 75 74 4f 66 "tok-kw">error</span>.IndexOutOf
5b9e0 42 6f 75 6e 64 73 2c 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 Bounds,.isFieldOptional(Struct1,
5ba00 20 69 6e 64 65 78 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .index));</span>.<span.class="li
5ba20 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
5ba40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
5ba60 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 73 20 74 6f .class="tok-comment">//.Calls.to
5ba80 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 74 31 60 20 .`isFieldOptional`.on.`Struct1`.
5baa0 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 74 3c 2f 73 get.unrolled.to.an.equivalent</s
5bac0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
5bae0 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 66 20 74 span.class="tok-comment">//.of.t
5bb00 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 his.function:</span></span>.<spa
5bb20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
5bb40 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
5bb60 6e 22 3e 69 73 46 69 65 6c 64 4f 70 74 69 6f 6e 61 6c 55 6e 72 6f 6c 6c 65 64 3c 2f 73 70 61 6e n">isFieldOptionalUnrolled</span
5bb80 3e 28 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 74 6f 6b 2d >(field_index:.<span.class="tok-
5bba0 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 6c 61 73 73 type">usize</span>).!<span.class
5bbc0 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 3c 2f 73 70 61 6e 3e ="tok-type">bool</span>.{</span>
5bbe0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
5bc00 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
5bc20 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 66 .class="tok-kw">switch</span>.(f
5bc40 69 65 6c 64 5f 69 6e 64 65 78 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ield_index).{</span>.<span.class
5bc60 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
5bc80 2d 6e 75 6d 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 -number">0</span>.=&gt;.<span.cl
5bca0 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 3c 2f 73 70 ass="tok-null">false</span>,</sp
5bcc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
5bce0 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>
5bd00 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 74 72 .=&gt;.<span.class="tok-null">tr
5bd20 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ue</span>,</span>.<span.class="l
5bd40 69 6e 65 22 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 6b 77 ine">........<span.class="tok-kw
5bd60 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 3d ">else</span>.=&gt;.<span.class=
5bd80 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
5bda0 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 75 ss="tok-kw">error</span>.IndexOu
5bdc0 74 4f 66 42 6f 75 6e 64 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c tOfBounds,</span>.<span.class="l
5bde0 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">....};</span>.<span.class="
5be00 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
5be20 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
5be40 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
5be60 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 69 6e 6c 69 ><samp>$.<kbd>zig.test.test_inli
5be80 6e 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 75 73 69 ne_switch.zig</kbd>.1/1.test.usi
5bea0 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
5bec0 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
5bee0 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>.....
5bf00 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e ..<code><span.class="line"><span
5bf20 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 6e 3e 20 3c 73 .class="tok-kw">inline</span>.<s
5bf40 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 2f pan.class="tok-kw">else</span></
5bf60 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 span></code>.prongs.can.be.used.
5bf80 61 73 20 61 20 74 79 70 65 20 73 61 66 65 0a 20 20 20 20 20 20 61 6c 74 65 72 6e 61 74 69 76 65 as.a.type.safe.......alternative
5bfa0 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 .to.<code><span.class="line"><sp
5bfc0 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 6e 3e 20 an.class="tok-kw">inline</span>.
5bfe0 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 3c <span.class="tok-kw">for</span><
5c000 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a /span></code>.loops:.......</p>.
5c020 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=
5c040 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
5c060 74 5f 69 6e 6c 69 6e 65 5f 65 6c 73 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 t_inline_else.zig</cite></figcap
5c080 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 6c 69 6e tion><pre><code><span.class="lin
5c0a0 65 22 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 e"><span.class="tok-kw">const</s
5c0c0 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
5c0e0 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=
5c100 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>
5c120 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 );</span>.<span.class="line"><sp
5c140 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
5c160 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 3c 2f 73 70 61 xpect.=.std.testing.expect;</spa
5c180 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
5c1a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
5c1c0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 6c 69 63 65 54 79 70 65 41 20 3d 20 k-kw">const</span>.SliceTypeA.=.
5c1e0 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
5c200 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</
5c220 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
5c240 22 3e 20 20 20 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 ">....len:.<span.class="tok-type
5c260 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">usize</span>,</span>.<span.cla
5c280 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 ss="line">....ptr:.[*]<span.clas
5c2a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a s="tok-type">u32</span>,</span>.
5c2c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 <span.class="line">};</span>.<sp
5c2e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
5c300 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 6c 69 63 65 54 79 70 65 42 20 3d 20 3c -kw">const</span>.SliceTypeB.=.<
5c320 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
5c340 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 73 >.<span.class="tok-kw">struct</s
5c360 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
5c380 3e 20 20 20 20 70 74 72 3a 20 5b 2a 5d 53 6c 69 63 65 54 79 70 65 41 2c 3c 2f 73 70 61 6e 3e 0a >....ptr:.[*]SliceTypeA,</span>.
5c3a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6c 65 6e 3a 20 3c 73 70 61 <span.class="line">....len:.<spa
5c3c0 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 2c n.class="tok-type">usize</span>,
5c3e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 </span>.<span.class="line">};</s
5c400 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
5c420 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 6e 79 53 6c 69 ass="tok-kw">const</span>.AnySli
5c440 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 6e 69 6f 6e 3c ce.=.<span.class="tok-kw">union<
5c460 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 6e 75 6d /span>(<span.class="tok-kw">enum
5c480 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>).{</span>.<span.class="l
5c4a0 69 6e 65 22 3e 20 20 20 20 61 3a 20 53 6c 69 63 65 54 79 70 65 41 2c 3c 2f 73 70 61 6e 3e 0a 3c ine">....a:.SliceTypeA,</span>.<
5c4c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 53 6c 69 63 65 54 79 span.class="line">....b:.SliceTy
5c4e0 70 65 42 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 peB,</span>.<span.class="line">.
5c500 20 20 20 63 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 ...c:.[]<span.class="tok-kw">con
5c520 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"
5c540 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >u8</span>,</span>.<span.class="
5c560 6c 69 6e 65 22 3e 20 20 20 20 64 3a 20 5b 5d 41 6e 79 53 6c 69 63 65 2c 3c 2f 73 70 61 6e 3e 0a line">....d:.[]AnySlice,</span>.
5c580 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 <span.class="line">};</span>.<sp
5c5a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
5c5c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
5c5e0 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 77 fn</span>.<span.class="tok-fn">w
5c600 69 74 68 46 6f 72 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 ithFor</span>(any:.AnySlice).<sp
5c620 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>
5c640 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
5c660 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
5c680 6e 3e 20 54 61 67 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>.Tag.=.<span.class="tok-builti
5c6a0 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 41 6e 79 53 6c 69 63 65 29 2e 55 6e n">@typeInfo</span>(AnySlice).Un
5c6c0 69 6f 6e 2e 74 61 67 5f 74 79 70 65 2e 3f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ion.tag_type.?;</span>.<span.cla
5c6e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
5c700 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 3d 22 74 6f w">inline</span>.<span.class="to
5c720 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 22 74 k-kw">for</span>.(<span.class="t
5c740 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 61 67 ok-builtin">@typeInfo</span>(Tag
5c760 29 2e 45 6e 75 6d 2e 66 69 65 6c 64 73 29 20 7c 66 69 65 6c 64 7c 20 7b 3c 2f 73 70 61 6e 3e 0a ).Enum.fields).|field|.{</span>.
5c780 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
5c7a0 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 6e .class="tok-comment">//.With.`in
5c7c0 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 65 line.for`.the.function.gets.gene
5c7e0 72 61 74 65 64 20 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 rated.as</span></span>.<span.cla
5c800 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
5c820 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 66 20 60 69 66 60 20 ok-comment">//.a.series.of.`if`.
5c840 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 20 6f 70 74 69 6d 69 statements.relying.on.the.optimi
5c860 7a 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c zer</span></span>.<span.class="l
5c880 69 6e 65 22 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 63 6f ine">........<span.class="tok-co
5c8a0 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 63 6f 6e 76 65 72 74 20 69 74 20 74 6f 20 61 20 73 77 69 mment">//.to.convert.it.to.a.swi
5c8c0 74 63 68 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tch.</span></span>.<span.class="
5c8e0 6c 69 6e 65 22 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 6b line">........<span.class="tok-k
5c900 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 66 69 65 6c 64 2e 76 61 6c 75 65 20 3d 3d 20 3c 73 70 w">if</span>.(field.value.==.<sp
5c920 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 6f 6d 45 an.class="tok-builtin">@intFromE
5c940 6e 75 6d 3c 2f 73 70 61 6e 3e 28 61 6e 79 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 num</span>(any)).{</span>.<span.
5c960 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 class="line">............<span.c
5c980 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
5c9a0 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 3c 2f 73 70 n.class="tok-builtin">@field</sp
5c9c0 61 6e 3e 28 61 6e 79 2c 20 66 69 65 6c 64 2e 6e 61 6d 65 29 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e an>(any,.field.name).len;</span>
5c9e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 .<span.class="line">........}</s
5ca00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 pan>.<span.class="line">....}</s
5ca20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
5ca40 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 68 65 6e 20 75 73 n.class="tok-comment">//.When.us
5ca60 69 6e 67 20 60 69 6e 6c 69 6e 65 20 66 6f 72 60 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 64 6f ing.`inline.for`.the.compiler.do
5ca80 65 73 6e 27 74 20 6b 6e 6f 77 20 74 68 61 74 20 65 76 65 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 esn't.know.that.every</span></sp
5caa0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
5cac0 20 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 73 73 69 62 6c 65 .class="tok-comment">//.possible
5cae0 20 63 61 73 65 20 68 61 73 20 62 65 65 6e 20 68 61 6e 64 6c 65 64 20 72 65 71 75 69 72 69 6e 67 .case.has.been.handled.requiring
5cb00 20 61 6e 20 65 78 70 6c 69 63 69 74 20 60 75 6e 72 65 61 63 68 61 62 6c 65 60 2e 3c 2f 73 70 61 .an.explicit.`unreachable`.</spa
5cb20 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
5cb40 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
5cb60 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e</span>;</span>.<span.class="li
5cb80 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
5cba0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
5cbc0 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.
5cbe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 69 74 68 53 77 69 74 63 68 3c 2f 73 70 61 6e 3e class="tok-fn">withSwitch</span>
5cc00 28 61 6e 79 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 (any:.AnySlice).<span.class="tok
5cc20 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -type">usize</span>.{</span>.<sp
5cc40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
5cc60 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
5cc80 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 61 6e 79 29 20 ss="tok-kw">switch</span>.(any).
5cca0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
5ccc0 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">//
5cce0 20 57 69 74 68 20 60 69 6e 6c 69 6e 65 20 65 6c 73 65 60 20 74 68 65 20 66 75 6e 63 74 69 6f 6e .With.`inline.else`.the.function
5cd00 20 69 73 20 65 78 70 6c 69 63 69 74 6c 79 20 67 65 6e 65 72 61 74 65 64 3c 2f 73 70 61 6e 3e 3c .is.explicitly.generated</span><
5cd20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
5cd40 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 61 ..<span.class="tok-comment">//.a
5cd60 73 20 74 68 65 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 s.the.desired.switch.and.the.com
5cd80 70 69 6c 65 72 20 63 61 6e 20 63 68 65 63 6b 20 74 68 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 piler.can.check.that</span></spa
5cda0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
5cdc0 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 79 pan.class="tok-comment">//.every
5cde0 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 6e .possible.case.is.handled.</span
5ce00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
5ce20 20 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 6c 69 6e 65 3c ....<span.class="tok-kw">inline<
5ce40 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 6c 73 65 /span>.<span.class="tok-kw">else
5ce60 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 63 65 2e 6c 65 6e 2c </span>.=&gt;.|slice|.slice.len,
5ce80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d </span>.<span.class="line">....}
5cea0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
5cec0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
5cee0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
5cf00 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=
5cf20 22 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 "tok-str">&quot;inline.for.and.i
5cf40 6e 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 nline.else.similarity&quot;</spa
5cf60 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
5cf80 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
5cfa0 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 73 70 61 6e 20 63 6c n>.any.=.AnySlice{..c.=.<span.cl
5cfc0 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;<
5cfe0 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.};</span>.<span.class="li
5d000 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">try
5d020 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 77 69 74 68 46 6f 72 28 61 6e 79 29 20 3d 3d 20 3c </span>.expect(withFor(any).==.<
5d040 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>
5d060 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
5d080 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>
5d0a0 20 65 78 70 65 63 74 28 77 69 74 68 53 77 69 74 63 68 28 61 6e 79 29 20 3d 3d 20 3c 73 70 61 6e .expect(withSwitch(any).==.<span
5d0c0 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 3b 3c 2f .class="tok-number">5</span>);</
5d0e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
5d100 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 3e 3c ></code></pre></figure><figure><
5d120 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
5d140 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
5d160 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 65 6c 73 65 2e 7a 69 67 3c 2f >zig.test.test_inline_else.zig</
5d180 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 69 6e 6c 69 6e 65 20 66 6f 72 20 61 6e 64 20 69 6e 6c kbd>.1/1.test.inline.for.and.inl
5d1a0 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 20 31 20 ine.else.similarity....OK.All.1.
5d1c0 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
5d1e0 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 6e 67 20 ure>.......<p>.......When.using.
5d200 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 61 6e 20 an.inline.prong.switching.on.an.
5d220 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 74 75 72 union.an.additional.......captur
5d240 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 6e 69 6f e.can.be.used.to.obtain.the.unio
5d260 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 3e 0a 20 n's.enum.tag.value........</p>..
5d280 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="
5d2a0 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
5d2c0 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 2f 63 69 _inline_switch_union_tag.zig</ci
5d2e0 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
5d300 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
5d320 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
5d340 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>(<
5d360 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
5d380 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
5d3a0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
5d3c0 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
5d3e0 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 xpect;</span>.<span.class="line"
5d400 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
5d420 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 55 20 n.class="tok-kw">const</span>.U.
5d440 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
5d460 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 2f 73 an>(<span.class="tok-kw">enum</s
5d480 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pan>).{</span>.<span.class="line
5d4a0 22 3e 20 20 20 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 ">....a:.<span.class="tok-type">
5d4c0 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 u32</span>,</span>.<span.class="
5d4e0 6c 69 6e 65 22 3e 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 line">....b:.<span.class="tok-ty
5d500 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pe">f32</span>,</span>.<span.cla
5d520 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ss="line">};</span>.<span.class=
5d540 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
5d560 22 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 2f 73 70 61 6e 3e "><span.class="tok-kw">fn</span>
5d580 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
5d5a0 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"
5d5c0 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >u32</span>.{</span>.<span.class
5d5e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
5d600 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 75 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >switch</span>.(u).{</span>.<spa
5d620 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
5d640 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 60 6e 75 6d 60 20 69 ss="tok-comment">//.Here.`num`.i
5d660 73 20 61 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 74 68 61 74 20 69 73 20 s.a.runtime-known.value.that.is.
5d680 65 69 74 68 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 either</span></span>.<span.class
5d6a0 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
5d6c0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 75 2e 61 60 20 6f 72 20 60 75 2e 62 60 20 61 6e 64 20 -comment">//.`u.a`.or.`u.b`.and.
5d6e0 60 74 61 67 60 20 69 73 20 60 75 60 27 73 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 74 61 `tag`.is.`u`'s.comptime-known.ta
5d700 67 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 g.value.</span></span>.<span.cla
5d720 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
5d740 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
5d760 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 7c 6e 75 6d ="tok-kw">else</span>.=&gt;.|num
5d780 2c 20 74 61 67 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ,.tag|.{</span>.<span.class="lin
5d7a0 65 22 3e 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 e">............<span.class="tok-
5d7c0 6b 77 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 3c 2f 73 70 61 kw">if</span>.(tag.==..b).{</spa
5d7e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
5d800 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 72 ......<span.class="tok-kw">retur
5d820 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 69 6c 74 69 n</span>.<span.class="tok-builti
5d840 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 3b 3c 2f 73 n">@intFromFloat</span>(num);</s
5d860 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
5d880 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
5d8a0 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 22 ............<span.class="tok-kw"
5d8c0 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6e 75 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >return</span>.num;</span>.<span
5d8e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c .class="line">........}</span>.<
5d900 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....}</span>.<
5d920 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span.class="line">}</span>.<span
5d940 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
5d960 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
5d980 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">
5d9a0 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e &quot;test&quot;</span>.{</span>
5d9c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
5d9e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 75 20 3d 20 55 7b 20 2e ass="tok-kw">var</span>.u.=.U{..
5da00 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 34 32 3c b.=.<span.class="tok-number">42<
5da20 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.};</span>.<span.class="li
5da40 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">try
5da60 3c 2f 73 70 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 </span>.expect(getNum(u).==.<spa
5da80 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 29 3b n.class="tok-number">42</span>);
5daa0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
5dac0 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
5dae0 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
5db00 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
5db20 62 64 3e 7a 69 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 bd>zig.test.test_inline_switch_u
5db40 6e 69 6f 6e 5f 74 61 67 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 74 65 73 74 nion_tag.zig</kbd>.1/1.test.test
5db60 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
5db80 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 61 p></pre></figure>.......<p>See.a
5dba0 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 69 6e 6c 69 6e lso:</p><ul>.<li><a.href="#inlin
5dbc0 65 2d 77 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 e-while">inline.while</a></li>.<
5dbe0 6c 69 3e 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 li><a.href="#inline-for">inline.
5dc00 66 6f 72 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 for</a></li>.</ul>..............
5dc20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d .........<h2.id="while"><a.href=
5dc40 22 23 74 6f 63 2d 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d "#toc-while">while</a>.<a.class=
5dc60 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a "hdr".href="#while">..</a></h2>.
5dc80 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 77 68 69 6c 65 20 6c 6f 6f 70 20 69 73 .......<p>.......A.while.loop.is
5dca0 20 75 73 65 64 20 74 6f 20 72 65 70 65 61 74 65 64 6c 79 20 65 78 65 63 75 74 65 20 61 6e 20 65 .used.to.repeatedly.execute.an.e
5dcc0 78 70 72 65 73 73 69 6f 6e 20 75 6e 74 69 6c 0a 20 20 20 20 20 20 73 6f 6d 65 20 63 6f 6e 64 69 xpression.until.......some.condi
5dce0 74 69 6f 6e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 74 72 75 65 2e 0a 20 20 20 20 20 20 3c 2f tion.is.no.longer.true........</
5dd00 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
5dd20 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">
5dd40 74 65 73 74 5f 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f test_while.zig</cite></figcaptio
5dd60 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 6c 69 6e 65 22 3e n><pre><code><span.class="line">
5dd80 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
5dda0 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 6c >.expect.=.<span.class="tok-buil
5ddc0 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=
5dde0 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>
5de00 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ).testing.expect;</span>.<span.c
5de20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
5de40 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">test
5de60 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
5de80 75 6f 74 3b 77 68 69 6c 65 20 62 61 73 69 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f uot;while.basic&quot;</span>.{</
5dea0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
5dec0 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:.
5dee0 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
5df00 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
5df20 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
5df40 65 22 3e 20 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 e">....<span.class="tok-kw">whil
5df60 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 22 74 6f e</span>.(i.&lt;.<span.class="to
5df80 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">10</span>).{</span>.<s
5dfa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c 73 pan.class="line">........i.+=.<s
5dfc0 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>;
5dfe0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d </span>.<span.class="line">....}
5e000 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
5e020 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
5e040 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 75 6d 62 xpect(i.==.<span.class="tok-numb
5e060 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 er">10</span>);</span>.<span.cla
5e080 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
5e0a0 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
5e0c0 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>
5e0e0 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_
5e100 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 77 68 69 6c 65 20 62 while.zig</kbd>.1/1.test.while.b
5e120 61 73 69 63 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 asic....OK.All.1.tests.passed..<
5e140 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>.
5e160 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 6c 69 6e ......Use.<code><span.class="lin
5e180 65 22 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 e"><span.class="tok-kw">break</s
5e1a0 70 61 6e 3e 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 pan></span></code>.to.exit.a.whi
5e1c0 6c 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 le.loop.early........</p>.......
5e1e0 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
5e200 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
5e220 65 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 e_break.zig</cite></figcaption><
5e240 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
5e260 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
5e280 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
5e2a0 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
5e2c0 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
5e2e0 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 esting.expect;</span>.<span.clas
5e300 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
5e320 6e 65 22 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 ne"><span.class="tok-kw">test</s
5e340 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
5e360 3b 77 68 69 6c 65 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ;while.break&quot;</span>.{</spa
5e380 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
5e3a0 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
5e3c0 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>
5e3e0 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
5e400 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
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 77 68 69 6c 65 3c 2f ....<span.class="tok-kw">while</
5e440 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 22 3e 74 72 span>.(<span.class="tok-null">tr
5e460 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ue</span>).{</span>.<span.class=
5e480 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
5e4a0 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">if</span>.(i.==.<span.class=
5e4c0 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 73 70 61 6e 3e 0a 3c "tok-number">10</span>)</span>.<
5e4e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 span.class="line">............<s
5e500 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 3b pan.class="tok-kw">break</span>;
5e520 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
5e540 20 20 20 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 22 ...i.+=.<span.class="tok-number"
5e560 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >1</span>;</span>.<span.class="l
5e580 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ine">....}</span>.<span.class="l
5e5a0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
5e5c0 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 73 73 y</span>.expect(i.==.<span.class
5e5e0 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 3c 2f 73 70 61 6e 3e ="tok-number">10</span>);</span>
5e600 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
5e620 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
5e640 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
5e660 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.
5e680 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 0a test.test_while_break.zig</kbd>.
5e6a0 31 2f 31 20 74 65 73 74 2e 77 68 69 6c 65 20 62 72 65 61 6b 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 1/1.test.while.break....OK.All.1
5e6c0 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
5e6e0 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 63 6f 64 65 3e gure>.......<p>.......Use.<code>
5e700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
5e720 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 73 70 61 6e 3e 3c 2f tok-kw">continue</span></span></
5e740 63 6f 64 65 3e 20 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e code>.to.jump.back.to.the.beginn
5e760 69 6e 67 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ing.of.the.loop........</p>.....
5e780 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
5e7a0 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 77 68 -cap"><cite.class="file">test_wh
5e7c0 69 6c 65 5f 63 6f 6e 74 69 6e 75 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 ile_continue.zig</cite></figcapt
5e7e0 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 6c 69 6e 65 ion><pre><code><span.class="line
5e800 22 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 "><span.class="tok-kw">const</sp
5e820 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
5e840 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
5e860 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
5e880 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n>).testing.expect;</span>.<span
5e8a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
5e8c0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
5e8e0 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">
5e900 26 71 75 6f 74 3b 77 68 69 6c 65 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e &quot;while.continue&quot;</span
5e920 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
5e940 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
5e960 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 7a >.i:.<span.class="tok-type">usiz
5e980 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
5e9a0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">0</span>;</span>.<span.class
5e9c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
5e9e0 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 2d >while</span>.(<span.class="tok-
5ea00 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 null">true</span>).{</span>.<spa
5ea20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c 73 70 61 n.class="line">........i.+=.<spa
5ea40 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 3c 2f n.class="tok-number">1</span>;</
5ea60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
5ea80 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>.
5eaa0 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 62 65 72 22 (i.&lt;.<span.class="tok-number"
5eac0 3e 31 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >10</span>)</span>.<span.class="
5eae0 6c 69 6e 65 22 3e 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 line">............<span.class="t
5eb00 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ok-kw">continue</span>;</span>.<
5eb20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
5eb40 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 3b 3c 2f 73 70 class="tok-kw">break</span>;</sp
5eb60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 an>.<span.class="line">....}</sp
5eb80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
5eba0 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
5ebc0 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 3e t(i.==.<span.class="tok-number">
5ebe0 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 10</span>);</span>.<span.class="
5ec00 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
5ec20 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
5ec40 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
5ec60 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
5ec80 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 2e 77 68 e_continue.zig</kbd>.1/1.test.wh
5eca0 69 6c 65 20 63 6f 6e 74 69 6e 75 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 ile.continue....OK.All.1.tests.p
5ecc0 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>...
5ece0 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 73 75 70 70 6f 72 ....<p>.......While.loops.suppor
5ed00 74 20 61 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 69 63 68 20 69 73 t.a.continue.expression.which.is
5ed20 20 65 78 65 63 75 74 65 64 20 77 68 65 6e 20 74 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 69 73 .executed.when.the.loop.......is
5ed40 20 63 6f 6e 74 69 6e 75 65 64 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 .continued..The.<code><span.clas
5ed60 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
5ed80 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 ntinue</span></span></code>.keyw
5eda0 6f 72 64 20 72 65 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 ord.respects.this.expression....
5edc0 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
5ede0 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="
5ee00 66 69 6c 65 22 3e 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 file">test_while_continue_expres
5ee20 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
5ee40 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
5ee60 63 6c 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
5ee80 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 3e 40 ct.=.<span.class="tok-builtin">@
5eea0 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
5eec0 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 73 74 tr">&quot;std&quot;</span>).test
5eee0 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ing.expect;</span>.<span.class="
5ef00 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
5ef20 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
5ef40 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 68 >.<span.class="tok-str">&quot;wh
5ef60 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 26 71 75 6f ile.loop.continue.expression&quo
5ef80 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
5efa0 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">v
5efc0 61 72 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 ar</span>.i:.<span.class="tok-ty
5efe0 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 22 pe">usize</span>.=.<span.class="
5f000 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">0</span>;</span>.<sp
5f020 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
5f040 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 26 6c 74 3b 20 3c 73 "tok-kw">while</span>.(i.&lt;.<s
5f060 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>
5f080 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 65 ).:.(i.+=.<span.class="tok-numbe
5f0a0 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r">1</span>).{}</span>.<span.cla
5f0c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
5f0e0 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.
5f100 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 3c 2f class="tok-number">10</span>);</
5f120 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
5f140 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
5f160 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
5f180 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
5f1a0 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 69 6e 75 65 k-str">&quot;while.loop.continue
5f1c0 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 26 71 75 .expression,.more.complicated&qu
5f1e0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
5f200 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
5f220 76 61 72 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 var</span>.i:.<span.class="tok-t
5f240 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=
5f260 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-number">1</span>;</span>.<s
5f280 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
5f2a0 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 20 63 6c ="tok-kw">var</span>.j:.<span.cl
5f2c0 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 73 ass="tok-type">usize</span>.=.<s
5f2e0 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>;
5f300 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
5f320 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>
5f340 20 28 69 20 2a 20 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 .(i.*.j.&lt;.<span.class="tok-nu
5f360 6d 62 65 72 22 3e 32 30 30 30 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 7b 20 69 20 2a 3d 20 3c 73 70 mber">2000</span>).:.({.i.*=.<sp
5f380 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 3b 20 an.class="tok-number">2</span>;.
5f3a0 6a 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 33 3c j.*=.<span.class="tok-number">3<
5f3c0 2f 73 70 61 6e 3e 3b 20 7d 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>;.}).{</span>.<span.class=
5f3e0 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
5f400 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 79 5f 69 6a 20 3d 20 69 20 2a 20 6a 3b 3c kw">const</span>.my_ij.=.i.*.j;<
5f420 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
5f440 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
5f460 3e 20 65 78 70 65 63 74 28 6d 79 5f 69 6a 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.expect(my_ij.&lt;.<span.class=
5f480 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 3b 3c 2f 73 70 61 6e "tok-number">2000</span>);</span
5f4a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
5f4c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
5f4e0 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
5f500 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</
5f520 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
5f540 20 74 65 73 74 20 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 .test.test_while_continue_expres
5f560 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 77 68 69 6c 65 20 6c 6f sion.zig</kbd>.1/2.test.while.lo
5f580 6f 70 20 63 6f 6e 74 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 op.continue.expression....OK.2/2
5f5a0 20 74 65 73 74 2e 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 .test.while.loop.continue.expres
5f5c0 73 69 6f 6e 2c 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 2e 2e 20 4f 4b 0a 41 6c 6c sion,.more.complicated....OK.All
5f5e0 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 2f .2.tests.passed..</samp></pre></
5f600 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 69 6c 65 20 6c 6f figure>.......<p>.......While.lo
5f620 6f 70 73 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 54 68 65 20 72 65 73 75 6c 74 20 ops.are.expressions..The.result.
5f640 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 72 of.the.expression.is.the.......r
5f660 65 73 75 6c 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 esult.of.the.<code><span.class="
5f680 6c 69 6e 65 22 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 line"><span.class="tok-kw">else<
5f6a0 2f 73 70 61 6e 3e 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 /span></span></code>.clause.of.a
5f6c0 20 77 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 .while.loop,.which.is.executed.w
5f6e0 68 65 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 hen.......the.condition.of.the.w
5f700 68 69 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 hile.loop.is.tested.as.false....
5f720 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 3e 3c ....</p>.......<p>.......<code><
5f740 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
5f760 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">break</span></span></code
5f780 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 6c 69 6e 65 22 >,.like.<code><span.class="line"
5f7a0 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 3c 2f 73 70 ><span.class="tok-kw">return</sp
5f7c0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 63 63 65 70 74 73 20 61 20 76 61 6c an></span></code>,.accepts.a.val
5f7e0 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 2e 20 54 68 69 73 ue...............parameter..This
5f800 20 69 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 .is.the.result.of.the.<code><spa
5f820 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
5f840 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 kw">while</span></span></code>.e
5f860 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 xpression....................Whe
5f880 6e 20 79 6f 75 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n.you.<code><span.class="line"><
5f8a0 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 61 6e 3e span.class="tok-kw">break</span>
5f8c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 </span></code>.from.a.while.loop
5f8e0 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ,.the.<code><span.class="line"><
5f900 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><
5f920 2f 73 70 61 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 /span></code>.branch.is.not.....
5f940 20 20 65 76 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 ..evaluated........</p>.......<f
5f960 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
5f980 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 5f "><cite.class="file">test_while_
5f9a0 65 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 else.zig</cite></figcaption><pre
5f9c0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
5f9e0 63 6c 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
5fa00 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 3e 40 ct.=.<span.class="tok-builtin">@
5fa20 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
5fa40 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 73 74 tr">&quot;std&quot;</span>).test
5fa60 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ing.expect;</span>.<span.class="
5fa80 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
5faa0 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
5fac0 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 68 >.<span.class="tok-str">&quot;wh
5fae0 69 6c 65 20 65 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ile.else&quot;</span>.{</span>.<
5fb00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
5fb20 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 72 61 6e s="tok-kw">try</span>.expect(ran
5fb40 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 75 6d geHasNumber(<span.class="tok-num
5fb60 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-
5fb80 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 3d 22 number">10</span>,.<span.class="
5fba0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">5</span>));</span>.<
5fbc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
5fbe0 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 61 s="tok-kw">try</span>.expect(!ra
5fc00 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 75 ngeHasNumber(<span.class="tok-nu
5fc20 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 6b mber">0</span>,.<span.class="tok
5fc40 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 3d -number">10</span>,.<span.class=
5fc60 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 3c 2f 73 70 61 6e 3e "tok-number">15</span>));</span>
5fc80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
5fca0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
5fcc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
5fce0 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
5fd00 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 28 62 65 67 69 6e 3a 20 3c 73 70 61 angeHasNumber</span>(begin:.<spa
5fd20 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 2c n.class="tok-type">usize</span>,
5fd40 20 65 6e 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 3e 75 73 69 .end:.<span.class="tok-type">usi
5fd60 7a 65 3c 2f 73 70 61 6e 3e 2c 20 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ze</span>,.number:.<span.class="
5fd80 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
5fda0 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 3c 2f 73 70 ass="tok-type">bool</span>.{</sp
5fdc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
5fde0 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 20 3d 20 62 .class="tok-kw">var</span>.i.=.b
5fe00 65 67 69 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e egin;</span>.<span.class="line">
5fe20 20 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<
5fe40 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 77 68 69 6c /span>.<span.class="tok-kw">whil
5fe60 65 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 e</span>.(i.&lt;.end).:.(i.+=.<s
5fe80 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>)
5fea0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
5fec0 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 73 70 .....<span.class="tok-kw">if</sp
5fee0 61 6e 3e 20 28 69 20 3d 3d 20 6e 75 6d 62 65 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e an>.(i.==.number).{</span>.<span
5ff00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 .class="line">............<span.
5ff20 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 3c 73 70 61 class="tok-kw">break</span>.<spa
5ff40 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 3b 3c n.class="tok-null">true</span>;<
5ff60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
5ff80 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ..}</span>.<span.class="line">..
5ffa0 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
5ffc0 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 61 6c 73 pan>.<span.class="tok-null">fals
5ffe0 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e</span>;</span>.<span.class="li
60000 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
60020 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
60040 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><
60060 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 65 5f samp>$.<kbd>zig.test.test_while_
60080 65 6c 73 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 77 68 69 6c 65 20 65 6c else.zig</kbd>.1/1.test.while.el
600a0 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 64 2e 0a 3c 2f 73 se....OK.All.1.tests.passed..</s
600c0 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 64 amp></pre></figure>.......<h3.id
600e0 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 23 74 6f 63 2d 4c ="Labeled-while"><a.href="#toc-L
60100 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 65 3c 2f 61 3e 20 abeled-while">Labeled.while</a>.
60120 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 6c 65 64 2d 77 68 <a.class="hdr".href="#Labeled-wh
60140 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 3e 57 68 65 6e 20 ile">..</a></h3>........<p>When.
60160 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e a.<code><span.class="line"><span
60180 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 73 70 .class="tok-kw">while</span></sp
601a0 61 6e 3e 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 an></code>.loop.is.labeled,.it.c
601c0 61 6e 20 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 an.be.referenced.from.a.<code><s
601e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
60200 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-kw">break</span></span></code>
60220 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 20 63 6c ...............or.<code><span.cl
60240 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
60260 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 continue</span></span></code>.fr
60280 6f 6d 20 77 69 74 68 69 6e 20 61 20 6e 65 73 74 65 64 20 6c 6f 6f 70 3a 3c 2f 70 3e 0a 20 20 20 om.within.a.nested.loop:</p>....
602a0 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
602c0 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 77 g-cap"><cite.class="file">test_w
602e0 68 69 6c 65 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 hile_nested_break.zig</cite></fi
60300 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=
60320 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">test
60340 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
60360 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 6e 3e 20 7b 3c uot;nested.break&quot;</span>.{<
60380 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 75 /span>.<span.class="line">....ou
603a0 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 68 69 6c 65 3c ter:.<span.class="tok-kw">while<
603c0 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 22 3e 74 /span>.(<span.class="tok-null">t
603e0 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 rue</span>).{</span>.<span.class
60400 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
60420 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="
60440 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a tok-null">true</span>).{</span>.
60460 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c <span.class="line">............<
60480 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 61 6e 3e span.class="tok-kw">break</span>
604a0 20 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .:outer;</span>.<span.class="lin
604c0 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">........}</span>.<span.class=
604e0 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
60500 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e "line">}</span>.<span.class="lin
60520 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
60540 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>.<
60560 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 65 73 74 65 span.class="tok-str">&quot;neste
60580 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e d.continue&quot;</span>.{</span>
605a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
605c0 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
605e0 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>.=
60600 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
60620 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
60640 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 68 ..outer:.<span.class="tok-kw">wh
60660 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 22 ile</span>.(i.&lt;.<span.class="
60680 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 3c tok-number">10</span>).:.(i.+=.<
606a0 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>
606c0 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ).{</span>.<span.class="line">..
606e0 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 77 68 69 6c 65 ......<span.class="tok-kw">while
60700 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 22 3e </span>.(<span.class="tok-null">
60720 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 true</span>).{</span>.<span.clas
60740 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="line">............<span.class
60760 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 20 3a 6f 75 74 65 72 ="tok-kw">continue</span>.:outer
60780 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
607a0 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
607c0 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
607e0 7d 3c 2f 73 70 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 }</span></code></pre></figure><f
60800 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
60820 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
60840 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 65 5f 6e 65 73 74 >$.<kbd>zig.test.test_while_nest
60860 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 6e 65 73 74 ed_break.zig</kbd>.1/2.test.nest
60880 65 64 20 62 72 65 61 6b 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 2e 6e 65 73 74 65 64 20 63 ed.break....OK.2/2.test.nested.c
608a0 6f 6e 74 69 6e 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 ontinue....OK.All.2.tests.passed
608c0 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>........
608e0 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 4f 70 74 69 6f 6e 61 ......<h3.id="while-with-Optiona
60900 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 ls"><a.href="#toc-while-with-Opt
60920 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e ionals">while.with.Optionals</a>
60940 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 .<a.class="hdr".href="#while-wit
60960 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 h-Optionals">..</a></h3>........
60980 3c 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 69 66 <p>.......Just.like.<a.href="#if
609a0 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 77 68 69 6c 65 20 6c 6f 6f 70 ">if</a>.expressions,.while.loop
609c0 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 73 20 74 68 65 0a 20 20 s.can.take.an.optional.as.the...
609e0 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 63 61 70 74 75 72 65 20 74 68 65 20 70 61 ....condition.and.capture.the.pa
60a00 79 6c 6f 61 64 2e 20 57 68 65 6e 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c yload..When.<a.href="#null">null
60a20 3c 2f 61 3e 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 74 68 65 20 6c 6f 6f 70 0a 20 20 20 </a>.is.encountered.the.loop....
60a40 20 20 20 65 78 69 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 ...exits........</p>.......<p>..
60a60 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .....When.the.<code><span.class=
60a80 22 6c 69 6e 65 22 3e 7c 78 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 "line">|x|</span></code>.syntax.
60aa0 69 73 20 70 72 65 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 is.present.on.a.<code><span.clas
60ac0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 s="line"><span.class="tok-kw">wh
60ae0 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 ile</span></span></code>.express
60b00 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
60b20 75 73 74 20 68 61 76 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 ust.have.an.<a.href="#Optional-T
60b40 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f ype">Optional.Type</a>........</
60b60 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 73 70 p>.......<p>.......The.<code><sp
60b80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
60ba0 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 -kw">else</span></span></code>.b
60bc0 72 61 6e 63 68 20 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 ranch.is.allowed.on.optional.ite
60be0 72 61 74 69 6f 6e 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 ration..In.this.case,.it.will...
60c00 20 20 20 20 62 65 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 ....be.executed.on.the.first.nul
60c20 6c 20 76 61 6c 75 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 l.value.encountered........</p>.
60c40 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=
60c60 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
60c80 74 5f 77 68 69 6c 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 t_while_null_capture.zig</cite><
60ca0 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
60cc0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
60ce0 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
60d00 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
60d20 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
60d40 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 3c 2f 73 70 61 ot;</span>).testing.expect;</spa
60d60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
60d80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
60da0 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
60dc0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 6e 75 6c 6c 20 63 61 70 74 75 72 65 ok-str">&quot;while.null.capture
60de0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
60e00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
60e20 77 22 3e 76 61 72 3c 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 w">var</span>.sum1:.<span.class=
60e40 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
60e60 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 3c 2f 73 70 61 6e ass="tok-number">0</span>;</span
60e80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 73 >.<span.class="line">....numbers
60ea0 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"
60ec0 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >3</span>;</span>.<span.class="l
60ee0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">wh
60f00 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 65 71 75 65 6e ile</span>.(eventuallyNullSequen
60f20 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ce()).|value|.{</span>.<span.cla
60f40 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 31 20 2b 3d 20 76 61 6c 75 65 3b ss="line">........sum1.+=.value;
60f60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d </span>.<span.class="line">....}
60f80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
60fa0 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
60fc0 78 70 65 63 74 28 73 75 6d 31 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e xpect(sum1.==.<span.class="tok-n
60fe0 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">3</span>);</span>.<span.c
61000 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
61020 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
61040 76 61 72 3c 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 var</span>.sum2:.<span.class="to
61060 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
61080 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-number">0</span>;</span>.<
610a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 span.class="line">....numbers_le
610c0 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 33 3c ft.=.<span.class="tok-number">3<
610e0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
61100 22 3e 20 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
61120 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 28 </span>.(eventuallyNullSequence(
61140 29 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d )).|value|.{</span>.<span.class=
61160 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 "line">........sum2.+=.value;</s
61180 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 pan>.<span.class="line">....}.<s
611a0 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 7b pan.class="tok-kw">else</span>.{
611c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
611e0 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
61200 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
61220 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">3</span>);</span>.<sp
61240 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">....}</span>.<sp
61260 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
61280 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
612a0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">var<
612c0 2f 73 70 61 6e 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 /span>.numbers_left:.<span.class
612e0 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 63 ="tok-type">u32</span>.=.<span.c
61300 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 6e 3e lass="tok-null">undefined</span>
61320 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
61340 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
61360 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 4e 75 6c 6c 53 65 .class="tok-fn">eventuallyNullSe
61380 71 75 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f quence</span>().?<span.class="to
613a0 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-type">u32</span>.{</span>.<spa
613c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
613e0 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
61400 73 3d 22 74 6f 6b 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 s="tok-kw">if</span>.(numbers_le
61420 66 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 30 ft.==.<span.class="tok-number">0
61440 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 6e 75 6c 6c 22 3e </span>).<span.class="tok-null">
61460 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 6b 2d 6b 77 22 null</span>.<span.class="tok-kw"
61480 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >else</span>.blk:.{</span>.<span
614a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 .class="line">........numbers_le
614c0 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
614e0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
61500 65 22 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 6b 77 22 3e e">........<span.class="tok-kw">
61520 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 6c 65 66 74 3b 3c break</span>.:blk.numbers_left;<
61540 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b /span>.<span.class="line">....};
61560 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
61580 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
615a0 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
615c0 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
615e0 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 77 68 69 6c 65 5f 6e 75 6c 6c 5f 63 61 70 74 bd>zig.test.test_while_null_capt
61600 75 72 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 77 68 69 6c 65 20 6e 75 6c ure.zig</kbd>.1/1.test.while.nul
61620 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 61 73 73 l.capture....OK.All.1.tests.pass
61640 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>......
61660 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 72 72 6f .........<h3.id="while-with-Erro
61680 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 2d 77 69 r-Unions"><a.href="#toc-while-wi
616a0 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 72 72 6f th-Error-Unions">while.with.Erro
616c0 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 72 65 66 r.Unions</a>.<a.class="hdr".href
616e0 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 a7 3c 2f ="#while-with-Error-Unions">..</
61700 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 20 6c 69 a></h3>........<p>.......Just.li
61720 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 73 73 69 ke.<a.href="#if">if</a>.expressi
61740 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 65 72 72 ons,.while.loops.can.take.an.err
61760 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 6f 6e 20 or.union.as.......the.condition.
61780 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 65 20 65 and.capture.the.payload.or.the.e
617a0 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 64 69 74 rror.code..When.the.......condit
617c0 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 74 68 65 ion.results.in.an.error.code.the
617e0 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 0a 20 20 .else.branch.is.evaluated.and...
61800 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 20 20 20 ....the.loop.is.finished........
61820 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 20 3c 63 </p>.......<p>.......When.the.<c
61840 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
61860 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 78 7c 3c 2f 73 70 61 ss="tok-kw">else</span>.|x|</spa
61880 6e 3e 3c 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 n></code>.syntax.is.present.on.a
618a0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
618c0 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 73 70 61 class="tok-kw">while</span></spa
618e0 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 68 65 20 n></code>.expression,.......the.
61900 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 3c 61 20 while.condition.must.have.an.<a.
61920 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 55 href="#Error-Union-Type">Error.U
61940 6e 69 6f 6e 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 nion.Type</a>........</p>.......
61960 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
61980 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
619a0 65 5f 65 72 72 6f 72 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 e_error_capture.zig</cite></figc
619c0 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 6c aption><pre><code><span.class="l
619e0 69 6e 65 22 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 ine"><span.class="tok-kw">const<
61a00 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
61a20 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
61a40 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;</
61a60 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 span>).testing.expect;</span>.<s
61a80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
61aa0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
61ac0 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
61ae0 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 63 61 70 74 75 r">&quot;while.error.union.captu
61b00 72 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 re&quot;</span>.{</span>.<span.c
61b20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
61b40 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">var</span>.sum1:.<span.clas
61b60 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.
61b80 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 3c 2f 73 70 class="tok-number">0</span>;</sp
61ba0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 an>.<span.class="line">....numbe
61bc0 72 73 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 rs_left.=.<span.class="tok-numbe
61be0 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">3</span>;</span>.<span.class=
61c00 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
61c20 77 68 69 6c 65 3c 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 while</span>.(eventuallyErrorSeq
61c40 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 uence()).|value|.{</span>.<span.
61c60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 31 20 2b 3d 20 76 61 6c class="line">........sum1.+=.val
61c80 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ue;</span>.<span.class="line">..
61ca0 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
61cc0 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.|err|.{</span>.<span.class=
61ce0 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
61d00 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 20 3d 3d 20 3c 73 70 kw">try</span>.expect(err.==.<sp
61d20 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 52 an.class="tok-kw">error</span>.R
61d40 65 61 63 68 65 64 5a 65 72 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d eachedZero);</span>.<span.class=
61d60 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
61d80 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e "line">}</span>.<span.class="lin
61da0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
61dc0 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 6e 75 pan.class="tok-kw">var</span>.nu
61de0 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 2d 74 79 70 mbers_left:.<span.class="tok-typ
61e00 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
61e20 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a -null">undefined</span>;</span>.
61e40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
61e60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
61e80 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
61ea0 22 3e 65 76 65 6e 74 75 61 6c 6c 79 45 72 72 6f 72 53 65 71 75 65 6e 63 65 3c 2f 73 70 61 6e 3e ">eventuallyErrorSequence</span>
61ec0 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 61 6e 79 65 72 72 ().<span.class="tok-type">anyerr
61ee0 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 22 or</span>!<span.class="tok-type"
61f00 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >u32</span>.{</span>.<span.class
61f20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
61f40 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-
61f60 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 3c kw">if</span>.(numbers_left.==.<
61f80 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>
61fa0 29 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
61fc0 61 6e 3e 2e 52 65 61 63 68 65 64 5a 65 72 6f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.ReachedZero.<span.class="tok
61fe0 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c -kw">else</span>.blk:.{</span>.<
62000 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 span.class="line">........number
62020 73 5f 6c 65 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 s_left.-=.<span.class="tok-numbe
62040 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
62060 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
62080 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 6c 65 kw">break</span>.:blk.numbers_le
620a0 66 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ft;</span>.<span.class="line">..
620c0 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ..};</span>.<span.class="line">}
620e0 3c 2f 73 70 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 </span></code></pre></figure><fi
62100 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
62120 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>
62140 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 65 5f 65 72 72 6f 72 $.<kbd>zig.test.test_while_error
62160 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 74 2e 77 68 69 6c _capture.zig</kbd>.1/1.test.whil
62180 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.
621a0 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
621c0 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
621e0 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-
62200 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
62220 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">..</
62240 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
62260 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
62280 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.
622a0 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
622c0 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
622e0 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
62300 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........</
62320 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
62340 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">
62360 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
62380 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=
623a0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
623c0 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
623e0 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
62400 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;
62420 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a </span>).testing.expect;</span>.
62440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
62460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
62480 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-
624a0 73 74 72 22 3e 26 71 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 str">&quot;inline.while.loop&quo
624c0 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
624e0 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">c
62500 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 6b 2d omptime</span>.<span.class="tok-
62520 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 73 73 3d 22 kw">var</span>.i.=.<span.class="
62540 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">0</span>;</span>.<sp
62560 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
62580 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 70 61 6e 20 63 "tok-kw">var</span>.sum:.<span.c
625a0 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>.=.<
625c0 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>
625e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
62600 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
62620 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 3c 2f 73 n>.<span.class="tok-kw">while</s
62640 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 75 pan>.(i.&lt;.<span.class="tok-nu
62660 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c mber">3</span>).:.(i.+=.<span.cl
62680 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 3c 2f 73 70 ass="tok-number">1</span>).{</sp
626a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
626c0 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>
626e0 20 54 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 .T.=.<span.class="tok-kw">switch
62700 3c 2f 73 70 61 6e 3e 20 28 69 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.(i).{</span>.<span.class
62720 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="line">............<span.class=
62740 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 "tok-number">0</span>.=&gt;.<spa
62760 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 3c 2f n.class="tok-type">f32</span>,</
62780 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
627a0 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 3e 31 3c .....<span.class="tok-number">1<
627c0 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 74 79 /span>.=&gt;.<span.class="tok-ty
627e0 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 pe">i8</span>,</span>.<span.clas
62800 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="line">............<span.class
62820 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 3c 73 70 ="tok-number">2</span>.=&gt;.<sp
62840 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 6e 3e 2c an.class="tok-type">bool</span>,
62860 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
62880 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 65 .......<span.class="tok-kw">else
628a0 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 6b </span>.=&gt;.<span.class="tok-k
628c0 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 w">unreachable</span>,</span>.<s
628e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 pan.class="line">........};</spa
62900 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 n>.<span.class="line">........su
62920 6d 20 2b 3d 20 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 28 54 29 3b 3c 2f 73 70 61 6e 3e 0a 3c m.+=.typeNameLength(T);</span>.<
62940 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....}</span>.<
62960 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
62980 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
629a0 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 2f .==.<span.class="tok-number">9</
629c0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
629e0 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ">}</span>.<span.class="line"></
62a00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
62a20 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
62a40 61 73 73 3d 22 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 ass="tok-fn">typeNameLength</spa
62a60 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 65 n>(<span.class="tok-kw">comptime
62a80 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 79 70 65 </span>.T:.<span.class="tok-type
62aa0 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-
62ac0 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 type">usize</span>.{</span>.<spa
62ae0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
62b00 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
62b20 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 3e s="tok-builtin">@typeName</span>
62b40 28 54 29 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e (T).len;</span>.<span.class="lin
62b60 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
62b80 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
62ba0 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
62bc0 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_
62be0 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 69 6e 6c 69 6e 65 20 while.zig</kbd>.1/1.test.inline.
62c00 77 68 69 6c 65 20 6c 6f 6f 70 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 while.loop....OK.All.1.tests.pas
62c20 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>.....
62c40 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f ..<p>.......It.is.recommended.to
62c60 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .use.<code><span.class="line"><s
62c80 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 6e 3e pan.class="tok-kw">inline</span>
62ca0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 6f 6e 6c 79 20 66 6f 72 20 6f 6e </span></code>.loops.only.for.on
62cc0 65 20 6f 66 20 74 68 65 73 65 20 72 65 61 73 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 e.of.these.reasons:.......</p>..
62ce0 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 6e 65 65 64 20 74 .....<ul>.........<li>You.need.t
62d00 68 65 20 6c 6f 6f 70 20 74 6f 20 65 78 65 63 75 74 65 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 he.loop.to.execute.at.<a.href="#
62d20 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 73 comptime">comptime</a>.for.the.s
62d40 65 6d 61 6e 74 69 63 73 20 74 6f 20 77 6f 72 6b 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c emantics.to.work.</li>.........<
62d60 6c 69 3e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 68 61 76 65 20 61 20 62 65 6e 63 68 6d 61 72 6b li>.........You.have.a.benchmark
62d80 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20 66 6f 72 63 69 62 6c 79 20 75 6e 72 6f 6c 6c 69 6e .to.prove.that.forcibly.unrollin
62da0 67 20 74 68 65 20 6c 6f 6f 70 20 69 6e 20 74 68 69 73 20 77 61 79 20 69 73 20 6d 65 61 73 75 72 g.the.loop.in.this.way.is.measur
62dc0 61 62 6c 79 20 66 61 73 74 65 72 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 ably.faster..........</li>......
62de0 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:
62e00 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 </p><ul>.<li><a.href="#if">if</a
62e20 3e 3c 2f 6c 69 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 3e ></li>.<li><a.href="#Optionals">
62e40 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 68 72 65 66 3d 22 Optionals</a></li>.<li><a.href="
62e60 23 45 72 72 6f 72 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 #Errors">Errors</a></li>.<li><a.
62e80 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 3c 2f 6c href="#comptime">comptime</a></l
62ea0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e i>.<li><a.href="#unreachable">un
62ec0 72 65 61 63 68 61 62 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 reachable</a></li>.</ul>........
62ee0 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .......<h2.id="for"><a.href="#to
62f00 63 2d 66 6f 72 22 3e 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 c-for">for</a>.<a.class="hdr".hr
62f20 65 66 3d 22 23 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 ef="#for">..</a></h2>........<fi
62f40 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"
62f60 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 6f 72 2e 7a 69 67 ><cite.class="file">test_for.zig
62f80 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><
62fa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
62fc0 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 70 ok-kw">const</span>.expect.=.<sp
62fe0 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</
63000 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
63020 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
63040 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ct;</span>.<span.class="line"></
63060 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
63080 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.
630a0 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 62 61 73 69 63 73 class="tok-str">&quot;for.basics
630c0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
630e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
63100 77 22 3e 63 6f 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 w">const</span>.items.=.[_]<span
63120 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 20 3c .class="tok-type">i32</span>.{.<
63140 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>
63160 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
63180 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<
631a0 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"
631c0 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 6e 75 6d 62 >4</span>,.<span.class="tok-numb
631e0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 er">0</span>.};</span>.<span.cla
63200 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
63220 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="
63240 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 6c 61 tok-type">i32</span>.=.<span.cla
63260 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 3c 2f 73 70 61 6e 3e ss="tok-number">0</span>;</span>
63280 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
632a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
632c0 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 74 tok-comment">//.For.loops.iterat
632e0 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 3e e.over.slices.and.arrays.</span>
63300 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
63320 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 28 span.class="tok-kw">for</span>.(
63340 69 74 65 6d 73 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c items).|value|.{</span>.<span.cl
63360 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
63380 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 65 61 6b 20 61 6e 64 20 63 6f 6e 74 69 6e tok-comment">//.Break.and.contin
633a0 75 65 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ue.are.supported.</span></span>.
633c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
633e0 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 76 61 6c 75 65 .class="tok-kw">if</span>.(value
63400 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 3c 2f .==.<span.class="tok-number">0</
63420 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>).{</span>.<span.class="lin
63440 65 22 3e 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 e">............<span.class="tok-
63460 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 kw">continue</span>;</span>.<spa
63480 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a n.class="line">........}</span>.
634a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b <span.class="line">........sum.+
634c0 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e =.value;</span>.<span.class="lin
634e0 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e">....}</span>.<span.class="lin
63500 65 22 3e 20 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 e">....<span.class="tok-kw">try<
63520 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.expect(sum.==.<span.class
63540 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ="tok-number">16</span>);</span>
63560 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
63580 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
635a0 74 6f 6b 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 tok-comment">//.To.iterate.over.
635c0 61 20 70 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 a.portion.of.a.slice,.reslice.</
635e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
63600 20 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 ....<span.class="tok-kw">for</sp
63620 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 75 6d 62 an>.(items[<span.class="tok-numb
63640 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 6b 2d 6e er">0</span>..<span.class="tok-n
63660 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 3c 2f 73 70 61 umber">1</span>]).|value|.{</spa
63680 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 n>.<span.class="line">........su
636a0 6d 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 m.+=.value;</span>.<span.class="
636c0 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 line">....}</span>.<span.class="
636e0 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
63700 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ry</span>.expect(sum.==.<span.cl
63720 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ass="tok-number">20</span>);</sp
63740 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
63760 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
63780 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 65 s="tok-comment">//.To.access.the
637a0 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 73 .index.of.iteration,.specify.a.s
637c0 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 3c 2f econd.condition.as.well</span></
637e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
63800 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 61 20 73 an.class="tok-comment">//.as.a.s
63820 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 6e 3e 3c 2f 73 70 61 econd.capture.value.</span></spa
63840 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
63860 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 6d 32 3a 20 class="tok-kw">var</span>.sum2:.
63880 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
638a0 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</
638c0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
638e0 3e 20 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 >....<span.class="tok-kw">for</s
63900 70 61 6e 3e 20 28 69 74 65 6d 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pan>.(items,.<span.class="tok-nu
63920 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 5f 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e mber">0</span>..).|_,.i|.{</span
63940 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
63960 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
63980 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 54 ect(<span.class="tok-builtin">@T
639a0 79 70 65 4f 66 3c 2f 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 ypeOf</span>(i).==.<span.class="
639c0 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a tok-type">usize</span>);</span>.
639e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 32 20 <span.class="line">........sum2.
63a00 2b 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 +=.<span.class="tok-builtin">@as
63a20 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
63a40 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 75 69 6c 32</span>,.<span.class="tok-buil
63a60 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 69 29 29 3b 3c 2f 73 70 61 6e 3e tin">@intCast</span>(i));</span>
63a80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
63aa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
63ac0 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
63ae0 75 6d 32 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 um2.==.<span.class="tok-number">
63b00 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 10</span>);</span>.<span.class="
63b20 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
63b40 3e 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">/
63b60 2f 20 54 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 63 6f 6e 73 65 63 75 74 69 76 65 20 69 6e /.To.iterate.over.consecutive.in
63b80 74 65 67 65 72 73 2c 20 75 73 65 20 74 68 65 20 72 61 6e 67 65 20 73 79 6e 74 61 78 2e 3c 2f 73 tegers,.use.the.range.syntax.</s
63ba0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
63bc0 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">//.
63be0 55 6e 62 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 Unbounded.range.is.always.a.comp
63c00 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ile.error.</span></span>.<span.c
63c20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
63c40 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 63 6c 61 -kw">var</span>.sum3.:.<span.cla
63c60 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
63c80 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 3c an.class="tok-number">0</span>;<
63ca0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
63cc0 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>.(<
63ce0 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>
63d00 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 2f 73 70 ..<span.class="tok-number">5</sp
63d20 61 6e 3e 29 20 7c 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c an>).|i|.{</span>.<span.class="l
63d40 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 33 20 2b 3d 20 69 3b 3c 2f 73 70 61 6e 3e 0a 3c ine">........sum3.+=.i;</span>.<
63d60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....}</span>.<
63d80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
63da0 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
63dc0 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 31 30 3.==.<span.class="tok-number">10
63de0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
63e00 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
63e20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
63e40 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
63e60 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 20 6f 62 n.class="tok-str">&quot;multi.ob
63e80 6a 65 63 74 20 66 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ject.for&quot;</span>.{</span>.<
63ea0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
63ec0 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 3d 20 s="tok-kw">const</span>.items.=.
63ee0 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 73 69 7a 65 3c [_]<span.class="tok-type">usize<
63f00 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 22 /span>{.<span.class="tok-number"
63f20 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
63f40 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
63f60 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">3</span>.};</span>.<span.
63f80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
63fa0 6b 2d 6b 77 22 3e 63 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 k-kw">const</span>.items2.=.[_]<
63fc0 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
63fe0 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 34 3c 2f n>{.<span.class="tok-number">4</
64000 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">
64020 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 65 5</span>,.<span.class="tok-numbe
64040 72 22 3e 36 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">6</span>.};</span>.<span.clas
64060 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
64080 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 3d ">var</span>.count:.<span.class=
640a0 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 20 "tok-type">usize</span>.=.<span.
640c0 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 3c 2f 73 70 class="tok-number">0</span>;</sp
640e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
64100 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
64120 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 65 72 61 74 65 20 6f 76 65 72 20 s="tok-comment">//.Iterate.over.
64140 6d 75 6c 74 69 70 6c 65 20 6f 62 6a 65 63 74 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a multiple.objects.</span></span>.
64160 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
64180 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6c 6c 20 6c 65 6e 67 74 68 73 20 ss="tok-comment">//.All.lengths.
641a0 6d 75 73 74 20 62 65 20 65 71 75 61 6c 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 must.be.equal.at.the.start.of.th
641c0 65 20 6c 6f 6f 70 2c 20 6f 74 68 65 72 77 69 73 65 20 64 65 74 65 63 74 61 62 6c 65 3c 2f 73 70 e.loop,.otherwise.detectable</sp
641e0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
64200 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 69 ..<span.class="tok-comment">//.i
64220 6c 6c 65 67 61 6c 20 62 65 68 61 76 69 6f 72 20 6f 63 63 75 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f llegal.behavior.occurs.</span></
64240 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
64260 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 69 74 an.class="tok-kw">for</span>.(it
64280 65 6d 73 2c 20 69 74 65 6d 73 32 29 20 7c 69 2c 20 6a 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ems,.items2).|i,.j|.{</span>.<sp
642a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d an.class="line">........count.+=
642c0 20 69 20 2b 20 6a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .i.+.j;</span>.<span.class="line
642e0 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ">....}</span>.<span.class="line
64300 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
64320 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>
64340 20 65 78 70 65 63 74 28 63 6f 75 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .expect(count.==.<span.class="to
64360 6b 2d 6e 75 6d 62 65 72 22 3e 32 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">21</span>);</span>.<sp
64380 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
643a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
643c0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">test
643e0 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
64400 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 73 70 61 6e 3e 20 7b uot;for.reference&quot;</span>.{
64420 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
64440 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 69 span.class="tok-kw">var</span>.i
64460 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"
64480 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
644a0 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 74 6f umber">3</span>,.<span.class="to
644c0 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 61 73 73 3d k-number">4</span>,.<span.class=
644e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a "tok-number">2</span>.};</span>.
64500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
64520 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
64540 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 65 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 ok-comment">//.Iterate.over.the.
64560 73 6c 69 63 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 62 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 slice.by.reference.by</span></sp
64580 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
645a0 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 70 65 63 69 66 79 69 .class="tok-comment">//.specifyi
645c0 6e 67 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 ng.that.the.capture.value.is.a.p
645e0 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ointer.</span></span>.<span.clas
64600 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
64620 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 76 61 6c 75 ">for</span>.(&amp;items).|*valu
64640 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 e|.{</span>.<span.class="line">.
64660 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .......value.*.+=.<span.class="t
64680 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">1</span>;</span>.<spa
646a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
646c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
646e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
64700 77 22 3e 74 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 w">try</span>.expect(items[<span
64720 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 3d .class="tok-number">0</span>].==
64740 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 70 61 .<span.class="tok-number">4</spa
64760 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
64780 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
647a0 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 6f 6b n>.expect(items[<span.class="tok
647c0 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 61 73 -number">1</span>].==.<span.clas
647e0 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 3c 2f 73 70 61 6e 3e s="tok-number">5</span>);</span>
64800 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
64820 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 69 ass="tok-kw">try</span>.expect(i
64840 74 65 6d 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 32 3c tems[<span.class="tok-number">2<
64860 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
64880 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">3</span>);</span>.<span.clas
648a0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
648c0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
648e0 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>
64900 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 72 .<span.class="tok-str">&quot;for
64920 20 65 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .else&quot;</span>.{</span>.<spa
64940 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
64960 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
64980 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
649a0 20 77 68 69 6c 65 20 6c 6f 6f 70 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .while.loop.</span></span>.<span
649c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
649e0 6f 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 3f 3c 73 ok-kw">var</span>.items.=.[_]?<s
64a00 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>.
64a20 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 33 3c 2f 73 70 {.<span.class="tok-number">3</sp
64a40 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 34 3c an>,.<span.class="tok-number">4<
64a60 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 22 3e 6e /span>,.<span.class="tok-null">n
64a80 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 74 6f 6b 2d 6e 75 6d ull</span>,.<span.class="tok-num
64aa0 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">5</span>.};</span>.<span.cl
64ac0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
64ae0 6c 69 6e 65 22 3e 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 line">....<span.class="tok-comme
64b00 6e 74 22 3e 2f 2f 20 46 6f 72 20 6c 6f 6f 70 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 nt">//.For.loops.can.also.be.use
64b20 64 20 61 73 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a d.as.expressions.</span></span>.
64b40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
64b60 73 73 3d 22 74 6f 6b 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 ss="tok-comment">//.Similar.to.w
64b80 68 69 6c 65 20 6c 6f 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 hile.loops,.when.you.break.from.
64ba0 61 20 66 6f 72 20 6c 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 a.for.loop,.the.else.branch.is.n
64bc0 6f 74 20 65 76 61 6c 75 61 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ot.evaluated.</span></span>.<spa
64be0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
64c00 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 70 61 6e 20 63 6c tok-kw">var</span>.sum:.<span.cl
64c20 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
64c40 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 3c 2f n.class="tok-number">0</span>;</
64c60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
64c80 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
64ca0 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 3e 66 6f 72 esult.=.<span.class="tok-kw">for
64cc0 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 3c 2f 73 70 61 6e 3e </span>.(items).|value|.{</span>
64ce0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
64d00 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 76 61 6c 75 n.class="tok-kw">if</span>.(valu
64d20 65 20 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 e.!=.<span.class="tok-null">null
64d40 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>).{</span>.<span.class="l
64d60 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 2e 3f 3b ine">............sum.+=.value.?;
64d80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
64da0 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ...}</span>.<span.class="line">.
64dc0 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</
64de0 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.blk:.{</span>.<span.class=
64e00 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
64e20 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 3c 73 70 kw">try</span>.expect(sum.==.<sp
64e40 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 29 an.class="tok-number">12</span>)
64e60 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
64e80 20 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</
64ea0 73 70 61 6e 3e 20 3a 62 6c 6b 20 73 75 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 span>.:blk.sum;</span>.<span.cla
64ec0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ss="line">....};</span>.<span.cl
64ee0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
64f00 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 20 3d 3d 20 kw">try</span>.expect(result.==.
64f20 3c 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
64f40 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
64f60 3c 2f 73 70 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 </span></code></pre></figure><fi
64f80 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
64fa0 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>
64fc0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 6f 72 2e 7a 69 67 3c 2f 6b 62 $.<kbd>zig.test.test_for.zig</kb
64fe0 64 3e 0a 31 2f 34 20 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 d>.1/4.test.for.basics....OK.2/4
65000 20 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 4f 4b 0a 33 2f 34 .test.multi.object.for....OK.3/4
65020 20 74 65 73 74 2e 66 6f 72 20 72 65 66 65 72 65 6e 63 65 2e 2e 2e 20 4f 4b 0a 34 2f 34 20 74 65 .test.for.reference....OK.4/4.te
65040 73 74 2e 66 6f 72 20 65 6c 73 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 34 20 74 65 73 74 73 20 70 61 st.for.else....OK.All.4.tests.pa
65060 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>....
65080 20 20 20 3c 68 33 20 69 64 3d 22 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d ...<h3.id="Labeled-for"><a.href=
650a0 22 23 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c 2f "#toc-Labeled-for">Labeled.for</
650c0 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 6c 65 64 a>.<a.class="hdr".href="#Labeled
650e0 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 3c 70 3e 57 68 65 6e -for">..</a></h3>........<p>When
65100 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 .a.<code><span.class="line"><spa
65120 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 73 70 61 n.class="tok-kw">for</span></spa
65140 6e 3e 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 n></code>.loop.is.labeled,.it.ca
65160 6e 20 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 n.be.referenced.from.a.<code><sp
65180 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
651a0 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a -kw">break</span></span></code>.
651c0 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 20 63 6c 61 ..............or.<code><span.cla
651e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
65200 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f ontinue</span></span></code>.fro
65220 6d 20 77 69 74 68 69 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 m.within.a.nested.loop:</p>.....
65240 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
65260 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 66 6f -cap"><cite.class="file">test_fo
65280 72 5f 6e 65 73 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 r_nested_break.zig</cite></figca
652a0 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 6c 69 ption><pre><code><span.class="li
652c0 6e 65 22 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 ne"><span.class="tok-kw">const</
652e0 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
65300 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
65320 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
65340 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
65360 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>.
65380 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 3c 2f 73 70 expect.=.std.testing.expect;</sp
653a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
653c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
653e0 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="
65400 74 6f 6b 2d 73 74 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 tok-str">&quot;nested.break&quot
65420 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
65440 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">va
65460 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 74 6f 6b r</span>.count:.<span.class="tok
65480 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 73 -type">usize</span>.=.<span.clas
654a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">0</span>;</span>.
654c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 <span.class="line">....outer:.<s
654e0 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>.(<
65500 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>
65520 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
65540 61 6e 3e 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c an>).|_|.{</span>.<span.class="l
65560 69 6e 65 22 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 6b 77 ine">........<span.class="tok-kw
65580 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 22 74 6f 6b 2d 6e ">for</span>.(<span.class="tok-n
655a0 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 73 73 3d 22 74 6f umber">1</span>..<span.class="to
655c0 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 3c 2f 73 70 61 6e 3e k-number">6</span>).|_|.{</span>
655e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
65600 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 72 count.+=.<span.class="tok-number
65620 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">1</span>;</span>.<span.class="
65640 6c 69 6e 65 22 3e 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 line">............<span.class="t
65660 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 3c 2f 73 70 61 ok-kw">break</span>.:outer;</spa
65680 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c n>.<span.class="line">........}<
656a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c /span>.<span.class="line">....}<
656c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
656e0 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
65700 70 65 63 74 28 63 6f 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 pect(count.==.<span.class="tok-n
65720 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">1</span>);</span>.<span.c
65740 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">}</span>.<span.class
65760 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
65780 65 22 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 e"><span.class="tok-kw">test</sp
657a0 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;
657c0 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f nested.continue&quot;</span>.{</
657e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
65800 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 63 6f 75 an.class="tok-kw">var</span>.cou
65820 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 73 69 7a 65 nt:.<span.class="tok-type">usize
65840 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 65 </span>.=.<span.class="tok-numbe
65860 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">0</span>;</span>.<span.class=
65880 22 6c 69 6e 65 22 3e 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 "line">....outer:.<span.class="t
658a0 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 22 ok-kw">for</span>.(<span.class="
658c0 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 73 tok-number">1</span>..<span.clas
658e0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 20 7c 5f 7c 20 7b 3c 2f s="tok-number">9</span>).|_|.{</
65900 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
65920 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>
65940 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 3e 31 3c 2f 73 70 .(<span.class="tok-number">1</sp
65960 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 36 3c an>..<span.class="tok-number">6<
65980 2f 73 70 61 6e 3e 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 /span>).|_|.{</span>.<span.class
659a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 3c 73 70 ="line">............count.+=.<sp
659c0 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 3c an.class="tok-number">1</span>;<
659e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
65a00 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 74 69 ......<span.class="tok-kw">conti
65a20 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nue</span>.:outer;</span>.<span.
65a40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">........}</span>.<s
65a60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">....}</span>.<s
65a80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
65aa0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
65ac0 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 20 -kw">try</span>.expect(count.==.
65ae0 3c 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 6e <span.class="tok-number">8</span
65b00 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c >);</span>.<span.class="line">}<
65b20 2f 73 70 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 /span></code></pre></figure><fig
65b40 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
65b60 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>$
65b80 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
65ba0 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 6e 65 73 74 65 64 20 62 reak.zig</kbd>.1/2.test.nested.b
65bc0 72 65 61 6b 2e 2e 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 2e 6e 65 73 74 65 64 20 63 6f 6e 74 69 reak....OK.2/2.test.nested.conti
65be0 6e 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 nue....OK.All.2.tests.passed..</
65c00 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>............
65c20 20 20 3c 68 33 20 69 64 3d 22 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 ..<h3.id="inline-for"><a.href="#
65c40 74 6f 63 2d 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 20 3c toc-inline-for">inline.for</a>.<
65c60 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 a.class="hdr".href="#inline-for"
65c80 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 6f >..</a></h3>........<p>.......Fo
65ca0 72 20 6c 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 r.loops.can.be.inlined..This.cau
65cc0 73 65 73 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 ses.the.loop.to.be.unrolled,.whi
65ce0 63 68 0a 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 ch.......allows.the.code.to.do.s
65d00 6f 6d 65 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 ome.things.which.only.work.at.co
65d20 6d 70 69 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 mpile.time,.......such.as.use.ty
65d40 70 65 73 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 pes.as.first.class.values.......
65d60 20 54 68 65 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 20 61 6e 64 20 69 74 65 72 61 74 6f 72 20 .The.capture.value.and.iterator.
65d80 76 61 6c 75 65 20 6f 66 20 69 6e 6c 69 6e 65 64 20 66 6f 72 20 6c 6f 6f 70 73 20 61 72 65 0a 20 value.of.inlined.for.loops.are..
65da0 20 20 20 20 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 .....compile-time.known........<
65dc0 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
65de0 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"
65e00 3e 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 66 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 >test_inline_for.zig</cite></fig
65e20 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="
65e40 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
65e60 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 6f </span>.expect.=.<span.class="to
65e80 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.
65ea0 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;<
65ec0 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c /span>).testing.expect;</span>.<
65ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
65f00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
65f20 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
65f40 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 75 6f 74 3b 3c tr">&quot;inline.for.loop&quot;<
65f60 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
65f80 65 22 3e 20 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 e">....<span.class="tok-kw">cons
65fa0 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t</span>.nums.=.[_]<span.class="
65fc0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 tok-type">i32</span>{<span.class
65fe0 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
66000 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
66020 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 7d 3b 3c 2f .class="tok-number">6</span>};</
66040 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
66060 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 6d an.class="tok-kw">var</span>.sum
66080 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 2f :.<span.class="tok-type">usize</
660a0 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"
660c0 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >0</span>;</span>.<span.class="l
660e0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">in
66100 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"
66120 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 73 29 20 7c 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a >for</span>.(nums).|i|.{</span>.
66140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
66160 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 20 3d .class="tok-kw">const</span>.T.=
66180 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
661a0 61 6e 3e 20 28 69 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 an>.(i).{</span>.<span.class="li
661c0 6e 65 22 3e 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 ne">............<span.class="tok
661e0 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 20 63 6c -number">2</span>.=&gt;.<span.cl
66200 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 3c 2f 73 70 61 6e ass="tok-type">f32</span>,</span
66220 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
66240 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 70 61 .<span.class="tok-number">4</spa
66260 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 3e n>.=&gt;.<span.class="tok-type">
66280 69 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c i8</span>,</span>.<span.class="l
662a0 69 6e 65 22 3e 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 ine">............<span.class="to
662c0 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 k-number">6</span>.=&gt;.<span.c
662e0 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 2c 3c 2f 73 70 lass="tok-type">bool</span>,</sp
66300 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
66320 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 65 3c 2f 73 70 ...<span.class="tok-kw">else</sp
66340 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 6b 77 22 3e 75 an>.=&gt;.<span.class="tok-kw">u
66360 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nreachable</span>,</span>.<span.
66380 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c class="line">........};</span>.<
663a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d span.class="line">........sum.+=
663c0 20 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 28 54 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .typeNameLength(T);</span>.<span
663e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .class="line">....}</span>.<span
66400 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
66420 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.==.
66440 3c 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 6e <span.class="tok-number">9</span
66460 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c >);</span>.<span.class="line">}<
66480 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
664a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
664c0 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=
664e0 22 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 "tok-fn">typeNameLength</span>(<
66500 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
66520 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
66540 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 74 79 70 65 pe</span>).<span.class="tok-type
66560 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">usize</span>.{</span>.<span.cl
66580 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
665a0 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
665c0 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 29 2e ok-builtin">@typeName</span>(T).
665e0 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d len;</span>.<span.class="line">}
66600 3c 2f 73 70 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 </span></code></pre></figure><fi
66620 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
66640 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>
66660 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 66 6f 72 2e $.<kbd>zig.test.test_inline_for.
66680 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 69 6e 6c 69 6e 65 20 66 6f 72 20 6c 6f zig</kbd>.1/1.test.inline.for.lo
666a0 6f 70 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 op....OK.All.1.tests.passed..</s
666c0 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 20 amp></pre></figure>.......<p>...
666e0 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 3c 63 6f ....It.is.recommended.to.use.<co
66700 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
66720 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 73 70 61 6e 3e 3c s="tok-kw">inline</span></span><
66740 2f 63 6f 64 65 3e 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 /code>.loops.only.for.one.of.the
66760 73 65 20 72 65 61 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 se.reasons:.......</p>.......<ul
66780 3e 0a 20 20 20 20 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 >.........<li>You.need.the.loop.
667a0 74 6f 20 65 78 65 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 to.execute.at.<a.href="#comptime
667c0 22 3e 63 6f 6d 70 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 ">comptime</a>.for.the.semantics
667e0 20 74 6f 20 77 6f 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 .to.work.</li>.........<li>.....
66800 20 20 20 20 59 6f 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 ....You.have.a.benchmark.to.prov
66820 65 20 74 68 61 74 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 e.that.forcibly.unrolling.the.lo
66840 6f 70 20 69 6e 20 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 op.in.this.way.is.measurably.fas
66860 74 65 72 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 6c 3e 0a 20 ter..........</li>.......</ul>..
66880 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>
668a0 0a 3c 6c 69 3e 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 3c .<li><a.href="#while">while</a><
668c0 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 3e 63 6f 6d /li>.<li><a.href="#comptime">com
668e0 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 23 41 72 72 ptime</a></li>.<li><a.href="#Arr
66900 61 79 73 22 3e 41 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 ays">Arrays</a></li>.<li><a.href
66920 3d 22 23 53 6c 69 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 ="#Slices">Slices</a></li>.</ul>
66940 0a 0a 20 20 20 20 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 ...............<h2.id="if"><a.hr
66960 65 66 3d 22 23 74 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 ef="#toc-if">if</a>.<a.class="hd
66980 72 22 20 68 72 65 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 r".href="#if">..</a></h2>.......
669a0 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-
669c0 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 66 2e cap"><cite.class="file">test_if.
669e0 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
66a00 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
66a20 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 69 6f 6e 73 ="tok-comment">//.If.expressions
66a40 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 6f 6e 64 69 6e 67 20 .have.three.uses,.corresponding.
66a60 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 3e 3c 2f 73 70 61 6e to.the.three.types:</span></span
66a80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
66aa0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c ="tok-comment">//.*.bool</span><
66ac0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
66ae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 3f 54 3c 2f 73 70 61 class="tok-comment">//.*.?T</spa
66b00 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
66b20 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 20 61 6e 79 65 an.class="tok-comment">//.*.anye
66b40 72 72 6f 72 21 54 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 rror!T</span></span>.<span.class
66b60 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
66b80 65 22 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 e"><span.class="tok-kw">const</s
66ba0 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
66bc0 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
66be0 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
66c00 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 an>).testing.expect;</span>.<spa
66c20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
66c40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
66c60 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"
66c80 3e 26 71 75 6f 74 3b 69 66 20 65 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e >&quot;if.expression&quot;</span
66ca0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
66cc0 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 49 ..<span.class="tok-comment">//.I
66ce0 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f f.expressions.are.used.instead.o
66d00 66 20 61 20 74 65 72 6e 61 72 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f f.a.ternary.expression.</span></
66d20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
66d40 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
66d60 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
66d80 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 35 an>.=.<span.class="tok-number">5
66da0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
66dc0 65 22 3e 20 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 e">....<span.class="tok-kw">cons
66de0 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
66e00 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
66e20 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">4</span>;</span>.<span.
66e40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
66e60 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 3d 20 3c 73 70 61 k-kw">const</span>.result.=.<spa
66e80 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 21 3d n.class="tok-kw">if</span>.(a.!=
66ea0 20 62 29 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 37 3c .b).<span.class="tok-number">47<
66ec0 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 6c 73 65 /span>.<span.class="tok-kw">else
66ee0 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"
66f00 3e 33 30 38 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >3089</span>;</span>.<span.class
66f20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
66f40 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 >try</span>.expect(result.==.<sp
66f60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 37 3c 2f 73 70 61 6e 3e 29 an.class="tok-number">47</span>)
66f80 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
66fa0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
66fc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
66fe0 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=
67000 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 3b "tok-str">&quot;if.boolean&quot;
67020 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
67040 6e 65 22 3e 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 ne">....<span.class="tok-comment
67060 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 62 6f 6f 6c 65 61 6e ">//.If.expressions.test.boolean
67080 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .conditions.</span></span>.<span
670a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
670c0 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
670e0 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
67100 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 3c 2f 73 .class="tok-number">5</span>;</s
67120 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
67140 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:
67160 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
67180 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 34 3c n>.=.<span.class="tok-number">4<
671a0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
671c0 22 3e 20 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
671e0 70 61 6e 3e 20 28 61 20 21 3d 20 62 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pan>.(a.!=.b).{</span>.<span.cla
67200 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
67220 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
67240 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 3c 2f 73 lass="tok-null">true</span>);</s
67260 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 pan>.<span.class="line">....}.<s
67280 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>.<
672a0 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
672c0 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 2f .==.<span.class="tok-number">9</
672e0 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>).{</span>.<span.class="lin
67300 65 22 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 6b 77 22 3e e">........<span.class="tok-kw">
67320 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e unreachable</span>;</span>.<span
67340 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .class="line">....}.<span.class=
67360 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-kw">else</span>.{</span>.<s
67380 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
673a0 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>
673c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
673e0 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 }</span>.<span.class="line">}</s
67400 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
67420 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
67440 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=
67460 22 74 6f 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 "tok-str">&quot;if.optional&quot
67480 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
674a0 69 6e 65 22 3e 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 ine">....<span.class="tok-commen
674c0 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 20 6e 75 t">//.If.expressions.test.for.nu
674e0 6c 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ll.</span></span>.<span.class="l
67500 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
67520 20 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</
67540 73 70 61 6e 3e 20 61 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 span>.a:.?<span.class="tok-type"
67560 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
67580 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">0</span>;</span>.<span.cl
675a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
675c0 6b 77 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 3c 2f 73 70 61 kw">if</span>.(a).|value|.{</spa
675e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
67600 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
67620 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 6f 6b 2d 6e pect(value.==.<span.class="tok-n
67640 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">0</span>);</span>.<span.c
67660 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 lass="line">....}.<span.class="t
67680 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-kw">else</span>.{</span>.<spa
676a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
676c0 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 3c ss="tok-kw">unreachable</span>;<
676e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c /span>.<span.class="line">....}<
67700 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
67720 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
67740 6c 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 20 3f 3c lass="tok-kw">const</span>.b:.?<
67760 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>
67780 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</
677a0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
677c0 3e 20 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 >....<span.class="tok-kw">if</sp
677e0 61 6e 3e 20 28 62 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 an>.(b).|_|.{</span>.<span.class
67800 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
67820 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a -kw">unreachable</span>;</span>.
67840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 <span.class="line">....}.<span.c
67860 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 7b 3c 2f 73 70 61 lass="tok-kw">else</span>.{</spa
67880 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
678a0 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
678c0 70 65 63 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 74 72 75 65 pect(<span.class="tok-null">true
678e0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
67900 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ne">....}</span>.<span.class="li
67920 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ne"></span>.<span.class="line">.
67940 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">//.
67960 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 61 6e 3e The.else.is.not.required.</span>
67980 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
679a0 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
679c0 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ).|value|.{</span>.<span.class="
679e0 6c 69 6e 65 22 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 6b line">........<span.class="tok-k
67a00 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
67a20 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>)
67a40 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
67a60 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
67a80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
67aa0 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 20 .class="tok-comment">//.To.test.
67ac0 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 72 against.null.only,.use.the.binar
67ae0 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 3c 2f 73 70 61 y.equality.operator.</span></spa
67b00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
67b20 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 20 3d 3d 20 3c class="tok-kw">if</span>.(b.==.<
67b40 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
67b60 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >).{</span>.<span.class="line">.
67b80 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<
67ba0 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 6e /span>.expect(<span.class="tok-n
67bc0 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ull">true</span>);</span>.<span.
67be0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
67c00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
67c20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
67c40 6d 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 ment">//.Access.the.value.by.ref
67c60 65 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 erence.using.a.pointer.capture.<
67c80 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
67ca0 3e 20 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
67cc0 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 79 70 65 22 3e pan>.c:.?<span.class="tok-type">
67ce0 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 75 u32</span>.=.<span.class="tok-nu
67d00 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">3</span>;</span>.<span.cla
67d20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
67d40 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 3c 2f 73 70 61 w">if</span>.(c).|*value|.{</spa
67d60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 76 61 n>.<span.class="line">........va
67d80 6c 75 65 2e 2a 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 lue.*.=.<span.class="tok-number"
67da0 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >2</span>;</span>.<span.class="l
67dc0 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ine">....}</span>.<span.class="l
67de0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
67e00 20 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
67e20 6e 3e 20 28 63 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n>.(c).|value|.{</span>.<span.cl
67e40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
67e60 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 65 20 tok-kw">try</span>.expect(value.
67e80 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
67ea0 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
67ec0 3e 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
67ee0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
67f00 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
67f20 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >unreachable</span>;</span>.<spa
67f40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
67f60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n.class="line">}</span>.<span.cl
67f80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
67fa0 6c 69 6e 65 22 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 line"><span.class="tok-kw">test<
67fc0 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
67fe0 6f 74 3b 69 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 ot;if.error.union&quot;</span>.{
68000 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
68020 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 65 span.class="tok-comment">//.If.e
68040 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 70 61 xpressions.test.for.errors.</spa
68060 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
68080 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 4e 6f .<span.class="tok-comment">//.No
680a0 74 65 20 74 68 65 20 7c 65 72 72 7c 20 63 61 70 74 75 72 65 20 6f 6e 20 74 68 65 20 65 6c 73 65 te.the.|err|.capture.on.the.else
680c0 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
680e0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
68100 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
68120 61 6e 3e 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 61 6e an>.a:.<span.class="tok-type">an
68140 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 74 yerror</span>!<span.class="tok-t
68160 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
68180 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">0</span>;</span>.<spa
681a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
681c0 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 75 65 7c 20 7b 3c tok-kw">if</span>.(a).|value|.{<
681e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
68200 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
68220 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
68240 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">0</span>);</span>.<sp
68260 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 an.class="line">....}.<span.clas
68280 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 7b 3c 2f s="tok-kw">else</span>.|err|.{</
682a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
682c0 20 5f 20 3d 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ._.=.err;</span>.<span.class="li
682e0 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
68300 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >unreachable</span>;</span>.<spa
68320 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
68340 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
68360 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
68380 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 22 w">const</span>.b:.<span.class="
683a0 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.
683c0 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 73 class="tok-type">u32</span>.=.<s
683e0 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>.
68400 42 61 64 56 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 BadValue;</span>.<span.class="li
68420 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">if<
68440 2f 73 70 61 6e 3e 20 28 62 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 /span>.(b).|value|.{</span>.<spa
68460 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 n.class="line">........_.=.value
68480 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
684a0 20 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
684c0 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d able</span>;</span>.<span.class=
684e0 22 6c 69 6e 65 22 3e 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 "line">....}.<span.class="tok-kw
68500 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">else</span>.|err|.{</span>.<sp
68520 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
68540 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 65 ass="tok-kw">try</span>.expect(e
68560 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 6f 72 rr.==.<span.class="tok-kw">error
68580 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 </span>.BadValue);</span>.<span.
685a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
685c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
685e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
68600 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 61 6e 64 20 7c 65 72 72 7c 20 63 61 70 74 ment">//.The.else.and.|err|.capt
68620 75 72 65 20 69 73 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72 65 64 2e 3c 2f 73 70 61 6e 3e ure.is.strictly.required.</span>
68640 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
68660 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
68680 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ).|value|.{</span>.<span.class="
686a0 6c 69 6e 65 22 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 6b line">........<span.class="tok-k
686c0 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
686e0 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>)
68700 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
68720 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
68740 6e 3e 20 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n>.|_|.{}</span>.<span.class="li
68760 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ne"></span>.<span.class="line">.
68780 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">//.
687a0 54 6f 20 63 68 65 63 6b 20 6f 6e 6c 79 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 2c 20 75 To.check.only.the.error.value,.u
687c0 73 65 20 61 6e 20 65 6d 70 74 79 20 62 6c 6f 63 6b 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 se.an.empty.block.expression.</s
687e0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
68800 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
68820 3e 20 28 62 29 20 7c 5f 7c 20 7b 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >.(b).|_|.{}.<span.class="tok-kw
68840 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">else</span>.|err|.{</span>.<sp
68860 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c an.class="line">........<span.cl
68880 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 65 ass="tok-kw">try</span>.expect(e
688a0 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 6f 72 rr.==.<span.class="tok-kw">error
688c0 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 </span>.BadValue);</span>.<span.
688e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
68900 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
68920 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
68940 6d 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 ment">//.Access.the.value.by.ref
68960 65 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 erence.using.a.pointer.capture.<
68980 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
689a0 3e 20 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
689c0 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 79 70 65 22 3e 61 pan>.c:.<span.class="tok-type">a
689e0 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-
68a00 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="
68a20 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">3</span>;</span>.<sp
68a40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
68a60 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 6c 75 65 7c 20 "tok-kw">if</span>.(c).|*value|.
68a80 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
68aa0 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 2d 6e ....value.*.=.<span.class="tok-n
68ac0 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">9</span>;</span>.<span.cl
68ae0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ass="line">....}.<span.class="to
68b00 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c k-kw">else</span>.|_|.{</span>.<
68b20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
68b40 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
68b60 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
68b80 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 .}</span>.<span.class="line"></s
68ba0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
68bc0 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).|
68be0 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e value|.{</span>.<span.class="lin
68c00 65 22 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 6b 77 22 3e e">........<span.class="tok-kw">
68c20 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 70 61 6e try</span>.expect(value.==.<span
68c40 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 29 3b 3c 2f .class="tok-number">9</span>);</
68c60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c span>.<span.class="line">....}.<
68c80 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>.
68ca0 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e |_|.{</span>.<span.class="line">
68cc0 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
68ce0 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c eachable</span>;</span>.<span.cl
68d00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ass="line">....}</span>.<span.cl
68d20 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
68d40 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
68d60 22 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 "><span.class="tok-kw">test</spa
68d80 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
68da0 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 26 71 75 6f 74 f.error.union.with.optional&quot
68dc0 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
68de0 69 6e 65 22 3e 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 ine">....<span.class="tok-commen
68e00 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 20 65 72 t">//.If.expressions.test.for.er
68e20 72 6f 72 73 20 62 65 66 6f 72 65 20 75 6e 77 72 61 70 70 69 6e 67 20 6f 70 74 69 6f 6e 61 6c 73 rors.before.unwrapping.optionals
68e40 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
68e60 65 22 3e 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 e">....<span.class="tok-comment"
68e80 3e 2f 2f 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 >//.The.|optional_value|.capture
68ea0 27 73 20 74 79 70 65 20 69 73 20 3f 75 33 32 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 's.type.is.?u32.</span></span>.<
68ec0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
68ee0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
68f00 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
68f20 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 3f 3c 73 s="tok-type">anyerror</span>!?<s
68f40 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>.
68f60 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
68f80 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
68fa0 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
68fc0 3e 20 28 61 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a >.(a).|optional_value|.{</span>.
68fe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
69000 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
69020 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 t(optional_value.?.==.<span.clas
69040 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 3c 2f 73 70 61 6e 3e s="tok-number">0</span>);</span>
69060 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 .<span.class="line">....}.<span.
69080 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 72 7c class="tok-kw">else</span>.|err|
690a0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
690c0 20 20 20 20 20 5f 20 3d 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ....._.=.err;</span>.<span.class
690e0 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
69100 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a -kw">unreachable</span>;</span>.
69120 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a <span.class="line">....}</span>.
69140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
69160 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
69180 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
691a0 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 3f 3c ss="tok-type">anyerror</span>!?<
691c0 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>
691e0 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</
69200 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
69220 3e 20 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 >....<span.class="tok-kw">if</sp
69240 61 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 3c 2f 73 70 61 6e an>.(b).|optional_value|.{</span
69260 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
69280 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
692a0 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 20 63 6c 61 73 ect(optional_value.==.<span.clas
692c0 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 3c 2f 73 70 61 6e s="tok-null">null</span>);</span
692e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e >.<span.class="line">....}.<span
69300 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 5f 7c 20 .class="tok-kw">else</span>.|_|.
69320 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
69340 20 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
69360 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d able</span>;</span>.<span.class=
69380 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
693a0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
693c0 22 3e 20 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
693e0 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 79 70 65 </span>.c:.<span.class="tok-type
69400 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 73 3d 22 ">anyerror</span>!?<span.class="
69420 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
69440 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 61 6c 75 ss="tok-kw">error</span>.BadValu
69460 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 e;</span>.<span.class="line">...
69480 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>.
694a0 28 63 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 (c).|optional_value|.{</span>.<s
694c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 6f 70 74 pan.class="line">........_.=.opt
694e0 69 6f 6e 61 6c 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ional_value;</span>.<span.class=
69500 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
69520 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c kw">unreachable</span>;</span>.<
69540 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c span.class="line">....}.<span.cl
69560 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 7b ass="tok-kw">else</span>.|err|.{
69580 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
695a0 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
695c0 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 6f n>.expect(err.==.<span.class="to
695e0 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 3c 2f 73 k-kw">error</span>.BadValue);</s
69600 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 pan>.<span.class="line">....}</s
69620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
69640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
69660 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 74 68 65 20 76 ss="tok-comment">//.Access.the.v
69680 61 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 62 79 20 75 73 69 6e 67 20 61 20 70 6f 69 alue.by.reference.by.using.a.poi
696a0 6e 74 65 72 20 63 61 70 74 75 72 65 20 65 61 63 68 20 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f nter.capture.each.time.</span></
696c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
696e0 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 64 3a 20 an.class="tok-kw">var</span>.d:.
69700 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<
69720 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 75 /span>!?<span.class="tok-type">u
69740 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
69760 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ber">3</span>;</span>.<span.clas
69780 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
697a0 22 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 ">if</span>.(d).|*optional_value
697c0 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 |.{</span>.<span.class="line">..
697e0 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 73 ......<span.class="tok-kw">if</s
69800 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 61 6c 75 65 7c pan>.(optional_value.*).|*value|
69820 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
69840 20 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 6c 61 73 73 3d 22 .........value.*.=.<span.class="
69860 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">9</span>;</span>.<sp
69880 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e an.class="line">........}</span>
698a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 .<span.class="line">....}.<span.
698c0 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 5f 7c 20 7b class="tok-kw">else</span>.|_|.{
698e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
69900 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 61 ...<span.class="tok-kw">unreacha
69920 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ble</span>;</span>.<span.class="
69940 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 line">....}</span>.<span.class="
69960 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
69980 3e 20 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 >....<span.class="tok-kw">if</sp
699a0 61 6e 3e 20 28 64 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e an>.(d).|optional_value|.{</span
699c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
699e0 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
69a00 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ect(optional_value.?.==.<span.cl
69a20 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 29 3b 3c 2f 73 70 61 ass="tok-number">9</span>);</spa
69a40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 n>.<span.class="line">....}.<spa
69a60 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 5f 7c n.class="tok-kw">else</span>.|_|
69a80 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
69aa0 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 63 .....<span.class="tok-kw">unreac
69ac0 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 hable</span>;</span>.<span.class
69ae0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">....}</span>.<span.class
69b00 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
69b20 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=
69b40 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
69b60 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 69 66 re><samp>$.<kbd>zig.test.test_if
69b80 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 35 20 74 65 73 74 2e 69 66 20 65 78 70 72 65 73 73 69 6f .zig</kbd>.1/5.test.if.expressio
69ba0 6e 2e 2e 2e 20 4f 4b 0a 32 2f 35 20 74 65 73 74 2e 69 66 20 62 6f 6f 6c 65 61 6e 2e 2e 2e 20 4f n....OK.2/5.test.if.boolean....O
69bc0 4b 0a 33 2f 35 20 74 65 73 74 2e 69 66 20 6f 70 74 69 6f 6e 61 6c 2e 2e 2e 20 4f 4b 0a 34 2f 35 K.3/5.test.if.optional....OK.4/5
69be0 20 74 65 73 74 2e 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 2e 2e 20 4f 4b 0a 35 2f 35 20 74 .test.if.error.union....OK.5/5.t
69c00 65 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 est.if.error.union.with.optional
69c20 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 35 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 73 61 6d ....OK.All.5.tests.passed..</sam
69c40 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 61 p></pre></figure>.......<p>See.a
69c60 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
69c80 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.
69ca0 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 6c 69 3e 0a 3c href="#Errors">Errors</a></li>.<
69cc0 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 64 65 66 65 72 /ul>...............<h2.id="defer
69ce0 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 65 72 3c 2f 61 3e "><a.href="#toc-defer">defer</a>
69d00 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 65 72 22 3e c2 a7 .<a.class="hdr".href="#defer">..
69d20 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
69d40 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
69d60 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 64 65 66 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 ="file">test_defer.zig</cite></f
69d80 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
69da0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
69dc0 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
69de0 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
69e00 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;</
69e20 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
69e40 22 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 "><span.class="tok-kw">const</sp
69e60 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 3b an>.expect.=.std.testing.expect;
69e80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
69ea0 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
69ec0 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 nt.=.std.debug.print;</span>.<sp
69ee0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
69f00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ass="line"><span.class="tok-comm
69f20 65 6e 74 22 3e 2f 2f 20 64 65 66 65 72 20 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 ent">//.defer.will.execute.an.ex
69f40 70 72 65 73 73 69 6f 6e 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 pression.at.the.end.of.the.curre
69f60 6e 74 20 73 63 6f 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c nt.scope.</span></span>.<span.cl
69f80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
69fa0 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
69fc0 65 66 65 72 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 eferExample</span>().!<span.clas
69fe0 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 3c 2f 73 70 61 s="tok-type">usize</span>.{</spa
6a000 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
6a020 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 73 70 class="tok-kw">var</span>.a:.<sp
6a040 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>
6a060 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
6a080 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
6a0a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b </span>.<span.class="line">....{
6a0c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
6a0e0 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 73 ...<span.class="tok-kw">defer</s
6a100 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 6e 75 6d 62 65 72 pan>.a.=.<span.class="tok-number
6a120 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">2</span>;</span>.<span.class="
6a140 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 line">........a.=.<span.class="t
6a160 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">1</span>;</span>.<spa
6a180 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
6a1a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
6a1c0 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 20 3d 3d 20 3c tok-kw">try</span>.expect(a.==.<
6a1e0 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>
6a200 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 );</span>.<span.class="line"></s
6a220 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 20 3d 20 pan>.<span.class="line">....a.=.
6a240 3c 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
6a260 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
6a280 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
6a2a0 61 6e 3e 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>.a;</span>.<span.class="line"
6a2c0 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
6a2e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
6a300 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
6a320 6c 61 73 73 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 lass="tok-str">&quot;defer.basic
6a340 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c s&quot;</span>.{</span>.<span.cl
6a360 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
6a380 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 6c 61 kw">try</span>.expect((<span.cla
6a3a0 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 61 6d ss="tok-kw">try</span>.deferExam
6a3c0 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 62 65 ple()).==.<span.class="tok-numbe
6a3e0 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">5</span>);</span>.<span.class
6a400 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
6a420 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
6a440 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 6d span.class="tok-comment">//.If.m
6a460 75 6c 74 69 70 6c 65 20 64 65 66 65 72 20 73 74 61 74 65 6d 65 6e 74 73 20 61 72 65 20 73 70 65 ultiple.defer.statements.are.spe
6a480 63 69 66 69 65 64 2c 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 6e cified,.they.will.be.executed.in
6a4a0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
6a4c0 22 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 20 74 "><span.class="tok-comment">//.t
6a4e0 68 65 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 20 74 68 65 79 20 77 65 72 65 20 72 75 6e 2e 3c he.reverse.order.they.were.run.<
6a500 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
6a520 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 2f 73 70 61 6e 3e 20 ><span.class="tok-kw">fn</span>.
6a540 3c 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 55 6e 77 69 6e 64 <span.class="tok-fn">deferUnwind
6a560 45 78 61 6d 70 6c 65 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 Example</span>().<span.class="to
6a580 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-type">void</span>.{</span>.<sp
6a5a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 an.class="line">....print(<span.
6a5c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f class="tok-str">&quot;\n&quot;</
6a5e0 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>,..{});</span>.<span.class=
6a600 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
6a620 22 3e 20 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 ">....<span.class="tok-kw">defer
6a640 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
6a660 6e 65 22 3e 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 ne">........print(<span.class="t
6a680 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 6e 3e 2c 20 2e ok-str">&quot;1.&quot;</span>,..
6a6a0 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 {});</span>.<span.class="line">.
6a6c0 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ...}</span>.<span.class="line">.
6a6e0 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 73 ...<span.class="tok-kw">defer</s
6a700 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
6a720 3e 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 2d >........print(<span.class="tok-
6a740 73 74 72 22 3e 26 71 75 6f 74 3b 32 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 str">&quot;2.&quot;</span>,..{})
6a760 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
6a780 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 }</span>.<span.class="line">....
6a7a0 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>.(
6a7c0 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
6a7e0 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>).{</span>.<span.class="line"
6a800 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 63 6f 6d 6d 65 6e >........<span.class="tok-commen
6a820 74 22 3e 2f 2f 20 64 65 66 65 72 73 20 61 72 65 20 6e 6f 74 20 72 75 6e 20 69 66 20 74 68 65 79 t">//.defers.are.not.run.if.they
6a840 20 61 72 65 20 6e 65 76 65 72 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .are.never.executed.</span></spa
6a860 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
6a880 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>.
6a8a0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
6a8c0 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 2d 73 ........print(<span.class="tok-s
6a8e0 74 72 22 3e 26 71 75 6f 74 3b 33 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b tr">&quot;3.&quot;</span>,..{});
6a900 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
6a920 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ...}</span>.<span.class="line">.
6a940 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ...}</span>.<span.class="line">}
6a960 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
6a980 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
6a9a0 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
6a9c0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 65 72 20 75 6e 77 69 6e 64 69 ss="tok-str">&quot;defer.unwindi
6a9e0 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ng&quot;</span>.{</span>.<span.c
6aa00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 66 65 72 55 6e 77 69 6e 64 45 78 61 6d 70 lass="line">....deferUnwindExamp
6aa20 6c 65 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e le();</span>.<span.class="line">
6aa40 7d 3c 2f 73 70 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 }</span></code></pre></figure><f
6aa60 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
6aa80 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
6aaa0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 64 65 66 65 72 2e 7a 69 67 3c >$.<kbd>zig.test.test_defer.zig<
6aac0 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 64 65 66 65 72 20 62 61 73 69 63 73 2e 2e 2e 20 4f /kbd>.1/2.test.defer.basics....O
6aae0 4b 0a 32 2f 32 20 74 65 73 74 2e 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 2e 2e 2e 0a 32 20 K.2/2.test.defer.unwinding....2.
6ab00 31 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 3e 1.OK.All.2.tests.passed..</samp>
6ab20 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 66 </pre></figure>.......<figure><f
6ab40 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.
6ab60 63 6c 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 class="file">test_invalid_defer.
6ab80 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
6aba0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
6abc0 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 64 65 66 65 72 ="tok-comment">//.Inside.a.defer
6abe0 20 65 78 70 72 65 73 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 .expression.the.return.statement
6ac00 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .is.not.allowed.</span></span>.<
6ac20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
6ac40 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
6ac60 6b 2d 66 6e 22 3e 64 65 66 65 72 49 6e 76 61 6c 69 64 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e k-fn">deferInvalidExample</span>
6ac80 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 69 64 3c ().!<span.class="tok-type">void<
6aca0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
6acc0 65 22 3e 20 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 e">....<span.class="tok-kw">defe
6ace0 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c r</span>.{</span>.<span.class="l
6ad00 69 6e 65 22 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 6b 77 ine">........<span.class="tok-kw
6ad20 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
6ad40 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 66 65 72 45 72 72 6f 72 3b 3c 2f 73 -kw">error</span>.DeferError;</s
6ad60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 pan>.<span.class="line">....}</s
6ad80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
6ada0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
6adc0 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.
6ade0 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 44 65 66 65 class="tok-kw">error</span>.Defe
6ae00 72 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 rError;</span>.<span.class="line
6ae20 22 3e 7d 3c 2f 73 70 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 ">}</span></code></pre></figure>
6ae40 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
6ae60 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
6ae80 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 76 61 6c 69 64 5f mp>$.<kbd>zig.test.test_invalid_
6aea0 64 65 66 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 72 defer.zig</kbd>.<span.class="sgr
6aec0 2d 31 6d 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 69 6e 76 61 6c 69 64 5f 64 65 66 -1m">docgen_tmp/test_invalid_def
6aee0 65 72 2e 7a 69 67 3a 34 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er.zig:4:9:.</span><span.class="
6af00 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 61 sgr-31m">error:.</span><span.cla
6af20 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 6e 6e 6f 74 20 72 65 74 75 72 6e 20 66 72 6f 6d 20 64 ss="sgr-1m">cannot.return.from.d
6af40 65 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 72 efer.expression.</span>........r
6af60 65 74 75 72 6e 20 65 72 72 6f 72 2e 44 65 66 65 72 45 72 72 6f 72 3b 0a 20 20 20 20 20 20 20 20 eturn.error.DeferError;.........
6af80 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 7e 7e <span.class="sgr-32m">^~~~~~~~~~
6afa0 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 6e 20 63 6c 61 73 73 ~~~~~~~~~~~~~.</span><span.class
6afc0 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 69 6e 76 61 6c 69 ="sgr-1m">docgen_tmp/test_invali
6afe0 64 5f 64 65 66 65 72 2e 7a 69 67 3a 33 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c d_defer.zig:3:5:.</span><span.cl
6b000 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 6e ass="sgr-36m">note:.</span><span
6b020 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 64 65 66 65 72 20 65 78 70 72 65 73 73 69 6f 6e .class="sgr-1m">defer.expression
6b040 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 64 65 66 65 72 20 7b 0a 20 20 20 20 3c 73 70 .here.</span>....defer.{.....<sp
6b060 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 2f 73 70 61 6e 3e an.class="sgr-32m">^~~~~.</span>
6b080 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 66 .</samp></pre></figure>.......<f
6b0a0 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
6b0c0 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 72 72 64 65 66 "><cite.class="file">test_errdef
6b0e0 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 70 72 65 3e 3c er.zig</cite></figcaption><pre><
6b100 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
6b120 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.=.
6b140 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
6b160 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">&
6b180 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 73 70 61 6e 3e 0a 3c quot;std&quot;</span>);</span>.<
6b1a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
6b1c0 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 73 74 64 2e ok-kw">const</span>.print.=.std.
6b1e0 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d debug.print;</span>.<span.class=
6b200 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
6b220 22 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 20 54 "><span.class="tok-comment">//.T
6b240 68 65 20 65 72 72 64 65 66 65 72 20 6b 65 79 77 6f 72 64 20 69 73 20 73 69 6d 69 6c 61 72 20 74 he.errdefer.keyword.is.similar.t
6b260 6f 20 64 65 66 65 72 2c 20 62 75 74 20 77 69 6c 6c 20 6f 6e 6c 79 20 65 78 65 63 75 74 65 20 69 o.defer,.but.will.only.execute.i
6b280 66 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d f.the</span></span>.<span.class=
6b2a0 22 6c 69 6e 65 22 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 "line"><span.class="tok-comment"
6b2c0 3e 2f 2f 20 73 63 6f 70 65 20 72 65 74 75 72 6e 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e >//.scope.returns.with.an.error.
6b2e0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
6b300 22 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 3c 2f "><span.class="tok-comment">//</
6b320 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
6b340 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
6b360 73 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 69 6e 20 61 6c 6c 6f 77 69 s.is.especially.useful.in.allowi
6b380 6e 67 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 6c 65 61 6e 20 75 70 20 70 72 6f 70 65 72 ng.a.function.to.clean.up.proper
6b3a0 6c 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ly</span></span>.<span.class="li
6b3c0 6e 65 22 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 ne"><span.class="tok-comment">//
6b3e0 20 6f 6e 20 65 72 72 6f 72 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 73 20 67 6f 74 6f 20 65 72 72 .on.error,.and.replaces.goto.err
6b400 6f 72 20 68 61 6e 64 6c 69 6e 67 20 74 61 63 74 69 63 73 20 61 73 20 73 65 65 6e 20 69 6e 20 63 or.handling.tactics.as.seen.in.c
6b420 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .</span></span>.<span.class="lin
6b440 65 22 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 2f 73 70 61 6e e"><span.class="tok-kw">fn</span
6b460 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 66 65 72 45 72 72 6f >.<span.class="tok-fn">deferErro
6b480 72 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e 28 69 73 5f 65 72 72 6f 72 3a 20 3c 73 70 61 6e 20 rExample</span>(is_error:.<span.
6b4a0 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 29 20 21 3c class="tok-type">bool</span>).!<
6b4c0 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
6b4e0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
6b500 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 71 ..print(<span.class="tok-str">&q
6b520 75 6f 74 3b 5c 6e 73 74 61 72 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 5c 6e 26 71 75 6f 74 3b 3c uot;\nstart.of.function\n&quot;<
6b540 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 /span>,..{});</span>.<span.class
6b560 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
6b580 65 22 3e 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 e">....<span.class="tok-comment"
6b5a0 3e 2f 2f 20 54 68 69 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 65 78 65 63 75 74 65 64 >//.This.will.always.be.executed
6b5c0 20 6f 6e 20 65 78 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .on.exit</span></span>.<span.cla
6b5e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
6b600 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 w">defer</span>.{</span>.<span.c
6b620 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 lass="line">........print(<span.
6b640 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 64 20 6f 66 20 66 75 6e class="tok-str">&quot;end.of.fun
6b660 63 74 69 6f 6e 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 ction\n&quot;</span>,..{});</spa
6b680 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
6b6a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
6b6c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
6b6e0 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 20 7b 3c 2f 73 70 61 ="tok-kw">errdefer</span>.{</spa
6b700 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 n>.<span.class="line">........pr
6b720 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;
6b740 65 6e 63 6f 75 6e 74 65 72 65 64 20 61 6e 20 65 72 72 6f 72 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 encountered.an.error!\n&quot;</s
6b760 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>,..{});</span>.<span.class="
6b780 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 line">....}</span>.<span.class="
6b7a0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
6b7c0 3e 20 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 >....<span.class="tok-kw">if</sp
6b7e0 61 6e 3e 20 28 69 73 5f 65 72 72 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an>.(is_error).{</span>.<span.cl
6b800 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
6b820 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
6b840 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 66 65 72 45 72 72 s="tok-kw">error</span>.DeferErr
6b860 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 or;</span>.<span.class="line">..
6b880 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c ..}</span>.<span.class="line">}<
6b8a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
6b8c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
6b8e0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 72 72 64 65 66 65 72 20 6b ="tok-comment">//.The.errdefer.k
6b900 65 79 77 6f 72 64 20 61 6c 73 6f 20 73 75 70 70 6f 72 74 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 eyword.also.supports.an.alternat
6b920 69 76 65 20 73 79 6e 74 61 78 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 3c 2f 73 70 61 6e 3e ive.syntax.to.capture.the</span>
6b940 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
6b960 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 67 65 6e 65 72 61 74 65 .class="tok-comment">//.generate
6b980 64 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 d.error.</span></span>.<span.cla
6b9a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ss="line"><span.class="tok-comme
6b9c0 6e 74 22 3e 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 nt">//</span></span>.<span.class
6b9e0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-comment
6ba00 22 3e 2f 2f 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 66 6f 72 20 70 72 69 6e 74 69 6e 67 ">//.This.is.useful.for.printing
6ba20 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 64 75 72 .an.additional.error.message.dur
6ba40 69 6e 67 20 63 6c 65 61 6e 20 75 70 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ing.clean.up.</span></span>.<spa
6ba60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
6ba80 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
6baa0 6e 22 3e 64 65 66 65 72 45 72 72 6f 72 43 61 70 74 75 72 65 45 78 61 6d 70 6c 65 3c 2f 73 70 61 n">deferErrorCaptureExample</spa
6bac0 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 69 n>().!<span.class="tok-type">voi
6bae0 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
6bb00 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">er
6bb20 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 rdefer</span>.|err|.{</span>.<sp
6bb40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 an.class="line">........std.debu
6bb60 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
6bb80 75 6f 74 3b 74 68 65 20 65 72 72 6f 72 20 69 73 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 uot;the.error.is.{s}\n&quot;</sp
6bba0 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 74 69 6e 22 an>,..{<span.class="tok-builtin"
6bbc0 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 3c 2f 73 70 61 6e >@errorName</span>(err)});</span
6bbe0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
6bc00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
6bc20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
6bc40 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
6bc60 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 44 65 66 65 72 45 72 ss="tok-kw">error</span>.DeferEr
6bc80 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ror;</span>.<span.class="line">}
6bca0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
6bcc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
6bce0 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
6bd00 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 72 72 64 65 66 65 72 20 75 6e 77 69 ss="tok-str">&quot;errdefer.unwi
6bd20 6e 64 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nding&quot;</span>.{</span>.<spa
6bd40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 66 65 72 45 72 72 6f 72 45 78 61 n.class="line">....deferErrorExa
6bd60 6d 70 6c 65 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 mple(<span.class="tok-null">fals
6bd80 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 63 e</span>).<span.class="tok-kw">c
6bda0 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 atch</span>.{};</span>.<span.cla
6bdc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 66 65 72 45 72 72 6f 72 45 78 61 6d 70 6c 65 28 ss="line">....deferErrorExample(
6bde0 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 2f 73 70 61 <span.class="tok-null">true</spa
6be00 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 63 68 3c 2f n>).<span.class="tok-kw">catch</
6be20 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 span>.{};</span>.<span.class="li
6be40 6e 65 22 3e 20 20 20 20 64 65 66 65 72 45 72 72 6f 72 43 61 70 74 75 72 65 45 78 61 6d 70 6c 65 ne">....deferErrorCaptureExample
6be60 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 73 ().<span.class="tok-kw">catch</s
6be80 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e pan>.{};</span>.<span.class="lin
6bea0 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
6bec0 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
6bee0 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
6bf00 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 65 66 65 amp>$.<kbd>zig.test.test_errdefe
6bf20 72 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 65 72 72 64 65 66 65 72 20 75 6e r.zig</kbd>.1/1.test.errdefer.un
6bf40 77 69 6e 64 69 6e 67 2e 2e 2e 0a 73 74 61 72 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 0a 65 6e 64 winding....start.of.function.end
6bf60 20 6f 66 20 66 75 6e 63 74 69 6f 6e 0a 0a 73 74 61 72 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 0a .of.function..start.of.function.
6bf80 65 6e 63 6f 75 6e 74 65 72 65 64 20 61 6e 20 65 72 72 6f 72 21 0a 65 6e 64 20 6f 66 20 66 75 6e encountered.an.error!.end.of.fun
6bfa0 63 74 69 6f 6e 0a 74 68 65 20 65 72 72 6f 72 20 69 73 20 44 65 66 65 72 45 72 72 6f 72 0a 4f 4b ction.the.error.is.DeferError.OK
6bfc0 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
6bfe0 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 2f e></figure>.......<p>See.also:</
6c000 70 3e 3c 75 6c 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 p><ul>.<li><a.href="#Errors">Err
6c020 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 20 20 20 20 20 ors</a></li>.</ul>..............
6c040 20 3c 68 32 20 69 64 3d 22 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 .<h2.id="unreachable"><a.href="#
6c060 74 6f 63 2d 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 toc-unreachable">unreachable</a>
6c080 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 72 65 61 63 68 61 62 .<a.class="hdr".href="#unreachab
6c0a0 6c 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 20 le">..</a></h2>........<p>......
6c0c0 20 49 6e 20 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 61 .In.<a.href="#Debug">Debug</a>.a
6c0e0 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 nd.<a.href="#ReleaseSafe">Releas
6c100 65 53 61 66 65 3c 2f 61 3e 20 6d 6f 64 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e eSafe</a>.mode.......<code><span
6c120 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
6c140 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f w">unreachable</span></span></co
6c160 64 65 3e 20 65 6d 69 74 73 20 61 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 de>.emits.a.call.to.<code><span.
6c180 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e class="line">panic</span></code>
6c1a0 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 65 64 20 .with.the.message.<code>reached.
6c1c0 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 20 20 3c unreachable.code</code>........<
6c1e0 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 66 3d 22 /p>.......<p>.......In.<a.href="
6c200 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 20 61 6e #ReleaseFast">ReleaseFast</a>.an
6c220 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 65 61 73 d.<a.href="#ReleaseSmall">Releas
6c240 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 72 20 75 eSmall</a>.mode,.the.optimizer.u
6c260 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 3e 3c 73 ses.the.assumption.that.<code><s
6c280 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
6c2a0 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 73 70 61 6e 3e 3c k-kw">unreachable</span></span><
6c2c0 2f 63 6f 64 65 3e 20 63 6f 64 65 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 /code>.code.......will.never.be.
6c2e0 68 69 74 20 74 6f 20 70 65 72 66 6f 72 6d 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 20 20 hit.to.perform.optimizations....
6c300 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 42 61 73 69 63 73 22 3e 3c ....</p>.......<h3.id="Basics"><
6c320 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 61 73 69 63 73 22 3e 42 61 73 69 63 73 3c 2f 61 3e 20 a.href="#toc-Basics">Basics</a>.
6c340 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 61 73 69 63 73 22 3e c2 a7 <a.class="hdr".href="#Basics">..
6c360 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 66 69 67 63 61 70 </a></h3>........<figure><figcap
6c380 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
6c3a0 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 ="file">test_unreachable.zig</ci
6c3c0 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
6c3e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .class="line"><span.class="tok-c
6c400 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 72 65 61 63 68 61 62 6c 65 20 69 73 20 75 73 65 64 20 74 omment">//.unreachable.is.used.t
6c420 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 20 o.assert.that.control.flow.will.
6c440 6e 65 76 65 72 20 72 65 61 63 68 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 never.reach.a</span></span>.<spa
6c460 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
6c480 63 6f 6d 6d 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 comment">//.particular.location:
6c4a0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
6c4c0 22 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 "><span.class="tok-kw">test</spa
6c4e0 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 62 n>.<span.class="tok-str">&quot;b
6c500 61 73 69 63 20 6d 61 74 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a asic.math&quot;</span>.{</span>.
6c520 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
6c540 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
6c560 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 3c an.class="tok-number">1</span>;<
6c580 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
6c5a0 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>.
6c5c0 79 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 y.=.<span.class="tok-number">2</
6c5e0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
6c600 3e 20 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 >....<span.class="tok-kw">if</sp
6c620 61 6e 3e 20 28 78 20 2b 20 79 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e an>.(x.+.y.!=.<span.class="tok-n
6c640 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">3</span>).{</span>.<span.
6c660 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
6c680 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 3c 2f 73 ="tok-kw">unreachable</span>;</s
6c6a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 pan>.<span.class="line">....}</s
6c6c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
6c6e0 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
6c700 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
6c720 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>
6c740 7a 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 zig.test.test_unreachable.zig</k
6c760 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 62 61 73 69 63 20 6d 61 74 68 2e 2e 2e 20 4f 4b 0a 41 6c bd>.1/1.test.basic.math....OK.Al
6c780 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><
6c7a0 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 66 61 63 74 2c 20 74 68 69 73 20 /figure>.......<p>In.fact,.this.
6c7c0 69 73 20 68 6f 77 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e is.how.<code><span.class="line">
6c7e0 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 std.debug.assert</span></code>.i
6c800 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 s.implemented:</p>.......<figure
6c820 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
6c840 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 73 73 65 72 74 69 6f 6e 5f 66 te.class="file">test_assertion_f
6c860 61 69 6c 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 ailure.zig</cite></figcaption><p
6c880 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
6c8a0 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 69 73 n.class="tok-comment">//.This.is
6c8c0 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 65 6d 65 .how.std.debug.assert.is.impleme
6c8e0 6e 74 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nted</span></span>.<span.class="
6c900 6c 69 6e 65 22 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 2f 73 line"><span.class="tok-kw">fn</s
6c920 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 74 pan>.<span.class="tok-fn">assert
6c940 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 70 </span>(ok:.<span.class="tok-typ
6c960 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 6b e">bool</span>).<span.class="tok
6c980 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -type">void</span>.{</span>.<spa
6c9a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
6c9c0 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 73 70 61 6e 20 63 6c tok-kw">if</span>.(!ok).<span.cl
6c9e0 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>;
6ca00 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 61 73 .<span.class="tok-comment">//.as
6ca20 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 sertion.failure</span></span>.<s
6ca40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
6ca60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
6ca80 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-comment
6caa0 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 65 ">//.This.test.will.fail.because
6cac0 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 3c 2f 73 70 61 .we.hit.unreachable.</span></spa
6cae0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
6cb00 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
6cb20 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 69 6c 6c 20 66 61 69 ss="tok-str">&quot;this.will.fai
6cb40 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c l&quot;</span>.{</span>.<span.cl
6cb60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 ass="line">....assert(<span.clas
6cb80 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 3c 2f 73 70 61 s="tok-null">false</span>);</spa
6cba0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
6cbc0 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
6cbe0 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<
6cc00 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
6cc20 67 20 74 65 73 74 20 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 g.test.test_assertion_failure.zi
6cc40 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 74 68 69 73 20 77 69 6c 6c 20 66 61 69 6c 2e g</kbd>.1/1.test.this.will.fail.
6cc60 2e 2e 20 74 68 72 65 61 64 20 32 34 35 33 33 33 37 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 ...thread.2453337.panic:.reached
6cc80 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 69 6f .unreachable.code./home/ci/actio
6cca0 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
6ccc0 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 69 6c g/docgen_tmp/test_assertion_fail
6cce0 75 72 65 2e 7a 69 67 3a 33 3a 31 34 3a 20 30 78 32 32 34 31 65 32 20 69 6e 20 61 73 73 65 72 74 ure.zig:3:14:.0x2241e2.in.assert
6cd00 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 62 6c 65 .(test).....if.(!ok).unreachable
6cd20 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..........
6cd40 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
6cd60 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
6cd80 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 3a 31 31 /test_assertion_failure.zig:8:11
6cda0 3a 20 30 78 32 32 34 31 39 61 20 69 6e 20 74 65 73 74 2e 74 68 69 73 20 77 69 6c 6c 20 66 61 69 :.0x22419a.in.test.this.will.fai
6cdc0 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 20 20 20 20 l.(test).....assert(false);.....
6cde0 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/
6ce00 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
6ce20 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 32 /zig/test_runner.zig:176:28:.0x2
6ce40 32 63 65 62 39 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 2ceb9.in.mainTerminal.(test)....
6ce60 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 20 .....}.else.test_fn.func();.....
6ce80 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
6cea0 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
6cec0 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 trap/out/host/lib/zig/test_runne
6cee0 72 2e 7a 69 67 3a 33 36 3a 32 38 3a 20 30 78 32 32 35 30 33 61 20 69 6e 20 6d 61 69 6e 20 28 74 r.zig:36:28:.0x22503a.in.main.(t
6cf00 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 61 6c est).........return.mainTerminal
6cf20 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 20 5e ();............................^
6cf40 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
6cf60 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
6cf80 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 34 36 62 32 20 69 6e 20 d/start.zig:564:22:.0x2246b2.in.
6cfa0 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 20 20 20 posixCallMainAndExit.(test).....
6cfc0 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();............
6cfe0 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
6d000 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
6d020 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 /lib/zig/std/start.zig:243:5:.0x
6d040 32 32 34 32 30 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 224201.in._start.(test).....asm.
6d060 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).{
6d080 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.???.(???)
6d0a0 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 61 .error:.the.following.test.comma
6d0c0 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 73 2d 72 75 6e nd.crashed:./home/ci/actions-run
6d0e0 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 7a 69 67 2d ner/_work/zig-bootstrap/out/zig-
6d100 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 33 66 36 35 37 35 62 38 31 66 63 38 33 30 37 34 65 36 local-cache/o/3f6575b81fc83074e6
6d120 34 39 65 39 62 31 36 37 66 61 32 38 65 31 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 49e9b167fa28e1/test.</samp></pre
6d140 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 69 64 3d 22 ></figure>..............<h3.id="
6d160 41 74 2d 43 6f 6d 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 At-Compile-Time"><a.href="#toc-A
6d180 74 2d 43 6f 6d 70 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 t-Compile-Time">At.Compile-Time<
6d1a0 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 74 2d 43 6f 6d /a>.<a.class="hdr".href="#At-Com
6d1c0 70 69 6c 65 2d 54 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 pile-Time">..</a></h3>........<f
6d1e0 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
6d200 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
6d220 6d 65 5f 75 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 me_unreachable.zig</cite></figca
6d240 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 6c 69 ption><pre><code><span.class="li
6d260 6e 65 22 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 ne"><span.class="tok-kw">const</
6d280 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 6f 6b 2d span>.assert.=.<span.class="tok-
6d2a0 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
6d2c0 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 73 ass="tok-str">&quot;std&quot;</s
6d2e0 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan>).debug.assert;</span>.<span
6d300 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
6d320 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
6d340 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">
6d360 26 71 75 6f 74 3b 74 79 70 65 20 6f 66 20 75 6e 72 65 61 63 68 61 62 6c 65 26 71 75 6f 74 3b 3c &quot;type.of.unreachable&quot;<
6d380 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
6d3a0 65 22 3e 20 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 e">....<span.class="tok-kw">comp
6d3c0 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 time</span>.{</span>.<span.class
6d3e0 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
6d400 2d 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 -comment">//.The.type.of.unreach
6d420 61 62 6c 65 20 69 73 20 6e 6f 72 65 74 75 72 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a able.is.noreturn.</span></span>.
6d440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
6d460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
6d480 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.
6d4a0 61 73 73 65 72 74 69 6f 6e 20 77 69 6c 6c 20 73 74 69 6c 6c 20 66 61 69 6c 20 74 6f 20 63 6f 6d assertion.will.still.fail.to.com
6d4c0 70 69 6c 65 20 62 65 63 61 75 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pile.because</span></span>.<span
6d4e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
6d500 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 72 65 61 63 68 61 62 6c 65 20 65 s="tok-comment">//.unreachable.e
6d520 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 2e 3c 2f xpressions.are.compile.errors.</
6d540 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
6d560 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
6d580 20 20 20 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 ...assert(<span.class="tok-built
6d5a0 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="
6d5c0 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 29 20 3d 3d 20 3c tok-kw">unreachable</span>).==.<
6d5e0 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 3c 2f span.class="tok-type">noreturn</
6d600 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
6d620 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ">....}</span>.<span.class="line
6d640 22 3e 7d 3c 2f 73 70 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 ">}</span></code></pre></figure>
6d660 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
6d680 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
6d6a0 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
6d6c0 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 6c 61 _unreachable.zig</kbd>.<span.cla
6d6e0 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
6d700 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 73 70 time_unreachable.zig:10:16:.</sp
6d720 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:.
6d740 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 72 65 </span><span.class="sgr-1m">unre
6d760 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 73 65 achable.code.</span>........asse
6d780 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 65 74 rt(@TypeOf(unreachable).==.noret
6d7a0 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 73 73 urn);................<span.class
6d7c0 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 7e 0a ="sgr-32m">^~~~~~~~~~~~~~~~~~~~.
6d7e0 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
6d800 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 6c 65 en_tmp/test_comptime_unreachable
6d820 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 3d 22 .zig:10:24:.</span><span.class="
6d840 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 73 sgr-36m">note:.</span><span.clas
6d860 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 65 72 s="sgr-1m">control.flow.is.diver
6d880 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 28 40 ted.here.</span>........assert(@
6d8a0 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 6e 29 TypeOf(unreachable).==.noreturn)
6d8c0 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 20 63 ;........................<span.c
6d8e0 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 70 61 lass="sgr-32m">^~~~~~~~~~~.</spa
6d900 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 20 20 n>.</samp></pre></figure>.......
6d920 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
6d940 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 0a 3c ="#Zig-Test">Zig.Test</a></li>.<
6d960 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 20 4d li><a.href="#Build-Mode">Build.M
6d980 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 70 74 ode</a></li>.<li><a.href="#compt
6d9a0 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 20 20 ime">comptime</a></li>.</ul>....
6d9c0 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 74 75 ..................<h2.id="noretu
6d9e0 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 72 65 rn"><a.href="#toc-noreturn">nore
6da00 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 23 6e turn</a>.<a.class="hdr".href="#n
6da20 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 3e 0a oreturn">..</a></h2>........<p>.
6da40 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 6c 69 6e 65 22 3e 3c ......<code><span.class="line"><
6da60 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 3c 2f span.class="tok-type">noreturn</
6da80 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 74 79 70 65 20 span></span></code>.is.the.type.
6daa0 6f 66 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 of:.......</p>.......<ul>.......
6dac0 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 6c 69 6e 65 22 ....<li><code><span.class="line"
6dae0 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 61 ><span.class="tok-kw">break</spa
6db00 6e 3e 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 n></span></code></li>...........
6db20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 <li><code><span.class="line"><sp
6db40 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 73 70 61 6e an.class="tok-kw">continue</span
6db60 3e 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 ></span></code></li>...........<
6db80 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 li><code><span.class="line"><spa
6dba0 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 2f n.class="tok-kw">return</span></
6dbc0 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 3e span></code></li>...........<li>
6dbe0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
6dc00 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>
6dc20 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
6dc40 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e i><code><span.class="line"><span
6dc60 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
6dc80 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>
6dca0 29 20 7b 7d 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 3c 2f ).{}</span></code></li>.......</
6dcc0 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 67 20 74 79 70 65 ul>.......<p>When.resolving.type
6dce0 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 3c 73 70 61 6e 20 s.together,.such.as.<code><span.
6dd00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
6dd20 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6c 61 75 73 65 ">if</span></span></code>.clause
6dd40 73 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 s.or.<code><span.class="line"><s
6dd60 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>
6dd80 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 73 2c 0a 20 20 20 20 20 20 20 20 20 </span></code>.prongs,..........
6dda0 20 20 20 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 6c 69 6e 65 .....the.<code><span.class="line
6ddc0 22 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 "><span.class="tok-type">noretur
6dde0 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 79 70 65 20 69 73 20 63 n</span></span></code>.type.is.c
6de00 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 65 76 65 72 79 20 6f 74 68 65 72 20 74 79 70 65 2e ompatible.with.every.other.type.
6de20 20 43 6f 6e 73 69 64 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 .Consider:.......</p>.......<fig
6de40 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">
6de60 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 74 75 72 6e <cite.class="file">test_noreturn
6de80 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
6dea0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
6dec0 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
6dee0 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 69 6f 6e 3a 20 ="tok-fn">foo</span>(condition:.
6df00 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
6df20 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 75 33 n>,.b:.<span.class="tok-type">u3
6df40 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"
6df60 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >void</span>.{</span>.<span.clas
6df80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
6dfa0 22 3e 63 6f 6e 73 74 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 ">const</span>.a.=.<span.class="
6dfc0 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 62 20 tok-kw">if</span>.(condition).b.
6dfe0 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>
6e000 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
6e020 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
6e040 20 20 20 5f 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ..._.=.a;</span>.<span.class="li
6e060 6e 65 22 3e 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 ne">....<span.class="tok-builtin
6e080 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 3d 22 74 6f 6b ">@panic</span>(<span.class="tok
6e0a0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 77 69 74 68 20 61 26 -str">&quot;do.something.with.a&
6e0c0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>);</span>.<span.clas
6e0e0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
6e100 69 6e 65 22 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 ine"><span.class="tok-kw">test</
6e120 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
6e140 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 3c 2f 73 70 61 6e 3e t;noreturn&quot;</span>.{</span>
6e160 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 70 61 .<span.class="line">....foo(<spa
6e180 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>,
6e1a0 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
6e1c0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>);</span>.<span.class="line">}
6e1e0 3c 2f 73 70 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 </span></code></pre></figure><fi
6e200 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
6e220 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>
6e240 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 6f 72 65 74 75 72 6e 2e 7a 69 $.<kbd>zig.test.test_noreturn.zi
6e260 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6e 6f 72 65 74 75 72 6e 2e 2e 2e 20 4f 4b 0a g</kbd>.1/1.test.noreturn....OK.
6e280 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
6e2a0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 6e 6f 74 68 65 72 20 75 73 65 20 ></figure>.......<p>Another.use.
6e2c0 63 61 73 65 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 case.for.<code><span.class="line
6e2e0 22 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 "><span.class="tok-type">noretur
6e300 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 63 n</span></span></code>.is.the.<c
6e320 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 69 74 3c 2f 73 70 61 ode><span.class="line">exit</spa
6e340 6e 3e 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 3c 66 n></code>.function:</p>.......<f
6e360 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
6e380 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 74 75 "><cite.class="file">test_noretu
6e3a0 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 70 74 rn_from_exit.zig</cite></figcapt
6e3c0 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 6c 69 6e 65 ion><pre><code><span.class="line
6e3e0 22 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 "><span.class="tok-kw">const</sp
6e400 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
6e420 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="
6e440 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>)
6e460 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
6e480 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 75 n.class="tok-kw">const</span>.bu
6e4a0 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 6c 74 69 6e iltin.=.<span.class="tok-builtin
6e4c0 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
6e4e0 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 70 61 6e k-str">&quot;builtin&quot;</span
6e500 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
6e520 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>.
6e540 6e 61 74 69 76 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 3c native_arch.=.builtin.cpu.arch;<
6e560 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
6e580 63 6c 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
6e5a0 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
6e5c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
6e5e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
6e600 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 49 4e 41 50 49 3a 20 73 74 64 2e 62 75 69 6c w">const</span>.WINAPI:.std.buil
6e620 74 69 6e 2e 43 61 6c 6c 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c tin.CallingConvention.=.<span.cl
6e640 61 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 ass="tok-kw">if</span>.(native_a
6e660 72 63 68 20 3d 3d 20 2e 78 38 36 29 20 2e 53 74 64 63 61 6c 6c 20 3c 73 70 61 6e 20 63 6c 61 73 rch.==..x86)..Stdcall.<span.clas
6e680 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 2e 43 3b 3c 2f 73 70 61 6e s="tok-kw">else</span>..C;</span
6e6a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
6e6c0 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
6e6e0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e 65 6c 33 32 26 71 75 6f ass="tok-str">&quot;kernel32&quo
6e700 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 66 t;</span>.<span.class="tok-kw">f
6e720 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 45 78 n</span>.<span.class="tok-fn">Ex
6e740 69 74 50 72 6f 63 65 73 73 3c 2f 73 70 61 6e 3e 28 65 78 69 74 5f 63 6f 64 65 3a 20 3c 73 70 61 itProcess</span>(exit_code:.<spa
6e760 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e n.class="tok-type">c_uint</span>
6e780 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 6e 76 3c ).<span.class="tok-kw">callconv<
6e7a0 2f 73 70 61 6e 3e 28 57 49 4e 41 50 49 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>(WINAPI).<span.class="tok-
6e7c0 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 type">noreturn</span>;</span>.<s
6e7e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
6e800 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
6e820 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
6e840 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 3c 2f 73 70 61 r">&quot;foo&quot;</span>.{</spa
6e860 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
6e880 63 6c 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 class="tok-kw">const</span>.valu
6e8a0 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 6b 77 22 3e 63 e.=.bar().<span.class="tok-kw">c
6e8c0 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 61 6e 20 63 6c atch</span>.ExitProcess(<span.cl
6e8e0 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 3c 2f 73 70 61 ass="tok-number">1</span>);</spa
6e900 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
6e920 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
6e940 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 62 65 (value.==.<span.class="tok-numbe
6e960 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r">1234</span>);</span>.<span.cl
6e980 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
6e9a0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
6e9c0 22 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 2f 73 70 61 6e 3e "><span.class="tok-kw">fn</span>
6e9e0 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 70 61 6e 3e .<span.class="tok-fn">bar</span>
6ea00 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 61 6e 79 65 72 72 ().<span.class="tok-type">anyerr
6ea20 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 22 or</span>!<span.class="tok-type"
6ea40 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >u32</span>.{</span>.<span.class
6ea60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
6ea80 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-
6eaa0 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 number">1234</span>;</span>.<spa
6eac0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
6eae0 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
6eb00 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
6eb20 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.
6eb40 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 61 72 test_noreturn_from_exit.zig.-tar
6eb60 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 78 65 get.x86_64-windows.--test-no-exe
6eb80 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 0a 20 c</kbd>.</samp></pre></figure>..
6eba0 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 22 3e .............<h2.id="Functions">
6ebc0 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 69 6f <a.href="#toc-Functions">Functio
6ebe0 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 75 6e ns</a>.<a.class="hdr".href="#Fun
6ec00 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 67 75 ctions">..</a></h2>........<figu
6ec20 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"><
6ec40 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 6e 73 cite.class="file">test_functions
6ec60 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
6ec80 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
6eca0 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
6ecc0 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<
6ece0 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
6ed00 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ot;std&quot;</span>);</span>.<sp
6ed20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
6ed40 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 61 -kw">const</span>.builtin.=.<spa
6ed60 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
6ed80 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
6eda0 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ;builtin&quot;</span>);</span>.<
6edc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
6ede0 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 65 5f 61 72 63 68 20 ok-kw">const</span>.native_arch.
6ee00 3d 20 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e =.builtin.cpu.arch;</span>.<span
6ee20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
6ee40 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
6ee60 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ting.expect;</span>.<span.class=
6ee80 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
6eea0 22 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 20 46 "><span.class="tok-comment">//.F
6eec0 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 6c 69 6b 65 20 74 68 69 73 3c unctions.are.declared.like.this<
6eee0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
6ef00 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 2f 73 70 61 6e 3e 20 ><span.class="tok-kw">fn</span>.
6ef20 3c 73 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 <span.class="tok-fn">add</span>(
6ef40 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 38 3c 2f 73 70 a:.<span.class="tok-type">i8</sp
6ef60 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 69 an>,.b:.<span.class="tok-type">i
6ef80 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"
6efa0 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >i8</span>.{</span>.<span.class=
6efc0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
6efe0 69 66 3c 2f 73 70 61 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 if</span>.(a.==.<span.class="tok
6f000 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">0</span>).{</span>.<spa
6f020 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
6f040 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 62 3b 3c 2f 73 70 ss="tok-kw">return</span>.b;</sp
6f060 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 an>.<span.class="line">....}</sp
6f080 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
6f0a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
6f0c0 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 2b 20 62 3b 3c s="tok-kw">return</span>.a.+.b;<
6f0e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
6f100 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
6f120 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
6f140 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 69 66 69 k-comment">//.The.export.specifi
6f160 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 79 20 76 er.makes.a.function.externally.v
6f180 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 3e 3c 2f isible.in.the.generated</span></
6f1a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
6f1c0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 62 6a 65 63 74 20 66 69 6c lass="tok-comment">//.object.fil
6f1e0 65 2c 20 61 6e 64 20 6d 61 6b 65 73 20 69 74 20 75 73 65 20 74 68 65 20 43 20 41 42 49 2e 3c 2f e,.and.makes.it.use.the.C.ABI.</
6f200 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
6f220 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
6f240 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 6e n>.<span.class="tok-kw">fn</span
6f260 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 75 62 3c 2f 73 70 61 6e >.<span.class="tok-fn">sub</span
6f280 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 38 3c 2f >(a:.<span.class="tok-type">i8</
6f2a0 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 22 span>,.b:.<span.class="tok-type"
6f2c0 3e 69 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 >i8</span>).<span.class="tok-typ
6f2e0 65 22 3e 69 38 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 e">i8</span>.{.<span.class="tok-
6f300 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2d 20 62 3b 20 7d 3c 2f 73 70 61 6e kw">return</span>.a.-.b;.}</span
6f320 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
6f340 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
6f360 2d 63 6f 6d 6d 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 -comment">//.The.extern.specifie
6f380 72 20 69 73 20 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 r.is.used.to.declare.a.function.
6f3a0 74 68 61 74 20 77 69 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 that.will.be.resolved</span></sp
6f3c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
6f3e0 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 65 ss="tok-comment">//.at.link.time
6f400 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 74 ,.when.linking.statically,.or.at
6f420 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 3c 2f 73 .runtime,.when.linking</span></s
6f440 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
6f460 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 6d 69 63 61 6c 6c 79 ass="tok-comment">//.dynamically
6f480 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 66 74 65 72 20 74 68 ..The.quoted.identifier.after.th
6f4a0 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 73 3c 2f 73 70 61 6e e.extern.keyword.specifies</span
6f4c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
6f4e0 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 6c 69 62 n.class="tok-comment">//.the.lib
6f500 72 61 72 79 20 74 68 61 74 20 68 61 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 20 28 65 2e 67 rary.that.has.the.function..(e.g
6f520 2e 20 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 20 2d 26 67 74 3b 20 6c 69 62 63 2e 73 6f 29 3c 2f ..&quot;c&quot;.-&gt;.libc.so)</
6f540 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
6f560 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
6f580 20 63 61 6c 6c 63 6f 6e 76 20 73 70 65 63 69 66 69 65 72 20 63 68 61 6e 67 65 73 20 74 68 65 20 .callconv.specifier.changes.the.
6f5a0 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 calling.convention.of.the.functi
6f5c0 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c on.</span></span>.<span.class="l
6f5e0 69 6e 65 22 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 ine"><span.class="tok-kw">const<
6f600 2f 73 70 61 6e 3e 20 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 /span>.WINAPI:.std.builtin.Calli
6f620 6e 67 43 6f 6e 76 65 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 ngConvention.=.<span.class="tok-
6f640 6b 77 22 3e 69 66 3c 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 kw">if</span>.(native_arch.==..x
6f660 38 36 29 20 2e 53 74 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 86)..Stdcall.<span.class="tok-kw
6f680 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 2e 43 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ">else</span>..C;</span>.<span.c
6f6a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
6f6c0 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-
6f6e0 73 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 str">&quot;kernel32&quot;</span>
6f700 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>.
6f720 3c 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 <span.class="tok-fn">ExitProcess
6f740 3c 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 </span>(exit_code:.<span.class="
6f760 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 61 73 tok-type">u32</span>).<span.clas
6f780 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 57 49 4e 41 50 s="tok-kw">callconv</span>(WINAP
6f7a0 49 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 I).<span.class="tok-type">noretu
6f7c0 72 6e 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c rn</span>;</span>.<span.class="l
6f7e0 69 6e 65 22 3e 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 ine"><span.class="tok-kw">extern
6f800 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
6f820 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="
6f840 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
6f860 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 6e 20 63 6c 61 ok-fn">atan2</span>(a:.<span.cla
6f880 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 3a 20 3c 73 70 ss="tok-type">f64</span>,.b:.<sp
6f8a0 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 3e 29 20 an.class="tok-type">f64</span>).
6f8c0 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
6f8e0 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >;</span>.<span.class="line"></s
6f900 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
6f920 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 40 73 65 74 43 6f 6c ass="tok-comment">//.The.@setCol
6f940 64 20 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 74 68 d.builtin.tells.the.optimizer.th
6f960 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 61 72 65 6c 79 20 63 61 6c 6c 65 64 2e 3c at.a.function.is.rarely.called.<
6f980 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
6f9a0 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 2f 73 70 61 6e 3e 20 ><span.class="tok-kw">fn</span>.
6f9c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 62 6f 72 74 3c 2f 73 70 61 6e <span.class="tok-fn">abort</span
6f9e0 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 6e 6f 72 65 74 >().<span.class="tok-type">noret
6fa00 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d urn</span>.{</span>.<span.class=
6fa20 22 6c 69 6e 65 22 3e 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 "line">....<span.class="tok-buil
6fa40 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 6e 20 63 6c 61 73 73 tin">@setCold</span>(<span.class
6fa60 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 3c 2f 73 70 61 6e 3e ="tok-null">true</span>);</span>
6fa80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
6faa0 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 70 61 6e ass="tok-kw">while</span>.(<span
6fac0 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 20 7b .class="tok-null">true</span>).{
6fae0 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 }</span>.<span.class="line">}</s
6fb00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
6fb20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
6fb40 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6e 61 6b 65 64 20 63 61 6c 6c 69 6e tok-comment">//.The.naked.callin
6fb60 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6e 6f g.convention.makes.a.function.no
6fb80 74 20 68 61 76 65 20 61 6e 79 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 6c 6f 67 75 65 20 6f 72 20 t.have.any.function.prologue.or.
6fba0 65 70 69 6c 6f 67 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c epilogue.</span></span>.<span.cl
6fbc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d ass="line"><span.class="tok-comm
6fbe0 65 6e 74 22 3e 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 ent">//.This.can.be.useful.when.
6fc00 69 6e 74 65 67 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 integrating.with.assembly.</span
6fc20 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
6fc40 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
6fc60 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 20 .class="tok-fn">_start</span>().
6fc80 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 73 <span.class="tok-kw">callconv</s
6fca0 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 79 pan>(.Naked).<span.class="tok-ty
6fcc0 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 pe">noreturn</span>.{</span>.<sp
6fce0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 62 6f 72 74 28 29 3b 3c 2f 73 70 an.class="line">....abort();</sp
6fd00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
6fd20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
6fd40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .class="line"><span.class="tok-c
6fd60 6f 6d 6d 65 6e 74 22 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 omment">//.The.inline.calling.co
6fd80 6e 76 65 6e 74 69 6f 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 nvention.forces.a.function.to.be
6fda0 20 69 6e 6c 69 6e 65 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 .inlined.at.all.call.sites.</spa
6fdc0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
6fde0 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 74 68 65 an.class="tok-comment">//.If.the
6fe00 20 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 .function.cannot.be.inlined,.it.
6fe20 69 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 3c is.a.compile-time.error.</span><
6fe40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
6fe60 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
6fe80 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 2f 73 70 61 6e lass="tok-fn">shiftLeftOne</span
6fea0 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 75 33 32 3c >(a:.<span.class="tok-type">u32<
6fec0 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 6c /span>).<span.class="tok-kw">cal
6fee0 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 20 63 6c 61 73 lconv</span>(.Inline).<span.clas
6ff00 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 3c 2f 73 70 61 6e 3e s="tok-type">u32</span>.{</span>
6ff20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
6ff40 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 26 6c 74 ass="tok-kw">return</span>.a.&lt
6ff60 3b 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 31 ;&lt;.<span.class="tok-number">1
6ff80 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
6ffa0 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e">}</span>.<span.class="line"><
6ffc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
6ffe0 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 70 75 62 20 73 class="tok-comment">//.The.pub.s
70000 70 65 63 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 pecifier.allows.the.function.to.
70020 62 65 20 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 be.visible.when.importing.</span
70040 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
70060 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 68 65 72 n.class="tok-comment">//.Another
70080 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 6c 20 73 .file.can.use.@import.and.call.s
700a0 75 62 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ub2</span></span>.<span.class="l
700c0 69 6e 65 22 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 ine"><span.class="tok-kw">pub</s
700e0 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
70100 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 75 62 32 3c 2f 73 an>.<span.class="tok-fn">sub2</s
70120 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 3e 69 pan>(a:.<span.class="tok-type">i
70140 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 6f 6b 2d 74 79 8</span>,.b:.<span.class="tok-ty
70160 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 22 74 6f 6b 2d pe">i8</span>).<span.class="tok-
70180 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">i8</span>.{.<span.class="t
701a0 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2d 20 62 3b 20 7d 3c 2f 73 ok-kw">return</span>.a.-.b;.}</s
701c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
701e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
70200 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 tok-comment">//.Function.pointer
70220 73 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 60 2a 63 6f 6e 73 74 20 60 2e 3c 2f s.are.prefixed.with.`*const.`.</
70240 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
70260 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
70280 3e 20 63 61 6c 6c 32 5f 6f 70 20 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b >.call2_op.=.*<span.class="tok-k
702a0 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
702c0 2d 6b 77 22 3e 66 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 -kw">fn</span>.(a:.<span.class="
702e0 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 6c tok-type">i8</span>,.b:.<span.cl
70300 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 20 ass="tok-type">i8</span>).<span.
70320 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 3b 3c 2f 73 70 61 class="tok-type">i8</span>;</spa
70340 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
70360 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
70380 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 5f 6f 70 3c 2f 73 70 61 6e 3e 28 66 6e 5f 63 61 6c 6c 3a 20 ="tok-fn">do_op</span>(fn_call:.
703a0 63 61 6c 6c 32 5f 6f 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 call2_op,.op1:.<span.class="tok-
703c0 74 79 70 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 type">i8</span>,.op2:.<span.clas
703e0 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
70400 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 3c 2f 73 70 61 6e ass="tok-type">i8</span>.{</span
70420 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
70440 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 6e 5f 63 lass="tok-kw">return</span>.fn_c
70460 61 6c 6c 28 6f 70 31 2c 20 6f 70 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 all(op1,.op2);</span>.<span.clas
70480 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
704a0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
704c0 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>
704e0 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 75 6e .<span.class="tok-str">&quot;fun
70500 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ction&quot;</span>.{</span>.<spa
70520 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
70540 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 6f 5f 6f 70 28 tok-kw">try</span>.expect(do_op(
70560 61 64 64 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 add,.<span.class="tok-number">5<
70580 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"
705a0 3e 36 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 >6</span>).==.<span.class="tok-n
705c0 75 6d 62 65 72 22 3e 31 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">11</span>);</span>.<span.
705e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
70600 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 6f 5f 6f 70 28 73 75 k-kw">try</span>.expect(do_op(su
70620 62 32 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 b2,.<span.class="tok-number">5</
70640 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">
70660 36 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 22 74 6f 6b 2d 6e 6</span>).==.-<span.class="tok-n
70680 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">1</span>);</span>.<span.c
706a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
706c0 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
706e0 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
70700 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
70720 74 5f 66 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 2e 66 t_functions.zig</kbd>.1/1.test.f
70740 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 73 65 64 unction....OK.All.1.tests.passed
70760 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>.......<
70780 70 3e 54 68 65 72 65 20 69 73 20 61 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 p>There.is.a.difference.between.
707a0 61 20 66 75 6e 63 74 69 6f 6e 20 3c 65 6d 3e 62 6f 64 79 3c 2f 65 6d 3e 20 61 6e 64 20 61 20 66 a.function.<em>body</em>.and.a.f
707c0 75 6e 63 74 69 6f 6e 20 3c 65 6d 3e 70 6f 69 6e 74 65 72 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 unction.<em>pointer</em>........
707e0 46 75 6e 63 74 69 6f 6e 20 62 6f 64 69 65 73 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f Function.bodies.are.<a.href="#co
70800 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6f 6e 6c 79 20 74 79 70 65 73 20 mptime">comptime</a>-only.types.
70820 77 68 69 6c 65 20 66 75 6e 63 74 69 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 while.function.<a.href="#Pointer
70840 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 6d 61 79 20 62 65 0a 20 20 20 20 20 20 72 75 6e s">Pointers</a>.may.be.......run
70860 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 61 time-known.</p>.......<h3.id="Pa
70880 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d ss-by-value-Parameters"><a.href=
708a0 22 23 74 6f 63 2d 50 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 "#toc-Pass-by-value-Parameters">
708c0 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 20 3c 61 20 Pass-by-value.Parameters</a>.<a.
708e0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 class="hdr".href="#Pass-by-value
70900 2d 50 61 72 61 6d 65 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 -Parameters">..</a></h3>........
70920 3c 70 3e 0a 20 20 20 20 20 20 50 72 69 6d 69 74 69 76 65 20 74 79 70 65 73 20 73 75 63 68 20 61 <p>.......Primitive.types.such.a
70940 73 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 s.<a.href="#Integers">Integers</
70960 61 3e 20 61 6e 64 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 a>.and.<a.href="#Floats">Floats<
70980 2f 61 3e 20 70 61 73 73 65 64 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 20 61 /a>.passed.as.parameters.......a
709a0 72 65 20 63 6f 70 69 65 64 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 63 6f 70 79 20 69 73 20 re.copied,.and.then.the.copy.is.
709c0 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 2e 20 available.in.the.function.body..
709e0 54 68 69 73 20 69 73 20 63 61 6c 6c 65 64 20 22 70 61 73 73 69 6e 67 20 62 79 20 76 61 6c 75 65 This.is.called."passing.by.value
70a00 22 2e 0a 20 20 20 20 20 20 43 6f 70 79 69 6e 67 20 61 20 70 72 69 6d 69 74 69 76 65 20 74 79 70 "........Copying.a.primitive.typ
70a20 65 20 69 73 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 66 72 65 65 20 61 6e 64 20 74 79 70 69 63 61 e.is.essentially.free.and.typica
70a40 6c 6c 79 20 69 6e 76 6f 6c 76 65 73 20 6e 6f 74 68 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 0a 20 lly.involves.nothing.more.than..
70a60 20 20 20 20 20 73 65 74 74 69 6e 67 20 61 20 72 65 67 69 73 74 65 72 2e 0a 20 20 20 20 20 20 3c .....setting.a.register........<
70a80 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 74 72 75 63 74 73 2c 20 75 6e 69 /p>.......<p>.......Structs,.uni
70aa0 6f 6e 73 2c 20 61 6e 64 20 61 72 72 61 79 73 20 63 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 62 65 ons,.and.arrays.can.sometimes.be
70ac0 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 70 61 73 73 65 64 20 61 73 20 61 20 72 65 .more.efficiently.passed.as.a.re
70ae0 66 65 72 65 6e 63 65 2c 20 73 69 6e 63 65 20 61 20 63 6f 70 79 0a 20 20 20 20 20 20 63 6f 75 6c ference,.since.a.copy.......coul
70b00 64 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 65 78 70 65 6e 73 69 76 65 20 64 65 70 65 6e d.be.arbitrarily.expensive.depen
70b20 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 69 7a 65 2e 20 57 68 65 6e 20 74 68 65 73 65 20 74 79 70 ding.on.the.size..When.these.typ
70b40 65 73 20 61 72 65 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 61 73 20 70 61 72 61 6d 65 74 65 72 es.are.passed.......as.parameter
70b60 73 2c 20 5a 69 67 20 6d 61 79 20 63 68 6f 6f 73 65 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 70 61 s,.Zig.may.choose.to.copy.and.pa
70b80 73 73 20 62 79 20 76 61 6c 75 65 2c 20 6f 72 20 70 61 73 73 20 62 79 20 72 65 66 65 72 65 6e 63 ss.by.value,.or.pass.by.referenc
70ba0 65 2c 20 77 68 69 63 68 65 76 65 72 20 77 61 79 0a 20 20 20 20 20 20 5a 69 67 20 64 65 63 69 64 e,.whichever.way.......Zig.decid
70bc0 65 73 20 77 69 6c 6c 20 62 65 20 66 61 73 74 65 72 2e 20 54 68 69 73 20 69 73 20 6d 61 64 65 20 es.will.be.faster..This.is.made.
70be0 70 6f 73 73 69 62 6c 65 2c 20 69 6e 20 70 61 72 74 2c 20 62 79 20 74 68 65 20 66 61 63 74 20 74 possible,.in.part,.by.the.fact.t
70c00 68 61 74 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 69 6d 6d 75 74 61 62 6c 65 2e 0a 20 20 hat.parameters.are.immutable....
70c20 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
70c40 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="
70c60 66 69 6c 65 22 3e 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 5f file">test_pass_by_reference_or_
70c80 76 61 6c 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 value.zig</cite></figcaption><pr
70ca0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
70cc0 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 69 .class="tok-kw">const</span>.Poi
70ce0 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 74 nt.=.<span.class="tok-kw">struct
70d00 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
70d20 6e 65 22 3e 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 ne">....x:.<span.class="tok-type
70d40 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">i32</span>,</span>.<span.class
70d60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ="line">....y:.<span.class="tok-
70d80 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 type">i32</span>,</span>.<span.c
70da0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
70dc0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
70de0 6e 65 22 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 2f 73 70 61 ne"><span.class="tok-kw">fn</spa
70e00 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
70e20 6e 3e 28 70 6f 69 6e 74 3a 20 50 6f 69 6e 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>(point:.Point).<span.class="to
70e40 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-type">i32</span>.{</span>.<spa
70e60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
70e80 74 6f 6b 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 tok-comment">//.Here,.`point`.co
70ea0 75 6c 64 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 uld.be.a.reference,.or.a.copy..T
70ec0 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c he.function.body</span></span>.<
70ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
70f00 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 20 74 68 s="tok-comment">//.can.ignore.th
70f20 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 61 20 76 e.difference.and.treat.it.as.a.v
70f40 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 3c 2f 73 70 alue..Be.very.careful</span></sp
70f60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
70f80 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 61 6b 69 6e 67 20 74 .class="tok-comment">//.taking.t
70fa0 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 2d 20 69 74 he.address.of.the.parameter.-.it
70fc0 20 73 68 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 20 61 73 20 69 66 3c 2f 73 70 61 6e 3e 3c .should.be.treated.as.if</span><
70fe0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
71000 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 61 pan.class="tok-comment">//.the.a
71020 64 64 72 65 73 73 20 77 69 6c 6c 20 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 20 77 68 65 6e 20 ddress.will.become.invalid.when.
71040 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 the.function.returns.</span></sp
71060 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
71080 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 70 6f .class="tok-kw">return</span>.po
710a0 69 6e 74 2e 78 20 2b 20 70 6f 69 6e 74 2e 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c int.x.+.point.y;</span>.<span.cl
710c0 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
710e0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
71100 22 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 "><span.class="tok-kw">const</sp
71120 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
71140 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
71160 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
71180 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n>).testing.expect;</span>.<span
711a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
711c0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
711e0 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">
71200 26 71 75 6f 74 3b 70 61 73 73 20 73 74 72 75 63 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 26 71 75 &quot;pass.struct.to.function&qu
71220 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>.{</span>.<span.class=
71240 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
71260 74 72 79 3c 2f 73 70 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 try</span>.expect(foo(Point{..x.
71280 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
712a0 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 62 65 an>,..y.=.<span.class="tok-numbe
712c0 72 22 3e 32 3c 2f 73 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 r">2</span>.}).==.<span.class="t
712e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">3</span>);</span>.<sp
71300 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
71320 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
71340 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
71360 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
71380 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 5f 76 61 6c 75 65 .test_pass_by_reference_or_value
713a0 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 70 61 73 73 20 73 74 72 75 63 74 20 .zig</kbd>.1/1.test.pass.struct.
713c0 74 6f 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 to.function....OK.All.1.tests.pa
713e0 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>....
71400 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 74 65 72 6e 20 66 75 6e 63 74 69 6f 6e ...<p>.......For.extern.function
71420 73 2c 20 5a 69 67 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 43 20 41 42 49 20 66 6f 72 20 70 61 73 s,.Zig.follows.the.C.ABI.for.pas
71440 73 69 6e 67 20 73 74 72 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 20 62 79 20 76 61 6c 75 65 sing.structs.and.unions.by.value
71460 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
71480 3d 22 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
714a0 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 nce"><a.href="#toc-Function-Para
714c0 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 meter-Type-Inference">Function.P
714e0 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 arameter.Type.Inference</a>.<a.c
71500 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d lass="hdr".href="#Function-Param
71520 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e eter-Type-Inference">..</a></h3>
71540 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 70 61 72 61 6d ........<p>.......Function.param
71560 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 20 3c 63 6f 64 65 eters.can.be.declared.with.<code
71580 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
715a0 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 73 70 61 6e 3e 3c 2f "tok-kw">anytype</span></span></
715c0 63 6f 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 code>.in.place.of.the.type......
715e0 20 20 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 ..In.this.case.the.parameter.typ
71600 65 73 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 es.will.be.inferred.when.the.fun
71620 63 74 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 ction.is.called........Use.<a.hr
71640 65 66 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 ef="#TypeOf">@TypeOf</a>.and.<a.
71660 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 20 74 href="#typeInfo">@typeInfo</a>.t
71680 6f 20 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 o.get.information.about.the.infe
716a0 72 72 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 rred.type........</p>.......<fig
716c0 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">
716e0 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 6e 5f 74 79 70 65 5f <cite.class="file">test_fn_type_
71700 69 6e 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 inference.zig</cite></figcaption
71720 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 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
71740 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>
71760 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
71780 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="
717a0 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>)
717c0 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .testing.expect;</span>.<span.cl
717e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
71800 6c 69 6e 65 22 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 2f 73 line"><span.class="tok-kw">fn</s
71820 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 46 6f 72 pan>.<span.class="tok-fn">addFor
71840 74 79 54 77 6f 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 tyTwo</span>(x:.<span.class="tok
71860 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
71880 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 78 29 ="tok-builtin">@TypeOf</span>(x)
718a0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
718c0 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
718e0 61 6e 3e 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 an>.x.+.<span.class="tok-number"
71900 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >42</span>;</span>.<span.class="
71920 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
71940 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
71960 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
71980 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 6e 20 74 79 70 pan.class="tok-str">&quot;fn.typ
719a0 65 20 69 6e 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e e.inference&quot;</span>.{</span
719c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
719e0 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(
71a00 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
71a20 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 22 74 ber">1</span>).==.<span.class="t
71a40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-number">43</span>);</span>.<s
71a60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
71a80 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
71aa0 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
71ac0 70 61 6e 3e 28 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 pan>(addFortyTwo(<span.class="to
71ae0 6b 2d 6e 75 6d 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 k-number">1</span>)).==.<span.cl
71b00 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
71b20 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
71b40 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
71b60 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 69 36 34 n>.y:.<span.class="tok-type">i64
71b80 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 65 </span>.=.<span.class="tok-numbe
71ba0 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">2</span>;</span>.<span.class=
71bc0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
71be0 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 28 79 29 try</span>.expect(addFortyTwo(y)
71c00 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 34 34 3c .==.<span.class="tok-number">44<
71c20 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
71c40 65 22 3e 20 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 e">....<span.class="tok-kw">try<
71c60 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 62 /span>.expect(<span.class="tok-b
71c80 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 46 6f 72 74 79 54 uiltin">@TypeOf</span>(addFortyT
71ca0 77 6f 28 79 29 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 22 wo(y)).==.<span.class="tok-type"
71cc0 3e 69 36 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >i64</span>);</span>.<span.class
71ce0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
71d00 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=
71d20 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
71d40 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 6e re><samp>$.<kbd>zig.test.test_fn
71d60 5f 74 79 70 65 5f 69 6e 66 65 72 65 6e 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 _type_inference.zig</kbd>.1/1.te
71d80 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 41 6c 6c 20 31 st.fn.type.inference....OK.All.1
71da0 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
71dc0 67 75 72 65 3e 0a 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 gure>...............<h3.id="Func
71de0 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 tion-Reflection"><a.href="#toc-F
71e00 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 unction-Reflection">Function.Ref
71e20 6c 65 63 74 69 6f 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 lection</a>.<a.class="hdr".href=
71e40 22 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 "#Function-Reflection">..</a></h
71e60 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 63 6c 3>........<figure><figcaption.cl
71e80 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"
71ea0 3e 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f >test_fn_reflection.zig</cite></
71ec0 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
71ee0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
71f00 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
71f20 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.
71f40 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;<
71f60 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
71f80 65 22 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 e"><span.class="tok-kw">const</s
71fa0 70 61 6e 3e 20 6d 61 74 68 20 3d 20 73 74 64 2e 6d 61 74 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 pan>.math.=.std.math;</span>.<sp
71fc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
71fe0 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 3d 20 73 74 64 2e -kw">const</span>.testing.=.std.
72000 74 65 73 74 69 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e testing;</span>.<span.class="lin
72020 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
72040 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>.<
72060 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 6e 20 72 65 span.class="tok-str">&quot;fn.re
72080 66 6c 65 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c flection&quot;</span>.{</span>.<
720a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
720c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 69 6e 67 2e 65 78 s="tok-kw">try</span>.testing.ex
720e0 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">@
72100 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
72120 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 74 65 73 74 69 6e 67 -builtin">@TypeOf</span>(testing
72140 2e 65 78 70 65 63 74 29 29 2e 46 6e 2e 70 61 72 61 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d .expect)).Fn.params[<span.class=
72160 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 2e 3c 73 70 61 6e 20 63 6c 61 "tok-number">0</span>].<span.cla
72180 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 2e 3f 20 3d 3d 20 3c ss="tok-type">type</span>.?.==.<
721a0 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 6e span.class="tok-type">bool</span
721c0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >);</span>.<span.class="line">..
721e0 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
72200 3e 20 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 >.testing.expect(<span.class="to
72220 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 70 61 k-builtin">@typeInfo</span>(<spa
72240 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
72260 70 61 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 pan>(testing.tmpDir)).Fn.return_
72280 74 79 70 65 2e 3f 20 3d 3d 20 74 65 73 74 69 6e 67 2e 54 6d 70 44 69 72 29 3b 3c 2f 73 70 61 6e type.?.==.testing.TmpDir);</span
722a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
722c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
722e0 22 74 6f 6b 2d 6b 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 "tok-kw">try</span>.testing.expe
72300 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 79 ct(<span.class="tok-builtin">@ty
72320 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 62 peInfo</span>(<span.class="tok-b
72340 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6d 61 74 68 2e 4c 6f 67 32 uiltin">@TypeOf</span>(math.Log2
72360 49 6e 74 29 29 2e 46 6e 2e 69 73 5f 67 65 6e 65 72 69 63 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 Int)).Fn.is_generic);</span>.<sp
72380 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
723a0 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
723c0 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
723e0 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
72400 20 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f .test_fn_reflection.zig</kbd>.1/
72420 31 20 74 65 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 1.test.fn.reflection....OK.All.1
72440 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
72460 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
72480 3d 22 45 72 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 ="Errors"><a.href="#toc-Errors">
724a0 45 72 72 6f 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 Errors</a>.<a.class="hdr".href="
724c0 23 45 72 72 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 #Errors">..</a></h2>........<h3.
724e0 69 64 3d 22 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 id="Error-Set-Type"><a.href="#to
72500 63 2d 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 c-Error-Set-Type">Error.Set.Type
72520 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 6f 72 </a>.<a.class="hdr".href="#Error
72540 2d 53 65 74 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 -Set-Type">..</a></h3>........<p
72560 3e 0a 20 20 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 >.......An.error.set.is.like.an.
72580 3c 61 20 68 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 <a.href="#enum">enum</a>........
725a0 48 6f 77 65 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 However,.each.error.name.across.
725c0 74 68 65 20 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 the.entire.compilation.gets.assi
725e0 67 6e 65 64 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 gned.an.unsigned.integer.......g
72600 72 65 61 74 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 reater.than.0..You.are.allowed.t
72620 6f 20 64 65 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 o.declare.the.same.error.name.mo
72640 72 65 20 74 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 re.than.once,.and.if.you.do,.it.
72660 20 20 20 20 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 ......gets.assigned.the.same.int
72680 65 67 65 72 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 eger.value........</p>.......<p>
726a0 0a 20 20 20 20 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 75 6e 69 71 75 65 20 65 72 72 6f .......The.number.of.unique.erro
726c0 72 20 76 61 6c 75 65 73 20 61 63 72 6f 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 r.values.across.the.entire.compi
726e0 6c 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 73 69 7a 65 lation.should.determine.the.size
72700 20 6f 66 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 48 6f .of.the.error.set.type........Ho
72720 77 65 76 65 72 20 72 69 67 68 74 20 6e 6f 77 20 69 74 20 69 73 20 68 61 72 64 20 63 6f 64 65 64 wever.right.now.it.is.hard.coded
72740 20 74 6f 20 62 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .to.be.a.<code><span.class="line
72760 22 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 36 3c 2f 73 70 "><span.class="tok-type">u16</sp
72780 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 53 65 65 20 3c 61 20 68 72 65 66 3d 22 an></span></code>..See.<a.href="
727a0 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
727c0 73 73 75 65 73 2f 37 38 36 22 3e 23 37 38 36 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ssues/786">#786</a>........</p>.
727e0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 3c 61 20 68 72 65 66 3d ......<p>.......You.can.<a.href=
72800 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
72820 72 72 6f 72 20 66 72 6f 6d 20 61 20 73 75 62 73 65 74 20 74 6f 20 61 20 73 75 70 65 72 73 65 74 rror.from.a.subset.to.a.superset
72840 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
72860 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
72880 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 62 73 ss="file">test_coerce_error_subs
728a0 65 74 5f 74 6f 5f 73 75 70 65 72 73 65 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 et_to_superset.zig</cite></figca
728c0 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 6c 69 ption><pre><code><span.class="li
728e0 6e 65 22 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 ne"><span.class="tok-kw">const</
72900 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
72920 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
72940 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
72960 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
72980 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
729a0 6c 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 69 6c 65 4f lass="tok-kw">const</span>.FileO
729c0 70 65 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 3e penError.=.<span.class="tok-kw">
729e0 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 error</span>.{</span>.<span.clas
72a00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c 3c 2f 73 70 61 6e s="line">....AccessDenied,</span
72a20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d 65 >.<span.class="line">....OutOfMe
72a40 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e mory,</span>.<span.class="line">
72a60 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ....FileNotFound,</span>.<span.c
72a80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
72aa0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
72ac0 6e 65 22 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 ne"><span.class="tok-kw">const</
72ae0 73 70 61 6e 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 span>.AllocationError.=.<span.cl
72b00 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 3c 2f 73 70 61 ass="tok-kw">error</span>.{</spa
72b20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d n>.<span.class="line">....OutOfM
72b40 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 emory,</span>.<span.class="line"
72b60 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >};</span>.<span.class="line"></
72b80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
72ba0 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.
72bc0 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 65 20 73 75 62 class="tok-str">&quot;coerce.sub
72be0 73 65 74 20 74 6f 20 73 75 70 65 72 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f set.to.superset&quot;</span>.{</
72c00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
72c20 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
72c40 72 72 20 3d 20 66 6f 6f 28 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 rr.=.foo(AllocationError.OutOfMe
72c60 6d 6f 72 79 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 mory);</span>.<span.class="line"
72c80 3e 20 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
72ca0 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 46 pan>.std.testing.expect(err.==.F
72cc0 69 6c 65 4f 70 65 6e 45 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 29 3b 3c 2f 73 70 61 6e ileOpenError.OutOfMemory);</span
72ce0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
72d00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
72d20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
72d40 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">
72d60 66 6f 6f 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 29 foo</span>(err:.AllocationError)
72d80 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .FileOpenError.{</span>.<span.cl
72da0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
72dc0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 kw">return</span>.err;</span>.<s
72de0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
72e00 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
72e20 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
72e40 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
72e60 74 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 73 75 t.test_coerce_error_subset_to_su
72e80 70 65 72 73 65 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 63 6f 65 72 63 65 perset.zig</kbd>.1/1.test.coerce
72ea0 20 73 75 62 73 65 74 20 74 6f 20 73 75 70 65 72 73 65 74 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 .subset.to.superset....OK.All.1.
72ec0 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
72ee0 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 75 74 20 79 6f 75 20 63 61 6e ure>.......<p>.......But.you.can
72f00 6e 6f 74 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 63 6f 65 not.<a.href="#Type-Coercion">coe
72f20 72 63 65 3c 2f 61 3e 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 61 20 73 75 70 65 72 73 65 74 rce</a>.an.error.from.a.superset
72f40 20 74 6f 20 61 20 73 75 62 73 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .to.a.subset:.......</p>.......<
72f60 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
72f80 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
72fa0 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 3c 2f e_error_superset_to_subset.zig</
72fc0 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
72fe0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
73000 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 20 -kw">const</span>.FileOpenError.
73020 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
73040 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
73060 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ....AccessDenied,</span>.<span.c
73080 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 70 lass="line">....OutOfMemory,</sp
730a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 46 69 6c 65 4e an>.<span.class="line">....FileN
730c0 6f 74 46 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e otFound,</span>.<span.class="lin
730e0 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e">};</span>.<span.class="line">
73100 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
73120 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 6c 6c .class="tok-kw">const</span>.All
73140 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 22 74 6f 6b 2d ocationError.=.<span.class="tok-
73160 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 kw">error</span>.{</span>.<span.
73180 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 class="line">....OutOfMemory,</s
731a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e pan>.<span.class="line">};</span
731c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
731e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
73200 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
73220 6b 2d 73 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 k-str">&quot;coerce.superset.to.
73240 73 75 62 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 subset&quot;</span>.{</span>.<sp
73260 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 46 69 6c 65 4f 70 65 6e an.class="line">....foo(FileOpen
73280 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 73 3d 22 Error.OutOfMemory).<span.class="
732a0 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a tok-kw">catch</span>.{};</span>.
732c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
732e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
73300 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
73320 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 6f n</span>.<span.class="tok-fn">fo
73340 6f 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 29 20 41 6c 6c o</span>(err:.FileOpenError).All
73360 6f 63 61 74 69 6f 6e 45 72 72 6f 72 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ocationError.{</span>.<span.clas
73380 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
733a0 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">return</span>.err;</span>.<spa
733c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
733e0 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
73400 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
73420 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.
73440 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 5f 74 6f 5f 73 75 test_coerce_error_superset_to_su
73460 62 73 65 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 2d bset.zig</kbd>.<span.class="sgr-
73480 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 5f 65 72 72 6f 72 1m">docgen_tmp/test_coerce_error
734a0 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 3a 31 32 3a 20 3c _superset_to_subset.zig:16:12:.<
734c0 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
734e0 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 65 r:.</span><span.class="sgr-1m">e
73500 78 70 65 63 74 65 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 xpected.type.'error{OutOfMemory}
73520 27 2c 20 66 6f 75 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 ',.found.'error{AccessDenied,Out
73540 4f 66 4d 65 6d 6f 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 OfMemory,FileNotFound}'.</span>.
73560 20 20 20 72 65 74 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 ...return.err;............<span.
73580 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
735a0 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_
735c0 63 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 coerce_error_superset_to_subset.
735e0 7a 69 67 3a 31 36 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 zig:16:12:.</span><span.class="s
73600 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
73620 3d 22 73 67 72 2d 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 ="sgr-1m">'error.AccessDenied'.n
73640 6f 74 20 61 20 6d 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 ot.a.member.of.destination.error
73660 20 73 65 74 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 .set.</span><span.class="sgr-1m"
73680 3e 64 6f 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 >docgen_tmp/test_coerce_error_su
736a0 70 65 72 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 perset_to_subset.zig:16:12:.</sp
736c0 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:.<
736e0 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 27 65 72 72 6f /span><span.class="sgr-1m">'erro
73700 72 2e 46 69 6c 65 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 r.FileNotFound'.not.a.member.of.
73720 64 65 73 74 69 6e 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 destination.error.set.</span><sp
73740 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
73760 74 5f 63 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 t_coerce_error_superset_to_subse
73780 74 2e 7a 69 67 3a 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 t.zig:15:28:.</span><span.class=
737a0 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
737c0 73 73 3d 22 73 67 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 ss="sgr-1m">function.return.type
737e0 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 6f 6f 28 65 72 72 .declared.here.</span>fn.foo(err
73800 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 72 :.FileOpenError).AllocationError
73820 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 20 20 20 3c 73 .{............................<s
73840 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 7e pan.class="sgr-32m">^~~~~~~~~~~~
73860 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 6d 22 3e ~~~.</span><span.class="sgr-2m">
73880 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 6f 65 72 63 65 20 73 referenced.by:.....test.coerce.s
738a0 75 70 65 72 73 65 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 uperset.to.subset:.docgen_tmp/te
738c0 73 74 5f 63 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 st_coerce_error_superset_to_subs
738e0 65 74 2e 7a 69 67 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 et.zig:12:5.....remaining.refere
73900 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
73920 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.
73940 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
73960 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 20 69 73 20 61 gure>.......<p>.......There.is.a
73980 20 73 68 6f 72 74 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 .shortcut.for.declaring.an.error
739a0 20 73 65 74 20 77 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 .set.with.only.1.value,.and.then
739c0 20 67 65 74 74 69 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 .getting.that.value:.......</p>.
739e0 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=
73a00 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 73 69 6e "zig-cap"><cite.class="file">sin
73a20 67 6c 65 5f 76 61 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 gle_value_error_set_shortcut.zig
73a40 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><
73a60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
73a80 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 20 3c 73 70 61 6e 20 ok-kw">const</span>.err.=.<span.
73aa0 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 46 69 6c 65 class="tok-kw">error</span>.File
73ac0 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 NotFound;</span></code></pre></f
73ae0 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
73b00 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
73b20 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
73b40 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
73b60 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
73b80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
73ba0 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 20 28 3c 73 70 "tok-kw">const</span>.err.=.(<sp
73bc0 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 20 7b an.class="tok-kw">error</span>.{
73be0 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 7d 29 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 FileNotFound}).FileNotFound;</sp
73c00 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 0a 20 20 20 20 20 20 an></code></pre></figure>.......
73c20 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 66 75 6c 20 77 68 <p>.......This.becomes.useful.wh
73c40 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 64 2d 45 72 72 6f en.using.<a.href="#Inferred-Erro
73c60 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 2e r-Sets">Inferred.Error.Sets</a>.
73c80 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 54 68 65 2d 47 6c .......</p>.......<h4.id="The-Gl
73ca0 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 74 6f 63 2d 54 68 obal-Error-Set"><a.href="#toc-Th
73cc0 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 61 6c 20 45 e-Global-Error-Set">The.Global.E
73ce0 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 22 20 68 72 65 66 rror.Set</a>.<a.class="hdr".href
73d00 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 a7 3c 2f 61 3e 3c ="#The-Global-Error-Set">..</a><
73d20 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
73d40 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-type">a
73d60 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 nyerror</span></span></code>.ref
73d80 65 72 73 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 20 73 65 74 2e 0a 20 20 20 ers.to.the.global.error.set.....
73da0 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 68 61 74 20 63 6f ...This.is.the.error.set.that.co
73dc0 6e 74 61 69 6e 73 20 61 6c 6c 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65 20 65 6e 74 69 72 65 20 ntains.all.errors.in.the.entire.
73de0 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 75 6e 69 74 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 61 20 compilation.unit........It.is.a.
73e00 73 75 70 65 72 73 65 74 20 6f 66 20 61 6c 6c 20 6f 74 68 65 72 20 65 72 72 6f 72 20 73 65 74 73 superset.of.all.other.error.sets
73e20 20 61 6e 64 20 61 20 73 75 62 73 65 74 20 6f 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 2e 0a 20 .and.a.subset.of.none.of.them...
73e40 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 63 61 .....</p>.......<p>.......You.ca
73e60 6e 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 63 6f 65 72 63 n.<a.href="#Type-Coercion">coerc
73e80 65 3c 2f 61 3e 20 61 6e 79 20 65 72 72 6f 72 20 73 65 74 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 e</a>.any.error.set.to.the.globa
73ea0 6c 20 6f 6e 65 2c 20 61 6e 64 20 79 6f 75 20 63 61 6e 20 65 78 70 6c 69 63 69 74 6c 79 0a 20 20 l.one,.and.you.can.explicitly...
73ec0 20 20 20 20 63 61 73 74 20 61 6e 20 65 72 72 6f 72 20 6f 66 20 74 68 65 20 67 6c 6f 62 61 6c 20 ....cast.an.error.of.the.global.
73ee0 65 72 72 6f 72 20 73 65 74 20 74 6f 20 61 20 6e 6f 6e 2d 67 6c 6f 62 61 6c 20 6f 6e 65 2e 20 54 error.set.to.a.non-global.one..T
73f00 68 69 73 20 69 6e 73 65 72 74 73 20 61 20 6c 61 6e 67 75 61 67 65 2d 6c 65 76 65 6c 0a 20 20 20 his.inserts.a.language-level....
73f20 20 20 20 61 73 73 65 72 74 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 65 72 72 6f 72 ...assert.to.make.sure.the.error
73f40 20 76 61 6c 75 65 20 69 73 20 69 6e 20 66 61 63 74 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 .value.is.in.fact.in.the.destina
73f60 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 tion.error.set........</p>......
73f80 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 20 73 65 74 20 .<p>.......The.global.error.set.
73fa0 73 68 6f 75 6c 64 20 67 65 6e 65 72 61 6c 6c 79 20 62 65 20 61 76 6f 69 64 65 64 20 62 65 63 61 should.generally.be.avoided.beca
73fc0 75 73 65 20 69 74 20 70 72 65 76 65 6e 74 73 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c use.it.prevents.the.......compil
73fe0 65 72 20 66 72 6f 6d 20 6b 6e 6f 77 69 6e 67 20 77 68 61 74 20 65 72 72 6f 72 73 20 61 72 65 20 er.from.knowing.what.errors.are.
74000 70 6f 73 73 69 62 6c 65 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 4b 6e 6f 77 69 6e possible.at.compile-time..Knowin
74020 67 0a 20 20 20 20 20 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 61 74 20 63 6f 6d 70 69 6c 65 g.......the.error.set.at.compile
74040 2d 74 69 6d 65 20 69 73 20 62 65 74 74 65 72 20 66 6f 72 20 67 65 6e 65 72 61 74 65 64 20 64 6f -time.is.better.for.generated.do
74060 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 68 65 6c 70 66 75 6c 20 65 72 cumentation.and.......helpful.er
74080 72 6f 72 20 6d 65 73 73 61 67 65 73 2c 20 73 75 63 68 20 61 73 20 66 6f 72 67 65 74 74 69 6e 67 ror.messages,.such.as.forgetting
740a0 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 76 61 6c 75 65 20 69 6e 20 61 20 3c 61 20 .a.possible.error.value.in.a.<a.
740c0 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 2e 0a 20 20 20 20 20 href="#switch">switch</a>.......
740e0 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
74100 3d 22 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ="Error-Union-Type"><a.href="#to
74120 63 2d 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 c-Error-Union-Type">Error.Union.
74140 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 66 3d 22 23 45 Type</a>.<a.class="hdr".href="#E
74160 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 rror-Union-Type">..</a></h3>....
74180 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 ....<p>.......An.error.set.type.
741a0 61 6e 64 20 6e 6f 72 6d 61 6c 20 74 79 70 65 20 63 61 6e 20 62 65 20 63 6f 6d 62 69 6e 65 64 20 and.normal.type.can.be.combined.
741c0 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 with.the.<code><span.class="line
741e0 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 62 69 6e 61 72 79 20 6f ">!</span></code>.......binary.o
74200 70 65 72 61 74 6f 72 20 74 6f 20 66 6f 72 6d 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 perator.to.form.an.error.union.t
74220 79 70 65 2e 20 59 6f 75 20 61 72 65 20 6c 69 6b 65 6c 79 20 74 6f 20 75 73 65 20 61 6e 0a 20 20 ype..You.are.likely.to.use.an...
74240 20 20 20 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 20 6d 6f 72 65 20 6f 66 74 65 6e 20 ....error.union.type.more.often.
74260 74 68 61 6e 20 61 6e 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 62 79 20 69 74 73 65 6c 66 than.an.error.set.type.by.itself
74280 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 48 65 72 ........</p>.......<p>.......Her
742a0 65 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 70 61 72 73 65 20 61 20 73 74 72 69 6e e.is.a.function.to.parse.a.strin
742c0 67 20 69 6e 74 6f 20 61 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3a 0a 20 20 20 20 20 20 3c g.into.a.64-bit.integer:.......<
742e0 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
74300 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"
74320 3e 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 3c 2f 63 69 >error_union_parsing_u64.zig</ci
74340 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
74360 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
74380 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
743a0 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>(<
743c0 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
743e0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
74400 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
74420 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 2e 6d 61 78 49 st</span>.maxInt.=.std.math.maxI
74440 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f nt;</span>.<span.class="line"></
74460 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
74480 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
744a0 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
744c0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 61 72 73 65 55 36 34 3c 2f 73 70 61 6e 3e 28 62 75 66 ass="tok-fn">parseU64</span>(buf
744e0 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 2f :.[]<span.class="tok-kw">const</
74500 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<
74520 2f 73 70 61 6e 3e 2c 20 72 61 64 69 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>,.radix:.<span.class="tok-
74540 74 79 70 65 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 type">u8</span>).!<span.class="t
74560 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-type">u64</span>.{</span>.<sp
74580 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
745a0 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
745c0 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
745e0 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 3c 2f 73 .class="tok-number">0</span>;</s
74600 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
74620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
74640 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 7c 63 7c ss="tok-kw">for</span>.(buf).|c|
74660 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
74680 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 73 74 3c .....<span.class="tok-kw">const<
746a0 2f 73 70 61 6e 3e 20 64 69 67 69 74 20 3d 20 63 68 61 72 54 6f 44 69 67 69 74 28 63 29 3b 3c 2f /span>.digit.=.charToDigit(c);</
746c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
746e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
74700 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 64 69 67 69 n.class="tok-kw">if</span>.(digi
74720 74 20 26 67 74 3b 3d 20 72 61 64 69 78 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t.&gt;=.radix).{</span>.<span.cl
74740 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ass="line">............<span.cla
74760 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.
74780 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 61 class="tok-kw">error</span>.Inva
747a0 6c 69 64 43 68 61 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e lidChar;</span>.<span.class="lin
747c0 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">........}</span>.<span.class=
747e0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
74800 22 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 63 6f 6d 6d 65 ">........<span.class="tok-comme
74820 6e 74 22 3e 2f 2f 20 78 20 2a 3d 20 72 61 64 69 78 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a nt">//.x.*=.radix</span></span>.
74840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
74860 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 6f 76 20 3d 20 .class="tok-kw">var</span>.ov.=.
74880 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 6d 75 6c 57 69 <span.class="tok-builtin">@mulWi
748a0 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 78 2c 20 72 61 64 69 78 29 3b 3c 2f 73 70 thOverflow</span>(x,.radix);</sp
748c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c an>.<span.class="line">........<
748e0 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 6f span.class="tok-kw">if</span>.(o
74900 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 73 70 v[<span.class="tok-number">1</sp
74920 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 72 22 an>].!=.<span.class="tok-number"
74940 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 22 3e >0</span>).<span.class="tok-kw">
74960 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 6b return</span>.<span.class="tok-k
74980 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 3c 2f 73 70 61 6e 3e w">error</span>.OverFlow;</span>
749a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
749c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
749e0 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 67 69 74 3c 2f ss="tok-comment">//.x.+=.digit</
74a00 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
74a20 20 20 20 20 20 20 20 20 6f 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ........ov.=.<span.class="tok-bu
74a40 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 3e 28 6f iltin">@addWithOverflow</span>(o
74a60 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 30 3c 2f 73 70 v[<span.class="tok-number">0</sp
74a80 61 6e 3e 5d 2c 20 64 69 67 69 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 an>],.digit);</span>.<span.class
74aa0 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
74ac0 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 22 -kw">if</span>.(ov[<span.class="
74ae0 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 63 tok-number">1</span>].!=.<span.c
74b00 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 3c 73 70 61 lass="tok-number">0</span>).<spa
74b20 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>.<
74b40 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>
74b60 2e 4f 76 65 72 46 6c 6f 77 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .OverFlow;</span>.<span.class="l
74b80 69 6e 65 22 3e 20 20 20 20 20 20 20 20 78 20 3d 20 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d ine">........x.=.ov[<span.class=
74ba0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">0</span>];</span>.<
74bc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....}</span>.<
74be0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
74c00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
74c20 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-kw">return</span>.x;</span>.<s
74c40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
74c60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
74c80 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">fn<
74ca0 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 68 61 72 /span>.<span.class="tok-fn">char
74cc0 54 6f 44 69 67 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 ToDigit</span>(c:.<span.class="t
74ce0 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 3d ok-type">u8</span>).<span.class=
74d00 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-type">u8</span>.{</span>.<s
74d20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
74d40 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
74d60 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 7b ass="tok-kw">switch</span>.(c).{
74d80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
74da0 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 30 27 3c 2f 73 70 ...<span.class="tok-str">'0'</sp
74dc0 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 39 an>.....<span.class="tok-str">'9
74de0 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="
74e00 74 6f 6b 2d 73 74 72 22 3e 27 30 27 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tok-str">'0'</span>,</span>.<spa
74e20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
74e40 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 41 27 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 ss="tok-str">'A'</span>.....<spa
74e60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5a 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 n.class="tok-str">'Z'</span>.=&g
74e80 74 3b 20 63 20 2d 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 t;.c.-.<span.class="tok-str">'A'
74ea0 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 2d 6e 75 6d 62 65 </span>.+.<span.class="tok-numbe
74ec0 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">10</span>,</span>.<span.class
74ee0 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
74f00 2d 73 74 72 22 3e 27 61 27 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 -str">'a'</span>.....<span.class
74f20 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7a 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 ="tok-str">'z'</span>.=&gt;.c.-.
74f40 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 61 6e 3e <span.class="tok-str">'a'</span>
74f60 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 30 3c 2f .+.<span.class="tok-number">10</
74f80 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
74fa0 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 6b 77 22 3e 65 6c >........<span.class="tok-kw">el
74fc0 73 65 3c 2f 73 70 61 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 se</span>.=&gt;.maxInt(<span.cla
74fe0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e ss="tok-type">u8</span>),</span>
75000 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e .<span.class="line">....};</span
75020 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
75040 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
75060 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
75080 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
750a0 72 22 3e 26 71 75 6f 74 3b 70 61 72 73 65 20 75 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 r">&quot;parse.u64&quot;</span>.
750c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
750e0 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
75100 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 3e >.result.=.<span.class="tok-kw">
75120 74 72 79 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d try</span>.parseU64(<span.class=
75140 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 6e "tok-str">&quot;1234&quot;</span
75160 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 2f >,.<span.class="tok-number">10</
75180 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
751a0 22 3e 20 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</
751c0 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 72 65 73 75 6c 74 20 span>.std.testing.expect(result.
751e0 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 34 ==.<span.class="tok-number">1234
75200 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
75220 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
75240 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
75260 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><
75280 73 61 6d 70 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 samp>$.<kbd>zig.test.error_union
752a0 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e _parsing_u64.zig</kbd>.1/1.test.
752c0 70 61 72 73 65 20 75 36 34 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 parse.u64....OK.All.1.tests.pass
752e0 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>......
75300 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 69 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 .<p>.......Notice.the.return.typ
75320 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c e.is.<code><span.class="line">!<
75340 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 3e span.class="tok-type">u64</span>
75360 3c 2f 73 70 61 6e 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 </span></code>..This.means.that.
75380 74 68 65 20 66 75 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 the.function.......either.return
753a0 73 20 61 6e 20 75 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 s.an.unsigned.64.bit.integer,.or
753c0 20 61 6e 20 65 72 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 .an.error..We.left.off.the.error
753e0 20 73 65 74 0a 20 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 .set.......to.the.left.of.the.<c
75400 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c ode><span.class="line">!</span><
75420 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
75440 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>......
75460 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,
75480 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
754a0 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,.
754c0 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
754e0 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.
75500 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 class="line"><span.class="tok-ty
75520 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 pe">u64</span></span></code>....
75540 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 3d 22 23 54 79 70 ........Both.types.<a.href="#Typ
75560 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 3c 63 6f 64 65 3e e-Coercion">coerce</a>.to.<code>
75580 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
755a0 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.
755c0 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 73 70 61 class="tok-type">u64</span></spa
755e0 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 0a n></code>........</p>.......<p>.
75600 20 20 20 20 20 20 57 68 61 74 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 6f 20 75 73 65 20 ......What.it.looks.like.to.use.
75620 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 76 61 72 69 65 73 20 64 65 70 65 6e 64 69 6e 67 20 6f this.function.varies.depending.o
75640 6e 20 77 68 61 74 20 79 6f 75 27 72 65 0a 20 20 20 20 20 20 74 72 79 69 6e 67 20 74 6f 20 64 6f n.what.you're.......trying.to.do
75660 2e 20 4f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f ..One.of.the.following:.......</
75680 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 59 6f 75 20 77 61 p>.......<ul>.........<li>You.wa
756a0 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 66 nt.to.provide.a.default.value.if
756c0 20 69 74 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 .it.returned.an.error.</li>.....
756e0 20 20 20 20 3c 6c 69 3e 49 66 20 69 74 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 72 72 6f 72 20 ....<li>If.it.returned.an.error.
75700 74 68 65 6e 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 61 6d 65 then.you.want.to.return.the.same
75720 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 6b 6e 6f .error.</li>.........<li>You.kno
75740 77 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 69 74 20 77 69 6c w.with.complete.certainty.it.wil
75760 6c 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2c 20 73 6f 20 77 61 6e 74 20 74 l.not.return.an.error,.so.want.t
75780 6f 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 75 6e 77 72 61 70 20 69 74 2e 3c 2f 6c 69 o.unconditionally.unwrap.it.</li
757a0 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 20 61 >.........<li>You.want.to.take.a
757c0 20 64 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 20 66 6f 72 20 65 61 63 68 20 70 6f 73 73 69 .different.action.for.each.possi
757e0 62 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 ble.error.</li>.......</ul>.....
75800 20 20 3c 68 34 20 69 64 3d 22 63 61 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 ..<h4.id="catch"><a.href="#toc-c
75820 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 atch">catch</a>.<a.class="hdr".h
75840 72 65 66 3d 22 23 63 61 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 ref="#catch">..</a></h4>........
75860 3c 70 3e 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 <p>If.you.want.to.provide.a.defa
75880 75 6c 74 20 76 61 6c 75 65 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 ult.value,.you.can.use.the.<code
758a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
758c0 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-kw">catch</span></span></co
758e0 64 65 3e 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c de>.binary.operator:</p>.......<
75900 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
75920 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 74 63 68 2e 7a 69 67 3c p"><cite.class="file">catch.zig<
75940 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
75960 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
75980 6b 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 k-kw">const</span>.parseU64.=.<s
759a0 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<
759c0 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
759e0 6f 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 ot;error_union_parsing_u64.zig&q
75a00 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 uot;</span>).parseU64;</span>.<s
75a20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
75a40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
75a60 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">
75a80 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 20 63 6c 61 doAThing</span>(str:.[]<span.cla
75aa0 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 63 ss="tok-type">u8</span>).<span.c
75ac0 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 3c 2f 73 lass="tok-type">void</span>.{</s
75ae0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
75b00 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 75 n.class="tok-kw">const</span>.nu
75b20 6d 62 65 72 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 mber.=.parseU64(str,.<span.class
75b40 3d 22 74 6f 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 ="tok-number">10</span>).<span.c
75b60 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 70 61 6e lass="tok-kw">catch</span>.<span
75b80 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 3e 3b 3c 2f .class="tok-number">13</span>;</
75ba0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d span>.<span.class="line">...._.=
75bc0 20 6e 75 6d 62 65 72 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 .number;.<span.class="tok-commen
75be0 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t">//....</span></span>.<span.cl
75c00 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
75c20 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 74 68 69 </figure>.......<p>.......In.thi
75c40 73 20 63 6f 64 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 s.code,.<code><span.class="line"
75c60 3e 6e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 62 65 20 65 71 >number</span></code>.will.be.eq
75c80 75 61 6c 20 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 ual.to.the.successfully.parsed.s
75ca0 74 72 69 6e 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 tring,.or...........a.default.va
75cc0 6c 75 65 20 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 lue.of.13..The.type.of.the.right
75ce0 20 68 61 6e 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 .hand.side.of.the.binary.<code><
75d00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
75d20 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">catch</span></span></code
75d40 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 6d 61 >.operator.must...............ma
75d60 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 74 79 tch.the.unwrapped.error.union.ty
75d80 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 63 6c pe,.or.be.of.type.<code><span.cl
75da0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ass="line"><span.class="tok-type
75dc0 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e ">noreturn</span></span></code>.
75de0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f .......</p>......<p>.......If.yo
75e00 75 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 u.want.to.provide.a.default.valu
75e20 65 20 77 69 74 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 e.with.......<code><span.class="
75e40 6c 69 6e 65 22 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 line"><span.class="tok-kw">catch
75e60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 66 74 65 72 20 70 65 72 66 </span></span></code>.after.perf
75e80 6f 72 6d 69 6e 67 20 73 6f 6d 65 20 6c 6f 67 69 63 2c 20 79 6f 75 0a 20 20 20 20 20 20 63 61 6e orming.some.logic,.you.......can
75ea0 20 63 6f 6d 62 69 6e 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .combine.<code><span.class="line
75ec0 22 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 "><span.class="tok-kw">catch</sp
75ee0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 6e 61 6d 65 64 20 3c 61 20 an></span></code>.with.named.<a.
75f00 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 3a 0a 20 20 20 20 20 href="#Blocks">Blocks</a>:......
75f20 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.
75f40 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
75f60 65 22 3e 68 61 6e 64 6c 65 5f 65 72 72 6f 72 5f 77 69 74 68 5f 63 61 74 63 68 5f 62 6c 6f 63 6b e">handle_error_with_catch_block
75f80 2e 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 70 72 65 .zig.zig</cite></figcaption><pre
75fa0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
75fc0 63 6c 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 class="tok-kw">const</span>.pars
75fe0 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 22 eU64.=.<span.class="tok-builtin"
76000 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
76020 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 5f -str">&quot;error_union_parsing_
76040 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 3c u64.zig&quot;</span>).parseU64;<
76060 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
76080 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
760a0 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=
760c0 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 5b 5d "tok-fn">doAThing</span>(str:.[]
760e0 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>
76100 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
76120 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
76140 3e 20 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<
76160 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 /span>.number.=.parseU64(str,.<s
76180 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>
761a0 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 73 70 ).<span.class="tok-kw">catch</sp
761c0 61 6e 3e 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c an>.blk:.{</span>.<span.class="l
761e0 69 6e 65 22 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 63 6f ine">........<span.class="tok-co
76200 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 74 68 69 6e 67 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e mment">//.do.things</span></span
76220 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
76240 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>.:
76260 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 31 33 3c blk.<span.class="tok-number">13<
76280 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
762a0 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....};</span>.<span.class="lin
762c0 65 22 3e 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 22 e">...._.=.number;.<span.class="
762e0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 75 6d 62 65 72 20 69 73 20 6e 6f 77 20 69 6e tok-comment">//.number.is.now.in
76300 69 74 69 61 6c 69 7a 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c itialized</span></span>.<span.cl
76320 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
76340 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 74 </figure>..............<h4.id="t
76360 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 3c ry"><a.href="#toc-try">try</a>.<
76380 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 79 22 3e c2 a7 3c 2f 61 3e a.class="hdr".href="#try">..</a>
763a0 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4c 65 74 27 73 20 73 61 79 20 79 6f 75 20 77 61 </h4>........<p>Let's.say.you.wa
763c0 6e 74 65 64 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 65 72 72 6f 72 20 69 66 20 79 6f 75 20 nted.to.return.the.error.if.you.
763e0 67 6f 74 20 6f 6e 65 2c 20 6f 74 68 65 72 77 69 73 65 20 63 6f 6e 74 69 6e 75 65 20 77 69 74 68 got.one,.otherwise.continue.with
76400 20 74 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 69 63 3a 3c 2f 70 3e 0a 20 .the.......function.logic:</p>..
76420 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="
76440 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 61 74 63 zig-cap"><cite.class="file">catc
76460 68 5f 65 72 72 5f 72 65 74 75 72 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 h_err_return.zig</cite></figcapt
76480 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 6c 69 6e 65 ion><pre><code><span.class="line
764a0 22 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 "><span.class="tok-kw">const</sp
764c0 61 6e 3e 20 70 61 72 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 an>.parseU64.=.<span.class="tok-
764e0 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
76500 61 73 73 3d 22 74 6f 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 ass="tok-str">&quot;error_union_
76520 70 61 72 73 69 6e 67 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 parsing_u64.zig&quot;</span>).pa
76540 72 73 65 55 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 rseU64;</span>.<span.class="line
76560 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
76580 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
765a0 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 61 6e 3e n.class="tok-fn">doAThing</span>
765c0 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
765e0 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 79 70 65 8</span>).!<span.class="tok-type
76600 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">void</span>.{</span>.<span.cla
76620 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
76640 77 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 w">const</span>.number.=.parseU6
76660 34 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 4(str,.<span.class="tok-number">
76680 31 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 10</span>).<span.class="tok-kw">
766a0 63 61 74 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 catch</span>.|err|.<span.class="
766c0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 3c 2f 73 70 61 6e tok-kw">return</span>.err;</span
766e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d >.<span.class="line">...._.=.num
76700 62 65 72 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 ber;.<span.class="tok-comment">/
76720 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d /....</span></span>.<span.class=
76740 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
76760 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 20 69 73 20 61 gure>.......<p>.......There.is.a
76780 20 73 68 6f 72 74 63 75 74 20 66 6f 72 20 74 68 69 73 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 .shortcut.for.this..The.<code><s
767a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
767c0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 k-kw">try</span></span></code>.e
767e0 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
76800 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">
76820 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 72 79 2e 7a 69 67 3c 2f 63 69 74 65 <cite.class="file">try.zig</cite
76840 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
76860 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
76880 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 63 >const</span>.parseU64.=.<span.c
768a0 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
768c0 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 72 >(<span.class="tok-str">&quot;er
768e0 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 3c ror_union_parsing_u64.zig&quot;<
76900 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 /span>).parseU64;</span>.<span.c
76920 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
76940 22 6c 69 6e 65 22 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 2f "line"><span.class="tok-kw">fn</
76960 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 54 68 span>.<span.class="tok-fn">doATh
76980 69 6e 67 3c 2f 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 ing</span>(str:.[]<span.class="t
769a0 6f 6b 2d 74 79 70 65 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 ok-type">u8</span>).!<span.class
769c0 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 3c 2f 73 70 61 6e 3e ="tok-type">void</span>.{</span>
769e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
76a00 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
76a20 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 61 .=.<span.class="tok-kw">try</spa
76a40 6e 3e 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 n>.parseU64(str,.<span.class="to
76a60 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">10</span>);</span>.<sp
76a80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 an.class="line">...._.=.number;.
76aa0 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">//....
76ac0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
76ae0 22 3e 7d 3c 2f 73 70 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 ">}</span></code></pre></figure>
76b00 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 6c 61 .......<p>.......<code><span.cla
76b20 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
76b40 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 76 61 6c 75 61 74 65 ry</span></span></code>.evaluate
76b60 73 20 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 s.an.error.union.expression..If.
76b80 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 0a 20 20 20 20 20 it.is.an.error,.it.returns......
76ba0 20 66 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 .from.the.current.function.with.
76bc0 74 68 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 the.same.error..Otherwise,.the.e
76be0 78 70 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 xpression.results.in.......the.u
76c00 6e 77 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 nwrapped.value........</p>......
76c20 20 0a 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 ........<p>.........Maybe.you.kn
76c40 6f 77 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 ow.with.complete.certainty.that.
76c60 61 6e 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 an.expression.will.never.be.an.e
76c80 72 72 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 rror..........In.this.case.you.c
76ca0 61 6e 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 an.do.this:.......</p>.......<co
76cc0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
76ce0 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 3d s="tok-kw">const</span>.number.=
76d00 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 3e .parseU64(<span.class="tok-str">
76d20 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 63 &quot;1234&quot;</span>,.<span.c
76d40 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 20 3c 73 70 lass="tok-number">10</span>).<sp
76d60 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 20 3c an.class="tok-kw">catch</span>.<
76d80 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<
76da0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a /span>;</span></code>.......<p>.
76dc0 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 74 68 61 74 ......Here.we.know.for.sure.that
76de0 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 6c 6c 79 2e ."1234".will.parse.successfully.
76e00 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 73 70 61 6e .So.we.put.the.......<code><span
76e20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
76e40 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f w">unreachable</span></span></co
76e60 64 65 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20 72 69 67 68 74 20 68 61 6e 64 20 73 69 64 65 de>.value.on.the.right.hand.side
76e80 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e ..<code><span.class="line"><span
76ea0 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 73 70 61 .class="tok-kw">unreachable</spa
76ec0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 67 65 6e 65 72 61 74 65 73 0a 20 20 20 20 20 n></span></code>.generates......
76ee0 20 61 20 70 61 6e 69 63 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 .a.panic.in.<a.href="#Debug">Deb
76f00 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 73 65 53 61 66 65 ug</a>.and.<a.href="#ReleaseSafe
76f20 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 6d 6f 64 65 73 20 61 6e 64 20 75 6e 64 65 ">ReleaseSafe</a>.modes.and.unde
76f40 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d fined.behavior.in.......<a.href=
76f60 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 20 61 "#ReleaseFast">ReleaseFast</a>.a
76f80 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 65 61 nd.<a.href="#ReleaseSmall">Relea
76fa0 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 6d 6f 64 65 73 2e 20 53 6f 2c 20 77 68 69 6c 65 20 77 65 27 seSmall</a>.modes..So,.while.we'
76fc0 72 65 20 64 65 62 75 67 67 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 re.debugging.the.......applicati
76fe0 6f 6e 2c 20 69 66 20 74 68 65 72 65 20 3c 65 6d 3e 77 61 73 3c 2f 65 6d 3e 20 61 20 73 75 72 70 on,.if.there.<em>was</em>.a.surp
77000 72 69 73 65 20 65 72 72 6f 72 20 68 65 72 65 2c 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e rise.error.here,.the.application
77020 20 77 6f 75 6c 64 20 63 72 61 73 68 0a 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 .would.crash.......appropriately
77040 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 59 6f 75 ........</p>.......<p>.......You
77060 20 6d 61 79 20 77 61 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 .may.want.to.take.a.different.ac
77080 74 69 6f 6e 20 66 6f 72 20 65 76 65 72 79 20 73 69 74 75 61 74 69 6f 6e 2e 20 46 6f 72 20 74 68 tion.for.every.situation..For.th
770a0 61 74 2c 20 77 65 20 63 6f 6d 62 69 6e 65 0a 20 20 20 20 20 20 74 68 65 20 3c 61 20 68 72 65 66 at,.we.combine.......the.<a.href
770c0 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 ="#if">if</a>.and.<a.href="#swit
770e0 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 20 ch">switch</a>.expression:......
77100 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.
77120 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
77140 65 22 3e 68 61 6e 64 6c 65 5f 61 6c 6c 5f 65 72 72 6f 72 5f 73 63 65 6e 61 72 69 6f 73 2e 7a 69 e">handle_all_error_scenarios.zi
77160 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>
77180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
771a0 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
771c0 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 73 ok-fn">doAThing</span>(str:.[]<s
771e0 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>).
77200 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
77220 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
77240 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
77260 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 22 74 6f >.(parseU64(str,.<span.class="to
77280 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 7c 20 7b k-number">10</span>)).|number|.{
772a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
772c0 20 20 20 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 4e 75 6d 62 65 72 28 6e 75 6d 62 65 72 29 ...doSomethingWithNumber(number)
772e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
77300 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
77320 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 73 77 n>.|err|.<span.class="tok-kw">sw
77340 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e itch</span>.(err).{</span>.<span
77360 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
77380 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 6c 6f 77 s="tok-kw">error</span>.Overflow
773a0 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .=&gt;.{</span>.<span.class="lin
773c0 65 22 3e 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 e">............<span.class="tok-
773e0 63 6f 6d 6d 65 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 comment">//.handle.overflow...</
77400 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
77420 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ........},</span>.<span.class="l
77440 69 6e 65 22 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 63 6f ine">........<span.class="tok-co
77460 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 20 49 6e 76 61 6c 69 mment">//.we.promise.that.Invali
77480 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 61 73 68 20 69 6e 20 dChar.won't.happen.(or.crash.in.
774a0 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 70 61 6e 3e 3c 2f 73 debug.mode.if.it.does)</span></s
774c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
774e0 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
77500 3e 2e 49 6e 76 61 6c 69 64 43 68 61 72 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.InvalidChar.=&gt;.<span.class=
77520 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 3c 2f 73 70 "tok-kw">unreachable</span>,</sp
77540 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 an>.<span.class="line">....}</sp
77560 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
77580 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 0a /code></pre></figure>.......<p>.
775a0 20 20 20 20 20 20 46 69 6e 61 6c 6c 79 2c 20 79 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 68 ......Finally,.you.may.want.to.h
775c0 61 6e 64 6c 65 20 6f 6e 6c 79 20 73 6f 6d 65 20 65 72 72 6f 72 73 2e 20 46 6f 72 20 74 68 61 74 andle.only.some.errors..For.that
775e0 2c 20 79 6f 75 20 63 61 6e 20 63 61 70 74 75 72 65 20 74 68 65 20 75 6e 68 61 6e 64 6c 65 64 0a ,.you.can.capture.the.unhandled.
77600 20 20 20 20 20 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ......errors.in.the.<code><span.
77620 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
77640 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 73 65 ">else</span></span></code>.case
77660 2c 20 77 68 69 63 68 20 6e 6f 77 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 61 72 72 6f 77 65 72 20 ,.which.now.contains.a.narrower.
77680 65 72 72 6f 72 20 73 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 error.set:.......</p>.......<fig
776a0 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">
776c0 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 73 6f 6d 65 5f 65 <cite.class="file">handle_some_e
776e0 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 67 63 61 rror_scenarios.zig</cite></figca
77700 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 6c 69 ption><pre><code><span.class="li
77720 6e 65 22 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 2f 73 70 61 ne"><span.class="tok-kw">fn</spa
77740 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 6e 6f 74 68 65 n>.<span.class="tok-fn">doAnothe
77760 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 63 6c 61 73 73 rThing</span>(str:.[]<span.class
77780 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 61 ="tok-type">u8</span>).<span.cla
777a0 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 76 61 6c 69 64 ss="tok-kw">error</span>{Invalid
777c0 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 22 3e 76 6f 69 Char}!<span.class="tok-type">voi
777e0 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
77800 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">if
77820 3c 2f 73 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 </span>.(parseU64(str,.<span.cla
77840 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 29 20 7c 6e 75 6d ss="tok-number">10</span>)).|num
77860 62 65 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ber|.{</span>.<span.class="line"
77880 3e 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 72 28 6e >........doSomethingWithNumber(n
778a0 75 6d 62 65 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 umber);</span>.<span.class="line
778c0 22 3e 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
778e0 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 22 74 6f 6b 2d e</span>.|err|.<span.class="tok-
77900 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 3c 2f 73 70 61 6e 3e kw">switch</span>.(err).{</span>
77920 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
77940 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 4f 76 n.class="tok-kw">error</span>.Ov
77960 65 72 66 6c 6f 77 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 erflow.=&gt;.{</span>.<span.clas
77980 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 s="line">............<span.class
779a0 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 66 6c 6f ="tok-comment">//.handle.overflo
779c0 77 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w...</span></span>.<span.class="
779e0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c line">........},</span>.<span.cl
77a00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
77a20 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 7c 6c 65 66 74 6f tok-kw">else</span>.=&gt;.|lefto
77a40 76 65 72 5f 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 72 65 ver_err|.<span.class="tok-kw">re
77a60 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6c 65 66 74 6f 76 65 72 5f 65 72 72 2c 3c 2f 73 70 61 6e 3e turn</span>.leftover_err,</span>
77a80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
77aa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
77ac0 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 20 de></pre></figure>.......<p>....
77ae0 20 20 20 59 6f 75 20 6d 75 73 74 20 75 73 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 63 61 70 ...You.must.use.the.variable.cap
77b00 74 75 72 65 20 73 79 6e 74 61 78 2e 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 ture.syntax..If.you.don't.need.t
77b20 68 65 0a 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 2c 20 79 6f 75 20 63 61 6e 20 63 61 70 74 75 he.......variable,.you.can.captu
77b40 72 65 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 6c 69 6e 65 22 re.with.<code><span.class="line"
77b60 3e 5f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 76 6f 69 64 20 74 68 65 0a 20 >_</span></code>.and.avoid.the..
77b80 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .....<code><span.class="line"><s
77ba0 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>
77bc0 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>......
77be0 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-
77c00 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
77c20 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
77c40 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=
77c60 22 6c 69 6e 65 22 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 2f "line"><span.class="tok-kw">fn</
77c80 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 44 69 span>.<span.class="tok-fn">doADi
77ca0 66 66 65 72 65 6e 74 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 fferentThing</span>(str:.[]<span
77cc0 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
77ce0 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>.
77d00 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
77d20 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>.(
77d40 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 2d 6e parseU64(str,.<span.class="tok-n
77d60 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 7c 20 7b 3c 2f 73 umber">10</span>)).|number|.{</s
77d80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
77da0 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 4e 75 6d 62 65 72 28 6e 75 6d 62 65 72 29 3b 3c 2f doSomethingWithNumber(number);</
77dc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c span>.<span.class="line">....}.<
77de0 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>.
77e00 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e |_|.{</span>.<span.class="line">
77e20 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
77e40 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 3e 3c 2f 73 70 ">//.do.as.you'd.like</span></sp
77e60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 an>.<span.class="line">....}</sp
77e80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
77ea0 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 68 34 20 /code></pre></figure>.......<h4.
77ec0 69 64 3d 22 65 72 72 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 64 id="errdefer"><a.href="#toc-errd
77ee0 65 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 efer">errdefer</a>.<a.class="hdr
77f00 22 20 68 72 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a ".href="#errdefer">..</a></h4>..
77f20 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 74 68 65 72 20 63 6f 6d 70 6f 6e ......<p>.......The.other.compon
77f40 65 6e 74 20 74 6f 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 69 73 20 64 65 66 65 72 20 73 ent.to.error.handling.is.defer.s
77f60 74 61 74 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 tatements........In.addition.to.
77f80 61 6e 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 an.unconditional.<a.href="#defer
77fa0 22 3e 64 65 66 65 72 3c 2f 61 3e 2c 20 5a 69 67 20 68 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ">defer</a>,.Zig.has.<code><span
77fc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
77fe0 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e w">errdefer</span></span></code>
78000 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 64 65 66 65 ,.......which.evaluates.the.defe
78020 72 72 65 64 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 6e 20 62 6c 6f 63 6b 20 65 78 69 74 20 70 61 rred.expression.on.block.exit.pa
78040 74 68 20 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 0a 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 th.if.and.only.if.......the.func
78060 74 69 6f 6e 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d tion.returned.with.an.error.from
78080 20 74 68 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .the.block........</p>.......<p>
780a0 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 3e 0a 20 20 20 20 20 .......Example:.......</p>......
780c0 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-
780e0 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 64 65 66 65 72 cap"><cite.class="file">errdefer
78100 5f 65 78 61 6d 70 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 _example.zig</cite></figcaption>
78120 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
78140 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
78160 61 6e 20 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 an.class="tok-fn">createFoo</spa
78180 6e 3e 28 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 n>(param:.<span.class="tok-type"
781a0 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >i32</span>).!Foo.{</span>.<span
781c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
781e0 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 61 6e 20 ok-kw">const</span>.foo.=.<span.
78200 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 54 6f 41 class="tok-kw">try</span>.tryToA
78220 6c 6c 6f 63 61 74 65 46 6f 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 llocateFoo();</span>.<span.class
78240 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ="line">....<span.class="tok-com
78260 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 77 20 77 65 20 68 61 76 65 20 61 6c 6c 6f 63 61 74 65 64 20 66 ment">//.now.we.have.allocated.f
78280 6f 6f 2e 20 77 65 20 6e 65 65 64 20 74 6f 20 66 72 65 65 20 69 74 20 69 66 20 74 68 65 20 66 75 oo..we.need.to.free.it.if.the.fu
782a0 6e 63 74 69 6f 6e 20 66 61 69 6c 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nction.fails.</span></span>.<spa
782c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
782e0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 77 65 20 77 61 6e 74 20 74 6f 20 72 tok-comment">//.but.we.want.to.r
78300 65 74 75 72 6e 20 69 74 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 eturn.it.if.the.function.succeed
78320 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s.</span></span>.<span.class="li
78340 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">err
78360 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 28 66 6f 6f 29 3b defer</span>.deallocateFoo(foo);
78380 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
783a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
783c0 63 6c 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 5f class="tok-kw">const</span>.tmp_
783e0 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 20 buf.=.allocateTmpBuffer().<span.
78400 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 70 class="tok-kw">orelse</span>.<sp
78420 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>.
78440 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
78460 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >.OutOfMemory;</span>.<span.clas
78480 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
784a0 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 79 20 61 20 74 65 6d mment">//.tmp_buf.is.truly.a.tem
784c0 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 6f 72 20 73 75 72 65 porary.resource,.and.we.for.sure
784e0 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 6e 3e 3c 2f 73 70 61 .want.to.clean.it.up</span></spa
78500 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
78520 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 65 66 6f 72 65 20 74 68 class="tok-comment">//.before.th
78540 69 73 20 62 6c 6f 63 6b 20 6c 65 61 76 65 73 20 73 63 6f 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 is.block.leaves.scope</span></sp
78560 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
78580 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 64 65 61 .class="tok-kw">defer</span>.dea
785a0 6c 6c 6f 63 61 74 65 54 6d 70 42 75 66 66 65 72 28 74 6d 70 5f 62 75 66 29 3b 3c 2f 73 70 61 6e llocateTmpBuffer(tmp_buf);</span
785c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
785e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
78600 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 74 3b 20 3c "tok-kw">if</span>.(param.&gt;.<
78620 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 3c 2f 73 70 span.class="tok-number">1337</sp
78640 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
78660 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
78680 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c or</span>.InvalidParam;</span>.<
786a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
786c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
786e0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 65 72 65 20 74 68 65 20 65 72 72 64 65 66 65 72 20 k-comment">//.here.the.errdefer.
78700 77 69 6c 6c 20 6e 6f 74 20 72 75 6e 20 73 69 6e 63 65 20 77 65 27 72 65 20 72 65 74 75 72 6e 69 will.not.run.since.we're.returni
78720 6e 67 20 73 75 63 63 65 73 73 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 ng.success.from.the.function.</s
78740 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
78760 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">//.
78780 62 75 74 20 74 68 65 20 64 65 66 65 72 20 77 69 6c 6c 20 72 75 6e 21 3c 2f 73 70 61 6e 3e 3c 2f but.the.defer.will.run!</span></
787a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
787c0 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>.
787e0 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d foo;</span>.<span.class="line">}
78800 3c 2f 73 70 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 0a 20 20 </span></code></pre></figure>...
78820 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6e 65 61 74 20 74 68 69 6e 67 20 61 62 6f ....<p>.......The.neat.thing.abo
78840 75 74 20 74 68 69 73 20 69 73 20 74 68 61 74 20 79 6f 75 20 67 65 74 20 72 6f 62 75 73 74 20 65 ut.this.is.that.you.get.robust.e
78860 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 74 68 65 20 rror.handling.without.......the.
78880 76 65 72 62 6f 73 69 74 79 20 61 6e 64 20 63 6f 67 6e 69 74 69 76 65 20 6f 76 65 72 68 65 61 64 verbosity.and.cognitive.overhead
788a0 20 6f 66 20 74 72 79 69 6e 67 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 65 76 65 72 79 20 65 78 .of.trying.to.make.sure.every.ex
788c0 69 74 20 70 61 74 68 0a 20 20 20 20 20 20 69 73 20 63 6f 76 65 72 65 64 2e 20 54 68 65 20 64 65 it.path.......is.covered..The.de
788e0 61 6c 6c 6f 63 61 74 69 6f 6e 20 63 6f 64 65 20 69 73 20 61 6c 77 61 79 73 20 64 69 72 65 63 74 allocation.code.is.always.direct
78900 6c 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 63 6f 64 65 ly.following.the.allocation.code
78920 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 34 20 69 64 ........</p>..............<h4.id
78940 3d 22 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 3c 61 20 68 ="Common-errdefer-Slip-Ups"><a.h
78960 72 65 66 3d 22 23 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 55 ref="#toc-Common-errdefer-Slip-U
78980 70 73 22 3e 43 6f 6d 6d 6f 6e 20 65 72 72 64 65 66 65 72 20 53 6c 69 70 2d 55 70 73 3c 2f 61 3e ps">Common.errdefer.Slip-Ups</a>
789a0 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 6d 6d 6f 6e 2d 65 72 .<a.class="hdr".href="#Common-er
789c0 72 64 65 66 65 72 2d 53 6c 69 70 2d 55 70 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 rdefer-Slip-Ups">..</a></h4>....
789e0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 73 68 6f 75 6c 64 20 62 65 20 6e 6f 74 65 64 ....<p>.......It.should.be.noted
78a00 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 6c 69 6e 65 22 3e 3c .that.<code><span.class="line"><
78a20 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 2f 73 70 span.class="tok-kw">errdefer</sp
78a40 61 6e 3e 3c 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 an></span></code>.statements.onl
78a60 79 20 6c 61 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 y.last.until.the.end.of.the.bloc
78a80 6b 0a 20 20 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 k.......they.are.written.in,.and
78aa0 20 74 68 65 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 .therefore.are.not.run.if.an.err
78ac0 6f 72 20 69 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 or.is.returned.outside.of.that.b
78ae0 6c 6f 63 6b 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 lock:.......</p>.......<figure><
78b00 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
78b20 20 63 6c 61 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 .class="file">test_errdefer_slip
78b40 5f 75 70 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 _ups.zig</cite></figcaption><pre
78b60 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
78b80 63 6c 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.
78ba0 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
78bc0 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"
78be0 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 3c 2f 73 70 61 6e 3e >&quot;std&quot;</span>);</span>
78c00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
78c20 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 6f 72 20 "tok-kw">const</span>.Allocator.
78c40 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 =.std.mem.Allocator;</span>.<spa
78c60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
78c80 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
78ca0 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 74 onst</span>.Foo.=.<span.class="t
78cc0 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-kw">struct</span>.{</span>.<s
78ce0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 61 74 61 3a 20 3c 73 70 61 6e pan.class="line">....data:.<span
78d00 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 3c 2f 73 .class="tok-type">u32</span>,</s
78d20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e pan>.<span.class="line">};</span
78d40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
78d60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
78d80 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-
78da0 66 6e 22 3e 74 72 79 54 6f 41 6c 6c 6f 63 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f fn">tryToAllocateFoo</span>(allo
78dc0 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 29 20 21 2a 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e cator:.Allocator).!*Foo.{</span>
78de0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
78e00 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 6c 6c 6f 63 ass="tok-kw">return</span>.alloc
78e20 61 74 6f 72 2e 63 72 65 61 74 65 28 46 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ator.create(Foo);</span>.<span.c
78e40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">}</span>.<span.class
78e60 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
78e80 65 22 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 2f 73 70 61 6e e"><span.class="tok-kw">fn</span
78ea0 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 74 >.<span.class="tok-fn">deallocat
78ec0 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 72 eFoo</span>(allocator:.Allocator
78ee0 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 79 ,.foo:.*Foo).<span.class="tok-ty
78f00 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pe">void</span>.{</span>.<span.c
78f20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 65 73 74 72 6f lass="line">....allocator.destro
78f40 79 28 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 y(foo);</span>.<span.class="line
78f60 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ">}</span>.<span.class="line"></
78f80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
78fa0 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
78fc0 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 3e 28 29 ass="tok-fn">getFooData</span>()
78fe0 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 73 70 .!<span.class="tok-type">u32</sp
79000 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
79020 20 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<
79040 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">
79060 36 36 36 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 666</span>;</span>.<span.class="
79080 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
790a0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
790c0 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
790e0 6e 20 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 n.class="tok-fn">createFoo</span
79100 3e 28 61 6c 6c 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 >(allocator:.Allocator,.param:.<
79120 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>
79140 29 20 21 2a 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ).!*Foo.{</span>.<span.class="li
79160 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">con
79180 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 3c 2f 73 70 61 6e 3e st</span>.foo.=.getFoo:.{</span>
791a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
791c0 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 20 n.class="tok-kw">var</span>.foo.
791e0 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
79200 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 74 6f 72 29 3b 3c 2f >.tryToAllocateFoo(allocator);</
79220 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
79240 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 72 3c 2f .<span.class="tok-kw">errdefer</
79260 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 2c 20 66 span>.deallocateFoo(allocator,.f
79280 6f 6f 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 oo);.<span.class="tok-comment">/
792a0 2f 20 4f 6e 6c 79 20 6c 61 73 74 73 20 75 6e 74 69 6c 20 74 68 65 20 65 6e 64 20 6f 66 20 67 65 /.Only.lasts.until.the.end.of.ge
792c0 74 46 6f 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 tFoo</span></span>.<span.class="
792e0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
79300 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 63 6f 6d 6d 65 6e >........<span.class="tok-commen
79320 74 22 3e 2f 2f 20 43 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 t">//.Calls.deallocateFoo.on.err
79340 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 or</span></span>.<span.class="li
79360 6e 65 22 3e 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 ne">........foo.data.=.<span.cla
79380 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 6f 6f 44 61 74 ss="tok-kw">try</span>.getFooDat
793a0 61 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c a();</span>.<span.class="line"><
793c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
793e0 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
79400 61 6e 3e 20 3a 67 65 74 46 6f 6f 20 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an>.:getFoo.foo;</span>.<span.cl
79420 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....};</span>.<span.c
79440 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
79460 22 6c 69 6e 65 22 3e 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 "line">....<span.class="tok-comm
79480 65 6e 74 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 ent">//.Outside.of.the.scope.of.
794a0 74 68 65 20 65 72 72 64 65 66 65 72 2c 20 73 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c the.errdefer,.so</span></span>.<
794c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
794e0 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 46 6f 6f s="tok-comment">//.deallocateFoo
79500 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 6e 3e 3c .will.not.be.called.here</span><
79520 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
79540 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 70 61 pan.class="tok-kw">if</span>.(pa
79560 72 61 6d 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 65 72 ram.&gt;.<span.class="tok-number
79580 22 3e 31 33 33 37 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 ">1337</span>).<span.class="tok-
795a0 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
795c0 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 50 61 72 61 6d ok-kw">error</span>.InvalidParam
795e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
79600 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
79620 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 6f .class="tok-kw">return</span>.fo
79640 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f o;</span>.<span.class="line">}</
79660 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
79680 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
796a0 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
796c0 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 6f 26 71 75 6f 74 3b ="tok-str">&quot;createFoo&quot;
796e0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
79700 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">try
79720 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 72 28 </span>.std.testing.expectError(
79740 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
79760 3e 2e 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 >.InvalidParam,.createFoo(std.te
79780 73 74 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 sting.allocator,.<span.class="to
797a0 6b 2d 6e 75 6d 62 65 72 22 3e 32 34 36 38 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a k-number">2468</span>));</span>.
797c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">}</span></cod
797e0 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
79800 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
79820 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
79840 65 73 74 20 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 3c 2f est.test_errdefer_slip_ups.zig</
79860 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 63 72 65 61 74 65 46 6f 6f 2e 2e 2e 20 4f 4b 0a 5b 67 kbd>.1/1.test.createFoo....OK.[g
79880 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 32 36 pa].(err):.memory.address.0x7f26
798a0 33 65 34 66 62 30 30 30 20 6c 65 61 6b 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 3e4fb000.leaked:./home/ci/action
798c0 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
798e0 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 70 5f 75 /docgen_tmp/test_errdefer_slip_u
79900 70 73 2e 7a 69 67 3a 39 3a 32 38 3a 20 30 78 32 32 34 38 39 66 20 69 6e 20 74 72 79 54 6f 41 6c ps.zig:9:28:.0x22489f.in.tryToAl
79920 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 61 6c 6c 6f locateFoo.(test).....return.allo
79940 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 20 20 20 20 cator.create(Foo);..............
79960 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
79980 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/
799a0 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 70 5f 75 70 docgen_tmp/test_errdefer_slip_up
799c0 73 2e 7a 69 67 3a 32 32 3a 33 39 3a 20 30 78 32 32 34 61 62 35 20 69 6e 20 63 72 65 61 74 65 46 s.zig:22:39:.0x224ab5.in.createF
799e0 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 20 74 72 79 20 oo.(test).........var.foo.=.try.
79a00 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 3b 0a 20 20 20 tryToAllocateFoo(allocator);....
79a20 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 ................................
79a40 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
79a60 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/
79a80 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 33 39 3a 36 32 test_errdefer_slip_ups.zig:39:62
79aa0 3a 20 30 78 32 32 34 63 64 64 20 69 6e 20 74 65 73 74 2e 63 72 65 61 74 65 46 6f 6f 20 28 74 65 :.0x224cdd.in.test.createFoo.(te
79ac0 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 45 72 st).....try.std.testing.expectEr
79ae0 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 65 61 74 65 46 6f ror(error.InvalidParam,.createFo
79b00 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 34 36 38 29 29 3b o(std.testing.allocator,.2468));
79b20 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 20 ................................
79b40 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 0a ..............................^.
79b60 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
79b80 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 74 65 73 g-bootstrap/out/host/lib/zig/tes
79ba0 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 32 33 32 63 39 39 20 69 6e t_runner.zig:176:28:.0x232c99.in
79bc0 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 7d 20 65 .mainTerminal.(test).........}.e
79be0 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 lse.test_fn.func();.............
79c00 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
79c20 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
79c40 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 36 /host/lib/zig/test_runner.zig:36
79c60 3a 32 38 3a 20 30 78 32 32 39 62 38 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 :28:.0x229b8a.in.main.(test)....
79c80 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();.....
79ca0 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
79cc0 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
79ce0 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.
79d00 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 35 32 30 32 20 69 6e 20 70 6f 73 69 78 43 61 6c zig:564:22:.0x225202.in.posixCal
79d20 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 20 lMainAndExit.(test).............
79d40 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();....................
79d60 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
79d80 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
79da0 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 32 34 64 35 31 20 69 /std/start.zig:243:5:.0x224d51.i
79dc0 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
79de0 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).{.....^..
79e00 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 6f 72 73 20 77 65 72 All.1.tests.passed..1.errors.wer
79e20 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 6d 65 6d 6f 72 79 2e e.logged..1.tests.leaked.memory.
79e40 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 61 .error:.the.following.test.comma
79e60 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 6d nd.failed.with.exit.code.1:./hom
79e80 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
79ea0 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 31 30 otstrap/out/zig-local-cache/o/10
79ec0 36 36 36 65 35 64 38 62 33 32 30 61 61 39 65 30 33 66 32 37 36 34 30 35 37 63 33 36 30 39 2f 74 666e5d8b320aa9e03f2764057c3609/t
79ee0 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 20 est.</samp></pre></figure>......
79f00 20 3c 70 3e 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 .<p>.......To.ensure.that.<code>
79f20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f <span.class="line">deallocateFoo
79f40 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 70 72 6f 70 65 72 6c 79 20 63 61 6c 6c 65 </span></code>.is.properly.calle
79f60 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 72 2c d.......when.returning.an.error,
79f80 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 6c 61 .you.must.add.an.<code><span.cla
79fa0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ss="line"><span.class="tok-kw">e
79fc0 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 75 74 rrdefer</span></span></code>.out
79fe0 73 69 64 65 20 6f 66 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 side.of.the.block:.......</p>...
7a000 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
7a020 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_
7a040 65 72 72 64 65 66 65 72 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 errdefer_block.zig</cite></figca
7a060 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 6c 69 ption><pre><code><span.class="li
7a080 6e 65 22 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 ne"><span.class="tok-kw">const</
7a0a0 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
7a0c0 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
7a0e0 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
7a100 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
7a120 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>.
7a140 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 3c 2f Allocator.=.std.mem.Allocator;</
7a160 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
7a180 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
7a1a0 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 61 "tok-kw">const</span>.Foo.=.<spa
7a1c0 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 7b n.class="tok-kw">struct</span>.{
7a1e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 </span>.<span.class="line">....d
7a200 61 74 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 ata:.<span.class="tok-type">u32<
7a220 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
7a240 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ">};</span>.<span.class="line"><
7a260 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
7a280 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
7a2a0 6c 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 lass="tok-fn">tryToAllocateFoo</
7a2c0 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 72 29 20 21 2a 46 6f span>(allocator:.Allocator).!*Fo
7a2e0 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 o.{</span>.<span.class="line">..
7a300 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
7a320 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 3c 2f 73 70 61 pan>.allocator.create(Foo);</spa
7a340 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c n>.<span.class="line">}</span>.<
7a360 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
7a380 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
7a3a0 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"
7a3c0 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 3a >deallocateFoo</span>(allocator:
7a3e0 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 61 .Allocator,.foo:.*Foo).<span.cla
7a400 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 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
7a420 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 6c 6c 6f 63 61 n>.<span.class="line">....alloca
7a440 74 6f 72 2e 64 65 73 74 72 6f 79 28 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 tor.destroy(foo);</span>.<span.c
7a460 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">}</span>.<span.class
7a480 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
7a4a0 65 22 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 2f 73 70 61 6e e"><span.class="tok-kw">fn</span
7a4c0 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 46 6f 6f 44 61 74 >.<span.class="tok-fn">getFooDat
7a4e0 61 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 a</span>().!<span.class="tok-typ
7a500 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">u32</span>.{</span>.<span.cla
7a520 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
7a540 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
7a560 6b 2d 6e 75 6d 62 65 72 22 3e 36 36 36 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">666</span>;</span>.<sp
7a580 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
7a5a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
7a5c0 22 6c 69 6e 65 22 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 2f "line"><span.class="tok-kw">fn</
7a5e0 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 72 65 61 74 span>.<span.class="tok-fn">creat
7a600 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 72 eFoo</span>(allocator:.Allocator
7a620 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 2d 74 79 70 65 22 3e ,.param:.<span.class="tok-type">
7a640 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 2a 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e i32</span>).!*Foo.{</span>.<span
7a660 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
7a680 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 67 65 74 46 6f 6f ok-kw">const</span>.foo.=.getFoo
7a6a0 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 :.{</span>.<span.class="line">..
7a6c0 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 3c 2f ......<span.class="tok-kw">var</
7a6e0 73 70 61 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 span>.foo.=.<span.class="tok-kw"
7a700 3e 74 72 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 >try</span>.tryToAllocateFoo(all
7a720 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ocator);</span>.<span.class="lin
7a740 65 22 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 6b 77 22 3e e">........<span.class="tok-kw">
7a760 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 28 61 6c errdefer</span>.deallocateFoo(al
7a780 6c 6f 63 61 74 6f 72 2c 20 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 locator,.foo);</span>.<span.clas
7a7a0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
7a7c0 6e 65 22 3e 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 ne">........foo.data.=.<span.cla
7a7e0 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 6f 6f 44 61 74 ss="tok-kw">try</span>.getFooDat
7a800 61 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c a();</span>.<span.class="line"><
7a820 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
7a840 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
7a860 61 6e 3e 20 3a 67 65 74 46 6f 6f 20 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an>.:getFoo.foo;</span>.<span.cl
7a880 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....};</span>.<span.c
7a8a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
7a8c0 2d 63 6f 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 -comment">//.This.lasts.for.the.
7a8e0 72 65 73 74 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 rest.of.the.function</span></spa
7a900 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
7a920 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 3e 20 64 class="tok-kw">errdefer</span>.d
7a940 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 3c 2f 73 eallocateFoo(allocator,.foo);</s
7a960 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
7a980 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
7a9a0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 72 72 6f 72 20 69 73 20 6e 6f 77 ss="tok-comment">//.Error.is.now
7a9c0 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 64 20 62 79 20 65 72 72 64 65 66 65 72 3c 2f 73 .properly.handled.by.errdefer</s
7a9e0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
7aa00 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
7aa20 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 6f 6b 2d 6e >.(param.&gt;.<span.class="tok-n
7aa40 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 61 73 73 3d umber">1337</span>).<span.class=
7aa60 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
7aa80 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 61 6c 69 64 ss="tok-kw">error</span>.Invalid
7aaa0 50 61 72 61 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 Param;</span>.<span.class="line"
7aac0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
7aae0 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
7ab00 6e 3e 20 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 n>.foo;</span>.<span.class="line
7ab20 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ">}</span>.<span.class="line"></
7ab40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
7ab60 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.
7ab80 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 6f 26 class="tok-str">&quot;createFoo&
7aba0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
7abc0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
7abe0 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 63 74 45 ">try</span>.std.testing.expectE
7ac00 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 3c rror(<span.class="tok-kw">error<
7ac20 2f 73 70 61 6e 3e 2e 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 /span>.InvalidParam,.createFoo(s
7ac40 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 20 63 6c 61 73 td.testing.allocator,.<span.clas
7ac60 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 34 36 38 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 s="tok-number">2468</span>));</s
7ac80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
7aca0 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
7acc0 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
7ace0 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>
7ad00 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 62 6c 6f 63 6b 2e 7a 69 67 zig.test.test_errdefer_block.zig
7ad20 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 63 72 65 61 74 65 46 6f 6f 2e 2e 2e 20 4f 4b 0a </kbd>.1/1.test.createFoo....OK.
7ad40 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
7ad60 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 20 66 ></figure>.......<p>.......The.f
7ad80 61 63 74 20 74 68 61 74 20 65 72 72 64 65 66 65 72 73 20 6f 6e 6c 79 20 6c 61 73 74 20 66 6f 72 act.that.errdefers.only.last.for
7ada0 20 74 68 65 20 62 6c 6f 63 6b 20 74 68 65 79 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 69 6e 20 .the.block.they.are.declared.in.
7adc0 69 73 0a 20 20 20 20 20 20 65 73 70 65 63 69 61 6c 6c 79 20 69 6d 70 6f 72 74 61 6e 74 20 77 68 is.......especially.important.wh
7ade0 65 6e 20 75 73 69 6e 67 20 6c 6f 6f 70 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 en.using.loops:.......</p>......
7ae00 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-
7ae20 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 72 72 cap"><cite.class="file">test_err
7ae40 64 65 66 65 72 5f 6c 6f 6f 70 5f 6c 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 defer_loop_leak.zig</cite></figc
7ae60 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 6c aption><pre><code><span.class="l
7ae80 69 6e 65 22 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 ine"><span.class="tok-kw">const<
7aea0 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
7aec0 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
7aee0 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
7af00 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>);</span>.<span.class="line"><
7af20 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>
7af40 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 6f 72 3b 3c .Allocator.=.std.mem.Allocator;<
7af60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
7af80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
7afa0 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
7afc0 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>.
7afe0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
7b000 64 61 74 61 3a 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 75 33 data:.*<span.class="tok-type">u3
7b020 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 2</span></span>.<span.class="lin
7b040 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e">};</span>.<span.class="line">
7b060 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
7b080 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.
7b0a0 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 28 29 20 class="tok-fn">getData</span>().
7b0c0 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 61 !<span.class="tok-type">u32</spa
7b0e0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
7b100 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</
7b120 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
7b140 36 36 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 66</span>;</span>.<span.class="l
7b160 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ine">}</span>.<span.class="line"
7b180 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
7b1a0 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
7b1c0 20 63 6c 61 73 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 .class="tok-fn">genFoos</span>(a
7b1e0 6c 6c 6f 63 61 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 llocator:.Allocator,.num:.<span.
7b200 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 20 21 class="tok-type">usize</span>).!
7b220 5b 5d 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 []Foo.{</span>.<span.class="line
7b240 22 3e 20 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</
7b260 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 2d 6b 77 span>.foos.=.<span.class="tok-kw
7b280 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 46 6f 6f ">try</span>.allocator.alloc(Foo
7b2a0 2c 20 6e 75 6d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ,.num);</span>.<span.class="line
7b2c0 22 3e 20 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 ">....<span.class="tok-kw">errde
7b2e0 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 29 3b fer</span>.allocator.free(foos);
7b300 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
7b320 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
7b340 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 66 6f 6f 73 2c class="tok-kw">for</span>.(foos,
7b360 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
7b380 6e 3e 2e 2e 29 20 7c 2a 66 6f 6f 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n>..).|*foo,.i|.{</span>.<span.c
7b3a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 20 3d 20 3c lass="line">........foo.data.=.<
7b3c0 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 61 span.class="tok-kw">try</span>.a
7b3e0 6c 6c 6f 63 61 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 llocator.create(<span.class="tok
7b400 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -type">u32</span>);</span>.<span
7b420 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
7b440 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 72 s="tok-comment">//.This.errdefer
7b460 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 6e .does.not.last.between.iteration
7b480 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e s</span></span>.<span.class="lin
7b4a0 65 22 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 6b 77 22 3e e">........<span.class="tok-kw">
7b4c0 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 64 65 73 74 72 6f errdefer</span>.allocator.destro
7b4e0 79 28 66 6f 6f 2e 64 61 74 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d y(foo.data);</span>.<span.class=
7b500 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
7b520 22 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 63 6f 6d 6d 65 ">........<span.class="tok-comme
7b540 6e 74 22 3e 2f 2f 20 54 68 65 20 64 61 74 61 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 33 20 nt">//.The.data.for.the.first.3.
7b560 66 6f 6f 73 20 77 69 6c 6c 20 62 65 20 6c 65 61 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e foos.will.be.leaked</span></span
7b580 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
7b5a0 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 28 69 20 26 67 an.class="tok-kw">if</span>(i.&g
7b5c0 74 3b 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 t;=.<span.class="tok-number">3</
7b5e0 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 75 span>).<span.class="tok-kw">retu
7b600 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
7b620 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 3b 3c 2f 73 70 61 6e 3e 0a rror</span>.TooManyFoos;</span>.
7b640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
7b660 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 6f 6f 2e 64 61 74 61 2e 2a .class="line">........foo.data.*
7b680 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 61 .=.<span.class="tok-kw">try</spa
7b6a0 6e 3e 20 67 65 74 44 61 74 61 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n>.getData();</span>.<span.class
7b6c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">....}</span>.<span.class
7b6e0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
7b700 65 22 3e 20 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 e">....<span.class="tok-kw">retu
7b720 72 6e 3c 2f 73 70 61 6e 3e 20 66 6f 6f 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 rn</span>.foos;</span>.<span.cla
7b740 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
7b760 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
7b780 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
7b7a0 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 67 65 >.<span.class="tok-str">&quot;ge
7b7c0 6e 46 6f 6f 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nFoos&quot;</span>.{</span>.<spa
7b7e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
7b800 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 2e 65 tok-kw">try</span>.std.testing.e
7b820 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 22 3e xpectError(<span.class="tok-kw">
7b840 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 6f 6f error</span>.TooManyFoos,.genFoo
7b860 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 20 63 s(std.testing.allocator,.<span.c
7b880 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 3c 2f 73 lass="tok-number">5</span>));</s
7b8a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
7b8c0 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
7b8e0 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
7b900 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>
7b920 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 5f 6c 65 61 6b zig.test.test_errdefer_loop_leak
7b940 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 67 65 6e 46 6f 6f 73 2e 2e 2e 20 4f .zig</kbd>.1/1.test.genFoos....O
7b960 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 78 K.[gpa].(err):.memory.address.0x
7b980 37 66 66 32 32 61 36 61 37 30 30 30 20 6c 65 61 6b 65 64 3a 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 7ff22a6a7000.leaked:./home/ci/ac
7b9a0 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
7b9c0 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 5f 6c 6f /zig/docgen_tmp/test_errdefer_lo
7b9e0 6f 70 5f 6c 65 61 6b 2e 7a 69 67 3a 31 37 3a 34 30 3a 20 30 78 32 32 34 64 30 37 20 69 6e 20 67 op_leak.zig:17:40:.0x224d07.in.g
7ba00 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 2e 64 61 74 61 20 3d enFoos.(test).........foo.data.=
7ba20 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 29 3b 0a 20 20 20 20 .try.allocator.create(u32);.....
7ba40 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 ................................
7ba60 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
7ba80 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/
7baa0 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 33 31 3a 35 test_errdefer_loop_leak.zig:31:5
7bac0 39 3a 20 30 78 32 32 35 35 66 64 20 69 6e 20 74 65 73 74 2e 67 65 6e 46 6f 6f 73 20 28 74 65 73 9:.0x2255fd.in.test.genFoos.(tes
7bae0 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
7bb00 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
7bb20 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));.......
7bb40 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 ................................
7bb60 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
7bb80 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
7bba0 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a p/out/host/lib/zig/test_runner.z
7bbc0 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 32 33 33 61 35 39 20 69 6e 20 6d 61 69 6e 54 65 72 6d 69 ig:176:28:.0x233a59.in.mainTermi
7bbe0 6e 61 6c 20 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 nal.(test).........}.else.test_f
7bc00 6e 2e 66 75 6e 63 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 n.func();.......................
7bc20 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/_
7bc40 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/
7bc60 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 36 3a 32 38 3a 20 30 78 32 32 61 zig/test_runner.zig:36:28:.0x22a
7bc80 36 38 61 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 68a.in.main.(test).........retur
7bca0 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 20 20 20 20 n.mainTerminal();...............
7bcc0 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-
7bce0 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
7bd00 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 36 34 3a 32 32 ost/lib/zig/std/start.zig:564:22
7bd20 3a 20 30 78 32 32 35 62 32 32 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 :.0x225b22.in.posixCallMainAndEx
7bd40 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 6d 61 69 6e 28 it.(test).............root.main(
7bd60 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 2f );......................^./home/
7bd80 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
7bda0 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
7bdc0 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 32 35 36 37 31 20 69 6e 20 5f 73 74 61 72 74 20 28 .zig:243:5:.0x225671.in._start.(
7bde0 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.(
7be00 6e 61 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 native_arch).{.....^..[gpa].(err
7be20 29 3a 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 30 78 37 66 66 32 32 61 36 61 37 30 30 34 ):.memory.address.0x7ff22a6a7004
7be40 20 6c 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 .leaked:./home/ci/actions-runner
7be60 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_
7be80 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 69 67 3a tmp/test_errdefer_loop_leak.zig:
7bea0 31 37 3a 34 30 3a 20 30 78 32 32 34 64 30 37 20 69 6e 20 67 65 6e 46 6f 6f 73 20 28 74 65 73 74 17:40:.0x224d07.in.genFoos.(test
7bec0 29 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 ).........foo.data.=.try.allocat
7bee0 6f 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 or.create(u32);.................
7bf00 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
7bf20 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
7bf40 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 66 65 trap/zig/docgen_tmp/test_errdefe
7bf60 72 5f 6c 6f 6f 70 5f 6c 65 61 6b 2e 7a 69 67 3a 33 31 3a 35 39 3a 20 30 78 32 32 35 35 66 64 20 r_loop_leak.zig:31:59:.0x2255fd.
7bf80 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
7bfa0 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
7bfc0 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
7bfe0 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));...................
7c000 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 ................................
7c020 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
7c040 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
7c060 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 ib/zig/test_runner.zig:176:28:.0
7c080 78 32 33 33 61 35 39 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 x233a59.in.mainTerminal.(test)..
7c0a0 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 .......}.else.test_fn.func();...
7c0c0 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 65 .........................^./home
7c0e0 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
7c100 74 73 74 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e tstrap/out/host/lib/zig/test_run
7c120 6e 65 72 2e 7a 69 67 3a 33 36 3a 32 38 3a 20 30 78 32 32 61 36 38 61 20 69 6e 20 6d 61 69 6e 20 ner.zig:36:28:.0x22a68a.in.main.
7c140 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
7c160 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();...........................
7c180 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
7c1a0 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/
7c1c0 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 35 62 32 32 20 69 std/start.zig:564:22:.0x225b22.i
7c1e0 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 20 n.posixCallMainAndExit.(test)...
7c200 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();..........
7c220 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
7c240 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
7c260 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 34 33 3a 35 3a 20 st/lib/zig/std/start.zig:243:5:.
7c280 30 78 32 32 35 36 37 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 0x225671.in._start.(test).....as
7c2a0 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 68 29 m.volatile.(switch.(native_arch)
7c2c0 20 7b 0a 20 20 20 20 5e 0a 0a 5b 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f 72 79 20 61 64 .{.....^..[gpa].(err):.memory.ad
7c2e0 64 72 65 73 73 20 30 78 37 66 66 32 32 61 36 61 37 30 30 38 20 6c 65 61 6b 65 64 3a 0a 2f 68 6f dress.0x7ff22a6a7008.leaked:./ho
7c300 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
7c320 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 65 72 72 ootstrap/zig/docgen_tmp/test_err
7c340 64 65 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 32 32 34 defer_loop_leak.zig:17:40:.0x224
7c360 64 30 37 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 d07.in.genFoos.(test).........fo
7c380 6f 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 o.data.=.try.allocator.create(u3
7c3a0 32 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 2);.............................
7c3c0 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
7c3e0 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
7c400 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 5f 6c 65 61 6b 2e gen_tmp/test_errdefer_loop_leak.
7c420 7a 69 67 3a 33 31 3a 35 39 3a 20 30 78 32 32 35 35 66 64 20 69 6e 20 74 65 73 74 2e 67 65 6e 46 zig:31:59:.0x2255fd.in.test.genF
7c440 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
7c460 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
7c480 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))
7c4a0 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 ;...............................
7c4c0 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
7c4e0 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-
7c500 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 74 65 73 74 5f bootstrap/out/host/lib/zig/test_
7c520 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 32 33 33 61 35 39 20 69 6e 20 6d runner.zig:176:28:.0x233a59.in.m
7c540 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 7d 20 65 6c 73 ainTerminal.(test).........}.els
7c560 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.test_fn.func();...............
7c580 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-
7c5a0 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
7c5c0 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 33 36 3a 32 ost/lib/zig/test_runner.zig:36:2
7c5e0 38 3a 20 30 78 32 32 61 36 38 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 20 20 20 20 8:.0x22a68a.in.main.(test)......
7c600 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();.......
7c620 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/
7c640 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
7c660 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
7c680 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 35 62 32 32 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d g:564:22:.0x225b22.in.posixCallM
7c6a0 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 6f ainAndExit.(test).............ro
7c6c0 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 20 ot.main();......................
7c6e0 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/
7c700 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
7c720 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 32 35 36 37 31 20 69 6e 20 td/start.zig:243:5:.0x225671.in.
7c740 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.(
7c760 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 41 6c switch.(native_arch).{.....^..Al
7c780 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 33 20 65 72 72 6f 72 73 20 77 65 72 65 20 l.1.tests.passed..3.errors.were.
7c7a0 6c 6f 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 logged..1.tests.leaked.memory..e
7c7c0 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 64 rror:.the.following.test.command
7c7e0 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 6d 65 2f .failed.with.exit.code.1:./home/
7c800 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
7c820 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 65 30 39 34 strap/out/zig-local-cache/o/e094
7c840 61 64 35 65 31 36 63 65 64 33 65 37 30 64 34 62 38 37 63 34 32 39 39 33 65 36 38 32 2f 74 65 73 ad5e16ced3e70d4b87c42993e682/tes
7c860 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>.......<
7c880 70 3e 0a 20 20 20 20 20 20 53 70 65 63 69 61 6c 20 63 61 72 65 20 6d 75 73 74 20 62 65 20 74 61 p>.......Special.care.must.be.ta
7c8a0 6b 65 6e 20 77 69 74 68 20 63 6f 64 65 20 74 68 61 74 20 61 6c 6c 6f 63 61 74 65 73 20 69 6e 20 ken.with.code.that.allocates.in.
7c8c0 61 20 6c 6f 6f 70 0a 20 20 20 20 20 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 6e a.loop.......to.make.sure.that.n
7c8e0 6f 20 6d 65 6d 6f 72 79 20 69 73 20 6c 65 61 6b 65 64 20 77 68 65 6e 20 72 65 74 75 72 6e 69 6e o.memory.is.leaked.when.returnin
7c900 67 20 61 6e 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 g.an.error:.......</p>.......<fi
7c920 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"
7c940 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 72 72 64 65 66 65 ><cite.class="file">test_errdefe
7c960 72 5f 6c 6f 6f 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 r_loop.zig</cite></figcaption><p
7c980 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
7c9a0 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
7c9c0 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
7c9e0 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
7ca00 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 3c 2f 73 70 61 r">&quot;std&quot;</span>);</spa
7ca20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
7ca40 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 6f s="tok-kw">const</span>.Allocato
7ca60 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 r.=.std.mem.Allocator;</span>.<s
7ca80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
7caa0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
7cac0 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 73 73 3d >const</span>.Foo.=.<span.class=
7cae0 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a "tok-kw">struct</span>.{</span>.
7cb00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 61 74 61 3a 20 2a 3c 73 <span.class="line">....data:.*<s
7cb20 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 3c pan.class="tok-type">u32</span><
7cb40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 /span>.<span.class="line">};</sp
7cb60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
7cb80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
7cba0 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
7cbc0 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 61 6e 20 63 6c k-fn">getData</span>().!<span.cl
7cbe0 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 3c 2f 73 70 61 ass="tok-type">u32</span>.{</spa
7cc00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
7cc20 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 73 70 class="tok-kw">return</span>.<sp
7cc40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 36 36 3c 2f 73 70 61 6e 3e an.class="tok-number">666</span>
7cc60 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
7cc80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
7cca0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
7ccc0 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
7cce0 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 74 6f 72 3a ok-fn">genFoos</span>(allocator:
7cd00 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 3d 22 74 6f .Allocator,.num:.<span.class="to
7cd20 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 20 7b 3c 2f k-type">usize</span>).![]Foo.{</
7cd40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
7cd60 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
7cd80 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
7cda0 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 6d 29 3b 3c 2f an>.allocator.alloc(Foo,.num);</
7cdc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
7cde0 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
7ce00 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 66 6f 6f 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c >.allocator.free(foos);</span>.<
7ce20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
7ce40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
7ce60 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 64 20 74 6f 20 74 72 61 63 6b 20 68 6f 77 20 k-comment">//.Used.to.track.how.
7ce80 6d 61 6e 79 20 66 6f 6f 73 20 68 61 76 65 20 62 65 65 6e 20 69 6e 69 74 69 61 6c 69 7a 65 64 3c many.foos.have.been.initialized<
7cea0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
7cec0 3e 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">/
7cee0 2f 20 28 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 /.(including.their.data.being.al
7cf00 6c 6f 63 61 74 65 64 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 located)</span></span>.<span.cla
7cf20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
7cf40 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 3c 73 70 w">var</span>.num_allocated:.<sp
7cf60 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>
7cf80 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
7cfa0 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
7cfc0 20 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
7cfe0 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 6b 77 22 3e 66 6f r</span>.<span.class="tok-kw">fo
7d000 72 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r</span>.(foos[<span.class="tok-
7d020 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 6e 75 6d 5f 61 6c 6c 6f 63 61 74 65 64 5d number">0</span>..num_allocated]
7d040 29 20 7c 66 6f 6f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ).|foo|.{</span>.<span.class="li
7d060 6e 65 22 3e 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 65 73 74 72 6f 79 28 66 6f ne">........allocator.destroy(fo
7d080 6f 2e 64 61 74 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e o.data);</span>.<span.class="lin
7d0a0 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e">....};</span>.<span.class="li
7d0c0 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">for
7d0e0 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 73 3d 22 74 6f 6b 2d </span>.(foos,.<span.class="tok-
7d100 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 2c 20 69 7c 20 7b 3c number">0</span>..).|*foo,.i|.{<
7d120 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
7d140 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 77 ..foo.data.=.<span.class="tok-kw
7d160 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 73 ">try</span>.allocator.create(<s
7d180 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 29 pan.class="tok-type">u32</span>)
7d1a0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
7d1c0 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 6e 20 63 6c 61 73 73 ....num_allocated.+=.<span.class
7d1e0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-number">1</span>;</span>.<
7d200 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
7d220 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
7d240 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 26 67 74 3b 3d 20 3c 73 70 ="tok-kw">if</span>.(i.&gt;=.<sp
7d260 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>).
7d280 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
7d2a0 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
7d2c0 70 61 6e 3e 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan>.TooManyFoos;</span>.<span.c
7d2e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
7d300 22 6c 69 6e 65 22 3e 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 "line">........foo.data.*.=.<spa
7d320 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 44 n.class="tok-kw">try</span>.getD
7d340 61 74 61 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ata();</span>.<span.class="line"
7d360 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
7d380 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
7d3a0 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
7d3c0 6e 3e 20 66 6f 6f 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n>.foos;</span>.<span.class="lin
7d3e0 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e">}</span>.<span.class="line"><
7d400 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
7d420 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
7d440 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 73 26 71 .class="tok-str">&quot;genFoos&q
7d460 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>.{</span>.<span.class
7d480 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
7d4a0 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 45 72 >try</span>.std.testing.expectEr
7d4c0 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 3c 2f ror(<span.class="tok-kw">error</
7d4e0 73 70 61 6e 3e 2e 54 6f 6f 4d 61 6e 79 46 6f 6f 73 2c 20 67 65 6e 46 6f 6f 73 28 73 74 64 2e 74 span>.TooManyFoos,.genFoos(std.t
7d500 65 73 74 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 esting.allocator,.<span.class="t
7d520 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-number">5</span>));</span>.<s
7d540 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
7d560 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
7d580 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
7d5a0 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
7d5c0 74 20 74 65 73 74 5f 65 72 72 64 65 66 65 72 5f 6c 6f 6f 70 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 t.test_errdefer_loop.zig</kbd>.1
7d5e0 2f 31 20 74 65 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 /1.test.genFoos....OK.All.1.test
7d600 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>
7d620 0a 20 20 20 20 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 ..............<p>.......A.couple
7d640 20 6f 66 20 6f 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 .of.other.tidbits.about.error.ha
7d660 6e 64 6c 69 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 ndling:.......</p>.......<ul>...
7d680 20 20 20 20 20 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 ......<li>These.primitives.give.
7d6a0 65 6e 6f 75 67 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 enough.expressiveness.that.it's.
7d6c0 63 6f 6d 70 6c 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 completely.practical............
7d6e0 20 74 6f 20 68 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 .to.have.failing.to.check.for.an
7d700 20 65 72 72 6f 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 .error.be.a.compile.error..If.yo
7d720 75 20 72 65 61 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 u.really.want.............to.ign
7d740 6f 72 65 20 74 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 ore.the.error,.you.can.add.<code
7d760 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
7d780 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 61 73 "tok-kw">catch</span>.<span.clas
7d7a0 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 73 s="tok-kw">unreachable</span></s
7d7c0 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 20 pan></code>.and.............get.
7d7e0 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 6e the.added.benefit.of.crashing.in
7d800 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 20 .Debug.and.ReleaseSafe.modes.if.
7d820 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 20 your.assumption.was.wrong.......
7d840 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 20 ...</li>.........<li>...........
7d860 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 65 Since.Zig.understands.error.type
7d880 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 6e s,.it.can.pre-weight.branches.in
7d8a0 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 6f .favor.of...........errors.not.o
7d8c0 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 74 ccurring..Just.a.small.optimizat
7d8e0 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 6c ion.benefit.that.is.not.availabl
7d900 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 0a e...........in.other.languages..
7d920 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 20 ........</li>.......</ul>.......
7d940 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
7d960 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 20 ="#defer">defer</a></li>.<li><a.
7d980 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
7d9a0 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 75 ef="#switch">switch</a></li>.</u
7d9c0 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 20 l>.........<p>An.error.union.is.
7d9e0 63 72 65 61 74 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 created.with.the.<code><span.cla
7da00 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 6e 61 72 79 ss="line">!</span></code>.binary
7da20 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 75 73 65 20 63 6f 6d .operator........You.can.use.com
7da40 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 74 pile-time.reflection.to.access.t
7da60 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 20 75 6e 69 6f 6e 3a he.child.type.of.an.error.union:
7da80 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
7daa0 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
7dac0 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 69 74 65 3e 3c 2f 66 ">test_error_union.zig</cite></f
7dae0 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
7db00 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
7db20 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="
7db40 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
7db60 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
7db80 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 3c 2f 73 70 61 6e 3e ;</span>).testing.expect;</span>
7dba0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
7dbc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
7dbe0 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
7dc00 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
7dc20 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
7dc40 3e 20 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
7dc60 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 2d 74 79 70 65 22 pan>.foo:.<span.class="tok-type"
7dc80 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
7dca0 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
7dcc0 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 3c 2f 73 ="tok-null">undefined</span>;</s
7dce0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
7dd00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
7dd20 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 6f 6d 20 ss="tok-comment">//.Coerce.from.
7dd40 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3a 3c 2f 73 child.type.of.an.error.union:</s
7dd60 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
7dd80 20 20 20 66 6f 6f 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 ...foo.=.<span.class="tok-number
7dda0 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">1234</span>;</span>.<span.clas
7ddc0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
7dde0 6e 65 22 3e 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 ne">....<span.class="tok-comment
7de00 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 74 3a 3c 2f ">//.Coerce.from.an.error.set:</
7de20 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
7de40 20 20 20 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 65 ....foo.=.<span.class="tok-kw">e
7de60 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6f 6d 65 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 rror</span>.SomeError;</span>.<s
7de80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
7dea0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
7dec0 2d 63 6f 6d 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 -comment">//.Use.compile-time.re
7dee0 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 70 61 79 6c 6f 61 64 20 74 flection.to.access.the.payload.t
7df00 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 ype.of.an.error.union:</span></s
7df20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
7df40 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 61 n.class="tok-kw">try</span>.<spa
7df60 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>
7df80 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 6e .expect(<span.class="tok-builtin
7dfa0 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 61 73 73 3d 22 ">@typeInfo</span>(<span.class="
7dfc0 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 66 6f 6f 29 tok-builtin">@TypeOf</span>(foo)
7dfe0 29 2e 45 72 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 ).ErrorUnion.payload.==.<span.cl
7e000 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 3c 2f 73 70 61 ass="tok-type">i32</span>);</spa
7e020 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
7e040 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
7e060 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 ="tok-comment">//.Use.compile-ti
7e080 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 65 72 72 6f me.reflection.to.access.the.erro
7e0a0 72 20 73 65 74 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3a 3c 2f 73 r.set.type.of.an.error.union:</s
7e0c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
7e0e0 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
7e100 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
7e120 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-
7e140 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.
7e160 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
7e180 6e 3e 28 66 6f 6f 29 29 2e 45 72 72 6f 72 55 6e 69 6f 6e 2e 65 72 72 6f 72 5f 73 65 74 20 3d 3d n>(foo)).ErrorUnion.error_set.==
7e1a0 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
7e1c0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
7e1e0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
7e200 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
7e220 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><
7e240 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 6f 72 5f samp>$.<kbd>zig.test.test_error_
7e260 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 65 72 72 6f 72 20 75 union.zig</kbd>.1/1.test.error.u
7e280 6e 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 nion....OK.All.1.tests.passed..<
7e2a0 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 34 20 /samp></pre></figure>.......<h4.
7e2c0 69 64 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 id="Merging-Error-Sets"><a.href=
7e2e0 22 23 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 "#toc-Merging-Error-Sets">Mergin
7e300 67 20 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 g.Error.Sets</a>.<a.class="hdr".
7e320 68 72 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 href="#Merging-Error-Sets">..</a
7e340 3e 3c 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 ></h4>........<p>.......Use.the.
7e360 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 7c 3c 2f 73 70 61 <code><span.class="line">||</spa
7e380 6e 3e 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 74 77 6f 20 n></code>.operator.to.merge.two.
7e3a0 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 75 6c 74 69 error.sets.together..The.resulti
7e3c0 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 74 68 65 20 ng.......error.set.contains.the.
7e3e0 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 6f 63 20 63 errors.of.both.error.sets..Doc.c
7e400 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 20 20 20 20 omments.from.the.left-hand......
7e420 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 66 72 6f 6d .side.override.doc.comments.from
7e440 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 73 20 65 78 .the.right-hand.side..In.this.ex
7e460 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 73 20 66 6f ample,.the.doc.......comments.fo
7e480 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 2e 50 61 74 r.<code><span.class="line">C.Pat
7e4a0 68 4e 6f 74 46 6f 75 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 hNotFound</span></code>.is.<code
7e4c0 3e 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 >A.doc.comment</code>........</p
7e4e0 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 65 73 70 65 63 69 >.......<p>.......This.is.especi
7e500 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 ally.useful.for.functions.which.
7e520 72 65 74 75 72 6e 20 64 69 66 66 65 72 65 6e 74 20 65 72 72 6f 72 20 73 65 74 73 20 64 65 70 65 return.different.error.sets.depe
7e540 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d nding.......on.<a.href="#comptim
7e560 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 72 61 6e 63 68 65 73 2e 20 46 6f 72 20 65 78 e">comptime</a>.branches..For.ex
7e580 61 6d 70 6c 65 2c 20 74 68 65 20 5a 69 67 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 ample,.the.Zig.standard.library.
7e5a0 75 73 65 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 22 6c 69 uses.......<code><span.class="li
7e5c0 6e 65 22 3e 4c 69 6e 75 78 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 7c 7c 20 57 69 6e 64 6f 77 ne">LinuxFileOpenError.||.Window
7e5e0 73 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 sFileOpenError</span></code>.for
7e600 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 6f 66 20 6f 70 65 6e 69 6e 67 0a 20 20 20 20 20 20 .the.error.set.of.opening.......
7e620 66 69 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 65 3e files........</p>.......<figure>
7e640 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
7e660 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6d 65 72 67 69 6e 67 5f 65 72 72 6f e.class="file">test_merging_erro
7e680 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 74 69 6f 6e 3e 3c 70 r_sets.zig</cite></figcaption><p
7e6a0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
7e6c0 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 20 n.class="tok-kw">const</span>.A.
7e6e0 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
7e700 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>{</span>.<span.class="line">.
7e720 20 20 20 4e 6f 74 44 69 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ...NotDir,</span>.<span.class="l
7e740 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
7e760 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">//
7e780 2f 20 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 /.A.doc.comment</span></span>.<s
7e7a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 50 61 74 68 4e 6f 74 46 6f 75 6e pan.class="line">....PathNotFoun
7e7c0 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c d,</span>.<span.class="line">};<
7e7e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
7e800 63 6c 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 20 class="tok-kw">const</span>.B.=.
7e820 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
7e840 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >{</span>.<span.class="line">...
7e860 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .OutOfMemory,</span>.<span.class
7e880 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
7e8a0 65 22 3e 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 e">....<span.class="tok-comment"
7e8c0 3e 2f 2f 2f 20 42 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e >///.B.doc.comment</span></span>
7e8e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 50 61 74 68 4e 6f 74 46 .<span.class="line">....PathNotF
7e900 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ound,</span>.<span.class="line">
7e920 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 };</span>.<span.class="line"></s
7e940 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
7e960 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 20 3d 20 41 20 ass="tok-kw">const</span>.C.=.A.
7e980 7c 7c 20 42 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ||.B;</span>.<span.class="line">
7e9a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
7e9c0 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.
7e9e0 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 43 21 3c 73 class="tok-fn">foo</span>().C!<s
7ea00 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>
7ea20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
7ea40 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
7ea60 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 3c 2f an>.<span.class="tok-kw">error</
7ea80 73 70 61 6e 3e 2e 4e 6f 74 44 69 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 span>.NotDir;</span>.<span.class
7eaa0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
7eac0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
7eae0 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>.
7eb00 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 65 72 67 <span.class="tok-str">&quot;merg
7eb20 65 20 65 72 72 6f 72 20 73 65 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 e.error.sets&quot;</span>.{</spa
7eb40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
7eb60 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 66 6f 6f 28 29 29 class="tok-kw">if</span>.(foo())
7eb80 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
7eba0 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">@
7ebc0 70 61 6e 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 6b 2d 73 74 panic</span>(<span.class="tok-st
7ebe0 72 22 3e 26 71 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 r">&quot;unexpected&quot;</span>
7ec00 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
7ec20 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
7ec40 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 73 an>.|err|.<span.class="tok-kw">s
7ec60 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 witch</span>.(err).{</span>.<spa
7ec80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
7eca0 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 65 ss="tok-kw">error</span>.OutOfMe
7ecc0 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 6f 6b 2d 62 75 69 6c mory.=&gt;.<span.class="tok-buil
7ece0 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 3d 22 tin">@panic</span>(<span.class="
7ed00 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 3b 3c tok-str">&quot;unexpected&quot;<
7ed20 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>),</span>.<span.class="lin
7ed40 65 22 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 6b 77 22 3e e">........<span.class="tok-kw">
7ed60 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 50 61 74 68 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 error</span>.PathNotFound.=&gt;.
7ed80 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
7eda0 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
7edc0 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 2c 3c 2f 73 uot;unexpected&quot;</span>),</s
7ede0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
7ee00 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
7ee20 3e 2e 4e 6f 74 44 69 72 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >.NotDir.=&gt;.{},</span>.<span.
7ee40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
7ee60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
7ee80 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
7eea0 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
7eec0 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
7eee0 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 6b 62 64 3e 0a st_merging_error_sets.zig</kbd>.
7ef00 31 2f 31 20 74 65 73 74 2e 6d 65 72 67 65 20 65 72 72 6f 72 20 73 65 74 73 2e 2e 2e 20 4f 4b 0a 1/1.test.merge.error.sets....OK.
7ef20 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
7ef40 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 64 3d 22 ></figure>..............<h4.id="
7ef60 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 Inferred-Error-Sets"><a.href="#t
7ef80 6f 63 2d 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 72 65 64 oc-Inferred-Error-Sets">Inferred
7efa0 20 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 .Error.Sets</a>.<a.class="hdr".h
7efc0 72 65 66 3d 22 23 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e c2 a7 3c 2f 61 ref="#Inferred-Error-Sets">..</a
7efe0 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 ></h4>........<p>.......Because.
7f000 6d 61 6e 79 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 5a 69 67 20 72 65 74 75 72 6e 20 61 20 70 many.functions.in.Zig.return.a.p
7f020 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 2c 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 69 6e 66 65 ossible.error,.Zig.supports.infe
7f040 72 72 69 6e 67 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 20 20 54 6f 20 69 6e rring.the.error.set........To.in
7f060 66 65 72 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 66 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e fer.the.error.set.for.a.function
7f080 2c 20 70 72 65 70 65 6e 64 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ,.prepend.the.<code><span.class=
7f0a0 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 "line">!</span></code>.operator.
7f0c0 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 72 65 74 75 72 6e 20 74 79 70 65 2c to.the.function...s.return.type,
7f0e0 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 6c 69 6e 65 22 3e 21 .like.<code><span.class="line">!
7f100 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 T</span></code>:.......</p>.....
7f120 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
7f140 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
7f160 66 65 72 72 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 ferred_error_sets.zig</cite></fi
7f180 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=
7f1a0 22 6c 69 6e 65 22 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 "line"><span.class="tok-comment"
7f1c0 3e 2f 2f 20 57 69 74 68 20 61 6e 20 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 3c 2f >//.With.an.inferred.error.set</
7f1e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
7f200 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>.
7f220 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>.<
7f240 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 5f 69 6e 66 65 72 72 65 64 span.class="tok-fn">add_inferred
7f260 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
7f280 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
7f2a0 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 20 62 3a 20 54 29 20 -type">type</span>,.a:.T,.b:.T).
7f2c0 21 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 !T.{</span>.<span.class="line">.
7f2e0 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
7f300 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 2d 62 75 69 6c 74 pan>.ov.=.<span.class="tok-built
7f320 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 3e 28 61 2c 20 62 in">@addWithOverflow</span>(a,.b
7f340 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
7f360 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>.
7f380 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</
7f3a0 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
7f3c0 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
7f3e0 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
7f400 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 3b 3c 2f 73 70 61 -kw">error</span>.Overflow;</spa
7f420 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
7f440 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 5b class="tok-kw">return</span>.ov[
7f460 3c 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
7f480 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c >];</span>.<span.class="line">}<
7f4a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
7f4c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
7f4e0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 61 6e 20 65 78 70 6c 69 63 ="tok-comment">//.With.an.explic
7f500 69 74 20 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e it.error.set</span></span>.<span
7f520 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
7f540 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
7f560 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
7f580 22 3e 61 64 64 5f 65 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 ">add_explicit</span>(<span.clas
7f5a0 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
7f5c0 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>
7f5e0 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 45 72 72 6f 72 21 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ,.a:.T,.b:.T).Error!T.{</span>.<
7f600 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
7f620 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 73 70 s="tok-kw">const</span>.ov.=.<sp
7f640 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 68 4f an.class="tok-builtin">@addWithO
7f660 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 verflow</span>(a,.b);</span>.<sp
7f680 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
7f6a0 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 20 63 6c 61 "tok-kw">if</span>.(ov[<span.cla
7f6c0 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 20 3c 73 70 ss="tok-number">1</span>].!=.<sp
7f6e0 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>).
7f700 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
7f720 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
7f740 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 pan>.Overflow;</span>.<span.clas
7f760 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
7f780 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 76 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">return</span>.ov[<span.class="
7f7a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">0</span>];</span>.<s
7f7c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
7f7e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
7f800 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
7f820 73 74 3c 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 st</span>.Error.=.<span.class="t
7f840 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-kw">error</span>.{</span>.<sp
7f860 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f 76 65 72 66 6c 6f 77 2c 3c 2f 73 an.class="line">....Overflow,</s
7f880 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e pan>.<span.class="line">};</span
7f8a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
7f8c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
7f8e0 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
7f900 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>
7f920 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
7f940 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>);</span>.<span.cla
7f960 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
7f980 69 6e 65 22 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 ine"><span.class="tok-kw">test</
7f9a0 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
7f9c0 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 6e t;inferred.error.set&quot;</span
7f9e0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
7fa00 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>
7fa20 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 73 3d 22 74 6f 6b 2d .(add_inferred(<span.class="tok-
7fa40 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 3d 22 74 6f type">u8</span>,.<span.class="to
7fa60 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 61 6e 20 63 6c 61 73 k-number">255</span>,.<span.clas
7fa80 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 5f 7c 20 3c 73 s="tok-number">1</span>)).|_|.<s
7faa0 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</
7fac0 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<
7fae0 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 2d 6b 77 /span>.|err|.<span.class="tok-kw
7fb00 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ">switch</span>.(err).{</span>.<
7fb20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
7fb40 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 4f 76 65 72 class="tok-kw">error</span>.Over
7fb60 66 6c 6f 77 20 3d 26 67 74 3b 20 7b 7d 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d flow.=&gt;.{},.<span.class="tok-
7fb80 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 comment">//.ok</span></span>.<sp
7fba0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">....}</span>.<sp
7fbc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
7fbe0 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
7fc00 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
7fc20 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
7fc40 20 74 65 73 74 5f 69 6e 66 65 72 72 65 64 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 6b .test_inferred_error_sets.zig</k
7fc60 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 2e bd>.1/1.test.inferred.error.set.
7fc80 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
7fca0 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>......
7fcc0 20 57 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 61 6e 20 69 6e 66 65 72 72 65 64 .When.a.function.has.an.inferred
7fce0 20 65 72 72 6f 72 20 73 65 74 2c 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 20 62 65 63 6f 6d 65 .error.set,.that.function.become
7fd00 73 20 67 65 6e 65 72 69 63 20 61 6e 64 20 74 68 75 73 20 69 74 20 62 65 63 6f 6d 65 73 0a 20 20 s.generic.and.thus.it.becomes...
7fd20 20 20 20 20 74 72 69 63 6b 69 65 72 20 74 6f 20 64 6f 20 63 65 72 74 61 69 6e 20 74 68 69 6e 67 ....trickier.to.do.certain.thing
7fd40 73 20 77 69 74 68 20 69 74 2c 20 73 75 63 68 20 61 73 20 6f 62 74 61 69 6e 20 61 20 66 75 6e 63 s.with.it,.such.as.obtain.a.func
7fd60 74 69 6f 6e 20 70 6f 69 6e 74 65 72 2c 20 6f 72 20 68 61 76 65 20 61 6e 20 65 72 72 6f 72 0a 20 tion.pointer,.or.have.an.error..
7fd80 20 20 20 20 20 73 65 74 20 74 68 61 74 20 69 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f .....set.that.is.consistent.acro
7fda0 73 73 20 64 69 66 66 65 72 65 6e 74 20 62 75 69 6c 64 20 74 61 72 67 65 74 73 2e 20 41 64 64 69 ss.different.build.targets..Addi
7fdc0 74 69 6f 6e 61 6c 6c 79 2c 20 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 73 0a 20 20 tionally,.inferred.error.sets...
7fde0 20 20 20 20 61 72 65 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 72 65 63 75 72 73 ....are.incompatible.with.recurs
7fe00 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 20 ion........</p>.......<p>.......
7fe20 49 6e 20 74 68 65 73 65 20 73 69 74 75 61 74 69 6f 6e 73 2c 20 69 74 20 69 73 20 72 65 63 6f 6d In.these.situations,.it.is.recom
7fe40 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 61 6e 20 65 78 70 6c 69 63 69 74 20 65 72 72 6f 72 20 mended.to.use.an.explicit.error.
7fe60 73 65 74 2e 20 59 6f 75 20 63 61 6e 20 67 65 6e 65 72 61 6c 6c 79 20 73 74 61 72 74 0a 20 20 20 set..You.can.generally.start....
7fe80 20 20 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 65 72 72 6f 72 20 73 65 74 20 61 6e 64 20 6c ...with.an.empty.error.set.and.l
7fea0 65 74 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 20 67 75 69 64 65 20 79 6f 75 20 74 6f 77 61 et.compile.errors.guide.you.towa
7fec0 72 64 20 63 6f 6d 70 6c 65 74 69 6e 67 20 74 68 65 20 73 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 rd.completing.the.set........</p
7fee0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 6c 69 6d 69 74 61 74 69 >.......<p>.......These.limitati
7ff00 6f 6e 73 20 6d 61 79 20 62 65 20 6f 76 65 72 63 6f 6d 65 20 69 6e 20 61 20 66 75 74 75 72 65 20 ons.may.be.overcome.in.a.future.
7ff20 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 version.of.Zig........</p>......
7ff40 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 72 72 6f 72 2d 52 65 74 ...............<h3.id="Error-Ret
7ff60 75 72 6e 2d 54 72 61 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 2d urn-Traces"><a.href="#toc-Error-
7ff80 52 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 Return-Traces">Error.Return.Trac
7ffa0 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 72 72 es</a>.<a.class="hdr".href="#Err
7ffc0 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 or-Return-Traces">..</a></h3>...
7ffe0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 .....<p>.......Error.Return.Trac
80000 65 73 20 73 68 6f 77 20 61 6c 6c 20 74 68 65 20 70 6f 69 6e 74 73 20 69 6e 20 74 68 65 20 63 6f es.show.all.the.points.in.the.co
80020 64 65 20 74 68 61 74 20 61 6e 20 65 72 72 6f 72 20 77 61 73 20 72 65 74 75 72 6e 65 64 20 74 6f de.that.an.error.was.returned.to
80040 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 6d 61 6b 65 .the.calling.function..This.make
80060 73 20 69 74 20 70 72 61 63 74 69 63 61 6c 20 74 6f 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 s.it.practical.to.use.<a.href="#
80080 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 65 76 65 72 79 77 68 65 72 65 20 61 6e 64 20 74 68 65 6e try">try</a>.everywhere.and.then
800a0 20 73 74 69 6c 6c 20 62 65 20 61 62 6c 65 20 74 6f 20 6b 6e 6f 77 20 77 68 61 74 20 68 61 70 70 .still.be.able.to.know.what.happ
800c0 65 6e 65 64 20 69 66 20 61 6e 20 65 72 72 6f 72 20 65 6e 64 73 20 75 70 20 62 75 62 62 6c 69 6e ened.if.an.error.ends.up.bubblin
800e0 67 20 61 6c 6c 20 74 68 65 20 77 61 79 20 6f 75 74 20 6f 66 20 79 6f 75 72 20 61 70 70 6c 69 63 g.all.the.way.out.of.your.applic
80100 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 66 69 67 75 72 65 3e ation........</p>.......<figure>
80120 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
80140 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 e.class="file">error_return_trac
80160 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
80180 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
801a0 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
801c0 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
801e0 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 73 70 61 6e 20 s="tok-fn">main</span>().!<span.
80200 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 3c 2f class="tok-type">void</span>.{</
80220 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
80240 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 66 6f 6f an.class="tok-kw">try</span>.foo
80260 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
80280 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
802a0 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
802c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
802e0 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
80300 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 20 63 s="tok-fn">foo</span>(x:.<span.c
80320 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 3c 73 70 lass="tok-type">i32</span>).!<sp
80340 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>.
80360 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
80380 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>.(
803a0 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 6e 75 6d 62 65 72 22 x.&gt;=.<span.class="tok-number"
803c0 3e 35 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >5</span>).{</span>.<span.class=
803e0 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
80400 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 kw">try</span>.bar();</span>.<sp
80420 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 an.class="line">....}.<span.clas
80440 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a s="tok-kw">else</span>.{</span>.
80460 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
80480 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 32 .class="tok-kw">try</span>.bang2
804a0 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ();</span>.<span.class="line">..
804c0 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c ..}</span>.<span.class="line">}<
804e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
80500 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
80520 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=
80540 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
80560 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 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
80580 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
805a0 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 61 7a 28 29 29 class="tok-kw">if</span>.(baz())
805c0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
805e0 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
80600 70 61 6e 3e 20 71 75 75 78 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.quux();</span>.<span.class=
80620 22 6c 69 6e 65 22 3e 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 "line">....}.<span.class="tok-kw
80640 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=
80660 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 3c 2f "tok-kw">switch</span>.(err).{</
80680 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
806a0 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
806c0 6e 3e 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 n>.FileNotFound.=&gt;.<span.clas
806e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 28 29 2c 3c 2f s="tok-kw">try</span>.hello(),</
80700 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f span>.<span.class="line">....}</
80720 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
80740 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
80760 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
80780 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-
807a0 66 6e 22 3e 62 61 7a 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 fn">baz</span>().!<span.class="t
807c0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
807e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
80800 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 31 28 29 3b 3c 2f 73 ="tok-kw">try</span>.bang1();</s
80820 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
80840 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
80860 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
80880 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
808a0 6e 22 3e 71 75 75 78 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">quux</span>().!<span.class="t
808c0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
808e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
80900 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 32 28 29 3b 3c 2f 73 ="tok-kw">try</span>.bang2();</s
80920 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
80940 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
80960 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
80980 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
809a0 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="
809c0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-type">void</span>.{</span>.<
809e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
80a00 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 32 28 29 3b 3c 2f s="tok-kw">try</span>.bang2();</
80a20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
80a40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
80a60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
80a80 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-
80aa0 66 6e 22 3e 62 61 6e 67 31 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d fn">bang1</span>().!<span.class=
80ac0 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a "tok-type">void</span>.{</span>.
80ae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
80b00 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.
80b20 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 46 69 6c 65 class="tok-kw">error</span>.File
80b40 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 NotFound;</span>.<span.class="li
80b60 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
80b80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
80ba0 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.
80bc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 21 3c class="tok-fn">bang2</span>().!<
80be0 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
80c00 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
80c20 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
80c40 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 3c pan>.<span.class="tok-kw">error<
80c60 2f 73 70 61 6e 3e 2e 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3b 3c 2f 73 70 61 6e 3e 0a /span>.PermissionDenied;</span>.
80c80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">}</span></cod
80ca0 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
80cc0 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
80ce0 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
80d00 75 69 6c 64 2d 65 78 65 20 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3c uild-exe.error_return_trace.zig<
80d20 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 /kbd>.$.<kbd>./error_return_trac
80d40 65 3c 2f 6b 62 64 3e 0a 65 72 72 6f 72 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 0a e</kbd>.error:.PermissionDenied.
80d60 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
80d80 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 65 72 72 6f 72 g-bootstrap/zig/docgen_tmp/error
80da0 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 33 34 3a 35 3a 20 30 78 32 31 65 33 37 38 _return_trace.zig:34:5:.0x21e378
80dc0 20 69 6e 20 62 61 6e 67 31 20 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 29 0a 20 .in.bang1.(error_return_trace)..
80de0 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 0a 20 20 ...return.error.FileNotFound;...
80e00 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
80e20 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 65 k/zig-bootstrap/zig/docgen_tmp/e
80e40 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 32 32 3a 35 3a 20 30 78 32 31 rror_return_trace.zig:22:5:.0x21
80e60 65 34 38 33 20 69 6e 20 62 61 7a 20 28 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 29 e483.in.baz.(error_return_trace)
80e80 0a 20 20 20 20 74 72 79 20 62 61 6e 67 31 28 29 3b 0a 20 20 20 20 5e 0a 2f 68 6f 6d 65 2f 63 69 .....try.bang1();.....^./home/ci
80ea0 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
80ec0 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_
80ee0 74 72 61 63 65 2e 7a 69 67 3a 33 38 3a 35 3a 20 30 78 32 31 65 34 61 38 20 69 6e 20 62 61 6e 67 trace.zig:38:5:.0x21e4a8.in.bang
80f00 32 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 72 65 74 75 72 2.(error_return_trace).....retur
80f20 6e 20 65 72 72 6f 72 2e 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3b 0a 20 20 20 20 5e 0a n.error.PermissionDenied;.....^.
80f40 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
80f60 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 65 72 72 6f 72 g-bootstrap/zig/docgen_tmp/error
80f80 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 33 30 3a 35 3a 20 30 78 32 31 65 35 31 33 _return_trace.zig:30:5:.0x21e513
80fa0 20 69 6e 20 68 65 6c 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 .in.hello.(error_return_trace)..
80fc0 20 20 20 74 72 79 20 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 ...try.bang2();.....^./home/ci/a
80fe0 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
81000 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
81020 61 63 65 2e 7a 69 67 3a 31 37 3a 33 31 3a 20 30 78 32 31 65 35 65 30 20 69 6e 20 62 61 72 20 28 ace.zig:17:31:.0x21e5e0.in.bar.(
81040 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 20 65 72 72 6f error_return_trace).........erro
81060 72 2e 46 69 6c 65 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 r.FileNotFound.=&gt;.try.hello()
81080 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 20 20 20 20 20 ,...............................
810a0 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/
810c0 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 65 72 72 zig-bootstrap/zig/docgen_tmp/err
810e0 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 37 3a 39 3a 20 30 78 32 31 65 36 62 or_return_trace.zig:7:9:.0x21e6b
81100 30 20 69 6e 20 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 0.in.foo.(error_return_trace)...
81120 20 20 20 20 20 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 ......try.bar();.........^./home
81140 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
81160 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 75 tstrap/zig/docgen_tmp/error_retu
81180 72 6e 5f 74 72 61 63 65 2e 7a 69 67 3a 32 3a 35 3a 20 30 78 32 31 65 37 30 38 20 69 6e 20 6d 61 rn_trace.zig:2:5:.0x21e708.in.ma
811a0 69 6e 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 in.(error_return_trace).....try.
811c0 66 6f 6f 28 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 foo(12);.....^.</samp></pre></fi
811e0 67 75 72 65 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 gure>.......<p>.......Look.close
81200 6c 79 20 61 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 ly.at.this.example..This.is.no.s
81220 74 61 63 6b 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 tack.trace........</p>.......<p>
81240 0a 20 20 20 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 .......You.can.see.that.the.fina
81260 6c 20 65 72 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 3c 73 70 l.error.bubbled.up.was.<code><sp
81280 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 an.class="line">PermissionDenied
812a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 62 75 74 20 74 68 </span></code>,...........but.th
812c0 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 74 68 e.original.error.that.started.th
812e0 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 3c 73 70 61 6e 20 63 is.whole.thing.was.<code><span.c
81300 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3c 2f 73 70 61 6e 3e 3c lass="line">FileNotFound</span><
81320 2f 63 6f 64 65 3e 2e 20 49 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 /code>..In.the.<code><span.class
81340 3d 22 6c 69 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 ="line">bar</span></code>.functi
81360 6f 6e 2c 20 74 68 65 20 63 6f 64 65 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 72 69 67 69 6e 61 on,.the.code.handles.the.origina
81380 6c 20 65 72 72 6f 72 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 65 6e 20 72 65 74 l.error.code,.......and.then.ret
813a0 75 72 6e 73 20 61 6e 6f 74 68 65 72 20 6f 6e 65 2c 20 66 72 6f 6d 20 74 68 65 20 73 77 69 74 63 urns.another.one,.from.the.switc
813c0 68 20 73 74 61 74 65 6d 65 6e 74 2e 20 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 h.statement..Error.Return.Traces
813e0 20 6d 61 6b 65 20 74 68 69 73 20 63 6c 65 61 72 2c 20 77 68 65 72 65 61 73 20 61 20 73 74 61 63 .make.this.clear,.whereas.a.stac
81400 6b 20 74 72 61 63 65 20 77 6f 75 6c 64 20 6c 6f 6f 6b 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 k.trace.would.look.like.this:...
81420 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
81440 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="
81460 66 69 6c 65 22 3e 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 file">stack_trace.zig</cite></fi
81480 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=
814a0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">pub<
814c0 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</
814e0 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<
81500 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">
81520 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 void</span>.{</span>.<span.class
81540 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">....foo(<span.class="tok
81560 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">12</span>);</span>.<spa
81580 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n.class="line">}</span>.<span.cl
815a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
815c0 6c 69 6e 65 22 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 2f 73 line"><span.class="tok-kw">fn</s
815e0 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 73 pan>.<span.class="tok-fn">foo</s
81600 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 69 pan>(x:.<span.class="tok-type">i
81620 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
81640 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">void</span>.{</span>.<span.cla
81660 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
81680 77 22 3e 69 66 3c 2f 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 w">if</span>.(x.&gt;=.<span.clas
816a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e s="tok-number">5</span>).{</span
816c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 61 72 >.<span.class="line">........bar
816e0 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ();</span>.<span.class="line">..
81700 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
81720 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
81740 3e 20 20 20 20 20 20 20 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >........bang2();</span>.<span.c
81760 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">....}</span>.<span.c
81780 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">}</span>.<span.class
817a0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
817c0 65 22 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 2f 73 70 61 6e e"><span.class="tok-kw">fn</span
817e0 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 70 61 6e >.<span.class="tok-fn">bar</span
81800 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<
81820 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
81840 65 22 3e 20 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 e">....<span.class="tok-kw">if</
81860 73 70 61 6e 3e 20 28 62 61 7a 28 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 span>.(baz()).{</span>.<span.cla
81880 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 71 75 75 78 28 29 3b 3c 2f 73 70 61 6e 3e ss="line">........quux();</span>
818a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 .<span.class="line">....}.<span.
818c0 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 7b 3c 2f 73 70 class="tok-kw">else</span>.{</sp
818e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 68 an>.<span.class="line">........h
81900 65 6c 6c 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ello();</span>.<span.class="line
81920 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ">....}</span>.<span.class="line
81940 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ">}</span>.<span.class="line"></
81960 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
81980 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
819a0 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 20 3c 73 70 61 6e 20 ass="tok-fn">baz</span>().<span.
819c0 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 20 7b 3c 2f class="tok-type">bool</span>.{</
819e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
81a00 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>.
81a20 62 61 6e 67 31 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e bang1();</span>.<span.class="lin
81a40 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e">}</span>.<span.class="line"><
81a60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
81a80 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
81aa0 6c 61 73 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 3c 73 70 61 lass="tok-fn">quux</span>().<spa
81ac0 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>.{
81ae0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 </span>.<span.class="line">....b
81b00 61 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ang2();</span>.<span.class="line
81b20 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ">}</span>.<span.class="line"></
81b40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
81b60 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
81b80 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 73 70 61 ass="tok-fn">hello</span>().<spa
81ba0 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>.{
81bc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 </span>.<span.class="line">....b
81be0 61 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ang2();</span>.<span.class="line
81c00 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ">}</span>.<span.class="line"></
81c20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
81c40 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
81c60 61 73 73 3d 22 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 ass="tok-fn">bang1</span>().<spa
81c80 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 6e 3e 20 7b n.class="tok-type">bool</span>.{
81ca0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
81cc0 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
81ce0 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 2f >.<span.class="tok-null">false</
81d00 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
81d20 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
81d40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
81d60 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
81d80 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e ss="tok-fn">bang2</span>().<span
81da0 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 3c .class="tok-type">void</span>.{<
81dc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
81de0 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 2f pan.class="tok-builtin">@panic</
81e00 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
81e20 74 3b 50 65 72 6d 69 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 t;PermissionDenied&quot;</span>)
81e40 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
81e60 70 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 pan></code></pre></figure><figur
81e80 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">
81ea0 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>$.<
81ec0 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 kbd>zig.build-exe.stack_trace.zi
81ee0 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 73 74 61 63 6b 5f 74 72 61 63 65 3c 2f 6b 62 g</kbd>.$.<kbd>./stack_trace</kb
81f00 64 3e 0a 74 68 72 65 61 64 20 32 34 35 33 39 37 34 20 70 61 6e 69 63 3a 20 50 65 72 6d 69 73 73 d>.thread.2453974.panic:.Permiss
81f20 69 6f 6e 44 65 6e 69 65 64 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 75 6e 6e 65 ionDenied./home/ci/actions-runne
81f40 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
81f60 5f 74 6d 70 2f 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 3a 33 38 3a 35 3a 20 30 78 32 32 31 _tmp/stack_trace.zig:38:5:.0x221
81f80 63 39 35 20 69 6e 20 62 61 6e 67 32 20 28 73 74 61 63 6b 5f 74 72 61 63 65 29 0a 20 20 20 20 40 c95.in.bang2.(stack_trace).....@
81fa0 70 61 6e 69 63 28 26 71 75 6f 74 3b 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 26 71 75 6f panic(&quot;PermissionDenied&quo
81fc0 74 3b 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 t;);.....^./home/ci/actions-runn
81fe0 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
82000 6e 5f 74 6d 70 2f 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 3a 33 30 3a 31 30 3a 20 30 78 32 n_tmp/stack_trace.zig:30:10:.0x2
82020 34 65 66 64 38 20 69 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 4efd8.in.hello.(stack_trace)....
82040 20 62 61 6e 67 32 28 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 .bang2();..........^./home/ci/ac
82060 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
82080 2f 7a 69 67 2f 64 6f 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 /zig/docgen_tmp/stack_trace.zig:
820a0 31 37 3a 31 34 3a 20 30 78 32 32 31 63 36 63 20 69 6e 20 62 61 72 20 28 73 74 61 63 6b 5f 74 72 17:14:.0x221c6c.in.bar.(stack_tr
820c0 61 63 65 29 0a 20 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 ace).........hello();...........
820e0 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
82100 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/
82120 73 74 61 63 6b 5f 74 72 61 63 65 2e 7a 69 67 3a 37 3a 31 32 3a 20 30 78 32 32 30 33 36 63 20 69 stack_trace.zig:7:12:.0x22036c.i
82140 6e 20 66 6f 6f 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 n.foo.(stack_trace).........bar(
82160 29 3b 0a 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
82180 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/
821a0 64 6f 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 32 3a 38 3a 20 docgen_tmp/stack_trace.zig:2:8:.
821c0 30 78 32 31 65 37 37 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 0x21e77d.in.main.(stack_trace)..
821e0 20 20 20 66 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 ...foo(12);........^./home/ci/ac
82200 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
82220 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:
82240 35 36 34 3a 32 32 3a 20 30 78 32 31 65 30 32 32 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 564:22:.0x21e022.in.posixCallMai
82260 6e 41 6e 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 nAndExit.(stack_trace)..........
82280 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 20 20 ...root.main();.................
822a0 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/_
822c0 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/
822e0 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 62 37 zig/std/start.zig:243:5:.0x21db7
82300 31 20 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 1.in._start.(stack_trace).....as
82320 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 68 29 m.volatile.(switch.(native_arch)
82340 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 3f 3f .{.....^.???:?:?:.0x0.in.???.(??
82360 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 61 6c ?).(process.terminated.by.signal
82380 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 20 3c ).</samp></pre></figure>.......<
823a0 70 3e 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 p>.......Here,.the.stack.trace.d
823c0 6f 65 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 oes.not.explain.how.the.control.
823e0 20 20 20 20 20 20 66 6c 6f 77 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ......flow.in.<code><span.class=
82400 22 6c 69 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 67 6f 74 20 74 6f 20 "line">bar</span></code>.got.to.
82420 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 6c the.<code><span.class="line">hel
82440 6c 6f 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 4f lo()</span></code>.call........O
82460 6e 65 20 77 6f 75 6c 64 20 68 61 76 65 20 74 6f 20 6f 70 65 6e 20 61 20 64 65 62 75 67 67 65 72 ne.would.have.to.open.a.debugger
82480 20 6f 72 20 66 75 72 74 68 65 72 20 69 6e 73 74 72 75 6d 65 6e 74 20 74 68 65 20 61 70 70 6c 69 .or.further.instrument.the.appli
824a0 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 66 69 6e 64 20 6f 75 cation.......in.order.to.find.ou
824c0 74 2e 20 54 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 65 2c 20 6f 6e 20 74 68 t..The.error.return.trace,.on.th
824e0 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 0a 20 20 20 20 20 20 73 68 6f 77 73 20 65 78 61 63 74 6c e.other.hand,.......shows.exactl
82500 79 20 68 6f 77 20 74 68 65 20 65 72 72 6f 72 20 62 75 62 62 6c 65 64 20 75 70 2e 0a 20 20 20 20 y.how.the.error.bubbled.up......
82520 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 64 65 62 75 ..</p>.......<p>.......This.debu
82540 67 67 69 6e 67 20 66 65 61 74 75 72 65 20 6d 61 6b 65 73 20 69 74 20 65 61 73 69 65 72 20 74 6f gging.feature.makes.it.easier.to
82560 20 69 74 65 72 61 74 65 20 71 75 69 63 6b 6c 79 20 6f 6e 20 63 6f 64 65 20 74 68 61 74 0a 20 20 .iterate.quickly.on.code.that...
82580 20 20 20 20 72 6f 62 75 73 74 6c 79 20 68 61 6e 64 6c 65 73 20 61 6c 6c 20 65 72 72 6f 72 20 63 ....robustly.handles.all.error.c
825a0 6f 6e 64 69 74 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 5a 69 67 20 64 onditions..This.means.that.Zig.d
825c0 65 76 65 6c 6f 70 65 72 73 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e 61 74 75 72 61 6c 6c 79 20 66 evelopers.......will.naturally.f
825e0 69 6e 64 20 74 68 65 6d 73 65 6c 76 65 73 20 77 72 69 74 69 6e 67 20 63 6f 72 72 65 63 74 2c 20 ind.themselves.writing.correct,.
82600 72 6f 62 75 73 74 20 63 6f 64 65 20 69 6e 20 6f 72 64 65 72 0a 20 20 20 20 20 20 74 6f 20 69 6e robust.code.in.order.......to.in
82620 63 72 65 61 73 65 20 74 68 65 69 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 70 61 63 65 2e 0a 20 crease.their.development.pace...
82640 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 45 72 72 6f 72 20 .....</p>.......<p>.......Error.
82660 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 Return.Traces.are.enabled.by.def
82680 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f ault.in.<a.href="#Debug">Debug</
826a0 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 a>.and.<a.href="#ReleaseSafe">Re
826c0 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 62 75 69 6c 64 73 20 61 6e 64 20 64 69 73 61 62 6c 65 leaseSafe</a>.builds.and.disable
826e0 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 52 65 6c 65 61 73 d.by.default.in.<a.href="#Releas
82700 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 eFast">ReleaseFast</a>.and.<a.hr
82720 65 66 3d 22 23 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 3c ef="#ReleaseSmall">ReleaseSmall<
82740 2f 61 3e 20 62 75 69 6c 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e /a>.builds........</p>.......<p>
82760 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 77 61 79 73 20 74 6f 20 61 .......There.are.a.few.ways.to.a
82780 63 74 69 76 61 74 65 20 74 68 69 73 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e ctivate.this.error.return.tracin
827a0 67 20 66 65 61 74 75 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e g.feature:.......</p>.......<ul>
827c0 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 66 72 6f .........<li>Return.an.error.fro
827e0 6d 20 6d 61 69 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 65 72 72 6f 72 m.main</li>.........<li>An.error
82800 20 6d 61 6b 65 73 20 69 74 73 20 77 61 79 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .makes.its.way.to.<code><span.cl
82820 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
82840 63 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 6b 77 catch</span>.<span.class="tok-kw
82860 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ">unreachable</span></span></cod
82880 65 3e 20 61 6e 64 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 20 6f 76 65 72 72 69 64 64 65 6e 20 74 e>.and.you.have.not.overridden.t
828a0 68 65 20 64 65 66 61 75 6c 74 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 3c 2f 6c 69 3e 0a 20 20 he.default.panic.handler</li>...
828c0 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 3c 61 20 68 72 65 66 3d 22 23 65 72 72 6f 72 52 65 74 ......<li>Use.<a.href="#errorRet
828e0 75 72 6e 54 72 61 63 65 22 3e 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 61 3e 20 74 urnTrace">errorReturnTrace</a>.t
82900 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 74 75 72 6e 20 74 72 61 63 o.access.the.current.return.trac
82920 65 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e..You.can.use.<code><span.class
82940 3d 22 6c 69 6e 65 22 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 ="line">std.debug.dumpStackTrace
82960 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 70 72 69 6e 74 20 69 74 2e 20 54 68 69 73 </span></code>.to.print.it..This
82980 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e .function.returns.comptime-known
829a0 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 20 77 68 65 6e 20 62 .<a.href="#null">null</a>.when.b
829c0 75 69 6c 64 69 6e 67 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 uilding.without.error.return.tra
829e0 63 69 6e 67 20 73 75 70 70 6f 72 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 cing.support.</li>.......</ul>..
82a00 20 20 20 20 20 3c 68 34 20 69 64 3d 22 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 .....<h4.id="Implementation-Deta
82a20 69 6c 73 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 61 74 69 6f ils"><a.href="#toc-Implementatio
82a40 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 44 65 74 61 69 6c n-Details">Implementation.Detail
82a60 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 6d 70 6c s</a>.<a.class="hdr".href="#Impl
82a80 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a ementation-Details">..</a></h4>.
82aa0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 61 6e 61 6c 79 7a 65 20 70 65 72 66 .......<p>.......To.analyze.perf
82ac0 6f 72 6d 61 6e 63 65 20 63 6f 73 74 2c 20 74 68 65 72 65 20 61 72 65 20 74 77 6f 20 63 61 73 65 ormance.cost,.there.are.two.case
82ae0 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 20 s:.......</p>.......<ul>........
82b00 20 3c 6c 69 3e 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 .<li>when.no.errors.are.returned
82b20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 77 68 65 6e 20 72 65 74 75 72 6e 69 6e 67 </li>.........<li>when.returning
82b40 20 65 72 72 6f 72 73 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 .errors</li>.......</ul>.......<
82b60 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 20 6e 6f 20 65 72 p>.......For.the.case.when.no.er
82b80 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 2c 20 74 68 65 20 63 6f 73 74 20 69 73 20 61 rors.are.returned,.the.cost.is.a
82ba0 20 73 69 6e 67 6c 65 20 6d 65 6d 6f 72 79 20 77 72 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2c 20 .single.memory.write.operation,.
82bc0 6f 6e 6c 79 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 66 61 69 6c 61 62 6c 65 20 66 only.in.the.first.non-failable.f
82be0 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 63 61 6c 6c 20 67 72 61 70 68 20 74 68 61 74 20 63 unction.in.the.call.graph.that.c
82c00 61 6c 6c 73 20 61 20 66 61 69 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 2c 20 69 2e 65 2e 20 77 alls.a.failable.function,.i.e..w
82c20 68 65 6e 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 3c hen.a.function.returning.<code><
82c40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
82c60 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-type">void</span></span></cod
82c80 65 3e 20 63 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 e>.calls.a.function.returning.<c
82ca0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
82cc0 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 73 70 61 6e 3e 3c ss="tok-kw">error</span></span><
82ce0 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 61 6c /code>........This.is.to.initial
82d00 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 65 6d ize.this.struct.in.the.stack.mem
82d20 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 3c 66 ory:.......</p>.......<figure><f
82d40 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.
82d60 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 74 2e class="file">stack_trace_struct.
82d80 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
82da0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
82dc0 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
82de0 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 61 63 6b 54 72 61 63 ="tok-kw">const</span>.StackTrac
82e00 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<
82e20 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
82e40 65 22 3e 20 20 20 20 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 e">....index:.<span.class="tok-t
82e60 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">usize</span>,</span>.<span.
82e80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 5f 61 64 64 class="line">....instruction_add
82ea0 72 65 73 73 65 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 resses:.[N]<span.class="tok-type
82ec0 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">usize</span>,</span>.<span.cla
82ee0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ss="line">};</span></code></pre>
82f00 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 48 65 72 65 2c 20 </figure>.......<p>.......Here,.
82f20 4e 20 69 73 20 74 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 N.is.the.maximum.function.call.d
82f40 65 70 74 68 20 61 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 epth.as.determined.by.call.graph
82f60 20 61 6e 61 6c 79 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 .analysis..Recursion.is.ignored.
82f80 61 6e 64 20 63 6f 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 and.counts.for.2........</p>....
82fa0 20 20 20 3c 70 3e 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 ...<p>.......A.pointer.to.<code>
82fc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 61 63 6b 54 72 61 63 65 3c 2f 73 <span.class="line">StackTrace</s
82fe0 70 61 6e 3e 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 pan></code>.is.passed.as.a.secre
83000 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
83020 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
83040 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.
83060 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.
83080 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>......
830a0 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
830c0 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
830e0 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
83100 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>.....
83120 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
83140 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,
83160 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
83180 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 ss="line"><span.class="tok-kw">r
831a0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 eturn</span></span></code>.state
831c0 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 73 70 61 6e 20 63 ment.(only.for.the.<code><span.c
831e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
83200 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 >return</span></span></code>.sta
83220 74 65 6d 65 6e 74 73 20 74 68 61 74 20 72 65 74 75 72 6e 20 65 72 72 6f 72 73 29 2c 20 5a 69 67 tements.that.return.errors),.Zig
83240 20 67 65 6e 65 72 61 74 65 73 20 61 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 .generates.a.call.to.this.functi
83260 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 75 72 65 3e 3c 66 69 on:.......</p>.......<figure><fi
83280 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
832a0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 5f 66 6e 2e lass="file">zig_return_error_fn.
832c0 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
832e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
83300 3d 22 74 6f 6b 2d 63 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 ="tok-comment">//.marked.as.&quo
83320 74 3b 6e 6f 2d 69 6e 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 t;no-inline&quot;.in.LLVM.IR</sp
83340 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 an></span>.<span.class="line"><s
83360 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
83380 61 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 an.class="tok-fn">__zig_return_e
833a0 72 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 rror</span>(stack_trace:.*StackT
833c0 72 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 race).<span.class="tok-type">voi
833e0 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
83400 69 6e 65 22 3e 20 20 20 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 73 74 72 75 63 74 69 6f 6e ine">....stack_trace.instruction
83420 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 78 5d 20 3d 20 _addresses[stack_trace.index].=.
83440 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 72 65 74 75 72 <span.class="tok-builtin">@retur
83460 6e 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nAddress</span>();</span>.<span.
83480 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 class="line">....stack_trace.ind
834a0 65 78 20 3d 20 28 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 65 78 20 2b 20 3c 73 70 61 6e 20 ex.=.(stack_trace.index.+.<span.
834c0 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 25 20 4e class="tok-number">1</span>).%.N
834e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
83500 70 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 0a 20 20 20 20 20 pan></code></pre></figure>......
83520 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 73 74 20 69 73 20 32 20 6d 61 74 68 20 6f 70 .<p>.......The.cost.is.2.math.op
83540 65 72 61 74 69 6f 6e 73 20 70 6c 75 73 20 73 6f 6d 65 20 6d 65 6d 6f 72 79 20 72 65 61 64 73 20 erations.plus.some.memory.reads.
83560 61 6e 64 20 77 72 69 74 65 73 2e 20 54 68 65 20 6d 65 6d 6f 72 79 20 61 63 63 65 73 73 65 64 20 and.writes..The.memory.accessed.
83580 69 73 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 6d 61 69 6e is.constrained.and.should.remain
835a0 20 63 61 63 68 65 64 20 66 6f 72 20 74 68 65 20 64 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 .cached.for.the.duration.of.the.
835c0 65 72 72 6f 72 20 72 65 74 75 72 6e 20 62 75 62 62 6c 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 error.return.bubbling........</p
835e0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 20 66 6f 72 20 63 6f 64 65 20 73 69 >.......<p>.......As.for.code.si
83600 7a 65 20 63 6f 73 74 2c 20 31 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 62 65 66 6f 72 65 20 ze.cost,.1.function.call.before.
83620 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6e 6f 20 62 69 67 20 64 65 61 a.return.statement.is.no.big.dea
83640 6c 2e 20 45 76 65 6e 20 73 6f 2c 0a 20 20 20 20 20 20 49 20 68 61 76 65 20 3c 61 20 68 72 65 66 l..Even.so,.......I.have.<a.href
83660 3d 22 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 ="https://github.com/ziglang/zig
83680 2f 69 73 73 75 65 73 2f 36 39 30 22 3e 61 20 70 6c 61 6e 3c 2f 61 3e 20 74 6f 20 6d 61 6b 65 20 /issues/690">a.plan</a>.to.make.
836a0 74 68 65 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c the.call.to.......<code><span.cl
836c0 61 73 73 3d 22 6c 69 6e 65 22 3e 5f 5f 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 3c 2f 73 ass="line">__zig_return_error</s
836e0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 20 74 61 69 6c 20 63 61 6c 6c 2c 20 77 68 69 63 68 20 62 pan></code>.a.tail.call,.which.b
83700 72 69 6e 67 73 20 74 68 65 20 63 6f 64 65 20 73 69 7a 65 20 63 6f 73 74 20 64 6f 77 6e 20 74 6f rings.the.code.size.cost.down.to
83720 20 61 63 74 75 61 6c 6c 79 20 7a 65 72 6f 2e 20 57 68 61 74 20 69 73 20 61 20 72 65 74 75 72 6e .actually.zero..What.is.a.return
83740 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 20 63 6f 64 65 20 77 69 74 68 6f 75 74 20 65 72 72 6f 72 .statement.in.code.without.error
83760 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 20 63 61 6e 20 62 65 63 6f 6d 65 20 61 20 6a 75 6d .return.tracing.can.become.a.jum
83780 70 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 69 6e 20 63 6f 64 65 20 77 69 74 68 20 65 72 72 6f 72 p.instruction.in.code.with.error
837a0 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .return.tracing........</p>.....
837c0 20 20 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 4f .......................<h2.id="O
837e0 70 74 69 6f 6e 61 6c 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 ptionals"><a.href="#toc-Optional
83800 73 22 3e 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 64 72 22 20 s">Optionals</a>.<a.class="hdr".
83820 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 href="#Optionals">..</a></h2>...
83840 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 65 20 61 72 65 61 20 74 68 61 74 20 5a 69 67 .....<p>.......One.area.that.Zig
83860 20 70 72 6f 76 69 64 65 73 20 73 61 66 65 74 79 20 77 69 74 68 6f 75 74 20 63 6f 6d 70 72 6f 6d .provides.safety.without.comprom
83880 69 73 69 6e 67 20 65 66 66 69 63 69 65 6e 63 79 20 6f 72 0a 20 20 20 20 20 20 72 65 61 64 61 62 ising.efficiency.or.......readab
838a0 69 6c 69 74 79 20 69 73 20 77 69 74 68 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e ility.is.with.the.optional.type.
838c0 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 20 .......</p>.......<p>.......The.
838e0 71 75 65 73 74 69 6f 6e 20 6d 61 72 6b 20 73 79 6d 62 6f 6c 69 7a 65 73 20 74 68 65 20 6f 70 74 question.mark.symbolizes.the.opt
83900 69 6f 6e 61 6c 20 74 79 70 65 2e 20 59 6f 75 20 63 61 6e 20 63 6f 6e 76 65 72 74 20 61 20 74 79 ional.type..You.can.convert.a.ty
83920 70 65 20 74 6f 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 74 79 70 65 20 62 79 20 pe.to.an.optional.......type.by.
83940 70 75 74 74 69 6e 67 20 61 20 71 75 65 73 74 69 6f 6e 20 6d 61 72 6b 20 69 6e 20 66 72 6f 6e 74 putting.a.question.mark.in.front
83960 20 6f 66 20 69 74 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 .of.it,.like.this:.......</p>...
83980 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
839a0 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 6f 70 74 69 6f ig-cap"><cite.class="file">optio
839c0 6e 61 6c 5f 69 6e 74 65 67 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 nal_integer.zig</cite></figcapti
839e0 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 6c 69 6e 65 22 on><pre><code><span.class="line"
83a00 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 20 6e 6f ><span.class="tok-comment">//.no
83a20 72 6d 61 6c 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e rmal.integer</span></span>.<span
83a40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
83a60 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 73 70 61 w">const</span>.normal_int:.<spa
83a80 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 20 n.class="tok-type">i32</span>.=.
83aa0 3c 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
83ac0 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
83ae0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
83b00 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 70 74 69 6f 6e 61 6c .class="tok-comment">//.optional
83b20 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .integer</span></span>.<span.cla
83b40 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
83b60 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 3a 20 3f 3c 73 70 61 6e onst</span>.optional_int:.?<span
83b80 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>.=.<
83ba0 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 36 37 38 3c 2f 73 70 span.class="tok-number">5678</sp
83bc0 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 an>;</span></code></pre></figure
83be0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 77 20 74 68 65 20 76 61 72 69 61 62 >.......<p>.......Now.the.variab
83c00 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 le.<code><span.class="line">opti
83c20 6f 6e 61 6c 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 75 6c 64 20 62 65 20 onal_int</span></code>.could.be.
83c40 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 an.<code><span.class="line"><spa
83c60 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 73 n.class="tok-type">i32</span></s
83c80 70 61 6e 3e 3c 2f 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 pan></code>,.or.<code><span.clas
83ca0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e s="line"><span.class="tok-null">
83cc0 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 null</span></span></code>.......
83ce0 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
83d00 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
83d20 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
83d40 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
83d60 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
83d80 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
83da0 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
83dc0 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
83de0 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
83e00 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>........</
83e20 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
83e40 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,
83e60 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
83e80 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
83ea0 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
83ec0 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.
83ee0 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
83f00 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
83f20 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.
83f40 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
83f60 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
83f80 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
83fa0 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
83fc0 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.....
83fe0 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
84000 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.
84020 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
84040 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.
84060 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>...
84080 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>
840a0 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.
840c0 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<
840e0 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
84100 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 2f 20 6d 61 6c 6c 6f 63 20 70 72 6f 74 6f pan.class="line">//.malloc.proto
84120 74 79 70 65 20 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 3c 2f 73 70 61 type.included.for.reference</spa
84140 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 6f 69 64 20 2a 6d 61 6c 6c n>.<span.class="line">void.*mall
84160 6f 63 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c oc(size_t.size);</span>.<span.cl
84180 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
841a0 6c 69 6e 65 22 3e 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 line">struct.Foo.*do_a_thing(voi
841c0 64 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 d).{</span>.<span.class="line">.
841e0 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 3b 3c 2f 73 70 ...char.*ptr.=.malloc(1234);</sp
84200 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 an>.<span.class="line">....if.(!
84220 70 74 72 29 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ptr).return.NULL;</span>.<span.c
84240 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 lass="line">....//....</span>.<s
84260 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
84280 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 5a 69 67 20 63 6f 64 </pre></figure>.......<p>Zig.cod
842a0 65 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 e</p>.......<figure><figcaption.
842c0 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
842e0 65 22 3e 63 61 6c 6c 5f 6d 61 6c 6c 6f 63 5f 66 72 6f 6d 5f 7a 69 67 2e 7a 69 67 3c 2f 63 69 74 e">call_malloc_from_zig.zig</cit
84300 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.
84320 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f class="line"><span.class="tok-co
84340 6d 6d 65 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 mment">//.malloc.prototype.inclu
84360 64 65 64 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ded.for.reference</span></span>.
84380 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
843a0 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 73 tok-kw">extern</span>.<span.clas
843c0 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
843e0 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 20 3c 73 ="tok-fn">malloc</span>(size:.<s
84400 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
84420 3e 29 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 75 38 3c 2f >).?*<span.class="tok-type">u8</
84440 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
84460 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
84480 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
844a0 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 61 6e 3e 28 .class="tok-fn">doAThing</span>(
844c0 29 20 3f 2a 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ).?*Foo.{</span>.<span.class="li
844e0 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">con
84500 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 6d 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 st</span>.ptr.=.malloc(<span.cla
84520 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 20 3c 73 70 ss="tok-number">1234</span>).<sp
84540 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 6e 3e 20 an.class="tok-kw">orelse</span>.
84560 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
84580 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 6e 75 6c 6c 3c 2f n>.<span.class="tok-null">null</
845a0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
845c0 3e 20 20 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 >...._.=.ptr;.<span.class="tok-c
845e0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 omment">//....</span></span>.<sp
84600 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
84620 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 20 /pre></figure>.......<p>........
84640 20 48 65 72 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 .Here,.Zig.is.at.least.as.conven
84660 69 65 6e 74 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 ient,.if.not.more,.than.C..And,.
84680 74 68 65 20 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 the.type.of."ptr".........is.<co
846a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 de><span.class="line">*<span.cla
846c0 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 73 70 61 6e 3e 3c 2f ss="tok-type">u8</span></span></
846e0 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 3c 73 70 61 6e 20 63 code>.<em>not</em>.<code><span.c
84700 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 lass="line">?*<span.class="tok-t
84720 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 ype">u8</span></span></code>..Th
84740 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e.<code><span.class="line"><span
84760 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 3c 2f 73 .class="tok-kw">orelse</span></s
84780 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 pan></code>.keyword.............
847a0 20 20 20 20 20 20 20 20 75 6e 77 72 61 70 70 65 64 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 ........unwrapped.the.optional.t
847c0 79 70 65 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ype.and.therefore.<code><span.cl
847e0 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 ass="line">ptr</span></code>.is.
84800 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 6e 6f 6e 2d 6e 75 6c 6c 20 65 76 65 72 79 77 guaranteed.to.be.non-null.everyw
84820 68 65 72 65 0a 20 20 20 20 20 20 20 20 69 74 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 65 20 66 here.........it.is.used.in.the.f
84840 75 6e 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 unction........</p>.......<p>...
84860 20 20 20 20 20 20 54 68 65 20 6f 74 68 65 72 20 66 6f 72 6d 20 6f 66 20 63 68 65 63 6b 69 6e 67 ......The.other.form.of.checking
84880 20 61 67 61 69 6e 73 74 20 4e 55 4c 4c 20 79 6f 75 20 6d 69 67 68 74 20 73 65 65 20 6c 6f 6f 6b .against.NULL.you.might.see.look
848a0 73 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 s.like.this:.......</p>.......<f
848c0 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 63 61 70 22 3e igure><figcaption.class="c-cap">
848e0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 68 65 63 6b 69 6e 67 5f 6e 75 6c 6c <cite.class="file">checking_null
84900 5f 69 6e 5f 63 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 3e _in_c.c</cite></figcaption><pre>
84920 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 6f 69 64 20 64 6f <code><span.class="line">void.do
84940 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 3c 2f 73 70 61 _a_thing(struct.Foo.*foo).{</spa
84960 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2f 2f 20 64 6f 20 n>.<span.class="line">....//.do.
84980 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c some.stuff</span>.<span.class="l
849a0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
849c0 20 20 20 20 69 66 20 28 66 6f 6f 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ....if.(foo).{</span>.<span.clas
849e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 5f 77 69 s="line">........do_something_wi
84a00 74 68 5f 66 6f 6f 28 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d th_foo(foo);</span>.<span.class=
84a20 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....}</span>.<span.class=
84a40 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
84a60 22 3e 20 20 20 20 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 0a 3c 73 ">....//.do.some.stuff</span>.<s
84a80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
84aa0 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>.......
84ac0 20 20 49 6e 20 5a 69 67 20 79 6f 75 20 63 61 6e 20 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 65 20 ..In.Zig.you.can.accomplish.the.
84ae0 73 61 6d 65 20 74 68 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 same.thing:.......</p>.......<fi
84b00 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"
84b20 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 68 65 63 6b 69 6e 67 5f 6e 75 6c ><cite.class="file">checking_nul
84b40 6c 5f 69 6e 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 l_in_zig.zig</cite></figcaption>
84b60 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
84b80 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>.
84ba0 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 75 63 Foo.=.<span.class="tok-kw">struc
84bc0 74 3c 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t</span>{};</span>.<span.class="
84be0 6c 69 6e 65 22 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 2f 73 line"><span.class="tok-kw">fn</s
84c00 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 65 pan>.<span.class="tok-fn">doSome
84c20 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 3c thingWithFoo</span>(foo:.*Foo).<
84c40 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
84c60 3e 20 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >.{._.=.foo;.}</span>.<span.clas
84c80 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
84ca0 6e 65 22 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 2f 73 70 61 ne"><span.class="tok-kw">fn</spa
84cc0 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 54 68 69 6e 67 n>.<span.class="tok-fn">doAThing
84ce0 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 66 6f 6f 3a 20 3f 2a 46 6f 6f 29 20 3c 73 70 </span>(optional_foo:.?*Foo).<sp
84d00 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>.
84d20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
84d40 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 64 6f 20 <span.class="tok-comment">//.do.
84d60 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 some.stuff</span></span>.<span.c
84d80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
84da0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
84dc0 69 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 if</span>.(optional_foo).|foo|.{
84de0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
84e00 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 3c 2f 73 70 61 6e 3e .doSomethingWithFoo(foo);</span>
84e20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
84e40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
84e60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
84e80 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
84ea0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d pan></span>.<span.class="line">}
84ec0 3c 2f 73 70 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 0a 20 20 </span></code></pre></figure>...
84ee0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 63 65 20 61 67 61 69 6e 2c 20 74 68 65 20 6e 6f ....<p>.......Once.again,.the.no
84f00 74 61 62 6c 65 20 74 68 69 6e 67 20 68 65 72 65 20 69 73 20 74 68 61 74 20 69 6e 73 69 64 65 20 table.thing.here.is.that.inside.
84f20 74 68 65 20 69 66 20 62 6c 6f 63 6b 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 the.if.block,.......<code><span.
84f40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 class="line">foo</span></code>.i
84f60 73 20 6e 6f 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 s.no.longer.an.optional.pointer,
84f80 20 69 74 20 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 .it.is.a.pointer,.which.......ca
84fa0 6e 6e 6f 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 nnot.be.null........</p>.......<
84fc0 70 3e 0a 20 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 p>.......One.benefit.to.this.is.
84fe0 74 68 61 74 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 that.functions.which.take.pointe
85000 72 73 20 61 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 rs.as.arguments.can.......be.ann
85020 6f 74 61 74 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 otated.with.the."nonnull".attrib
85040 75 74 65 20 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 ute.-.<code>__attribute__((nonnu
85060 6c 6c 29 29 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 ll))</code>.in.......<a.href="ht
85080 74 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 tps://gcc.gnu.org/onlinedocs/gcc
850a0 2d 34 2e 30 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 -4.0.0/gcc/Function-Attributes.h
850c0 74 6d 6c 22 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 tml">GCC</a>........The.optimize
850e0 72 20 63 61 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 r.can.sometimes.make.better.deci
85100 73 69 6f 6e 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 sions.knowing.that.pointer.argum
85120 65 6e 74 73 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 ents.......cannot.be.null.......
85140 20 3c 2f 70 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 .</p>.......<h3.id="Optional-Typ
85160 65 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 54 79 70 65 22 3e e"><a.href="#toc-Optional-Type">
85180 4f 70 74 69 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 Optional.Type</a>.<a.class="hdr"
851a0 20 68 72 65 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 .href="#Optional-Type">..</a></h
851c0 33 3e 0a 0a 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 3>........<p>An.optional.is.crea
851e0 74 65 64 20 62 79 20 70 75 74 74 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ted.by.putting.<code><span.class
85200 3d 22 6c 69 6e 65 22 3e 3f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 ="line">?</span></code>.in.front
85220 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 65 2d .of.a.type..You.can.use.compile-
85240 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 73 20 time.......reflection.to.access.
85260 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 3c 2f the.child.type.of.an.optional:</
85280 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
852a0 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">
852c0 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 2f 66 test_optional_type.zig</cite></f
852e0 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
85300 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
85320 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="
85340 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
85360 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
85380 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 3c 2f 73 70 61 6e 3e ;</span>).testing.expect;</span>
853a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
853c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
853e0 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
85400 2d 73 74 72 22 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 -str">&quot;optional.type&quot;<
85420 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
85440 65 22 3e 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 e">....<span.class="tok-comment"
85460 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 72 >//.Declare.an.optional.and.coer
85480 63 65 20 66 72 6f 6d 20 6e 75 6c 6c 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ce.from.null:</span></span>.<spa
854a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
854c0 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 3c 73 70 61 6e 20 63 tok-kw">var</span>.foo:.?<span.c
854e0 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
85500 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 3b an.class="tok-null">null</span>;
85520 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
85540 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
85560 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 class="tok-comment">//.Coerce.fr
85580 6f 6d 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 3c 2f 73 70 om.child.type.of.an.optional</sp
855a0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
855c0 20 20 66 6f 6f 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 ..foo.=.<span.class="tok-number"
855e0 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >1234</span>;</span>.<span.class
85600 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
85620 65 22 3e 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 e">....<span.class="tok-comment"
85640 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 74 69 6f 6e 20 >//.Use.compile-time.reflection.
85660 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 20 74 68 65 20 to.access.the.child.type.of.the.
85680 6f 70 74 69 6f 6e 61 6c 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c optional:</span></span>.<span.cl
856a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
856c0 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 6b 2d kw">try</span>.<span.class="tok-
856e0 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 61 6e kw">comptime</span>.expect(<span
85700 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</
85720 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">
85740 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 4f 70 74 69 6f 6e 61 6c 2e 63 68 @TypeOf</span>(foo)).Optional.ch
85760 69 6c 64 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 22 3e 69 33 ild.==.<span.class="tok-type">i3
85780 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>);</span>.<span.class="l
857a0 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
857c0 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
857e0 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>
85800 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
85820 6e 61 6c 5f 74 79 70 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6f 70 74 69 nal_type.zig</kbd>.1/1.test.opti
85840 6f 6e 61 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 onal.type....OK.All.1.tests.pass
85860 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>......
85880 20 0a 20 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 ........<h3.id="null"><a.href="#
858a0 74 6f 63 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 toc-null">null</a>.<a.class="hdr
858c0 22 20 68 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 ".href="#null">..</a></h3>......
858e0 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 72 65 66 3d 22 23 ..<p>.......Just.like.<a.href="#
85900 75 6e 64 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 undefined">undefined</a>,.<code>
85920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
85940 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-null">null</span></span></co
85960 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 20 6f 6e de>.has.its.own.type,.and.the.on
85980 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 63 61 73 ly.way.to.use.it.is.to.......cas
859a0 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 20 20 20 t.it.to.a.different.type:.......
859c0 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
859e0 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
85a00 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 3e 3c 70 ">null.zig</cite></figcaption><p
85a20 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
85a40 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 70 n.class="tok-kw">const</span>.op
85a60 74 69 6f 6e 61 6c 5f 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 tional_value:.?<span.class="tok-
85a80 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="
85aa0 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 tok-null">null</span>;</span></c
85ac0 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>.............
85ae0 20 3c 68 33 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 .<h3.id="Optional-Pointers"><a.h
85b00 72 65 66 3d 22 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 ref="#toc-Optional-Pointers">Opt
85b20 69 6f 6e 61 6c 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 64 72 ional.Pointers</a>.<a.class="hdr
85b40 22 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 c2 a7 3c 2f ".href="#Optional-Pointers">..</
85b60 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f a></h3>........<p>An.optional.po
85b80 69 6e 74 65 72 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 74 68 65 20 73 61 inter.is.guaranteed.to.be.the.sa
85ba0 6d 65 20 73 69 7a 65 20 61 73 20 61 20 70 6f 69 6e 74 65 72 2e 20 54 68 65 20 3c 63 6f 64 65 3e me.size.as.a.pointer..The.<code>
85bc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
85be0 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-null">null</span></span></co
85c00 64 65 3e 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 69 73 20 67 75 61 de>.of.......the.optional.is.gua
85c20 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 61 64 64 72 65 73 73 20 30 2e 3c 2f 70 3e 0a 20 20 20 ranteed.to.be.address.0.</p>....
85c40 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
85c60 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 6f g-cap"><cite.class="file">test_o
85c80 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ptional_pointer.zig</cite></figc
85ca0 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 6c aption><pre><code><span.class="l
85cc0 69 6e 65 22 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 ine"><span.class="tok-kw">const<
85ce0 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
85d00 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
85d20 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;</
85d40 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 span>).testing.expect;</span>.<s
85d60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
85d80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
85da0 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
85dc0 72 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b r">&quot;optional.pointers&quot;
85de0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
85e00 6e 65 22 3e 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 ne">....<span.class="tok-comment
85e20 22 3e 2f 2f 20 50 6f 69 6e 74 65 72 73 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 6c 2e 20 49 66 ">//.Pointers.cannot.be.null..If
85e40 20 79 6f 75 20 77 61 6e 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 74 68 .you.want.a.null.pointer,.use.th
85e60 65 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e.optional</span></span>.<span.c
85e80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
85ea0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 72 65 66 69 78 20 60 3f 60 20 74 6f 20 6d 61 6b 65 20 -comment">//.prefix.`?`.to.make.
85ec0 74 68 65 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e the.pointer.type.optional.</span
85ee0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
85f00 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>.
85f20 70 74 72 3a 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 ptr:.?*<span.class="tok-type">i3
85f40 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 6c 6c 2</span>.=.<span.class="tok-null
85f60 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">null</span>;</span>.<span.clas
85f80 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
85fa0 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">var
85fc0 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
85fe0 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-
86000 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">1</span>;</span>.<span.c
86020 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 lass="line">....ptr.=.&amp;x;</s
86040 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
86060 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
86080 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 74 ss="tok-kw">try</span>.expect(pt
860a0 72 2e 3f 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 65 72 r.?.*.==.<span.class="tok-number
860c0 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">1</span>);</span>.<span.class=
860e0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
86100 22 3e 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">
86120 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 20 73 61 6d //.Optional.pointers.are.the.sam
86140 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 65 63 61 75 e.size.as.normal.pointers,.becau
86160 73 65 20 70 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 se.pointer</span></span>.<span.c
86180 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
861a0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 20 30 20 69 73 20 75 73 65 64 20 61 73 20 -comment">//.value.0.is.used.as.
861c0 74 68 65 20 6e 75 6c 6c 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 the.null.value.</span></span>.<s
861e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
86200 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
86220 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 73 n.class="tok-builtin">@sizeOf</s
86240 70 61 6e 3e 28 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 pan>(?*<span.class="tok-type">i3
86260 32 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 62 75 2</span>).==.<span.class="tok-bu
86280 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 iltin">@sizeOf</span>(*<span.cla
862a0 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 29 3b 3c 2f 73 70 61 ss="tok-type">i32</span>));</spa
862c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
862e0 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
86300 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<
86320 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
86340 67 20 74 65 73 74 20 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 g.test.test_optional_pointer.zig
86360 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 </kbd>.1/1.test.optional.pointer
86380 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 61 s....OK.All.1.tests.passed..</sa
863a0 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 20 mp></pre></figure>..............
863c0 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 20 68 72 65 66 3d .......<h2.id="Casting"><a.href=
863e0 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 20 3c 61 20 63 6c "#toc-Casting">Casting</a>.<a.cl
86400 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 c2 a7 3c 2f 61 3e ass="hdr".href="#Casting">..</a>
86420 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 73 74 72 6f 6e 67 </h2>........<p>.......A.<strong
86440 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 74 73 20 61 20 76 >type.cast</strong>.converts.a.v
86460 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 72 2e 0a 20 20 20 alue.of.one.type.to.another.....
86480 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 43 6f 65 72 63 69 ...Zig.has.<a.href="#Type-Coerci
864a0 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 63 6f 6e 76 65 72 on">Type.Coercion</a>.for.conver
864c0 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 20 63 6f 6d 70 6c sions.that.are.known.to.be.compl
864e0 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 2c 0a 20 20 20 20 etely.safe.and.unambiguous,.....
86500 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 61 73 74 73 22 3e ..and.<a.href="#Explicit-Casts">
86520 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 76 65 72 73 69 6f Explicit.Casts</a>.for.conversio
86540 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 20 74 6f 20 68 61 ns.that.one.would.not.want.to.ha
86560 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 65 72 65 20 69 73 ppen.on.accident........There.is
86580 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 20 63 6f 6e 76 65 .also.a.third.kind.of.type.conve
865a0 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 72 2d 54 79 70 65 rsion.called.<a.href="#Peer-Type
865c0 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 6f -Resolution">Peer.Type.Resolutio
865e0 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 68 65 6e 20 61 20 n</a>.for.......the.case.when.a.
86600 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 64 20 67 69 76 65 result.type.must.be.decided.give
86620 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 20 20 20 20 20 20 n.multiple.operand.types........
86640 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 65 72 63 69 6f 6e </p>.......<h3.id="Type-Coercion
86660 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 6f 6e 22 3e 54 "><a.href="#toc-Type-Coercion">T
86680 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 22 68 64 72 22 20 ype.Coercion</a>.<a.class="hdr".
866a0 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 61 3e 3c 2f 68 33 href="#Type-Coercion">..</a></h3
866c0 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 65 72 63 69 6f 6e >........<p>.......Type.coercion
866e0 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 78 70 65 63 74 65 .occurs.when.one.type.is.expecte
86700 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 72 6f 76 69 64 65 d,.but.different.type.is.provide
86720 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 3e 3c 66 69 67 d:.......</p>.......<figure><fig
86740 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
86760 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 69 6f 6e 2e 7a 69 ass="file">test_type_coercion.zi
86780 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>
867a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
867c0 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=
867e0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 "tok-str">&quot;type.coercion.-.
86800 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e variable.declaration&quot;</span
86820 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
86840 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
86860 3e 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 38 3c 2f >.a:.<span.class="tok-type">u8</
86880 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"
868a0 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >1</span>;</span>.<span.class="l
868c0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">va
868e0 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 6b 2d 74 79 70 r</span>.b:.<span.class="tok-typ
86900 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e">u16</span>.=.a;</span>.<span.
86920 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c class="line">...._.=.b;</span>.<
86940 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span.class="line">}</span>.<span
86960 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
86980 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 s="line"><span.class="tok-kw">te
869a0 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">
869c0 26 71 75 6f 74 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 &quot;type.coercion.-.function.c
869e0 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 all&quot;</span>.{</span>.<span.
86a00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
86a20 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 3d k-kw">var</span>.a:.<span.class=
86a40 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
86a60 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 3c 2f 73 70 61 6e 3e ss="tok-number">1</span>;</span>
86a80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 61 29 3b 3c .<span.class="line">....foo(a);<
86aa0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
86ac0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
86ae0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
86b00 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
86b20 2d 66 6e 22 3e 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 -fn">foo</span>(b:.<span.class="
86b40 74 6f 6b 2d 74 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 tok-type">u16</span>).<span.clas
86b60 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 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
86b80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c >.<span.class="line">...._.=.b;<
86ba0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
86bc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
86be0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
86c00 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
86c20 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 40 61 ok-str">&quot;type.coercion.-.@a
86c40 73 20 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a s.builtin&quot;</span>.{</span>.
86c60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
86c80 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 20 ss="tok-kw">var</span>.a:.<span.
86ca0 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 70 class="tok-type">u8</span>.=.<sp
86cc0 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 3c an.class="tok-number">1</span>;<
86ce0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
86d00 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 20 pan.class="tok-kw">var</span>.b.
86d20 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<
86d40 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 31 /span>(<span.class="tok-type">u1
86d60 36 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 6</span>,.a);</span>.<span.class
86d80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ="line">...._.=.b;</span>.<span.
86da0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
86dc0 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
86de0 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
86e00 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
86e20 73 74 5f 74 79 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 33 20 74 st_type_coercion.zig</kbd>.1/3.t
86e40 65 73 74 2e 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 est.type.coercion.-.variable.dec
86e60 6c 61 72 61 74 69 6f 6e 2e 2e 2e 20 4f 4b 0a 32 2f 33 20 74 65 73 74 2e 74 79 70 65 20 63 6f 65 laration....OK.2/3.test.type.coe
86e80 72 63 69 6f 6e 20 2d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 2e 2e 20 4f 4b 0a 33 2f 33 20 rcion.-.function.call....OK.3/3.
86ea0 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 6e test.type.coercion.-.@as.builtin
86ec0 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 6d ....OK.All.3.tests.passed..</sam
86ee0 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>.....
86f00 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 65 ..Type.coercions.are.only.allowe
86f20 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 75 d.when.it.is.completely.unambigu
86f40 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 20 ous.how.to.get.from.one.type.to.
86f60 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 6d another,.......and.the.transform
86f80 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 20 ation.is.guaranteed.to.be.safe..
86fa0 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 73 There.is.one.exception,.which.is
86fc0 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 72 .<a.href="#C-Pointers">C.Pointer
86fe0 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="
87000 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 61 Type-Coercion-Stricter-Qualifica
87020 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 6f tion"><a.href="#toc-Type-Coercio
87040 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 43 n-Stricter-Qualification">Type.C
87060 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 3c oercion:.Stricter.Qualification<
87080 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 43 /a>.<a.class="hdr".href="#Type-C
870a0 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 3e oercion-Stricter-Qualification">
870c0 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 6c ..</a></h4>........<p>.......Val
870e0 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 6e ues.which.have.the.same.represen
87100 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 6f tation.at.runtime.can.be.cast.to
87120 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 6f .increase.the.strictness.......o
87140 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 20 f.the.qualifiers,.no.matter.how.
87160 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 20 nested.the.qualifiers.are:......
87180 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 3c .</p>.......<ul>...........<li><
871a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
871c0 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 73 70 61 6e 3e ass="tok-kw">const</span></span>
871e0 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 6e 73 74 20 69 73 20 </code>.-.non-const.to.const.is.
87200 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 69 3e 3c 63 6f 64 65 allowed</li>...........<li><code
87220 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
87240 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 73 70 61 6e 3e 3c "tok-kw">volatile</span></span><
87260 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 76 6f 6c 61 74 69 6c 65 20 74 6f 20 76 6f 6c 61 74 69 6c /code>.-.non-volatile.to.volatil
87280 65 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 69 3e e.is.allowed</li>...........<li>
872a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
872c0 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 3c 2f 73 70 61 6e lass="tok-kw">align</span></span
872e0 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 67 67 65 72 20 74 6f 20 73 6d 61 6c 6c 65 72 20 61 6c 69 ></code>.-.bigger.to.smaller.ali
87300 67 6e 6d 65 6e 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 gnment.is.allowed.</li>.........
87320 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 22 3e ..<li><a.href="#Error-Set-Type">
87340 65 72 72 6f 72 20 73 65 74 73 3c 2f 61 3e 20 74 6f 20 73 75 70 65 72 73 65 74 73 20 69 73 20 61 error.sets</a>.to.supersets.is.a
87360 6c 6c 6f 77 65 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 3c 70 llowed</li>.......</ul>.......<p
87380 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 63 61 73 74 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 >.......These.casts.are.no-ops.a
873a0 74 20 72 75 6e 74 69 6d 65 20 73 69 6e 63 65 20 74 68 65 20 76 61 6c 75 65 20 72 65 70 72 65 73 t.runtime.since.the.value.repres
873c0 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 63 68 61 6e 67 65 2e 0a 20 20 20 20 20 20 entation.does.not.change........
873e0 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
87400 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
87420 22 3e 74 65 73 74 5f 6e 6f 5f 6f 70 5f 63 61 73 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 ">test_no_op_casts.zig</cite></f
87440 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
87460 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">tes
87480 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">&
874a0 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
874c0 66 69 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c fication&quot;</span>.{</span>.<
874e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
87500 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
87520 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
87540 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 3c an.class="tok-number">1</span>;<
87560 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
87580 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 3a pan.class="tok-kw">var</span>.b:
875a0 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 32 3c 2f 73 70 .*<span.class="tok-type">i32</sp
875c0 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 an>.=.&amp;a;</span>.<span.class
875e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ="line">....foo(b);</span>.<span
87600 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
87620 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
87640 69 6e 65 22 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 2f 73 70 ine"><span.class="tok-kw">fn</sp
87660 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 73 70 an>.<span.class="tok-fn">foo</sp
87680 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 77 22 3e 63 6f 6e an>(_:.*<span.class="tok-kw">con
876a0 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"
876c0 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 79 >i32</span>).<span.class="tok-ty
876e0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pe">void</span>.{}</span></code>
87700 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
87720 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
87740 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
87760 74 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 t.test_no_op_casts.zig</kbd>.1/1
87780 20 74 65 73 74 2e 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 .test.type.coercion.-.const.qual
877a0 69 66 69 63 61 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 73 ification....OK.All.1.tests.pass
877c0 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>......
877e0 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 70 6f 69 6e 74 65 72 73 .<p>.......In.addition,.pointers
87800 20 63 6f 65 72 63 65 20 74 6f 20 63 6f 6e 73 74 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 .coerce.to.const.optional.pointe
87820 72 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 rs:.......</p>.......<figure><fi
87840 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
87860 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 6f 69 6e 74 65 72 5f 63 6f 65 72 63 65 5f lass="file">test_pointer_coerce_
87880 63 6f 6e 73 74 5f 6f 70 74 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 const_optional.zig</cite></figca
878a0 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 6c 69 ption><pre><code><span.class="li
878c0 6e 65 22 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 ne"><span.class="tok-kw">const</
878e0 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
87900 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
87920 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
87940 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
87960 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>.
87980 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 3c 2f 73 70 expect.=.std.testing.expect;</sp
879a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
879c0 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 73 ss="tok-kw">const</span>.mem.=.s
879e0 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 td.mem;</span>.<span.class="line
87a00 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
87a20 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
87a40 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 61 73 74 20 2a pan.class="tok-str">&quot;cast.*
87a60 5b 31 5d 5b 2a 5d 63 6f 6e 73 74 20 75 38 20 74 6f 20 5b 2a 5d 63 6f 6e 73 74 20 3f 5b 2a 5d 63 [1][*]const.u8.to.[*]const.?[*]c
87a80 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 onst.u8&quot;</span>.{</span>.<s
87aa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
87ac0 3d 22 74 6f 6b 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 ="tok-kw">const</span>.window_na
87ae0 6d 65 20 3d 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 31 me.=.[<span.class="tok-number">1
87b00 3c 2f 73 70 61 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 </span>][*]<span.class="tok-kw">
87b20 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
87b40 70 65 22 3e 75 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 pe">u8</span>{<span.class="tok-s
87b60 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 3b 3c 2f 73 70 61 tr">&quot;window.name&quot;</spa
87b80 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>};</span>.<span.class="line">.
87ba0 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
87bc0 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 3e pan>.x:.[*]<span.class="tok-kw">
87be0 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 6f const</span>.?[*]<span.class="to
87c00 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="
87c20 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 6f tok-type">u8</span>.=.&amp;windo
87c40 77 5f 6e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 w_name;</span>.<span.class="line
87c60 22 3e 20 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</
87c80 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 63 6c 61 73 73 span>.expect(mem.eql(<span.class
87ca0 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 64 2e 6d 65 6d 2e 73 ="tok-type">u8</span>,.std.mem.s
87cc0 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 75 69 6c 74 69 6e 22 liceTo(<span.class="tok-builtin"
87ce0 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 73 3d 22 74 6f 6b 2d >@as</span>([*:<span.class="tok-
87d00 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
87d20 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="
87d40 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
87d60 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 78 ="tok-builtin">@ptrCast</span>(x
87d80 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
87da0 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 2d 6e 75 6d 62 65 72 n>].?)),.<span.class="tok-number
87dc0 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 22 74 6f 6b 2d 73 74 ">0</span>),.<span.class="tok-st
87de0 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 3b 3c 2f 73 70 61 6e r">&quot;window.name&quot;</span
87e00 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d >));</span>.<span.class="line">}
87e20 3c 2f 73 70 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 </span></code></pre></figure><fi
87e40 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
87e60 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>
87e80 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 63 6f 65 $.<kbd>zig.test.test_pointer_coe
87ea0 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 64 3e 0a 31 2f 31 rce_const_optional.zig</kbd>.1/1
87ec0 20 74 65 73 74 2e 63 61 73 74 20 2a 5b 31 5d 5b 2a 5d 63 6f 6e 73 74 20 75 38 20 74 6f 20 5b 2a .test.cast.*[1][*]const.u8.to.[*
87ee0 5d 63 6f 6e 73 74 20 3f 5b 2a 5d 63 6f 6e 73 74 20 75 38 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 ]const.?[*]const.u8....OK.All.1.
87f00 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
87f20 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 79 70 65 2d 43 ure>..............<h4.id="Type-C
87f40 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 69 oercion-Integer-and-Float-Wideni
87f60 6e 67 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 6f 6e 2d ng"><a.href="#toc-Type-Coercion-
87f80 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 3e 54 79 70 65 Integer-and-Float-Widening">Type
87fa0 20 43 6f 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 .Coercion:.Integer.and.Float.Wid
87fc0 65 6e 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 ening</a>.<a.class="hdr".href="#
87fe0 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 61 74 2d Type-Coercion-Integer-and-Float-
88000 57 69 64 65 6e 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e Widening">..</a></h4>........<p>
88020 0a 20 20 20 20 20 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 .......<a.href="#Integers">Integ
88040 65 72 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 20 ers</a>.coerce.to.integer.types.
88060 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.
88080 6f 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2c 20 61 6e 64 20 6c 69 6b 65 77 69 73 65 0a 20 20 of.the.old.type,.and.likewise...
880a0 20 20 20 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 ....<a.href="#Floats">Floats</a>
880c0 20 63 6f 65 72 63 65 20 74 6f 20 66 6c 6f 61 74 20 74 79 70 65 73 20 77 68 69 63 68 20 63 61 6e .coerce.to.float.types.which.can
880e0 20 72 65 70 72 65 73 65 6e 74 20 65 76 65 72 79 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 6c .represent.every.value.of.the.ol
88100 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 65 d.type........</p>.......<figure
88120 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
88140 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 77 69 64 te.class="file">test_integer_wid
88160 65 6e 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 72 ening.zig</cite></figcaption><pr
88180 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
881a0 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
881c0 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
881e0 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
88200 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 3c 2f 73 70 61 6e ">&quot;std&quot;</span>);</span
88220 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
88240 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 3d ="tok-kw">const</span>.builtin.=
88260 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
88280 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">
882a0 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 3c 2f 73 70 &quot;builtin&quot;</span>);</sp
882c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
882e0 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.
88300 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 =.std.testing.expect;</span>.<sp
88320 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
88340 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b -kw">const</span>.mem.=.std.mem;
88360 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
88380 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
883a0 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
883c0 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 77 69 64 65 6e ss="tok-str">&quot;integer.widen
883e0 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ing&quot;</span>.{</span>.<span.
88400 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
88420 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 3d k-kw">var</span>.a:.<span.class=
88440 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
88460 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ss="tok-number">250</span>;</spa
88480 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
884a0 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 3c 73 70 class="tok-kw">var</span>.b:.<sp
884c0 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 20 3d an.class="tok-type">u16</span>.=
884e0 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .a;</span>.<span.class="line">..
88500 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
88520 3e 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 22 3e 75 33 32 3c >.c:.<span.class="tok-type">u32<
88540 2f 73 70 61 6e 3e 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.=.b;</span>.<span.class="
88560 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">v
88580 61 72 3c 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 ar</span>.d:.<span.class="tok-ty
885a0 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pe">u64</span>.=.c;</span>.<span
885c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
885e0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.e:.<span.class
88600 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 64 3b 3c 2f 73 70 61 ="tok-type">u64</span>.=.d;</spa
88620 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
88640 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 3a 20 3c 73 70 class="tok-kw">var</span>.f:.<sp
88660 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 61 6e 3e 20 an.class="tok-type">u128</span>.
88680 3d 20 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 =.e;</span>.<span.class="line">.
886a0 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
886c0 6e 3e 20 65 78 70 65 63 74 28 66 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n>.expect(f.==.a);</span>.<span.
886e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
88700 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
88720 6e 65 22 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 ne"><span.class="tok-kw">test</s
88740 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
88760 3b 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 6f 20 73 69 ;implicit.unsigned.integer.to.si
88780 67 6e 65 64 20 69 6e 74 65 67 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 gned.integer&quot;</span>.{</spa
887a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
887c0 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 73 70 class="tok-kw">var</span>.a:.<sp
887e0 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 20 an.class="tok-type">u8</span>.=.
88800 3c 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 3c 2f 73 70 <span.class="tok-number">250</sp
88820 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
88840 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
88860 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 69 31 36 n>.b:.<span.class="tok-type">i16
88880 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.=.a;</span>.<span.class=
888a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
888c0 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 6c 61 try</span>.expect(b.==.<span.cla
888e0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ss="tok-number">250</span>);</sp
88900 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
88920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
88940 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
88960 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-
88980 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 6f 74 3b 3c str">&quot;float.widening&quot;<
889a0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
889c0 65 22 3e 20 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 e">....<span.class="tok-kw">var<
889e0 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 2d 74 79 70 65 22 /span>.a:.<span.class="tok-type"
88a00 3e 66 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 2d 6e >f16</span>.=.<span.class="tok-n
88a20 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 umber">12.34</span>;</span>.<spa
88a40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
88a60 74 6f 6b 2d 6b 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 tok-kw">var</span>.b:.<span.clas
88a80 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 61 3b 3c 2f 73 70 s="tok-type">f32</span>.=.a;</sp
88aa0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
88ac0 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
88ae0 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 3e 20 pan.class="tok-type">f64</span>.
88b00 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 =.b;</span>.<span.class="line">.
88b20 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
88b40 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 3e 66 31 32 n>.d:.<span.class="tok-type">f12
88b60 38 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 8</span>.=.c;</span>.<span.class
88b80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
88ba0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 >try</span>.expect(d.==.a);</spa
88bc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
88be0 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
88c00 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<
88c20 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
88c40 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 74 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e 7a 69 67 g.test.test_integer_widening.zig
88c60 3c 2f 6b 62 64 3e 0a 31 2f 33 20 74 65 73 74 2e 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 </kbd>.1/3.test.integer.widening
88c80 2e 2e 2e 20 4f 4b 0a 32 2f 33 20 74 65 73 74 2e 69 6d 70 6c 69 63 69 74 20 75 6e 73 69 67 6e 65 ....OK.2/3.test.implicit.unsigne
88ca0 64 20 69 6e 74 65 67 65 72 20 74 6f 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2e 2e 2e 20 4f d.integer.to.signed.integer....O
88cc0 4b 0a 33 2f 33 20 74 65 73 74 2e 66 6c 6f 61 74 20 77 69 64 65 6e 69 6e 67 2e 2e 2e 20 4f 4b 0a K.3/3.test.float.widening....OK.
88ce0 41 6c 6c 20 33 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.3.tests.passed..</samp></pre
88d00 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 64 3d 22 ></figure>..............<h4.id="
88d20 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 74 22 3e 3c 61 20 68 Type-Coercion-Float-to-Int"><a.h
88d40 72 65 66 3d 22 23 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 6f ref="#toc-Type-Coercion-Float-to
88d60 2d 49 6e 74 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 46 6c 6f 61 74 20 74 6f 20 49 6e -Int">Type.Coercion:.Float.to.In
88d80 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 54 79 70 65 t</a>.<a.class="hdr".href="#Type
88da0 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f -Coercion-Float-to-Int">..</a></
88dc0 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 63 6f 6d 70 69 6c 65 72 20 h4>........<p>.......A.compiler.
88de0 65 72 72 6f 72 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 20 62 65 63 61 75 73 65 20 74 68 69 error.is.appropriate.because.thi
88e00 73 20 61 6d 62 69 67 75 6f 75 73 20 65 78 70 72 65 73 73 69 6f 6e 20 6c 65 61 76 65 73 20 74 68 s.ambiguous.expression.leaves.th
88e20 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 74 77 6f 20 63 68 6f 69 63 65 73 20 61 62 6f e.compiler.......two.choices.abo
88e40 75 74 20 74 68 65 20 63 6f 65 72 63 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ut.the.coercion........</p>.....
88e60 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 73 74 20 3c 63 6f 64 65 3e 3c 73 ..<ul>.........<li>Cast.<code><s
88e80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
88ea0 6b 2d 6e 75 6d 62 65 72 22 3e 35 34 2e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-number">54.0</span></span></co
88ec0 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e de>.to.<code><span.class="line">
88ee0 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_
88f00 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 69 int</span></span></code>.resulti
88f20 6e 67 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ng.in.<code><span.class="line"><
88f40 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 73 70 span.class="tok-builtin">@as</sp
88f60 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 70 74 an>(<span.class="tok-type">compt
88f80 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 22 74 6f 6b ime_int</span>,.<span.class="tok
88fa0 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 -number">10</span>)</span></code
88fc0 3e 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 >,.which.is.casted.to.<code><spa
88fe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
89000 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 73 3d builtin">@as</span>(<span.class=
89020 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">f32</span>,.<span.cla
89040 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 3c 2f 73 70 61 6e ss="tok-number">10</span>)</span
89060 3e 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 74 20 3c ></code></li>.........<li>Cast.<
89080 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
890a0 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 3c 2f 73 70 61 6e 3e ass="tok-number">5</span></span>
890c0 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </code>.to.<code><span.class="li
890e0 6e 65 22 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 ne"><span.class="tok-type">compt
89100 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 ime_float</span></span></code>.r
89120 65 73 75 6c 74 69 6e 67 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c esulting.in.<code><span.class="l
89140 69 6e 65 22 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 ine"><span.class="tok-builtin">@
89160 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"
89180 3e 63 6f 6d 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 >comptime_float</span>,.<span.cl
891a0 61 73 73 3d 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 73 ass="tok-number">10.8</span>)</s
891c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 pan></code>,.which.is.casted.to.
891e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
89200 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
89220 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>,
89240 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 3c 2f .<span.class="tok-number">10.8</
89260 73 70 61 6e 3e 29 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 span>)</span></code></li>.......
89280 3c 2f 75 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 </ul>.......<figure><figcaption.
892a0 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
892c0 65 22 3e 74 65 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 e">test_ambiguous_coercion.zig</
892e0 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
89300 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
89320 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 65 72 63 69 -comment">//.Compile.time.coerci
89340 6f 6e 20 6f 66 20 66 6c 6f 61 74 20 74 6f 20 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e on.of.float.to.int</span></span>
89360 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
89380 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
893a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6d 70 6c 69 63 69 74 20 63 61 73 74 20 74 ="tok-str">&quot;implicit.cast.t
893c0 6f 20 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 o.comptime_int&quot;</span>.{</s
893e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
89400 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 3a 20 3c n.class="tok-kw">var</span>.f:.<
89420 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>
89440 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 34 2e 30 .=.<span.class="tok-number">54.0
89460 3c 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 </span>./.<span.class="tok-numbe
89480 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">5</span>;</span>.<span.class=
894a0 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 "line">...._.=.f;</span>.<span.c
894c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
894e0 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
89500 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
89520 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
89540 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 6b 62 64 3e 0a 3c t_ambiguous_coercion.zig</kbd>.<
89560 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
89580 65 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 3a 33 3a 32 33 3a est_ambiguous_coercion.zig:3:23:
895a0 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
895c0 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"
895e0 3e 61 6d 62 69 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 >ambiguous.coercion.of.division.
89600 6f 70 65 72 61 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 operands.'comptime_float'.and.'c
89620 6f 6d 70 74 69 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 omptime_int';.non-zero.remainder
89640 20 27 34 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 76 61 72 20 66 3a 20 66 33 32 20 3d 20 35 34 2e .'4'.</span>....var.f:.f32.=.54.
89660 30 20 2f 20 35 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 6c 0./.5;..................<span.cl
89680 61 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 ass="sgr-32m">~~~~~^~~.</span>.<
896a0 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>...........
896c0 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 53 6c 69 63 65 73 2d ...<h4.id="Type-Coercion-Slices-
896e0 41 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 Arrays-and-Pointers"><a.href="#t
89700 6f 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 oc-Type-Coercion-Slices-Arrays-a
89720 6e 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 nd-Pointers">Type.Coercion:.Slic
89740 65 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 es,.Arrays.and.Pointers</a>.<a.c
89760 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 6f 6e 2d lass="hdr".href="#Type-Coercion-
89780 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 c2 a7 3c 2f Slices-Arrays-and-Pointers">..</
897a0 61 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 a></h4>........<figure><figcapti
897c0 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="
897e0 66 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 file">test_coerce_slices_arrays_
89800 61 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 and_pointers.zig</cite></figcapt
89820 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 6c 69 6e 65 ion><pre><code><span.class="line
89840 22 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 "><span.class="tok-kw">const</sp
89860 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
89880 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="
898a0 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>)
898c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
898e0 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
89900 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 3c 2f 73 70 61 6e pect.=.std.testing.expect;</span
89920 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
89940 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
89960 2d 63 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 -comment">//.You.can.assign.cons
89980 74 61 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 tant.pointers.to.arrays.to.a.sli
899a0 63 65 20 77 69 74 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ce.with</span></span>.<span.clas
899c0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e s="line"><span.class="tok-commen
899e0 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 65 6c 65 6d t">//.const.modifier.on.the.elem
89a00 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 61 72 20 66 ent.type..Useful.in.particular.f
89a20 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 or</span></span>.<span.class="li
89a40 6e 65 22 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 ne"><span.class="tok-comment">//
89a60 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a .String.literals.</span></span>.
89a80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
89aa0 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=
89ac0 22 74 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 5b "tok-str">&quot;*const.[N]T.to.[
89ae0 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ]const.T&quot;</span>.{</span>.<
89b00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
89b20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 5b 5d 3c 73 70 61 s="tok-kw">var</span>.x1:.[]<spa
89b40 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
89b60 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>.=
89b80 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 6c .<span.class="tok-str">&quot;hel
89ba0 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c lo&quot;</span>;</span>.<span.cl
89bc0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
89be0 6b 77 22 3e 76 61 72 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 kw">var</span>.x2:.[]<span.class
89c00 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
89c20 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;[
89c40 3c 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
89c60 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
89c80 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
89ca0 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'<
89cc0 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
89ce0 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">
89d00 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
89d20 62 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ber">111</span>.};</span>.<span.
89d40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
89d60 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.
89d80 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
89da0 70 61 6e 3e 2c 20 78 31 2c 20 78 32 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pan>,.x1,.x2));</span>.<span.cla
89dc0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
89de0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">va
89e00 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b r</span>.y:.[]<span.class="tok-k
89e20 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
89e40 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 5b 3c 73 70 61 6e 20 -type">f32</span>.=.&amp;[<span.
89e60 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 70 61 class="tok-number">2</span>]<spa
89e80 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 7b 20 3c n.class="tok-type">f32</span>{.<
89ea0 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 3c 2f 73 70 61 span.class="tok-number">1.2</spa
89ec0 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 2e 34 n>,.<span.class="tok-number">3.4
89ee0 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>.};</span>.<span.class="l
89f00 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
89f20 79 3c 2f 73 70 61 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 y</span>.expect(y[<span.class="t
89f40 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
89f60 61 73 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 29 3b 3c 2f 73 ass="tok-number">1.2</span>);</s
89f80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
89fa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
89fc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
89fe0 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 77 comment">//.Likewise,.it.works.w
8a000 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 65 hen.the.destination.type.is.an.e
8a020 72 72 6f 72 20 75 6e 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 rror.union.</span></span>.<span.
8a040 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
8a060 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
8a080 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 45 21 5b 5d 63 6f 6e tr">&quot;*const.[N]T.to.E![]con
8a0a0 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e st.T&quot;</span>.{</span>.<span
8a0c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
8a0e0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ok-kw">var</span>.x1:.<span.clas
8a100 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 5d 3c s="tok-type">anyerror</span>![]<
8a120 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>
8a140 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
8a160 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 6f 74 3b >.=.<span.class="tok-str">&quot;
8a180 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e hello&quot;</span>;</span>.<span
8a1a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
8a1c0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ok-kw">var</span>.x2:.<span.clas
8a1e0 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 5d 3c s="tok-type">anyerror</span>![]<
8a200 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>
8a220 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
8a240 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 62 65 >.=.&amp;[<span.class="tok-numbe
8a260 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 79 70 r">5</span>]<span.class="tok-typ
8a280 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 2d 73 e">u8</span>{.<span.class="tok-s
8a2a0 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 6f 6b tr">'h'</span>,.<span.class="tok
8a2c0 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 22 74 -str">'e'</span>,.<span.class="t
8a2e0 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 73 3d ok-str">'l'</span>,.<span.class=
8a300 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
8a320 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 3c 2f 73 70 s="tok-number">111</span>.};</sp
8a340 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
8a360 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
8a380 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 74 6f 6b 2d 74 t(std.mem.eql(<span.class="tok-t
8a3a0 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 3d 22 74 6f 6b ype">u8</span>,.<span.class="tok
8a3c0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 31 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -kw">try</span>.x1,.<span.class=
8a3e0 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 32 29 29 3b 3c 2f 73 70 61 6e 3e "tok-kw">try</span>.x2));</span>
8a400 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
8a420 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
8a440 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 61 73 tok-kw">var</span>.y:.<span.clas
8a460 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 5d 3c s="tok-type">anyerror</span>![]<
8a480 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>
8a4a0 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
8a4c0 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 62 n>.=.&amp;[<span.class="tok-numb
8a4e0 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 2d 74 79 er">2</span>]<span.class="tok-ty
8a500 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 74 6f 6b pe">f32</span>{.<span.class="tok
8a520 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 61 73 73 -number">1.2</span>,.<span.class
8a540 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 3c 2f 73 70 61 ="tok-number">3.4</span>.};</spa
8a560 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
8a580 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
8a5a0 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 6e ((<span.class="tok-kw">try</span
8a5c0 3e 20 79 29 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 >.y)[<span.class="tok-number">0<
8a5e0 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
8a600 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">1.2</span>);</span>.<span.cl
8a620 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
8a640 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
8a660 22 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 20 4c "><span.class="tok-comment">//.L
8a680 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
8a6a0 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
8a6c0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 n></span>.<span.class="line"><sp
8a6e0 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
8a700 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 73 74 pan.class="tok-str">&quot;*const
8a720 20 5b 4e 5d 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e .[N]T.to.?[]const.T&quot;</span>
8a740 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
8a760 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>
8a780 20 78 31 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 .x1:.?[]<span.class="tok-kw">con
8a7a0 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"
8a7c0 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
8a7e0 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 3b 3c 2f 73 70 r">&quot;hello&quot;</span>;</sp
8a800 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
8a820 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 32 3a 20 3f .class="tok-kw">var</span>.x2:.?
8a840 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
8a860 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
8a880 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 75 pan>.=.&amp;[<span.class="tok-nu
8a8a0 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 6f 6b 2d mber">5</span>]<span.class="tok-
8a8c0 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 6f type">u8</span>{.<span.class="to
8a8e0 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="
8a900 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
8a920 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 61 ="tok-str">'l'</span>,.<span.cla
8a940 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 20 63 ss="tok-str">'l'</span>,.<span.c
8a960 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 20 7d 3b 3c lass="tok-number">111</span>.};<
8a980 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
8a9a0 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
8a9c0 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 74 6f pect(std.mem.eql(<span.class="to
8a9e0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 31 2e 3f 2c 20 78 32 2e 3f 29 29 3b k-type">u8</span>,.x1.?,.x2.?));
8aa00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
8aa20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
8aa40 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 3f 5b 5d class="tok-kw">var</span>.y:.?[]
8aa60 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
8aa80 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 73 70 >.<span.class="tok-type">f32</sp
8aaa0 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
8aac0 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 2d 74 ber">2</span>]<span.class="tok-t
8aae0 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 74 6f ype">f32</span>{.<span.class="to
8ab00 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 61 73 k-number">1.2</span>,.<span.clas
8ab20 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 3c 2f 73 70 s="tok-number">3.4</span>.};</sp
8ab40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
8ab60 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
8ab80 74 28 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 t(y.?[<span.class="tok-number">0
8aba0 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 75 6d </span>].==.<span.class="tok-num
8abc0 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">1.2</span>);</span>.<span.c
8abe0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">}</span>.<span.class
8ac00 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
8ac20 65 22 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 20 e"><span.class="tok-comment">//.
8ac40 49 6e 20 74 68 69 73 20 63 61 73 74 2c 20 74 68 65 20 61 72 72 61 79 20 6c 65 6e 67 74 68 20 62 In.this.cast,.the.array.length.b
8ac60 65 63 6f 6d 65 73 20 74 68 65 20 73 6c 69 63 65 20 6c 65 6e 67 74 68 2e 3c 2f 73 70 61 6e 3e 3c ecomes.the.slice.length.</span><
8ac80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
8aca0 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
8acc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 .class="tok-str">&quot;*[N]T.to.
8ace0 5b 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 []T&quot;</span>.{</span>.<span.
8ad00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
8ad20 6b 2d 6b 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 k-kw">var</span>.buf:.[<span.cla
8ad40 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
8ad60 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 70 61 lass="tok-type">u8</span>.=.<spa
8ad80 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 75 n.class="tok-str">&quot;hello&qu
8ada0 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ot;</span>.*;</span>.<span.class
8adc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
8ade0 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 3d 22 >const</span>.x:.[]<span.class="
8ae00 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 3b 3c tok-type">u8</span>.=.&amp;buf;<
8ae20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
8ae40 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
8ae60 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 74 6f pect(std.mem.eql(<span.class="to
8ae80 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 k-type">u8</span>,.x,.<span.clas
8aea0 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 73 s="tok-str">&quot;hello&quot;</s
8aec0 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pan>));</span>.<span.class="line
8aee0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
8af00 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
8af20 6e 3e 20 62 75 66 32 20 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 n>.buf2.=.[<span.class="tok-numb
8af40 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 2d 74 79 er">2</span>]<span.class="tok-ty
8af60 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 74 6f 6b pe">f32</span>{.<span.class="tok
8af80 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 61 73 73 -number">1.2</span>,.<span.class
8afa0 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 3c 2f 73 70 61 ="tok-number">3.4</span>.};</spa
8afc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
8afe0 63 6c 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 32 3a 20 class="tok-kw">const</span>.x2:.
8b000 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
8b020 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</
8b040 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 32 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span>.=.&amp;buf2;</span>.<span.
8b060 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
8b080 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.
8b0a0 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</
8b0c0 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
8b0e0 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="
8b100 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
8b120 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
8b140 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>.}
8b160 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c ));</span>.<span.class="line">}<
8b180 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
8b1a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
8b1c0 3d 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 ="tok-comment">//.Single-item.po
8b1e0 69 6e 74 65 72 73 20 74 6f 20 61 72 72 61 79 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 inters.to.arrays.can.be.coerced.
8b200 74 6f 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 to.many-item.pointers.</span></s
8b220 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
8b240 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
8b260 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 2a lass="tok-str">&quot;*[N]T.to.[*
8b280 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ]T&quot;</span>.{</span>.<span.c
8b2a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
8b2c0 2d 6b 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 -kw">var</span>.buf:.[<span.clas
8b2e0 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 6c s="tok-number">5</span>]<span.cl
8b300 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 70 61 6e ass="tok-type">u8</span>.=.<span
8b320 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 75 6f .class="tok-str">&quot;hello&quo
8b340 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d t;</span>.*;</span>.<span.class=
8b360 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
8b380 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 73 73 3d 22 const</span>.x:.[*]<span.class="
8b3a0 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 3b 3c tok-type">u8</span>.=.&amp;buf;<
8b3c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
8b3e0 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
8b400 70 65 63 74 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 3e pect(x[<span.class="tok-number">
8b420 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 74 4</span>].==.<span.class="tok-st
8b440 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r">'o'</span>);</span>.<span.cla
8b460 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
8b480 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 5b 35 5d 20 77 6f 75 6c 64 20 62 65 20 61 6e 20 75 6e 63 61 omment">//.x[5].would.be.an.unca
8b4a0 75 67 68 74 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 20 70 6f 69 6e 74 65 72 20 64 65 72 65 66 ught.out.of.bounds.pointer.deref
8b4c0 65 72 65 6e 63 65 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 erence!</span></span>.<span.clas
8b4e0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
8b500 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
8b520 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 69 6b <span.class="tok-comment">//.Lik
8b540 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 6e 61 ewise,.it.works.when.the.destina
8b560 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 6e 3e tion.type.is.an.optional.</span>
8b580 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
8b5a0 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
8b5c0 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 5b 4e 5d 54 20 74 6f n.class="tok-str">&quot;*[N]T.to
8b5e0 20 3f 5b 2a 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .?[*]T&quot;</span>.{</span>.<sp
8b600 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
8b620 22 74 6f 6b 2d 6b 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 "tok-kw">var</span>.buf:.[<span.
8b640 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 3c 73 70 61 class="tok-number">5</span>]<spa
8b660 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>.=.<
8b680 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
8b6a0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c &quot;</span>.*;</span>.<span.cl
8b6c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
8b6e0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c kw">const</span>.x:.?[*]<span.cl
8b700 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 26 61 6d 70 3b ass="tok-type">u8</span>.=.&amp;
8b720 62 75 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 buf;</span>.<span.class="line">.
8b740 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
8b760 6e 3e 20 65 78 70 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 n>.expect(x.?[<span.class="tok-n
8b780 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 73 73 3d umber">4</span>].==.<span.class=
8b7a0 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-str">'o'</span>);</span>.<s
8b7c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
8b7e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
8b800 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-comment
8b820 22 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 63 61 6e 20 62 65 ">//.Single-item.pointers.can.be
8b840 20 63 61 73 74 20 74 6f 20 6c 65 6e 2d 31 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 61 72 72 61 79 .cast.to.len-1.single-item.array
8b860 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s.</span></span>.<span.class="li
8b880 6e 65 22 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 ne"><span.class="tok-kw">test</s
8b8a0 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
8b8c0 3b 2a 54 20 74 6f 20 2a 5b 31 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ;*T.to.*[1]T&quot;</span>.{</spa
8b8e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
8b900 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 70 class="tok-kw">var</span>.x:.<sp
8b920 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>.=
8b940 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</
8b960 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
8b980 3e 20 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<
8b9a0 2f 73 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 /span>.y:.*[<span.class="tok-num
8b9c0 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 22 74 6f 6b 2d 74 ber">1</span>]<span.class="tok-t
8b9e0 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e ype">i32</span>.=.&amp;x;</span>
8ba00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
8ba20 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 20 5b 2a 5d ass="tok-kw">const</span>.z:.[*]
8ba40 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
8ba60 3e 20 3d 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >.=.y;</span>.<span.class="line"
8ba80 3e 20 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
8baa0 70 61 6e 3e 20 65 78 70 65 63 74 28 7a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e pan>.expect(z[<span.class="tok-n
8bac0 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 61 73 73 3d umber">0</span>].==.<span.class=
8bae0 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 3c 2f 73 70 61 6e "tok-number">1234</span>);</span
8bb00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
8bb20 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
8bb40 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</
8bb60 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
8bb80 20 74 65 73 74 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 .test.test_coerce_slices_arrays_
8bba0 61 6e 64 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 37 20 74 65 73 74 2e and_pointers.zig</kbd>.1/7.test.
8bbc0 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 2e 2e 2e 20 4f 4b 0a 32 *const.[N]T.to.[]const.T....OK.2
8bbe0 2f 37 20 74 65 73 74 2e 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 /7.test.*const.[N]T.to.E![]const
8bc00 20 54 2e 2e 2e 20 4f 4b 0a 33 2f 37 20 74 65 73 74 2e 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f .T....OK.3/7.test.*const.[N]T.to
8bc20 20 3f 5b 5d 63 6f 6e 73 74 20 54 2e 2e 2e 20 4f 4b 0a 34 2f 37 20 74 65 73 74 2e 2a 5b 4e 5d 54 .?[]const.T....OK.4/7.test.*[N]T
8bc40 20 74 6f 20 5b 5d 54 2e 2e 2e 20 4f 4b 0a 35 2f 37 20 74 65 73 74 2e 2a 5b 4e 5d 54 20 74 6f 20 .to.[]T....OK.5/7.test.*[N]T.to.
8bc60 5b 2a 5d 54 2e 2e 2e 20 4f 4b 0a 36 2f 37 20 74 65 73 74 2e 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a [*]T....OK.6/7.test.*[N]T.to.?[*
8bc80 5d 54 2e 2e 2e 20 4f 4b 0a 37 2f 37 20 74 65 73 74 2e 2a 54 20 74 6f 20 2a 5b 31 5d 54 2e 2e 2e ]T....OK.7/7.test.*T.to.*[1]T...
8bca0 20 4f 4b 0a 41 6c 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 .OK.All.7.tests.passed..</samp><
8bcc0 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 61 6c 73 6f /pre></figure>.......<p>See.also
8bce0 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 2d 50 6f 69 6e 74 65 :</p><ul>.<li><a.href="#C-Pointe
8bd00 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 2f 75 6c 3e 0a 0a 20 rs">C.Pointers</a></li>.</ul>...
8bd20 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
8bd40 6e 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 54 79 70 65 2d n-Optionals"><a.href="#toc-Type-
8bd60 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 69 6f Coercion-Optionals">Type.Coercio
8bd80 6e 3a 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 64 72 22 20 n:.Optionals</a>.<a.class="hdr".
8bda0 68 72 65 66 3d 22 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 href="#Type-Coercion-Optionals">
8bdc0 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 54 68 65 ..</a></h4>........<p>.......The
8bde0 20 70 61 79 6c 6f 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 .payload.type.of.<a.href="#Optio
8be00 6e 61 6c 73 22 3e 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 nals">Optionals</a>,.as.well.as.
8be20 3c 61 20 68 72 65 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 <a.href="#null">null</a>,.coerce
8be40 20 74 6f 20 74 68 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 .to.the.optional.type........</p
8be60 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
8be80 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
8bea0 65 73 74 5f 63 6f 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 est_coerce_optionals.zig</cite><
8bec0 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
8bee0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
8bf00 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
8bf20 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
8bf40 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;
8bf60 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
8bf80 6e 65 22 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 ne"><span.class="tok-kw">const</
8bfa0 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
8bfc0 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 t;</span>.<span.class="line"></s
8bfe0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
8c000 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
8c020 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 65 20 74 6f 20 6f lass="tok-str">&quot;coerce.to.o
8c040 70 74 69 6f 6e 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ptionals&quot;</span>.{</span>.<
8c060 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
8c080 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 3f 3c 73 70 61 s="tok-kw">const</span>.x:.?<spa
8c0a0 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 20 n.class="tok-type">i32</span>.=.
8c0c0 3c 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
8c0e0 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
8c100 20 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</
8c120 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 74 79 70 65 22 span>.y:.?<span.class="tok-type"
8c140 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
8c160 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ull">null</span>;</span>.<span.c
8c180 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
8c1a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
8c1c0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 try</span>.expect(x.?.==.<span.c
8c1e0 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 29 3b 3c lass="tok-number">1234</span>);<
8c200 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
8c220 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
8c240 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 6c 6c 22 pect(y.==.<span.class="tok-null"
8c260 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >null</span>);</span>.<span.clas
8c280 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
8c2a0 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
8c2c0 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><
8c2e0 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
8c300 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 oerce_optionals.zig</kbd>.1/1.te
8c320 73 74 2e 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c st.coerce.to.optionals....OK.All
8c340 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></
8c360 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 74 20 77 6f 72 6b 73 20 6e 65 73 74 65 64 figure>.......<p>It.works.nested
8c380 20 69 6e 73 69 64 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f .inside.the.<a.href="#Error-Unio
8c3a0 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 2c 20 74 6f n-Type">Error.Union.Type</a>,.to
8c3c0 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 69 6f 6e o:</p>.......<figure><figcaption
8c3e0 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
8c400 6c 65 22 3e 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 le">test_coerce_optional_wrapped
8c420 5f 65 72 72 6f 72 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 _error_union.zig</cite></figcapt
8c440 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 6c 69 6e 65 ion><pre><code><span.class="line
8c460 22 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 "><span.class="tok-kw">const</sp
8c480 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
8c4a0 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="
8c4c0 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>)
8c4e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
8c500 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
8c520 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 3c 2f 73 70 61 6e pect.=.std.testing.expect;</span
8c540 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
8c560 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
8c580 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
8c5a0 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 73 k-str">&quot;coerce.to.optionals
8c5c0 20 77 72 61 70 70 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 .wrapped.in.error.union&quot;</s
8c5e0 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
8c600 3e 20 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<
8c620 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"
8c640 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 73 3d 22 74 >anyerror</span>!?<span.class="t
8c660 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 6c 61 73 ok-type">i32</span>.=.<span.clas
8c680 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 3c 2f 73 70 61 s="tok-number">1234</span>;</spa
8c6a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
8c6c0 63 6c 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 3c class="tok-kw">const</span>.y:.<
8c6e0 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</
8c700 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 69 33 span>!?<span.class="tok-type">i3
8c720 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 6c 6c 2</span>.=.<span.class="tok-null
8c740 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">null</span>;</span>.<span.clas
8c760 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
8c780 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">try
8c7a0 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 22 74 6f 6b </span>.expect((<span.class="tok
8c7c0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c -kw">try</span>.x).?.==.<span.cl
8c7e0 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 3c 2f ass="tok-number">1234</span>);</
8c800 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
8c820 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
8c840 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 2f 73 ect((<span.class="tok-kw">try</s
8c860 70 61 6e 3e 20 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 6c 6c pan>.y).==.<span.class="tok-null
8c880 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">null</span>);</span>.<span.cla
8c8a0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
8c8c0 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
8c8e0 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>
8c900 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_
8c920 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 6f 72 5f 75 6e coerce_optional_wrapped_error_un
8c940 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 63 6f 65 72 63 65 20 74 6f ion.zig</kbd>.1/1.test.coerce.to
8c960 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 6f 72 20 75 6e 69 6f .optionals.wrapped.in.error.unio
8c980 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 61 n....OK.All.1.tests.passed..</sa
8c9a0 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 20 mp></pre></figure>..............
8c9c0 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f <h4.id="Type-Coercion-Error-Unio
8c9e0 6e 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 6f 6e 2d ns"><a.href="#toc-Type-Coercion-
8ca00 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 72 72 Error-Unions">Type.Coercion:.Err
8ca20 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 72 65 or.Unions</a>.<a.class="hdr".hre
8ca40 66 3d 22 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 3e f="#Type-Coercion-Error-Unions">
8ca60 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 20 70 61 79 6c 6f 61 ..</a></h4>........<p>The.payloa
8ca80 64 20 74 79 70 65 20 6f 66 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 d.type.of.an.<a.href="#Error-Uni
8caa0 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 61 3e 20 61 73 on-Type">Error.Union.Type</a>.as
8cac0 20 77 65 6c 6c 20 61 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 .well.as.the.<a.href="#Error-Set
8cae0 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 0a 20 20 20 20 20 20 -Type">Error.Set.Type</a>.......
8cb00 63 6f 65 72 63 65 20 74 6f 20 74 68 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 3a 0a coerce.to.the.error.union.type:.
8cb20 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
8cb40 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
8cb60 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e 69 ="file">test_coerce_to_error_uni
8cb80 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><
8cba0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
8cbc0 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.=.
8cbe0 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
8cc00 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">&
8cc20 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 73 70 61 6e 3e 0a 3c quot;std&quot;</span>);</span>.<
8cc40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
8cc60 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
8cc80 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .testing.expect;</span>.<span.cl
8cca0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
8ccc0 6c 69 6e 65 22 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 line"><span.class="tok-kw">test<
8cce0 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
8cd00 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 74 6f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 26 71 75 6f 74 ot;coercion.to.error.unions&quot
8cd20 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
8cd40 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">co
8cd60 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 6f 6b 2d 74 nst</span>.x:.<span.class="tok-t
8cd80 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 73 ype">anyerror</span>!<span.class
8cda0 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
8cdc0 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 3c 2f lass="tok-number">1234</span>;</
8cde0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
8ce00 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 79 an.class="tok-kw">const</span>.y
8ce20 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 72 6f :.<span.class="tok-type">anyerro
8ce40 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 22 3e r</span>!<span.class="tok-type">
8ce60 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 6b 77 i32</span>.=.<span.class="tok-kw
8ce80 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 3b 3c 2f 73 70 61 6e 3e 0a 3c ">error</span>.Failure;</span>.<
8cea0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
8cec0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
8cee0 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
8cf00 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 20 3d 3d 20 3c lass="tok-kw">try</span>.x).==.<
8cf20 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
8cf40 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
8cf60 20 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
8cf80 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 70 61 an>.std.testing.expectError(<spa
8cfa0 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 46 61 n.class="tok-kw">error</span>.Fa
8cfc0 69 6c 75 72 65 2c 20 79 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ilure,.y);</span>.<span.class="l
8cfe0 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
8d000 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
8d020 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>
8d040 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
8d060 65 5f 74 6f 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 74 e_to_error_union.zig</kbd>.1/1.t
8d080 65 73 74 2e 63 6f 65 72 63 69 6f 6e 20 74 6f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2e 2e 2e 20 est.coercion.to.error.unions....
8d0a0 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></
8d0c0 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
8d0e0 64 3d 22 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 d="Type-Coercion-Compile-Time-Kn
8d100 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d own-Numbers"><a.href="#toc-Type-
8d120 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 6e 2d 4e 75 6d 62 Coercion-Compile-Time-Known-Numb
8d140 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 65 2d 54 69 6d 65 ers">Type.Coercion:.Compile-Time
8d160 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 .Known.Numbers</a>.<a.class="hdr
8d180 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 ".href="#Type-Coercion-Compile-T
8d1a0 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a ime-Known-Numbers">..</a></h4>..
8d1c0 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 6e 75 6d 62 65 72 20 69 73 20 3c 61 20 68 72 65 ......<p>When.a.number.is.<a.hre
8d1e0 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 77 6e f="#comptime">comptime</a>-known
8d200 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 69 6e 20 74 68 65 20 64 65 73 74 .to.be.representable.in.the.dest
8d220 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 0a 20 20 20 20 20 20 69 74 20 6d 61 79 20 62 65 20 63 6f ination.type,.......it.may.be.co
8d240 65 72 63 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 3e erced:.......</p>.......<figure>
8d260 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
8d280 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 65 5f 6c 61 72 67 65 e.class="file">test_coerce_large
8d2a0 5f 74 6f 5f 73 6d 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 _to_small.zig</cite></figcaption
8d2c0 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 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
8d2e0 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>
8d300 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"
8d320 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
8d340 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 3c 2f -str">&quot;std&quot;</span>);</
8d360 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
8d380 6c 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
8d3a0 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c t.=.std.testing.expect;</span>.<
8d3c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
8d3e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
8d400 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
8d420 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6e 67 20 6c 61 72 67 65 20 69 6e 74 65 67 65 72 tr">&quot;coercing.large.integer
8d440 20 74 79 70 65 20 74 6f 20 73 6d 61 6c 6c 65 72 20 6f 6e 65 20 77 68 65 6e 20 76 61 6c 75 65 20 .type.to.smaller.one.when.value.
8d460 69 73 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 74 6f 20 66 69 74 26 71 75 6f 74 3b 3c 2f is.comptime-known.to.fit&quot;</
8d480 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
8d4a0 22 3e 20 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
8d4c0 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
8d4e0 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 6f 6b 2d ">u64</span>.=.<span.class="tok-
8d500 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e number">255</span>;</span>.<span
8d520 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
8d540 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 6e 20 63 6c 61 ok-kw">const</span>.y:.<span.cla
8d560 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 78 3b 3c 2f 73 70 ss="tok-type">u8</span>.=.x;</sp
8d580 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
8d5a0 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
8d5c0 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 72 22 3e t(y.==.<span.class="tok-number">
8d5e0 32 35 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 255</span>);</span>.<span.class=
8d600 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
8d620 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="
8d640 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
8d660 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
8d680 72 63 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 rce_large_to_small.zig</kbd>.1/1
8d6a0 20 74 65 73 74 2e 63 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 .test.coercing.large.integer.typ
8d6c0 65 20 74 6f 20 73 6d 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 e.to.smaller.one.when.value.is.c
8d6e0 6f 6d 70 74 69 6d 65 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 omptime-known.to.fit....OK.All.1
8d700 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
8d720 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 79 70 65 2d gure>..............<h4.id="Type-
8d740 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 3c 61 20 68 72 Coercion-Unions-and-Enums"><a.hr
8d760 65 66 3d 22 23 74 6f 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 ef="#toc-Type-Coercion-Unions-an
8d780 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 69 6f 6e 73 20 61 d-Enums">Type.Coercion:.Unions.a
8d7a0 6e 64 20 45 6e 75 6d 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 nd.Enums</a>.<a.class="hdr".href
8d7c0 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 6d ="#Type-Coercion-Unions-and-Enum
8d7e0 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 61 67 67 65 64 20 s">..</a></h4>........<p>Tagged.
8d800 75 6e 69 6f 6e 73 20 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 unions.can.be.coerced.to.enums,.
8d820 61 6e 64 20 65 6e 75 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 and.enums.can.be.coerced.to.tagg
8d840 65 64 20 75 6e 69 6f 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 ed.unions.......when.they.are.<a
8d860 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 2d 6b .href="#comptime">comptime</a>-k
8d880 6e 6f 77 6e 20 74 6f 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 nown.to.be.a.field.of.the.union.
8d8a0 74 68 61 74 20 68 61 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 that.has.only.one.possible.value
8d8c0 2c 20 73 75 63 68 20 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 ,.such.as.......<a.href="#void">
8d8e0 76 6f 69 64 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 69 67 75 void</a>:.......</p>.......<figu
8d900 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"><
8d920 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 65 5f 75 6e cite.class="file">test_coerce_un
8d940 69 6f 6e 73 5f 65 6e 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 ions_enums.zig</cite></figcaptio
8d960 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 6c 69 6e 65 22 3e n><pre><code><span.class="line">
8d980 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
8d9a0 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
8d9c0 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
8d9e0 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 3c k-str">&quot;std&quot;</span>);<
8da00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
8da20 63 6c 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
8da40 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a ct.=.std.testing.expect;</span>.
8da60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
8da80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
8daa0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">const</span>.E.=.<span.class=
8dac0 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-kw">enum</span>.{</span>.<s
8dae0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 65 2c 3c 2f 73 70 61 6e 3e pan.class="line">....one,</span>
8db00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 77 6f 2c 3c 2f 73 70 .<span.class="line">....two,</sp
8db20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 65 an>.<span.class="line">....three
8db40 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f ,</span>.<span.class="line">};</
8db60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
8db80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
8dba0 22 74 6f 6b 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 "tok-kw">const</span>.U.=.<span.
8dbc0 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 28 45 29 20 7b class="tok-kw">union</span>(E).{
8dbe0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f </span>.<span.class="line">....o
8dc00 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 3c 2f ne:.<span.class="tok-type">i32</
8dc20 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
8dc40 3e 20 20 20 20 74 77 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >....two:.<span.class="tok-type"
8dc60 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >f32</span>,</span>.<span.class=
8dc80 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 "line">....three,</span>.<span.c
8dca0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 lass="line">};</span>.<span.clas
8dcc0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
8dce0 6e 65 22 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 ne"><span.class="tok-kw">const</
8dd00 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">
8dd20 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
8dd40 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">enum</span>).{</span>.<span.cl
8dd60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ass="line">....a:.<span.class="t
8dd80 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-type">void</span>,</span>.<sp
8dda0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 an.class="line">....b:.<span.cla
8ddc0 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 3c 2f 73 70 61 6e 3e ss="tok-type">f32</span>,</span>
8dde0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
8de00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
8de20 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
8de40 6f 6b 2d 66 6e 22 3e 74 61 67 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 55 32 29 20 3c 73 70 61 ok-fn">tag</span>(self:.U2).<spa
8de60 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>.
8de80 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
8dea0 20 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<
8dec0 2f 73 70 61 6e 3e 20 28 73 65 6c 66 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 /span>.(self).{</span>.<span.cla
8dee0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 61 20 3d 26 67 74 3b 20 3c ss="line">.............a.=&gt;.<
8df00 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
8df20 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 3c 2f 73 70 >.<span.class="tok-number">1</sp
8df40 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>,</span>.<span.class="line">.
8df60 20 20 20 20 20 20 20 20 20 20 20 2e 62 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ............b.=&gt;.<span.class=
8df80 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
8dfa0 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 3c 2f 73 70 61 6e 3e ss="tok-number">2</span>,</span>
8dfc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 .<span.class="line">........}</s
8dfe0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 pan>.<span.class="line">....}</s
8e000 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e pan>.<span.class="line">};</span
8e020 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
8e040 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
8e060 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
8e080 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 62 65 74 77 65 65 6e 20 75 6e k-str">&quot;coercion.between.un
8e0a0 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ions.and.enums&quot;</span>.{</s
8e0c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
8e0e0 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 75 20 3d 20 n.class="tok-kw">var</span>.u.=.
8e100 55 7b 20 2e 74 77 6f 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 U{..two.=.<span.class="tok-numbe
8e120 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 r">12.34</span>.};</span>.<span.
8e140 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
8e160 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 3a 20 45 20 3d 20 75 3b 20 3c 73 70 61 6e k-kw">var</span>.e:.E.=.u;.<span
8e180 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 63 65 20 75 .class="tok-comment">//.coerce.u
8e1a0 6e 69 6f 6e 20 74 6f 20 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e nion.to.enum</span></span>.<span
8e1c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
8e1e0 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 20 3d 3d 20 45 2e ok-kw">try</span>.expect(e.==.E.
8e200 74 77 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e two);</span>.<span.class="line">
8e220 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
8e240 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>
8e260 20 74 68 72 65 65 20 3d 20 45 2e 74 68 72 65 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .three.=.E.three;</span>.<span.c
8e280 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
8e2a0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 75 5f 32 3a 20 55 20 3d 20 74 68 72 65 65 3b 20 -kw">var</span>.u_2:.U.=.three;.
8e2c0 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 65 <span.class="tok-comment">//.coe
8e2e0 72 63 65 20 65 6e 75 6d 20 74 6f 20 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a rce.enum.to.union</span></span>.
8e300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
8e320 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 5f ss="tok-kw">try</span>.expect(u_
8e340 32 20 3d 3d 20 45 2e 74 68 72 65 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 2.==.E.three);</span>.<span.clas
8e360 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
8e380 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">var
8e3a0 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 73 70 61 6e 20 63 </span>.u_3:.U.=..three;.<span.c
8e3c0 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 63 65 20 65 6e 75 lass="tok-comment">//.coerce.enu
8e3e0 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 3c 2f 73 70 61 6e 3e m.literal.to.union</span></span>
8e400 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
8e420 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
8e440 5f 33 20 3d 3d 20 45 2e 74 68 72 65 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 _3.==.E.three);</span>.<span.cla
8e460 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
8e480 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">va
8e4a0 72 3c 2f 73 70 61 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 r</span>.u_4:.U2.=..a;.<span.cla
8e4c0 73 73 3d 22 74 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 ss="tok-comment">//.coerce.enum.
8e4e0 6c 69 74 65 72 61 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 literal.to.union.with.inferred.e
8e500 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 num.tag.type.</span></span>.<spa
8e520 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
8e540 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
8e560 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">
8e580 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 1</span>);</span>.<span.class="l
8e5a0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
8e5c0 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">//
8e5e0 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 20 69 73 20 69 6e 76 61 6c 69 .The.following.example.is.invali
8e600 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d.</span></span>.<span.class="li
8e620 6e 65 22 3e 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 ne">....<span.class="tok-comment
8e640 22 3e 2f 2f 20 65 72 72 6f 72 3a 20 63 6f 65 72 63 69 6f 6e 20 66 72 6f 6d 20 65 6e 75 6d 20 27 ">//.error:.coercion.from.enum.'
8e660 40 54 79 70 65 4f 66 28 2e 65 6e 75 6d 5f 6c 69 74 65 72 61 6c 29 27 20 74 6f 20 75 6e 69 6f 6e @TypeOf(.enum_literal)'.to.union
8e680 20 27 74 65 73 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d 2e 55 32 27 20 6d 75 .'test_coerce_unions_enum.U2'.mu
8e6a0 73 74 20 69 6e 69 74 69 61 6c 69 7a 65 20 27 66 33 32 27 20 66 69 65 6c 64 20 27 62 27 3c 2f 73 st.initialize.'f32'.field.'b'</s
8e6c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
8e6e0 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 76 ...<span.class="tok-comment">//v
8e700 61 72 20 75 5f 35 3a 20 55 32 20 3d 20 2e 62 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ar.u_5:.U2.=..b;</span></span>.<
8e720 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
8e740 73 3d 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 s="tok-comment">//try.expect(u_5
8e760 2e 74 61 67 28 29 20 3d 3d 20 32 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .tag().==.2);</span></span>.<spa
8e780 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
8e7a0 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
8e7c0 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
8e7e0 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.
8e800 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 7a 69 67 3c 2f 6b 62 test_coerce_unions_enums.zig</kb
8e820 64 3e 0a 31 2f 31 20 74 65 73 74 2e 63 6f 65 72 63 69 6f 6e 20 62 65 74 77 65 65 6e 20 75 6e 69 d>.1/1.test.coercion.between.uni
8e840 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 ons.and.enums....OK.All.1.tests.
8e860 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>..
8e880 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 61 .....<p>See.also:</p><ul>.<li><a
8e8a0 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 3c 6c .href="#union">union</a></li>.<l
8e8c0 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 3e 0a i><a.href="#enum">enum</a></li>.
8e8e0 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 </ul>...............<h4.id="Type
8e900 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 -Coercion-undefined"><a.href="#t
8e920 6f 63 2d 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 oc-Type-Coercion-undefined">Type
8e940 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 .Coercion:.undefined</a>.<a.clas
8e960 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 75 6e 64 s="hdr".href="#Type-Coercion-und
8e980 65 66 69 6e 65 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 efined">..</a></h4>........<p><a
8e9a0 20 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 .href="#undefined">undefined</a>
8e9c0 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 3c 2f 70 3e .can.be.coerced.to.any.type.</p>
8e9e0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 ...............<h4.id="Type-Coer
8ea00 63 69 6f 6e 2d 54 75 70 6c 65 73 2d 74 6f 2d 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d 22 cion-Tuples-to-Arrays"><a.href="
8ea20 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 54 75 70 6c 65 73 2d 74 6f 2d 41 72 72 #toc-Type-Coercion-Tuples-to-Arr
8ea40 61 79 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 54 75 70 6c 65 73 20 74 6f 20 41 72 ays">Type.Coercion:.Tuples.to.Ar
8ea60 72 61 79 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 rays</a>.<a.class="hdr".href="#T
8ea80 79 70 65 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 3e c2 ype-Coercion-Tuples-to-Arrays">.
8eaa0 a7 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 54 .</a></h4>........<p><a.href="#T
8eac0 75 70 6c 65 73 22 3e 54 75 70 6c 65 73 3c 2f 61 3e 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 uples">Tuples</a>.can.be.coerced
8eae0 20 74 6f 20 61 72 72 61 79 73 2c 20 69 66 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 69 65 6c 64 73 .to.arrays,.if.all.of.the.fields
8eb00 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .have.the.same.type.</p>.......<
8eb20 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
8eb40 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
8eb60 65 5f 74 75 70 6c 65 73 5f 61 72 72 61 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 e_tuples_arrays.zig</cite></figc
8eb80 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 6c aption><pre><code><span.class="l
8eba0 69 6e 65 22 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 ine"><span.class="tok-kw">const<
8ebc0 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
8ebe0 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
8ec00 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
8ec20 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>);</span>.<span.class="line"><
8ec40 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>
8ec60 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 3c 2f 73 .expect.=.std.testing.expect;</s
8ec80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
8eca0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
8ecc0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 75 70 6c 65 20 3d 20 3c 73 70 tok-kw">const</span>.Tuple.=.<sp
8ece0 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 7b an.class="tok-kw">struct</span>{
8ed00 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
8ed20 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 75 38 3c 2f 73 70 >,.<span.class="tok-type">u8</sp
8ed40 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>.};</span>.<span.class="line"
8ed60 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
8ed80 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
8eda0 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 20 ercion.from.homogenous.tuple.to.
8edc0 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 array&quot;</span>.{</span>.<spa
8ede0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 09 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n.class="line">.<span.class="tok
8ee00 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 3d -kw">const</span>.tuple:.Tuple.=
8ee20 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 73 ..{<span.class="tok-number">5</s
8ee40 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
8ee60 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>};</span>.<span.class="li
8ee80 6e 65 22 3e 09 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 ne">.<span.class="tok-kw">const<
8eea0 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 2d /span>.array:.[<span.class="tok-
8eec0 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 74 6f number">2</span>]<span.class="to
8eee0 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 3b 3c 2f 73 70 61 6e k-type">u8</span>.=.tuple;</span
8ef00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 09 5f 20 3d 20 61 72 72 61 79 3b >.<span.class="line">._.=.array;
8ef20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
8ef40 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
8ef60 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
8ef80 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
8efa0 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 75 70 6c 65 73 5f 61 bd>zig.test.test_coerce_tuples_a
8efc0 72 72 61 79 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 63 6f 65 72 63 69 6f rrays.zig</kbd>.1/1.test.coercio
8efe0 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
8f000 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
8f020 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 20 0a p></pre></figure>...............
8f040 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 73 74 73 22 3e 3c .......<h3.id="Explicit-Casts"><
8f060 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 73 22 3e 45 78 70 a.href="#toc-Explicit-Casts">Exp
8f080 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 68 64 72 22 20 68 licit.Casts</a>.<a.class="hdr".h
8f0a0 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 61 3e 3c 2f 68 33 ref="#Explicit-Casts">..</a></h3
8f0c0 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 74 20 63 61 73 74 >........<p>.......Explicit.cast
8f0e0 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 66 3d 22 23 42 75 s.are.performed.via.<a.href="#Bu
8f100 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 74 69 6f iltin-Functions">Builtin.Functio
8f120 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 74 20 63 61 73 74 ns</a>........Some.explicit.cast
8f140 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 20 20 20 20 20 20 s.are.safe;.some.are.not........
8f160 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 6d 20 6c 61 6e 67 Some.explicit.casts.perform.lang
8f180 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 65 20 64 6f 20 6e uage-level.assertions;.some.do.n
8f1a0 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 73 74 73 20 61 72 ot........Some.explicit.casts.ar
8f1c0 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 61 72 65 20 6e 6f e.no-ops.at.runtime;.some.are.no
8f1e0 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 20 20 20 20 20 20 t........</p>.......<ul>........
8f200 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 40 62 69 74 43 61 ...<li><a.href="#bitCast">@bitCa
8f220 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 61 69 6e 74 61 69 st</a>.-.change.type.but.maintai
8f240 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 20 20 20 20 20 20 n.bit.representation</li>.......
8f260 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 74 22 3e 40 61 6c ....<li><a.href="#alignCast">@al
8f280 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 65 72 20 68 61 76 ignCast</a>.-.make.a.pointer.hav
8f2a0 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 20 20 20 20 20 20 e.more.alignment</li>...........
8f2c0 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 3e 40 65 6e 75 6d <li><a.href="#enumFromInt">@enum
8f2e0 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 75 6d 20 76 61 6c FromInt</a>.-.obtain.an.enum.val
8f300 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 67 20 76 61 6c 75 ue.based.on.its.integer.tag.valu
8f320 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 23 65 e</li>...........<li><a.href="#e
8f340 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 3c 2f 61 3e 20 2d rrorFromInt">@errorFromInt</a>.-
8f360 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 64 20 6f 6e 20 69 .obtain.an.error.code.based.on.i
8f380 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 20 20 20 20 20 20 ts.integer.value</li>...........
8f3a0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 <li><a.href="#errSetCast">@errSe
8f3c0 74 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 6c 6c 65 72 tCast</a>.-.convert.to.a.smaller
8f3e0 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 69 3e 3c 61 .error.set</li>...........<li><a
8f400 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 74 3c 2f 61 .href="#floatCast">@floatCast</a
8f420 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 6f 20 61 20 >.-.convert.a.larger.float.to.a.
8f440 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 20 3c 6c 69 smaller.float</li>...........<li
8f460 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 6f 61 74 46 ><a.href="#floatFromInt">@floatF
8f480 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 67 65 72 20 romInt</a>.-.convert.an.integer.
8f4a0 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 20 20 20 20 to.a.float.value</li>...........
8f4c0 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 61 73 74 3c <li><a.href="#intCast">@intCast<
8f4e0 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 72 20 74 79 /a>.-.convert.between.integer.ty
8f500 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 65 66 3d 22 pes</li>...........<li><a.href="
8f520 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 61 3e 20 2d #intFromBool">@intFromBool</a>.-
8f540 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 20 74 6f 20 .convert.true.to.1.and.false.to.
8f560 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 3d 22 23 69 0</li>...........<li><a.href="#i
8f580 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 20 2d 20 6f ntFromEnum">@intFromEnum</a>.-.o
8f5a0 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 6f 66 20 61 btain.the.integer.tag.value.of.a
8f5c0 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 20 20 20 20 n.enum.or.tagged.union</li>.....
8f5e0 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 72 72 6f 72 ......<li><a.href="#intFromError
8f600 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 20 74 68 65 ">@intFromError</a>.-.obtain.the
8f620 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 6f 64 65 3c .integer.value.of.an.error.code<
8f640 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 69 6e 74 /li>...........<li><a.href="#int
8f660 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 20 2d 20 6f FromFloat">@intFromFloat</a>.-.o
8f680 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 66 6c 6f 61 btain.the.integer.part.of.a.floa
8f6a0 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 61 20 68 72 t.value</li>...........<li><a.hr
8f6c0 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 3c 2f 61 3e ef="#intFromPtr">@intFromPtr</a>
8f6e0 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 6f 69 6e 74 .-.obtain.the.address.of.a.point
8f700 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 66 3d 22 23 er</li>...........<li><a.href="#
8f720 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 2d 20 63 6f ptrFromInt">@ptrFromInt</a>.-.co
8f740 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 72 3c 2f 6c nvert.an.address.to.a.pointer</l
8f760 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 74 72 43 61 i>...........<li><a.href="#ptrCa
8f780 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 65 74 77 65 st">@ptrCast</a>.-.convert.betwe
8f7a0 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 20 20 20 20 en.pointer.types</li>...........
8f7c0 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 6e 63 61 74 <li><a.href="#truncate">@truncat
8f7e0 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 67 65 72 20 e</a>.-.convert.between.integer.
8f800 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 3e 0a 20 20 types,.chopping.off.bits</li>...
8f820 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 69 64 3d 22 ....</ul>...............<h3.id="
8f840 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 66 3d 22 23 Peer-Type-Resolution"><a.href="#
8f860 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 65 72 20 54 toc-Peer-Type-Resolution">Peer.T
8f880 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 22 68 64 72 ype.Resolution</a>.<a.class="hdr
8f8a0 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 6e 22 3e c2 ".href="#Peer-Type-Resolution">.
8f8c0 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 70 65 20 52 .</a></h3>........<p>Peer.Type.R
8f8e0 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 61 63 65 73 esolution.occurs.in.these.places
8f900 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 3e 3c 61 20 :</p>.......<ul>.........<li><a.
8f920 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 70 72 65 73 href="#switch">switch</a>.expres
8f940 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 65 66 3d 22 sions</li>.........<li><a.href="
8f960 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 0a 20 20 20 #if">if</a>.expressions</li>....
8f980 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 69 6c 65 3c .....<li><a.href="#while">while<
8f9a0 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 20 3c 6c 69 /a>.expressions</li>.........<li
8f9c0 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 65 73 73 69 ><a.href="#for">for</a>.expressi
8f9e0 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 65 20 62 72 ons</li>.........<li>Multiple.br
8fa00 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 69 3e 0a 20 eak.statements.in.a.block</li>..
8fa20 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 62 6c 65 2d .......<li>Some.<a.href="#Table-
8fa40 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 6f 6e 73 3c of-Operators">binary.operations<
8fa60 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 70 3e 0a 20 /a></li>.......</ul>.......<p>..
8fa80 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 75 74 69 6f .....This.kind.of.type.resolutio
8faa0 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 65 72 20 74 n.chooses.a.type.that.all.peer.t
8fac0 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 72 65 0a 20 ypes.can.coerce.into..Here.are..
8fae0 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 70 3e 0a 20 .....some.examples:.......</p>..
8fb00 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="
8fb20 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
8fb40 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 69 74 65 3e _peer_type_resolution.zig</cite>
8fb60 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
8fb80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
8fba0 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="
8fbc0 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
8fbe0 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
8fc00 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
8fc20 69 6e 65 22 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 ine"><span.class="tok-kw">const<
8fc40 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
8fc60 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ct;</span>.<span.class="line"><s
8fc80 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>.
8fca0 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 mem.=.std.mem;</span>.<span.clas
8fcc0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
8fce0 6e 65 22 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 ne"><span.class="tok-kw">test</s
8fd00 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
8fd20 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b ;peer.resolve.int.widening&quot;
8fd40 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
8fd60 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">var
8fd80 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 2d 74 79 70 65 </span>.a:.<span.class="tok-type
8fda0 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
8fdc0 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">12</span>;</span>.<span.c
8fde0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
8fe00 2d 6b 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 -kw">var</span>.b:.<span.class="
8fe20 74 6f 6b 2d 74 79 70 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 tok-type">i16</span>.=.<span.cla
8fe40 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 3b 3c 2f 73 70 61 6e ss="tok-number">34</span>;</span
8fe60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
8fe80 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 20 3d 20 61 20 2b lass="tok-kw">var</span>.c.=.a.+
8fea0 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .b;</span>.<span.class="line">..
8fec0 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
8fee0 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 3d 22 74 6f 6b 2d 6e >.expect(c.==.<span.class="tok-n
8ff00 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">46</span>);</span>.<span.
8ff20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
8ff40 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
8ff60 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>
8ff80 28 63 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 22 3e 69 31 (c).==.<span.class="tok-type">i1
8ffa0 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 6</span>);</span>.<span.class="l
8ffc0 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ine">}</span>.<span.class="line"
8ffe0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
90000 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
90020 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 72 65 an.class="tok-str">&quot;peer.re
90040 73 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 solve.arrays.of.different.size.t
90060 6f 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 3c 2f 73 70 o.const.slice&quot;</span>.{</sp
90080 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
900a0 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
900c0 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 70 65 22 t(mem.eql(<span.class="tok-type"
900e0 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 20 63 6c 61 73 >u8</span>,.boolToStr(<span.clas
90100 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 3c 73 70 61 6e s="tok-null">true</span>),.<span
90120 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 6f 74 .class="tok-str">&quot;true&quot
90140 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;</span>));</span>.<span.class="
90160 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
90180 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 6e 20 63 ry</span>.expect(mem.eql(<span.c
901a0 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 54 lass="tok-type">u8</span>,.boolT
901c0 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 73 oStr(<span.class="tok-null">fals
901e0 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 22 e</span>),.<span.class="tok-str"
90200 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 3c 2f 73 70 >&quot;false&quot;</span>));</sp
90220 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
90240 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 61 6e .class="tok-kw">try</span>.<span
90260 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>.
90280 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-
902a0 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
902c0 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>),.
902e0 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
90300 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c &quot;</span>));</span>.<span.cl
90320 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
90340 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 6b 2d kw">try</span>.<span.class="tok-
90360 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 6d 65 6d 2e 65 kw">comptime</span>.expect(mem.e
90380 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
903a0 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 2d an>,.boolToStr(<span.class="tok-
903c0 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 73 null">false</span>),.<span.class
903e0 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 70 ="tok-str">&quot;false&quot;</sp
90400 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>));</span>.<span.class="line"
90420 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 >}</span>.<span.class="line"><sp
90440 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
90460 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 70 61 6e n.class="tok-fn">boolToStr</span
90480 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 6f 6f 6c >(b:.<span.class="tok-type">bool
904a0 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 77 22 3e </span>).[]<span.class="tok-kw">
904c0 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
904e0 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pe">u8</span>.{</span>.<span.cla
90500 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
90520 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
90540 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 61 73 73 3d k-kw">if</span>.(b).<span.class=
90560 22 74 6f 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 "tok-str">&quot;true&quot;</span
90580 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 2f 73 70 61 >.<span.class="tok-kw">else</spa
905a0 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
905c0 61 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 alse&quot;</span>;</span>.<span.
905e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
90600 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
90620 6e 65 22 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 ne"><span.class="tok-kw">test</s
90640 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
90660 3b 70 65 65 72 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 ;peer.resolve.array.and.const.sl
90680 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ice&quot;</span>.{</span>.<span.
906a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
906c0 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 65 k-kw">try</span>.testPeerResolve
906e0 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 6b ArrayConstSlice(<span.class="tok
90700 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -null">true</span>);</span>.<spa
90720 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
90740 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 61 73 73 3d 22 tok-kw">try</span>.<span.class="
90760 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 65 73 74 50 65 65 72 tok-kw">comptime</span>.testPeer
90780 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 70 61 6e 20 63 6c 61 ResolveArrayConstSlice(<span.cla
907a0 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 3c 2f 73 70 61 ss="tok-null">true</span>);</spa
907c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c n>.<span.class="line">}</span>.<
907e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
90800 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
90820 6b 2d 66 6e 22 3e 74 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 k-fn">testPeerResolveArrayConstS
90840 6c 69 63 65 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 lice</span>(b:.<span.class="tok-
90860 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d type">bool</span>).!<span.class=
90880 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a "tok-type">void</span>.{</span>.
908a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
908c0 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 31 20 ss="tok-kw">const</span>.value1.
908e0 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 61 6e 3e =.<span.class="tok-kw">if</span>
90900 20 28 62 29 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 .(b).<span.class="tok-str">&quot
90920 3b 61 6f 65 75 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 ;aoeu&quot;</span>.<span.class="
90940 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 3d tok-kw">else</span>.<span.class=
90960 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 73 70 61 6e "tok-builtin">@as</span>([]<span
90980 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
909a0 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>,.<
909c0 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 7a 26 71 75 span.class="tok-str">&quot;zz&qu
909e0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
90a00 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
90a20 63 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 const</span>.value2.=.<span.clas
90a40 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 61 6e 20 63 s="tok-kw">if</span>.(b).<span.c
90a60 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 5b 5d lass="tok-builtin">@as</span>([]
90a80 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
90aa0 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
90ac0 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;
90ae0 7a 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 zz&quot;</span>).<span.class="to
90b00 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
90b20 6f 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 ok-str">&quot;aoeu&quot;</span>;
90b40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
90b60 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
90b80 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 74 xpect(mem.eql(<span.class="tok-t
90ba0 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 61 6e 20 63 6c ype">u8</span>,.value1,.<span.cl
90bc0 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 6f 74 3b 3c 2f ass="tok-str">&quot;aoeu&quot;</
90be0 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>));</span>.<span.class="lin
90c00 65 22 3e 20 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 e">....<span.class="tok-kw">try<
90c20 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 63 6c 61 73 /span>.expect(mem.eql(<span.clas
90c40 73 3d 22 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 32 2c 20 s="tok-type">u8</span>,.value2,.
90c60 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 7a 26 71 <span.class="tok-str">&quot;zz&q
90c80 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 uot;</span>));</span>.<span.clas
90ca0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s="line">}</span>.<span.class="l
90cc0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
90ce0 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>
90d00 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 65 65 .<span.class="tok-str">&quot;pee
90d20 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 26 71 75 6f 74 r.type.resolution:.?T.and.T&quot
90d40 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>.{</span>.<span.class="l
90d60 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
90d80 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 70 74 69 y</span>.expect(peerTypeTAndOpti
90da0 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 74 72 75 onalT(<span.class="tok-null">tru
90dc0 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 6c 6c 22 e</span>,.<span.class="tok-null"
90de0 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 73 73 3d >false</span>).?.==.<span.class=
90e00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">0</span>);</span>.<
90e20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
90e40 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 65 s="tok-kw">try</span>.expect(pee
90e60 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 73 3d 22 rTypeTAndOptionalT(<span.class="
90e80 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 20 63 6c tok-null">false</span>,.<span.cl
90ea0 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 3f 20 3d ass="tok-null">false</span>).?.=
90ec0 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
90ee0 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
90f00 20 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 ....<span.class="tok-kw">comptim
90f20 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e</span>.{</span>.<span.class="l
90f40 69 6e 65 22 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 6b 77 ine">........<span.class="tok-kw
90f60 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 54 41 6e 64 ">try</span>.expect(peerTypeTAnd
90f80 4f 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 OptionalT(<span.class="tok-null"
90fa0 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 3d 22 74 6f 6b 2d 6e >true</span>,.<span.class="tok-n
90fc0 75 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 ull">false</span>).?.==.<span.cl
90fe0 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 3c 2f 73 70 61 ass="tok-number">0</span>);</spa
91000 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
91020 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
91040 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 6e pect(peerTypeTAndOptionalT(<span
91060 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 20 .class="tok-null">false</span>,.
91080 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
910a0 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 65 an>).?.==.<span.class="tok-numbe
910c0 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">3</span>);</span>.<span.class
910e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ="line">....}</span>.<span.class
91100 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
91120 6e 65 22 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 2f 73 70 61 ne"><span.class="tok-kw">fn</spa
91140 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 65 65 72 54 79 70 65 n>.<span.class="tok-fn">peerType
91160 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 3c 2f 73 70 61 6e 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c TAndOptionalT</span>(c:.<span.cl
91180 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 2c 20 62 3a 20 3c ass="tok-type">bool</span>,.b:.<
911a0 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 6e span.class="tok-type">bool</span
911c0 3e 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 73 69 7a 65 >).?<span.class="tok-type">usize
911e0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
91200 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">if<
91220 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>.(c).{</span>.<span.class=
91240 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
91260 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
91280 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 61 73 73 ok-kw">if</span>.(b).<span.class
912a0 3d 22 74 6f 6b 2d 6e 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 ="tok-null">null</span>.<span.cl
912c0 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 6e 20 63 ass="tok-kw">else</span>.<span.c
912e0 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
91300 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
91320 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 73 >,.<span.class="tok-number">0</s
91340 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
91360 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
91380 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
913a0 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
913c0 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 61 73 n>.<span.class="tok-builtin">@as
913e0 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 75 </span>(<span.class="tok-type">u
91400 73 69 7a 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 size</span>,.<span.class="tok-nu
91420 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">3</span>);</span>.<span.cl
91440 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">}</span>.<span.class=
91460 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
91480 22 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 "><span.class="tok-kw">test</spa
914a0 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
914c0 65 65 72 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 eer.type.resolution:.*[0]u8.and.
914e0 5b 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e []const.u8&quot;</span>.{</span>
91500 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
91520 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
91540 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 61 6e 20 eerTypeEmptyArrayAndSlice(<span.
91560 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 20 3c 73 class="tok-null">true</span>,.<s
91580 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 71 75 6f pan.class="tok-str">&quot;hi&quo
915a0 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 3d 22 74 t;</span>).len.==.<span.class="t
915c0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">0</span>);</span>.<sp
915e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
91600 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 54 "tok-kw">try</span>.expect(peerT
91620 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 73 ypeEmptyArrayAndSlice(<span.clas
91640 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
91660 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 3c .class="tok-str">&quot;hi&quot;<
91680 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 2d /span>).len.==.<span.class="tok-
916a0 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">1</span>);</span>.<span.
916c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
916e0 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c k-kw">comptime</span>.{</span>.<
91700 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
91720 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
91740 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 61 (peerTypeEmptyArrayAndSlice(<spa
91760 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 20 n.class="tok-null">true</span>,.
91780 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 71 <span.class="tok-str">&quot;hi&q
917a0 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 3d uot;</span>).len.==.<span.class=
917c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">0</span>);</span>.<
917e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
91800 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
91820 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 61 (peerTypeEmptyArrayAndSlice(<spa
91840 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>,
91860 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&
91880 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
918a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">1</span>);</span>.
918c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a <span.class="line">....}</span>.
918e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
91900 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
91920 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
91940 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 3c 2f 73 n">peerTypeEmptyArrayAndSlice</s
91960 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 3e 62 pan>(a:.<span.class="tok-type">b
91980 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 ool</span>,.slice:.[]<span.class
919a0 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
919c0 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 5b 5d 3c 73 70 61 6e ss="tok-type">u8</span>).[]<span
919e0 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
91a00 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>.{<
91a20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
91a40 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)
91a60 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
91a80 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 72 6e .....<span.class="tok-kw">return
91aa0 3c 2f 73 70 61 6e 3e 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 </span>.&amp;[_]<span.class="tok
91ac0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -type">u8</span>{};</span>.<span
91ae0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .class="line">....}</span>.<span
91b00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
91b20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
91b40 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 ">return</span>.slice[<span.clas
91b60 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 61 6e 20 63 s="tok-number">0</span>..<span.c
91b80 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 3b 3c 2f 73 70 lass="tok-number">1</span>];</sp
91ba0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
91bc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
91be0 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=
91c00 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 "tok-str">&quot;peer.type.resolu
91c20 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 2c 20 5b 5d 63 6f 6e 73 74 20 75 38 2c 20 61 6e 64 20 61 6e tion:.*[0]u8,.[]const.u8,.and.an
91c40 79 65 72 72 6f 72 21 5b 5d 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e yerror![]u8&quot;</span>.{</span
91c60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e >.<span.class="line">....{</span
91c80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
91ca0 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 64 61 74 an.class="tok-kw">var</span>.dat
91cc0 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 6f 74 3b a.=.<span.class="tok-str">&quot;
91ce0 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 hi&quot;</span>.*;</span>.<span.
91d00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
91d20 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 20 3d 20 64 ="tok-kw">const</span>.slice.=.d
91d40 61 74 61 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 ata[<span.class="tok-number">0</
91d60 73 70 61 6e 3e 2e 2e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 span>..];</span>.<span.class="li
91d80 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
91da0 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=
91dc0 22 74 6f 6b 2d 6b 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 "tok-kw">try</span>.peerTypeEmpt
91de0 79 41 72 72 61 79 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 yArrayAndSliceAndError(<span.cla
91e00 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 20 73 6c 69 63 65 ss="tok-null">true</span>,.slice
91e20 29 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 )).len.==.<span.class="tok-numbe
91e40 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">0</span>);</span>.<span.class
91e60 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
91e80 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 6c -kw">try</span>.expect((<span.cl
91ea0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 ass="tok-kw">try</span>.peerType
91ec0 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e EmptyArrayAndSliceAndError(<span
91ee0 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 20 .class="tok-null">false</span>,.
91f00 73 6c 69 63 65 29 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 slice)).len.==.<span.class="tok-
91f20 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">1</span>);</span>.<span.
91f40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
91f60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
91f80 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c k-kw">comptime</span>.{</span>.<
91fa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
91fc0 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 64 61 74 61 20 3d class="tok-kw">var</span>.data.=
91fe0 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&
92000 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 quot;</span>.*;</span>.<span.cla
92020 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
92040 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 64 61 74 61 ok-kw">const</span>.slice.=.data
92060 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
92080 6e 3e 2e 2e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 n>..];</span>.<span.class="line"
920a0 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 6b 77 22 3e 74 72 >........<span.class="tok-kw">tr
920c0 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 22 74 6f y</span>.expect((<span.class="to
920e0 6b 2d 6b 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 k-kw">try</span>.peerTypeEmptyAr
92100 72 61 79 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 rayAndSliceAndError(<span.class=
92120 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e "tok-null">true</span>,.slice)).
92140 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">
92160 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 0</span>);</span>.<span.class="l
92180 69 6e 65 22 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 6b 77 ine">........<span.class="tok-kw
921a0 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 6c 61 73 73 ">try</span>.expect((<span.class
921c0 3d 22 74 6f 6b 2d 6b 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 ="tok-kw">try</span>.peerTypeEmp
921e0 74 79 41 72 72 61 79 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 tyArrayAndSliceAndError(<span.cl
92200 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 20 73 6c 69 ass="tok-null">false</span>,.sli
92220 63 65 29 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 ce)).len.==.<span.class="tok-num
92240 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">1</span>);</span>.<span.cla
92260 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ss="line">....}</span>.<span.cla
92280 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
922a0 6c 69 6e 65 22 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 2f 73 line"><span.class="tok-kw">fn</s
922c0 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 65 65 72 54 79 pan>.<span.class="tok-fn">peerTy
922e0 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 3c 2f 73 70 peEmptyArrayAndSliceAndError</sp
92300 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 3e 62 6f an>(a:.<span.class="tok-type">bo
92320 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d ol</span>,.slice:.[]<span.class=
92340 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 61 73 "tok-type">u8</span>).<span.clas
92360 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 5d 3c s="tok-type">anyerror</span>![]<
92380 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>.
923a0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
923c0 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>.(
923e0 61 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 a).{</span>.<span.class="line">.
92400 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
92420 72 6e 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 rn</span>.&amp;[_]<span.class="t
92440 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-type">u8</span>{};</span>.<sp
92460 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 an.class="line">....}</span>.<sp
92480 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
924a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
924c0 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c kw">return</span>.slice[<span.cl
924e0 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 61 6e ass="tok-number">0</span>..<span
92500 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 3b 3c 2f .class="tok-number">1</span>];</
92520 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
92540 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
92560 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
92580 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
925a0 6b 2d 73 74 72 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 k-str">&quot;peer.type.resolutio
925c0 6e 3a 20 2a 63 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 n:.*const.T.and.?*T&quot;</span>
925e0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
92600 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
92620 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 73 n>.a:.*<span.class="tok-kw">cons
92640 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">
92660 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-
92680 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 61 builtin">@ptrFromInt</span>(<spa
926a0 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 30 n.class="tok-number">0x123456780
926c0 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
926e0 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">con
92700 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 73 3d 22 74 6f 6b 2d st</span>.b:.?*<span.class="tok-
92720 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 73 73 type">usize</span>.=.<span.class
92740 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 2f 73 70 61 6e ="tok-builtin">@ptrFromInt</span
92760 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 30 78 31 32 33 >(<span.class="tok-number">0x123
92780 34 35 36 37 38 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 456780</span>);</span>.<span.cla
927a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
927c0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 20 3d 3d 20 62 29 3b 3c 2f 73 w">try</span>.expect(a.==.b);</s
927e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
92800 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
92820 63 74 28 62 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ct(b.==.a);</span>.<span.class="
92840 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
92860 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
92880 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
928a0 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 65 65 72 ><samp>$.<kbd>zig.test.test_peer
928c0 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 37 20 74 _type_resolution.zig</kbd>.1/7.t
928e0 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 6e 69 6e 67 2e 2e 2e est.peer.resolve.int.widening...
92900 20 4f 4b 0a 32 2f 37 20 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 73 .OK.2/7.test.peer.resolve.arrays
92920 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 20 74 6f 20 63 6f 6e 73 74 20 73 6c 69 63 .of.different.size.to.const.slic
92940 65 2e 2e 2e 20 4f 4b 0a 33 2f 37 20 74 65 73 74 2e 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 e....OK.3/7.test.peer.resolve.ar
92960 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 37 20 74 65 ray.and.const.slice....OK.4/7.te
92980 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 3f 54 20 61 6e 64 20 st.peer.type.resolution:.?T.and.
929a0 54 2e 2e 2e 20 4f 4b 0a 35 2f 37 20 74 65 73 74 2e 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c T....OK.5/7.test.peer.type.resol
929c0 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 20 61 6e 64 20 5b 5d 63 6f 6e 73 74 20 75 38 2e 2e 2e 20 ution:.*[0]u8.and.[]const.u8....
929e0 4f 4b 0a 36 2f 37 20 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 OK.6/7.test.peer.type.resolution
92a00 3a 20 2a 5b 30 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 :.*[0]u8,.[]const.u8,.and.anyerr
92a20 6f 72 21 5b 5d 75 38 2e 2e 2e 20 4f 4b 0a 37 2f 37 20 74 65 73 74 2e 70 65 65 72 20 74 79 70 65 or![]u8....OK.7/7.test.peer.type
92a40 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 63 6f 6e 73 74 20 54 20 61 6e 64 20 3f 2a 54 2e 2e 2e .resolution:.*const.T.and.?*T...
92a60 20 4f 4b 0a 41 6c 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 .OK.All.7.tests.passed..</samp><
92a80 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 20 20 /pre></figure>..................
92aa0 20 20 20 20 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 ....<h2.id="Zero-Bit-Types"><a.h
92ac0 72 65 66 3d 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 ref="#toc-Zero-Bit-Types">Zero.B
92ae0 69 74 20 54 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 it.Types</a>.<a.class="hdr".href
92b00 3d 22 23 5a 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 ="#Zero-Bit-Types">..</a></h2>..
92b20 20 20 20 20 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 ......<p>For.some.types,.<a.href
92b40 3d 22 23 73 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 ="#sizeOf">@sizeOf</a>.is.0:</p>
92b60 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 3c 61 20 68 72 65 .......<ul>...........<li><a.hre
92b80 66 3d 22 23 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 f="#void">void</a></li>.........
92ba0 20 20 3c 6c 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 ..<li>The.<a.href="#Integers">In
92bc0 74 65 67 65 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 6c 69 tegers</a>.<code><span.class="li
92be0 6e 65 22 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 30 3c 2f 73 ne"><span.class="tok-type">u0</s
92c00 70 61 6e 3e 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 73 70 pan></span></code>.and.<code><sp
92c20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
92c40 2d 74 79 70 65 22 3e 69 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c -type">i0</span></span></code>.<
92c60 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 41 72 72 /li>...........<li><a.href="#Arr
92c80 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 ays">Arrays</a>.and.<a.href="#Ve
92ca0 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 77 69 74 68 20 6c 65 6e 20 30 2c 20 6f ctors">Vectors</a>.with.len.0,.o
92cc0 72 20 77 69 74 68 20 61 6e 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 74 68 61 74 20 69 73 20 61 r.with.an.element.type.that.is.a
92ce0 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c .zero.bit.type.</li>...........<
92d00 6c 69 3e 41 6e 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 20 77 li>An.<a.href="#enum">enum</a>.w
92d20 69 74 68 20 6f 6e 6c 79 20 31 20 74 61 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ith.only.1.tag.</li>...........<
92d40 6c 69 3e 41 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 61 li>A.<a.href="#struct">struct</a
92d60 3e 20 77 69 74 68 20 61 6c 6c 20 66 69 65 6c 64 73 20 62 65 69 6e 67 20 7a 65 72 6f 20 62 69 74 >.with.all.fields.being.zero.bit
92d80 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 20 .types.</li>...........<li>A.<a.
92da0 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 77 69 74 68 20 6f 6e 6c href="#union">union</a>.with.onl
92dc0 79 20 31 20 66 69 65 6c 64 20 77 68 69 63 68 20 69 73 20 61 20 7a 65 72 6f 20 62 69 74 20 74 79 y.1.field.which.is.a.zero.bit.ty
92de0 70 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 pe.</li>.......</ul>.......<p>..
92e00 20 20 20 20 20 54 68 65 73 65 20 74 79 70 65 73 20 63 61 6e 20 6f 6e 6c 79 20 65 76 65 72 20 68 .....These.types.can.only.ever.h
92e20 61 76 65 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 2c 20 61 6e 64 20 74 68 75 73 ave.one.possible.value,.and.thus
92e40 0a 20 20 20 20 20 20 72 65 71 75 69 72 65 20 30 20 62 69 74 73 20 74 6f 20 72 65 70 72 65 73 65 .......require.0.bits.to.represe
92e60 6e 74 2e 20 43 6f 64 65 20 74 68 61 74 20 6d 61 6b 65 73 20 75 73 65 20 6f 66 20 74 68 65 73 65 nt..Code.that.makes.use.of.these
92e80 20 74 79 70 65 73 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 .types.is.......not.included.in.
92ea0 74 68 65 20 66 69 6e 61 6c 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 3a 0a 20 20 20 20 20 20 the.final.generated.code:.......
92ec0 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
92ee0 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
92f00 22 3e 7a 65 72 6f 5f 62 69 74 5f 74 79 70 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ">zero_bit_types.zig</cite></fig
92f20 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="
92f40 6c 69 6e 65 22 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 6f 72 line"><span.class="tok-kw">expor
92f60 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
92f80 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 65 6e 74 </span>.<span.class="tok-fn">ent
92fa0 72 79 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 ry</span>().<span.class="tok-typ
92fc0 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">void</span>.{</span>.<span.cl
92fe0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
93000 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 74 kw">var</span>.x:.<span.class="t
93020 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 7b 7d 3b 3c 2f 73 70 61 6e ok-type">void</span>.=.{};</span
93040 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
93060 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 61 lass="tok-kw">var</span>.y:.<spa
93080 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 3d n.class="tok-type">void</span>.=
930a0 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 .{};</span>.<span.class="line">.
930c0 20 20 20 78 20 3d 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ...x.=.y;</span>.<span.class="li
930e0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
93100 65 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 74 68 69 73 20 74 75 72 6e 73 20 69 6e 74 6f e>.......<p>When.this.turns.into
93120 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 63 6f 64 65 20 .machine.code,.there.is.no.code.
93140 67 65 6e 65 72 61 74 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 62 6f 64 79 20 6f 66 20 3c generated.in.the.......body.of.<
93160 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 74 72 79 3c 2f 73 code><span.class="line">entry</s
93180 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 76 65 6e 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 pan></code>,.even.in.<a.href="#D
931a0 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 6d 6f 64 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c ebug">Debug</a>.mode..For.exampl
931c0 65 2c 20 6f 6e 20 78 38 36 5f 36 34 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f e,.on.x86_64:</p>.......<pre><co
931e0 64 65 3e 30 30 30 30 30 30 30 30 30 30 30 30 30 30 31 30 20 26 6c 74 3b 65 6e 74 72 79 26 67 74 de>0000000000000010.&lt;entry&gt
93200 3b 3a 0a 20 20 31 30 3a 09 35 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 70 ;:...10:.55....................p
93220 75 73 68 20 20 20 25 72 62 70 0a 20 20 31 31 3a 09 34 38 20 38 39 20 65 35 20 20 20 20 20 20 20 ush...%rbp...11:.48.89.e5.......
93240 20 20 20 20 20 20 09 6d 6f 76 20 20 20 20 25 72 73 70 2c 25 72 62 70 0a 20 20 31 34 3a 09 35 64 .......mov....%rsp,%rbp...14:.5d
93260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 70 6f 70 20 20 20 20 25 72 62 70 0a ....................pop....%rbp.
93280 20 20 31 35 3a 09 63 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 72 65 74 71 ..15:.c3....................retq
932a0 20 20 20 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 ...</code></pre>.......<p>These.
932c0 61 73 73 65 6d 62 6c 79 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 64 6f 20 6e 6f 74 20 68 61 76 assembly.instructions.do.not.hav
932e0 65 20 61 6e 79 20 63 6f 64 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 76 e.any.code.associated.with.the.v
93300 6f 69 64 20 76 61 6c 75 65 73 20 2d 0a 20 20 20 20 20 20 74 68 65 79 20 6f 6e 6c 79 20 70 65 72 oid.values.-.......they.only.per
93320 66 6f 72 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 70 72 6f 6c 6f 67 75 65 20 form.the.function.call.prologue.
93340 61 6e 64 20 65 70 69 6c 6f 67 75 65 2e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d and.epilogue.</p>........<h3.id=
93360 22 76 6f 69 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 76 6f 69 64 22 3e 76 6f 69 64 3c "void"><a.href="#toc-void">void<
93380 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 69 64 22 3e /a>.<a.class="hdr".href="#void">
933a0 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 3c 63 6f ..</a></h3>........<p>.......<co
933c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
933e0 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 73 70 61 6e 3e 3c s="tok-type">void</span></span><
93400 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 69 6e 73 74 61 6e 74 /code>.can.be.useful.for.instant
93420 69 61 74 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 iating.generic.types..For.exampl
93440 65 2c 20 67 69 76 65 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e e,.given.a...........<code><span
93460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 61 70 28 4b 65 79 2c 20 56 61 6c 75 65 29 3c 2f 73 .class="line">Map(Key,.Value)</s
93480 70 61 6e 3e 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 64 65 3e pan></code>,.one.can.pass.<code>
934a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
934c0 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-type">void</span></span></co
934e0 64 65 3e 20 66 6f 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 6c de>.for.the.<code><span.class="l
93500 69 6e 65 22 3e 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 ine">Value</span></code>........
93520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 74 6f 20 6d 61 6b 65 20 69 74 20 69 ...............type.to.make.it.i
93540 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 6c 69 6e 65 22 3e 53 nto.a.<code><span.class="line">S
93560 65 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 et</span></code>:.......</p>....
93580 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
935a0 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 76 g-cap"><cite.class="file">test_v
935c0 6f 69 64 5f 69 6e 5f 68 61 73 68 6d 61 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 oid_in_hashmap.zig</cite></figca
935e0 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 6c 69 ption><pre><code><span.class="li
93600 6e 65 22 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 ne"><span.class="tok-kw">const</
93620 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
93640 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
93660 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
93680 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
936a0 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>.
936c0 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 3c 2f 73 70 expect.=.std.testing.expect;</sp
936e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
93700 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
93720 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="
93740 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f tok-str">&quot;turn.HashMap.into
93760 20 61 20 73 65 74 20 77 69 74 68 20 76 6f 69 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c .a.set.with.void&quot;</span>.{<
93780 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
937a0 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 6d 61 pan.class="tok-kw">var</span>.ma
937c0 70 20 3d 20 73 74 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 p.=.std.AutoHashMap(<span.class=
937e0 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 70 61 6e 20 63 6c 61 "tok-type">i32</span>,.<span.cla
93800 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 2e 69 6e 69 74 28 ss="tok-type">void</span>).init(
93820 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c std.testing.allocator);</span>.<
93840 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
93860 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
93880 69 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e it();</span>.<span.class="line">
938a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
938c0 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
938e0 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">
93900 31 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 1</span>,.{});</span>.<span.clas
93920 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
93940 22 3e 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 ">try</span>.map.put(<span.class
93960 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 3c 2f 73 70 ="tok-number">2</span>,.{});</sp
93980 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
939a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
939c0 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 70 s="tok-kw">try</span>.expect(map
939e0 2e 63 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 .contains(<span.class="tok-numbe
93a00 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">2</span>));</span>.<span.clas
93a20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
93a40 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 74 61 69 6e ">try</span>.expect(!map.contain
93a60 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 3c 2f 73 70 s(<span.class="tok-number">3</sp
93a80 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>));</span>.<span.class="line"
93aa0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
93ac0 5f 20 3d 20 6d 61 70 2e 72 65 6d 6f 76 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d _.=.map.remove(<span.class="tok-
93ae0 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">2</span>);</span>.<span.
93b00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
93b20 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
93b40 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 32 tains(<span.class="tok-number">2
93b60 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>));</span>.<span.class="l
93b80 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
93ba0 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
93bc0 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>
93be0 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 5f <samp>$.<kbd>zig.test.test_void_
93c00 69 6e 5f 68 61 73 68 6d 61 70 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 74 75 in_hashmap.zig</kbd>.1/1.test.tu
93c20 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 76 6f 69 64 2e rn.HashMap.into.a.set.with.void.
93c40 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
93c60 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 20 74 ></pre></figure>.......<p>Note.t
93c80 68 61 74 20 74 68 69 73 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 75 73 69 6e 67 hat.this.is.different.from.using
93ca0 20 61 20 64 75 6d 6d 79 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 68 61 73 68 20 6d 61 70 20 .a.dummy.value.for.the.hash.map.
93cc0 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 42 79 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 value........By.using.<code><spa
93ce0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
93d00 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 type">void</span></span></code>.
93d20 61 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 76 61 6c 75 65 2c 20 74 68 65 20 68 61 as.the.type.of.the.value,.the.ha
93d40 73 68 20 6d 61 70 20 65 6e 74 72 79 20 74 79 70 65 20 68 61 73 20 6e 6f 20 76 61 6c 75 65 20 66 sh.map.entry.type.has.no.value.f
93d60 69 65 6c 64 2c 20 61 6e 64 0a 20 20 20 20 20 20 74 68 75 73 20 74 68 65 20 68 61 73 68 20 6d 61 ield,.and.......thus.the.hash.ma
93d80 70 20 74 61 6b 65 73 20 75 70 20 6c 65 73 73 20 73 70 61 63 65 2e 20 46 75 72 74 68 65 72 2c 20 p.takes.up.less.space..Further,.
93da0 61 6c 6c 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 64 65 61 6c 73 20 77 69 74 68 20 73 74 6f all.the.code.that.deals.with.sto
93dc0 72 69 6e 67 20 61 6e 64 20 6c 6f 61 64 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 76 61 6c 75 65 ring.and.loading.the.......value
93de0 20 69 73 20 64 65 6c 65 74 65 64 2c 20 61 73 20 73 65 65 6e 20 61 62 6f 76 65 2e 0a 20 20 20 20 .is.deleted,.as.seen.above......
93e00 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
93e20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
93e40 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -type">void</span></span></code>
93e60 20 69 73 20 64 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .is.distinct.from.<code><span.cl
93e80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ass="line"><span.class="tok-type
93ea0 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ">anyopaque</span></span></code>
93ec0 2e 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 6c 69 6e 65 22 ........<code><span.class="line"
93ee0 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 73 70 ><span.class="tok-type">void</sp
93f00 61 6e 3e 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 73 69 an></span></code>.has.a.known.si
93f20 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 20 63 ze.of.0.bytes,.and.<code><span.c
93f40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 lass="line"><span.class="tok-typ
93f60 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 e">anyopaque</span></span></code
93f80 3e 20 68 61 73 20 61 6e 20 75 6e 6b 6e 6f 77 6e 2c 20 62 75 74 20 6e 6f 6e 2d 7a 65 72 6f 2c 20 >.has.an.unknown,.but.non-zero,.
93fa0 73 69 7a 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 size........</p>.......<p>......
93fc0 20 45 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .Expressions.of.type.<code><span
93fe0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .class="line"><span.class="tok-t
94000 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 ype">void</span></span></code>.a
94020 72 65 20 74 68 65 20 6f 6e 6c 79 20 6f 6e 65 73 20 77 68 6f 73 65 20 76 61 6c 75 65 20 63 61 6e re.the.only.ones.whose.value.can
94040 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 .be.ignored..For.example:.......
94060 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
94080 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
940a0 22 3e 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 3c 2f 63 ">test_expression_ignored.zig</c
940c0 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
940e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
94100 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
94120 2d 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 -str">&quot;ignoring.expression.
94140 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 value&quot;</span>.{</span>.<spa
94160 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 29 3b 3c 2f 73 70 61 6e 3e n.class="line">....foo();</span>
94180 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .<span.class="line">}</span>.<sp
941a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
941c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
941e0 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
94200 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
94220 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">i32</span>.{</span>.<span.cla
94240 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
94260 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
94280 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">1234</span>;</span>.<s
942a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
942c0 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
942e0 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
94300 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
94320 74 20 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 3c 2f 6b t.test_expression_ignored.zig</k
94340 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_
94360 74 6d 70 2f 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 tmp/test_expression_ignored.zig:
94380 32 3a 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 31 6d 2:8:.</span><span.class="sgr-31m
943a0 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 67 72 ">error:.</span><span.class="sgr
943c0 2d 31 6d 22 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 -1m">value.of.type.'i32'.ignored
943e0 0a 3c 2f 73 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 .</span>....foo();.....<span.cla
94400 73 73 3d 22 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 ss="sgr-32m">~~~^~.</span><span.
94420 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 65 class="sgr-1m">docgen_tmp/test_e
94440 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 2f 73 70 61 xpression_ignored.zig:2:8:.</spa
94460 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 2f n><span.class="sgr-36m">note:.</
94480 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 6c 6c 20 6e 6f span><span.class="sgr-1m">all.no
944a0 6e 2d 76 6f 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 n-void.values.must.be.used.</spa
944c0 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 6d n><span.class="sgr-1m">docgen_tm
944e0 70 2f 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 p/test_expression_ignored.zig:2:
94500 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 36 6d 22 3e 8:.</span><span.class="sgr-36m">
94520 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 6d note:.</span><span.class="sgr-1m
94540 22 3e 74 68 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 ">this.error.can.be.suppressed.b
94560 79 20 61 73 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 y.assigning.the.value.to.'_'.</s
94580 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>.....
945a0 20 20 3c 70 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 ..<p>However,.if.the.expression.
945c0 68 61 73 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 has.type.<code><span.class="line
945e0 22 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 73 "><span.class="tok-type">void</s
94600 70 61 6e 3e 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 20 62 pan></span></code>,.there.will.b
94620 65 20 6e 6f 20 65 72 72 6f 72 2e 20 46 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 20 76 61 6c 75 e.no.error..Function.return.valu
94640 65 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 65 es.can.also.be.explicitly.ignore
94660 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 6d 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 d.by.assigning.them.to.<code><sp
94680 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e an.class="line">_</span></code>.
946a0 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.
946c0 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
946e0 65 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 e">test_void_ignored.zig</cite><
94700 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
94720 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ss="line"><span.class="tok-kw">t
94740 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"
94760 3e 26 71 75 6f 74 3b 76 6f 69 64 20 69 73 20 69 67 6e 6f 72 65 64 26 71 75 6f 74 3b 3c 2f 73 70 >&quot;void.is.ignored&quot;</sp
94780 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
947a0 20 20 20 20 72 65 74 75 72 6e 73 56 6f 69 64 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ....returnsVoid();</span>.<span.
947c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 class="line">}</span>.<span.clas
947e0 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
94800 6e 65 22 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 ne"><span.class="tok-kw">test</s
94820 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
94840 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 69 6f 6e 20 ;explicitly.ignoring.expression.
94860 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 value&quot;</span>.{</span>.<spa
94880 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 6f 6f 28 29 3b 3c 2f 73 n.class="line">...._.=.foo();</s
948a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
948c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
948e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
94900 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
94920 6e 22 3e 72 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 n">returnsVoid</span>().<span.cl
94940 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 7d 3c 2f 73 ass="tok-type">void</span>.{}</s
94960 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
94980 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
949a0 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
949c0 6f 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 ok-fn">foo</span>().<span.class=
949e0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c "tok-type">i32</span>.{</span>.<
94a00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
94a20 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
94a40 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 3c 2f lass="tok-number">1234</span>;</
94a60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
94a80 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 3e 3c ></code></pre></figure><figure><
94aa0 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
94ac0 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
94ae0 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c >zig.test.test_void_ignored.zig<
94b00 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 2e 76 6f 69 64 20 69 73 20 69 67 6e 6f 72 65 64 2e 2e /kbd>.1/2.test.void.is.ignored..
94b20 2e 20 4f 4b 0a 32 2f 32 20 74 65 73 74 2e 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 69 6e ..OK.2/2.test.explicitly.ignorin
94b40 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 32 20 74 g.expression.value....OK.All.2.t
94b60 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
94b80 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 3c 68 32 20 69 64 3d re>......................<h2.id=
94ba0 22 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 3c 61 20 68 "Result-Location-Semantics"><a.h
94bc0 72 65 66 3d 22 23 74 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 ref="#toc-Result-Location-Semant
94be0 69 63 73 22 3e 52 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 ics">Result.Location.Semantics</
94c00 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 73 75 6c 74 2d a>.<a.class="hdr".href="#Result-
94c20 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a Location-Semantics">..</a></h2>.
94c40 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 68 74 74 70 73 3a .......<p>.......<a.href="https:
94c60 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/
94c80 32 38 30 39 22 3e 54 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 2809">TODO.add.documentation.for
94ca0 20 74 68 69 73 3c 2f 61 3e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 .this</a>.......</p>............
94cc0 20 20 20 3c 68 32 20 69 64 3d 22 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 68 72 ...<h2.id="usingnamespace"><a.hr
94ce0 65 66 3d 22 23 74 6f 63 2d 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 ef="#toc-usingnamespace">usingna
94d00 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 72 65 66 3d mespace</a>.<a.class="hdr".href=
94d20 22 23 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 "#usingnamespace">..</a></h2>...
94d40 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
94d60 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">usi
94d80 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ngnamespace</span></span></code>
94da0 20 69 73 20 61 20 64 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 .is.a.declaration.that.mixes.all
94dc0 20 74 68 65 20 70 75 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 .the.public.......declarations.o
94de0 66 20 74 68 65 20 6f 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 f.the.operand,.which.must.be.a.<
94e00 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 61 3e 2c 20 3c 61 20 a.href="#struct">struct</a>,.<a.
94e20 68 72 65 66 3d 22 23 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 href="#union">union</a>,.<a.href
94e40 3d 22 23 65 6e 75 6d 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 ="#enum">enum</a>,.......or.<a.h
94e60 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 69 6e 74 6f 20 74 ref="#opaque">opaque</a>,.into.t
94e80 68 65 20 6e 61 6d 65 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 he.namespace:.......</p>.......<
94ea0 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
94ec0 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 73 69 6e 67 p"><cite.class="file">test_using
94ee0 6e 61 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 namespace.zig</cite></figcaption
94f00 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 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
94f20 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>.
94f40 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 73 69 6e <span.class="tok-str">&quot;usin
94f60 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 6e 3e 20 7b 3c 2f g.std.namespace&quot;</span>.{</
94f80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
94fa0 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
94fc0 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</
94fe0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
95000 22 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 6b 77 22 3e 75 ">........<span.class="tok-kw">u
95020 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 singnamespace</span>.<span.class
95040 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
95060 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
95080 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
950a0 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">....};</span>.<span.class
950c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
950e0 3e 74 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 >try</span>.S.testing.expect(<sp
95100 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 29 an.class="tok-null">true</span>)
95120 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
95140 70 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 pan></code></pre></figure><figur
95160 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">
95180 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>$.<
951a0 6b 62 64 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 kbd>zig.test.test_usingnamespace
951c0 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 75 73 69 6e 67 20 73 74 64 20 6e 61 .zig</kbd>.1/1.test.using.std.na
951e0 6d 65 73 70 61 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 mespace....OK.All.1.tests.passed
95200 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>.......<
95220 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 6c 69 6e 65 p>.......<code><span.class="line
95240 22 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 6e 67 6e 61 6d 65 "><span.class="tok-kw">usingname
95260 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 space</span></span></code>.has.a
95280 6e 20 69 6d 70 6f 72 74 61 6e 74 20 75 73 65 20 63 61 73 65 20 77 68 65 6e 20 6f 72 67 61 6e 69 n.important.use.case.when.organi
952a0 7a 69 6e 67 20 74 68 65 20 70 75 62 6c 69 63 0a 20 20 20 20 20 20 41 50 49 20 6f 66 20 61 20 66 zing.the.public.......API.of.a.f
952c0 69 6c 65 20 6f 72 20 70 61 63 6b 61 67 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 65 ile.or.package..For.example,.one
952e0 20 6d 69 67 68 74 20 68 61 76 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 .might.have.<code.class="file">c
95300 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 61 6c 6c 20 6f 66 20 74 68 65 0a 20 20 20 20 .zig</code>.with.all.of.the.....
95320 20 20 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 ..<a.href="#Import-from-C-Header
95340 2d 46 69 6c 65 22 3e 43 20 69 6d 70 6f 72 74 73 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e -File">C.imports</a>:.......</p>
95360 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
95380 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 2e ="zig-cap"><cite.class="file">c.
953a0 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
953c0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
953e0 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
95400 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 6e 3e 20 ="tok-kw">usingnamespace</span>.
95420 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 6d 70 6f <span.class="tok-builtin">@cImpo
95440 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rt</span>({</span>.<span.class="
95460 6c 69 6e 65 22 3e 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 line">....<span.class="tok-built
95480 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 61 73 73 in">@cInclude</span>(<span.class
954a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 70 6f 78 79 2f 67 6c 2e 68 26 71 75 6f 74 ="tok-str">&quot;epoxy/gl.h&quot
954c0 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
954e0 69 6e 65 22 3e 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 ine">....<span.class="tok-builti
95500 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 61 73 73 3d n">@cInclude</span>(<span.class=
95520 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 47 4c 46 57 2f 67 6c 66 77 33 2e 68 26 71 75 6f "tok-str">&quot;GLFW/glfw3.h&quo
95540 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
95560 6c 69 6e 65 22 3e 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 line">....<span.class="tok-built
95580 69 6e 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 in">@cDefine</span>(<span.class=
955a0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 53 54 42 49 5f 4f 4e 4c 59 5f 50 4e 47 26 71 75 "tok-str">&quot;STBI_ONLY_PNG&qu
955c0 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
955e0 22 3e 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ">&quot;&quot;</span>);</span>.<
95600 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
95620 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 28 s="tok-builtin">@cDefine</span>(
95640 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 53 54 42 49 <span.class="tok-str">&quot;STBI
95660 5f 4e 4f 5f 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 _NO_STDIO&quot;</span>,.<span.cl
95680 61 73 73 3d 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 ass="tok-str">&quot;&quot;</span
956a0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >);</span>.<span.class="line">..
956c0 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 49 6e ..<span.class="tok-builtin">@cIn
956e0 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 73 74 clude</span>(<span.class="tok-st
95700 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 61 6e r">&quot;stb_image.h&quot;</span
95720 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 >);</span>.<span.class="line">})
95740 3b 3c 2f 73 70 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 0a 20 ;</span></code></pre></figure>..
95760 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 65 .....<p>.......The.above.example
95780 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 20 .demonstrates.using.<code><span.
957a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
957c0 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 71 75 ">pub</span></span></code>.to.qu
957e0 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 61 6e 20 63 6c 61 73 alify.the.......<code><span.clas
95800 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 s="line"><span.class="tok-kw">us
95820 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ingnamespace</span></span></code
95840 3e 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 6d 61 6b 65 73 20 74 68 65 20 69 6d 70 6f 72 74 65 >.additionally.makes.the.importe
95860 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e d.declarations.......<code><span
95880 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
958a0 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 w">pub</span></span></code>..Thi
958c0 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 77 61 72 64 20 64 65 63 6c 61 72 61 s.can.be.used.to.forward.declara
958e0 74 69 6f 6e 73 2c 20 67 69 76 69 6e 67 20 70 72 65 63 69 73 65 20 63 6f 6e 74 72 6f 6c 0a 20 20 tions,.giving.precise.control...
95900 20 20 20 20 6f 76 65 72 20 77 68 61 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 20 67 69 76 ....over.what.declarations.a.giv
95920 65 6e 20 66 69 6c 65 20 65 78 70 6f 73 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 en.file.exposes........</p>.....
95940 20 20 0a 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 63 6f 6d 70 74 69 6d 65 22 3e 3c 61 20 ...........<h2.id="comptime"><a.
95960 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 href="#toc-comptime">comptime</a
95980 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 74 69 6d 65 >.<a.class="hdr".href="#comptime
959a0 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 5a ">..</a></h2>........<p>.......Z
959c0 69 67 20 70 6c 61 63 65 73 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 6e 20 74 68 65 20 63 6f 6e 63 ig.places.importance.on.the.conc
959e0 65 70 74 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 ept.of.whether.an.expression.is.
95a00 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 54 68 65 known.at.compile-time........The
95a20 72 65 20 61 72 65 20 61 20 66 65 77 20 64 69 66 66 65 72 65 6e 74 20 70 6c 61 63 65 73 20 74 68 re.are.a.few.different.places.th
95a40 69 73 20 63 6f 6e 63 65 70 74 20 69 73 20 75 73 65 64 2c 20 61 6e 64 20 74 68 65 73 65 20 62 75 is.concept.is.used,.and.these.bu
95a60 69 6c 64 69 6e 67 20 62 6c 6f 63 6b 73 20 61 72 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 ilding.blocks.are.used.......to.
95a80 6b 65 65 70 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 73 6d 61 6c 6c 2c 20 72 65 61 64 61 62 6c keep.the.language.small,.readabl
95aa0 65 2c 20 61 6e 64 20 70 6f 77 65 72 66 75 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 e,.and.powerful........</p>.....
95ac0 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c ..<h3.id="Introducing-the-Compil
95ae0 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e e-Time-Concept"><a.href="#toc-In
95b00 74 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 troducing-the-Compile-Time-Conce
95b20 70 74 22 3e 49 6e 74 72 6f 64 75 63 69 6e 67 20 74 68 65 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 pt">Introducing.the.Compile-Time
95b40 20 43 6f 6e 63 65 70 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 .Concept</a>.<a.class="hdr".href
95b60 3d 22 23 49 6e 74 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 ="#Introducing-the-Compile-Time-
95b80 43 6f 6e 63 65 70 74 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 Concept">..</a></h3>........<h4.
95ba0 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 3c 61 20 id="Compile-Time-Parameters"><a.
95bc0 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 href="#toc-Compile-Time-Paramete
95be0 72 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 20 rs">Compile-Time.Parameters</a>.
95c00 3c 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 54 69 <a.class="hdr".href="#Compile-Ti
95c20 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 me-Parameters">..</a></h4>......
95c40 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 70 61 72 61 6d 65 74 ..<p>.......Compile-time.paramet
95c60 65 72 73 20 69 73 20 68 6f 77 20 5a 69 67 20 69 6d 70 6c 65 6d 65 6e 74 73 20 67 65 6e 65 72 69 ers.is.how.Zig.implements.generi
95c80 63 73 2e 20 49 74 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 cs..It.is.compile-time.duck.typi
95ca0 6e 67 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 ng........</p>.......<figure><fi
95cc0 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
95ce0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 5f 64 75 63 6b 5f 74 79 lass="file">compile-time_duck_ty
95d00 70 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 72 65 ping.zig</cite></figcaption><pre
95d20 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
95d40 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
95d60 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
95d80 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:
95da0 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
95dc0 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 an>,.a:.T,.b:.T).T.{</span>.<spa
95de0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
95e00 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
95e20 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 3b 20 62 29 20 s="tok-kw">if</span>.(a.&gt;.b).
95e40 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 3c 2f 73 70 61 a.<span.class="tok-kw">else</spa
95e60 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>.b;</span>.<span.class="line">
95e80 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 }</span>.<span.class="line"><spa
95ea0 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
95ec0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 69 6d 6d 65 54 68 65 42 69 67 67 65 72 46 6c .class="tok-fn">gimmeTheBiggerFl
95ee0 6f 61 74 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 6b 2d 74 oat</span>(a:.<span.class="tok-t
95f00 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ype">f32</span>,.b:.<span.class=
95f20 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">f32</span>).<span.cla
95f40 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 7b 3c 2f 73 70 61 6e ss="tok-type">f32</span>.{</span
95f60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
95f80 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 6d 61 78 28 lass="tok-kw">return</span>.max(
95fa0 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
95fc0 3e 2c 20 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >,.a,.b);</span>.<span.class="li
95fe0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
96000 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>.<
96020 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 42 69 67 67 span.class="tok-fn">gimmeTheBigg
96040 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 61 73 73 3d erInteger</span>(a:.<span.class=
96060 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 70 61 6e 20 "tok-type">u64</span>,.b:.<span.
96080 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 20 3c 73 70 class="tok-type">u64</span>).<sp
960a0 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 7b an.class="tok-type">u64</span>.{
960c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
960e0 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
96100 3e 20 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 75 36 34 >.max(<span.class="tok-type">u64
96120 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 </span>,.a,.b);</span>.<span.cla
96140 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
96160 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 5a 69 67 2c /figure>.......<p>.......In.Zig,
96180 20 74 79 70 65 73 20 61 72 65 20 66 69 72 73 74 2d 63 6c 61 73 73 20 63 69 74 69 7a 65 6e 73 2e .types.are.first-class.citizens.
961a0 20 54 68 65 79 20 63 61 6e 20 62 65 20 61 73 73 69 67 6e 65 64 20 74 6f 20 76 61 72 69 61 62 6c .They.can.be.assigned.to.variabl
961c0 65 73 2c 20 70 61 73 73 65 64 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 66 75 6e 63 es,.passed.as.parameters.to.func
961e0 74 69 6f 6e 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 66 tions,.......and.returned.from.f
96200 75 6e 63 74 69 6f 6e 73 2e 20 48 6f 77 65 76 65 72 2c 20 74 68 65 79 20 63 61 6e 20 6f 6e 6c 79 unctions..However,.they.can.only
96220 20 62 65 20 75 73 65 64 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 69 63 68 20 61 72 .be.used.in.expressions.which.ar
96240 65 20 6b 6e 6f 77 6e 20 61 74 20 3c 65 6d 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 65 6d 3e e.known.at.<em>compile-time</em>
96260 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 77 68 79 20 74 68 65 20 70 61 72 61 6d 65 74 ,.......which.is.why.the.paramet
96280 65 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 er.<code><span.class="line">T</s
962a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 pan></code>.in.the.above.snippet
962c0 20 6d 75 73 74 20 62 65 20 6d 61 72 6b 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .must.be.marked.with.<code><span
962e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
96300 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e w">comptime</span></span></code>
96320 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 41 20 3c ........</p>.......<p>.......A.<
96340 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
96360 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 73 70 ass="tok-kw">comptime</span></sp
96380 61 6e 3e 3c 2f 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 an></code>.parameter.means.that:
963a0 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 3c .......</p>.......<ul>.........<
963c0 6c 69 3e 41 74 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 li>At.the.callsite,.the.value.mu
963e0 73 74 20 62 65 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 st.be.known.at.compile-time,.or.
96400 69 74 20 69 73 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 it.is.a.compile.error.</li>.....
96420 20 20 20 20 3c 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 ....<li>In.the.function.definiti
96440 6f 6e 2c 20 74 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 on,.the.value.is.known.at.compil
96460 65 2d 74 69 6d 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 e-time.</li>.......</ul>.......<
96480 70 3e 0a 20 20 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 p>.......For.example,.if.we.were
964a0 20 74 6f 20 69 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 .to.introduce.another.function.t
964c0 6f 20 74 68 65 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 o.the.above.snippet:.......</p>.
964e0 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=
96500 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
96520 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 75 65 2e 7a 69 67 3c t_unresolved_comptime_value.zig<
96540 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
96560 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
96580 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
965a0 2d 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 -fn">max</span>(<span.class="tok
965c0 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
965e0 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 61 3a 20 54 ass="tok-type">type</span>,.a:.T
96600 2c 20 62 3a 20 54 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ,.b:.T).T.{</span>.<span.class="
96620 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">r
96640 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
96660 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 70 61 6e 20 63 ">if</span>.(a.&gt;.b).a.<span.c
96680 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 3b 3c 2f 73 70 lass="tok-kw">else</span>.b;</sp
966a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
966c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
966e0 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=
96700 22 74 6f 6b 2d 73 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 "tok-str">&quot;try.to.pass.a.ru
96720 6e 74 69 6d 65 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ntime.type&quot;</span>.{</span>
96740 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 70 61 .<span.class="line">....foo(<spa
96760 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>)
96780 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
967a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
967c0 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
967e0 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 69 6f 6e ss="tok-fn">foo</span>(condition
96800 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
96820 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 69 pan>).<span.class="tok-type">voi
96840 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
96860 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">co
96880 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 6d 61 78 28 3c 2f 73 70 61 6e 3e 0a nst</span>.result.=.max(</span>.
968a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
968c0 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 6e 64 69 .class="tok-kw">if</span>.(condi
968e0 74 69 6f 6e 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 tion).<span.class="tok-type">f32
96900 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 6c 73 </span>.<span.class="tok-kw">els
96920 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 74 79 70 65 22 3e e</span>.<span.class="tok-type">
96940 75 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 u64</span>,</span>.<span.class="
96960 6c 69 6e 65 22 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 6e line">........<span.class="tok-n
96980 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e umber">1234</span>,</span>.<span
969a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 .class="line">........<span.clas
969c0 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 3c 2f 73 70 s="tok-number">5678</span>);</sp
969e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 72 an>.<span.class="line">...._.=.r
96a00 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 esult;</span>.<span.class="line"
96a20 3e 7d 3c 2f 73 70 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 >}</span></code></pre></figure><
96a40 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-
96a60 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
96a80 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 72 65 73 6f 6c 76 65 p>$.<kbd>zig.test.test_unresolve
96aa0 64 5f 63 6f 6d 70 74 69 6d 65 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e d_comptime_value.zig</kbd>.<span
96ac0 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_
96ae0 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 3a 39 3a unresolved_comptime_value.zig:9:
96b00 31 33 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 13:.</span><span.class="sgr-31m"
96b20 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-
96b40 31 6d 22 3e 75 6e 61 62 6c 65 20 74 6f 20 72 65 73 6f 6c 76 65 20 63 6f 6d 70 74 69 6d 65 20 76 1m">unable.to.resolve.comptime.v
96b60 61 6c 75 65 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 64 69 74 69 6f alue.</span>........if.(conditio
96b80 6e 29 20 66 33 32 20 65 6c 73 65 20 75 36 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 n).f32.else.u64,.............<sp
96ba0 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 2f 73 an.class="sgr-32m">^~~~~~~~~.</s
96bc0 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 5f pan><span.class="sgr-1m">docgen_
96be0 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
96c00 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=
96c20 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
96c40 73 73 3d 22 73 67 72 2d 31 6d 22 3e 63 6f 6e 64 69 74 69 6f 6e 20 69 6e 20 63 6f 6d 70 74 69 6d ss="sgr-1m">condition.in.comptim
96c60 65 20 62 72 61 6e 63 68 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 0a e.branch.must.be.comptime-known.
96c80 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 6d 22 3e 72 65 66 65 </span><span.class="sgr-2m">refe
96ca0 72 65 6e 63 65 64 20 62 79 3a 0a 20 20 20 20 74 65 73 74 2e 74 72 79 20 74 6f 20 70 61 73 73 20 renced.by:.....test.try.to.pass.
96cc0 61 20 72 75 6e 74 69 6d 65 20 74 79 70 65 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f a.runtime.type:.docgen_tmp/test_
96ce0 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 3a 35 3a unresolved_comptime_value.zig:5:
96d00 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 63 65 73 5.....remaining.reference.traces
96d20 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 63 65 27 .hidden;.use.'-freference-trace'
96d40 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 3c 2f 73 .to.see.all.reference.traces.</s
96d60 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>.....
96d80 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 65 72 72 6f 72 20 62 65 63 ..<p>.......This.is.an.error.bec
96da0 61 75 73 65 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 61 74 74 65 6d 70 74 65 64 20 74 6f ause.the.programmer.attempted.to
96dc0 20 70 61 73 73 20 61 20 76 61 6c 75 65 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 2d .pass.a.value.only.known.at.run-
96de0 74 69 6d 65 0a 20 20 20 20 20 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 65 time.......to.a.function.which.e
96e00 78 70 65 63 74 73 20 61 20 76 61 6c 75 65 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d xpects.a.value.known.at.compile-
96e20 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>......
96e40 20 41 6e 6f 74 68 65 72 20 77 61 79 20 74 6f 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 69 73 20 .Another.way.to.get.an.error.is.
96e60 69 66 20 77 65 20 70 61 73 73 20 61 20 74 79 70 65 20 74 68 61 74 20 76 69 6f 6c 61 74 65 73 20 if.we.pass.a.type.that.violates.
96e80 74 68 65 20 74 79 70 65 20 63 68 65 63 6b 65 72 20 77 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 the.type.checker.when.the.......
96ea0 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a 65 64 2e 20 54 68 69 73 20 69 73 20 77 68 function.is.analyzed..This.is.wh
96ec0 61 74 20 69 74 20 6d 65 61 6e 73 20 74 6f 20 68 61 76 65 20 3c 65 6d 3e 63 6f 6d 70 69 6c 65 2d at.it.means.to.have.<em>compile-
96ee0 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 time.duck.typing</em>........</p
96f00 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 3a 0a 20 >.......<p>.......For.example:..
96f20 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
96f40 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=
96f60 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 69 73 6d 61 74 63 68 65 64 5f "file">test_comptime_mismatched_
96f80 74 79 70 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 type.zig</cite></figcaption><pre
96fa0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
96fc0 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
96fe0 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
97000 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:
97020 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
97040 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 an>,.a:.T,.b:.T).T.{</span>.<spa
97060 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
97080 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
970a0 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 3b 20 62 29 20 s="tok-kw">if</span>.(a.&gt;.b).
970c0 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 3c 2f 73 70 61 a.<span.class="tok-kw">else</spa
970e0 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>.b;</span>.<span.class="line">
97100 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 }</span>.<span.class="line"><spa
97120 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
97140 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 79 20 74 6f 20 an.class="tok-str">&quot;try.to.
97160 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 compare.bools&quot;</span>.{</sp
97180 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6d an>.<span.class="line">...._.=.m
971a0 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 6f 6c 3c 2f ax(<span.class="tok-type">bool</
971c0 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 22 3e 74 72 span>,.<span.class="tok-null">tr
971e0 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 6c 6c ue</span>,.<span.class="tok-null
97200 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">false</span>);</span>.<span.cl
97220 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
97240 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
97260 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
97280 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
972a0 5f 63 6f 6d 70 74 69 6d 65 5f 6d 69 73 6d 61 74 63 68 65 64 5f 74 79 70 65 2e 7a 69 67 3c 2f 6b _comptime_mismatched_type.zig</k
972c0 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_
972e0 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6d 69 73 6d 61 74 63 68 65 64 5f 74 79 70 tmp/test_comptime_mismatched_typ
97300 65 2e 7a 69 67 3a 32 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e.zig:2:18:.</span><span.class="
97320 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 61 sgr-31m">error:.</span><span.cla
97340 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 70 65 72 61 74 6f 72 20 26 67 74 3b 20 6e 6f 74 20 61 6c ss="sgr-1m">operator.&gt;.not.al
97360 6c 6f 77 65 64 20 66 6f 72 20 74 79 70 65 20 27 62 6f 6f 6c 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 lowed.for.type.'bool'.</span>...
97380 20 72 65 74 75 72 6e 20 69 66 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 65 6c 73 65 20 62 3b 0a .return.if.(a.&gt;.b).a.else.b;.
973a0 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-
973c0 33 32 6d 22 3e 7e 7e 5e 7e 7e 0a 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 32m">~~^~~.</span>.</samp></pre>
973e0 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 20 74 68 65 </figure>.......<p>.......On.the
97400 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 69 6f 6e 20 .flip.side,.inside.the.function.
97420 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 70 61 6e 20 definition.with.the.<code><span.
97440 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
97460 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ">comptime</span></span></code>.
97480 70 61 72 61 6d 65 74 65 72 2c 20 74 68 65 0a 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6b 6e parameter,.the.......value.is.kn
974a0 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 own.at.compile-time..This.means.
974c0 74 68 61 74 20 77 65 20 61 63 74 75 61 6c 6c 79 20 63 6f 75 6c 64 20 6d 61 6b 65 20 74 68 69 73 that.we.actually.could.make.this
974e0 20 77 6f 72 6b 20 66 6f 72 20 74 68 65 20 62 6f 6f 6c 20 74 79 70 65 0a 20 20 20 20 20 20 69 66 .work.for.the.bool.type.......if
97500 20 77 65 20 77 61 6e 74 65 64 20 74 6f 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .we.wanted.to:.......</p>.......
97520 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
97540 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
97560 74 69 6d 65 5f 6d 61 78 5f 77 69 74 68 5f 62 6f 6f 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 time_max_with_bool.zig</cite></f
97580 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
975a0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">fn<
975c0 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 78 3c /span>.<span.class="tok-fn">max<
975e0 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 70 /span>(<span.class="tok-kw">comp
97600 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 2d time</span>.T:.<span.class="tok-
97620 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 type">type</span>,.a:.T,.b:.T).T
97640 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
97660 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>.
97680 28 54 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 22 3e 62 6f 6f (T.==.<span.class="tok-type">boo
976a0 6c 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 l</span>).{</span>.<span.class="
976c0 6c 69 6e 65 22 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 6b line">........<span.class="tok-k
976e0 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 73 3d 22 w">return</span>.a.<span.class="
97700 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tok-kw">or</span>.b;</span>.<spa
97720 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 n.class="line">....}.<span.class
97740 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 6e 20 63 6c 61 73 ="tok-kw">else</span>.<span.clas
97760 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 3b 20 62 29 20 s="tok-kw">if</span>.(a.&gt;.b).
97780 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
977a0 20 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<
977c0 2f 73 70 61 6e 3e 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.a;</span>.<span.class="li
977e0 6e 65 22 3e 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 ne">....}.<span.class="tok-kw">e
97800 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lse</span>.{</span>.<span.class=
97820 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
97840 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 kw">return</span>.b;</span>.<spa
97860 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
97880 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n.class="line">}</span>.<span.cl
978a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
978c0 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
978e0 22 3e 26 71 75 6f 74 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 ">&quot;try.to.compare.bools&quo
97900 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>.{</span>.<span.class="
97920 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
97940 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 62 75 69 6c 74 ry</span>.<span.class="tok-built
97960 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="
97980 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>)
979a0 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d .testing.expect(max(<span.class=
979c0 22 74 6f 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 "tok-type">bool</span>,.<span.cl
979e0 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 20 3c 73 70 ass="tok-null">false</span>,.<sp
97a00 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 29 an.class="tok-null">true</span>)
97a20 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 72 75 65 3c .==.<span.class="tok-null">true<
97a40 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
97a60 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
97a80 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
97aa0 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
97ac0 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 6d amp>$.<kbd>zig.test.test_comptim
97ae0 65 5f 6d 61 78 5f 77 69 74 68 5f 62 6f 6f 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 e_max_with_bool.zig</kbd>.1/1.te
97b00 73 74 2e 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 2e 2e 2e 20 4f 4b 0a 41 6c st.try.to.compare.bools....OK.Al
97b20 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><
97b40 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 69 73 20 77 6f /figure>.......<p>.......This.wo
97b60 72 6b 73 20 62 65 63 61 75 73 65 20 5a 69 67 20 69 6d 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e rks.because.Zig.implicitly.inlin
97b80 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 es.<code><span.class="line"><spa
97ba0 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 73 70 61 6e n.class="tok-kw">if</span></span
97bc0 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 65 6e 20 74 68 65 20 63 6f ></code>.expressions.when.the.co
97be0 6e 64 69 74 69 6f 6e 0a 20 20 20 20 20 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c ndition.......is.known.at.compil
97c00 65 2d 74 69 6d 65 2c 20 61 6e 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 67 75 61 72 61 6e 74 e-time,.and.the.compiler.guarant
97c20 65 65 73 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 73 6b 69 70 20 61 6e 61 6c 79 73 69 73 20 6f ees.that.it.will.skip.analysis.o
97c40 66 0a 20 20 20 20 20 20 74 68 65 20 62 72 61 6e 63 68 20 6e 6f 74 20 74 61 6b 65 6e 2e 0a 20 20 f.......the.branch.not.taken....
97c60 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 6d 65 ....</p>.......<p>.......This.me
97c80 61 6e 73 20 74 68 61 74 20 74 68 65 20 61 63 74 75 61 6c 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e ans.that.the.actual.function.gen
97ca0 65 72 61 74 65 64 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 erated.for.<code><span.class="li
97cc0 6e 65 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 68 69 73 20 73 69 ne">max</span></code>.in.this.si
97ce0 74 75 61 74 69 6f 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 tuation.looks.like.......this:..
97d00 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
97d20 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=
97d40 22 66 69 6c 65 22 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 "file">compiler_generated_functi
97d60 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><
97d80 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
97da0 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
97dc0 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 20 3c 73 70 61 6e 20 ss="tok-fn">max</span>(a:.<span.
97de0 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 2c 20 62 3a class="tok-type">bool</span>,.b:
97e00 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
97e20 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 62 6f 6f 6c an>).<span.class="tok-type">bool
97e40 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
97e60 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">ret
97e80 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 urn</span>.a.<span.class="tok-kw
97ea0 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">or</span>.b;</span>.<span.clas
97ec0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
97ee0 66 69 67 75 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 figure>.......<p>.......All.the.
97f00 63 6f 64 65 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 code.that.dealt.with.compile-tim
97f20 65 20 6b 6e 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 e.known.values.is.eliminated.and
97f40 20 77 65 20 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 .we.are.left.with.only.......the
97f60 20 6e 65 63 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 .necessary.run-time.code.to.acco
97f80 6d 70 6c 69 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 mplish.the.task........</p>.....
97fa0 20 20 3c 70 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 ..<p>.......This.works.the.same.
97fc0 77 61 79 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 way.for.<code><span.class="line"
97fe0 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
98000 61 6e 3e 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 2d 20 an></span></code>.expressions.-.
98020 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 20 20 they.are.implicitly.inlined.....
98040 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 73 20 ..when.the.target.expression.is.
98060 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 0a 20 compile-time.known........</p>..
98080 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 6d 65 ............<h4.id="Compile-Time
980a0 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 69 6c -Variables"><a.href="#toc-Compil
980c0 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 20 56 e-Time-Variables">Compile-Time.V
980e0 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 65 66 ariables</a>.<a.class="hdr".href
98100 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 2f 61 ="#Compile-Time-Variables">..</a
98120 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 2c 20 ></h4>........<p>.......In.Zig,.
98140 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 62 6c the.programmer.can.label.variabl
98160 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 6c 69 6e 65 22 3e 3c es.as.<code><span.class="line"><
98180 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
981a0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 an></span></code>..This.guarante
981c0 65 73 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 74 68 61 74 20 65 76 es.to.the.compiler.......that.ev
981e0 65 72 79 20 6c 6f 61 64 20 61 6e 64 20 73 74 6f 72 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 ery.load.and.store.of.the.variab
98200 6c 65 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e le.is.performed.at.compile-time.
98220 20 41 6e 79 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 72 65 73 75 6c 74 73 20 69 .Any.violation.of.this.results.i
98240 6e 20 61 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c n.a.......compile.error........<
98260 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 63 6f 6d 62 69 6e 65 /p>.......<p>.......This.combine
98280 64 20 77 69 74 68 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 77 65 20 63 61 6e 20 3c 63 6f 64 d.with.the.fact.that.we.can.<cod
982a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
982c0 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 73 70 61 6e 3e 3c 2f ="tok-kw">inline</span></span></
982e0 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 61 6c 6c 6f 77 73 20 75 73 20 74 6f 20 77 72 69 74 65 0a 20 code>.loops.allows.us.to.write..
98300 20 20 20 20 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 69 73 20 70 61 72 74 69 61 6c .....a.function.which.is.partial
98320 6c 79 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 20 61 6e 64 ly.evaluated.at.compile-time.and
98340 20 70 61 72 74 69 61 6c 6c 79 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f .partially.at.run-time........</
98360 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 3a 0a p>.......<p>.......For.example:.
98380 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
983a0 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
983c0 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 65 76 61 6c 75 61 74 69 6f 6e ="file">test_comptime_evaluation
983e0 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
98400 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
98420 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.=
98440 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
98460 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">
98480 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.
984a0 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 expect;</span>.<span.class="line
984c0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
984e0 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
98500 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 77 22 3e 73 74 72 75 mdFn.=.<span.class="tok-kw">stru
98520 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ct</span>.{</span>.<span.class="
98540 6c 69 6e 65 22 3e 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 line">....name:.[]<span.class="t
98560 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=
98580 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 "tok-type">u8</span>,</span>.<sp
985a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 75 6e 63 3a 20 3c 73 70 61 6e 20 an.class="line">....func:.<span.
985c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 class="tok-kw">fn</span>(<span.c
985e0 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 61 lass="tok-type">i32</span>).<spa
98600 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 3c 2f n.class="tok-type">i32</span>,</
98620 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 span>.<span.class="line">};</spa
98640 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
98660 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
98680 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 3d 20 5b 5f 5d k-kw">const</span>.cmd_fns.=.[_]
986a0 43 6d 64 46 6e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 CmdFn{</span>.<span.class="line"
986c0 3e 20 20 20 20 43 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 >....CmdFn.{.name.=.<span.class=
986e0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;one&quot;</span>
98700 2c 20 2e 66 75 6e 63 20 3d 20 6f 6e 65 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ,..func.=.one},</span>.<span.cla
98720 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 ss="line">....CmdFn.{.name.=.<sp
98740 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 77 6f 26 71 75 6f an.class="tok-str">&quot;two&quo
98760 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 77 6f 7d 2c 3c 2f 73 70 61 6e 3e 0a t;</span>,..func.=.two},</span>.
98780 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e <span.class="line">....CmdFn.{.n
987a0 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
987c0 74 3b 74 68 72 65 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 68 t;three&quot;</span>,..func.=.th
987e0 72 65 65 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ree},</span>.<span.class="line">
98800 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 };</span>.<span.class="line"><sp
98820 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
98840 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 61 6c 75 n.class="tok-fn">one</span>(valu
98860 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
98880 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
988a0 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
988c0 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
988e0 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 3c 2f 73 70 61 6e 3e ="tok-number">1</span>;.}</span>
98900 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
98920 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="
98940 74 6f 6b 2d 66 6e 22 3e 74 77 6f 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 tok-fn">two</span>(value:.<span.
98960 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
98980 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>.{
989a0 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
989c0 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d an>.value.+.<span.class="tok-num
989e0 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">2</span>;.}</span>.<span.cl
98a00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
98a20 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
98a40 68 72 65 65 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 hree</span>(value:.<span.class="
98a60 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 73 tok-type">i32</span>).<span.clas
98a80 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 20 3c 73 70 61 6e 20 s="tok-type">i32</span>.{.<span.
98aa0 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 76 61 6c class="tok-kw">return</span>.val
98ac0 75 65 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 33 3c ue.+.<span.class="tok-number">3<
98ae0 2f 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>;.}</span>.<span.class="li
98b00 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
98b20 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
98b40 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 2f 73 70 pan.class="tok-fn">performFn</sp
98b60 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
98b80 65 3c 2f 73 70 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 e</span>.prefix_char:.<span.clas
98ba0 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 61 72 74 5f 76 61 s="tok-type">u8</span>,.start_va
98bc0 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 3c lue:.<span.class="tok-type">i32<
98be0 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
98c00 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 32</span>.{</span>.<span.class="
98c20 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">v
98c40 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 74 ar</span>.result:.<span.class="t
98c60 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 75 ok-type">i32</span>.=.start_valu
98c80 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 e;</span>.<span.class="line">...
98ca0 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</
98cc0 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 3c 2f span>.<span.class="tok-kw">var</
98ce0 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 6b 2d 6e 75 6d 62 65 span>.i.=.<span.class="tok-numbe
98d00 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">0</span>;</span>.<span.class=
98d20 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
98d40 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
98d60 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 63 6d 64 5f 66 6e 73 2e w">while</span>.(i.&lt;.cmd_fns.
98d80 6c 65 6e 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 len).:.(i.+=.<span.class="tok-nu
98da0 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">1</span>).{</span>.<span.c
98dc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
98de0 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6d 64 5f 66 6e 73 5b 69 5d 2e 6e "tok-kw">if</span>.(cmd_fns[i].n
98e00 61 6d 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 ame[<span.class="tok-number">0</
98e20 73 70 61 6e 3e 5d 20 3d 3d 20 70 72 65 66 69 78 5f 63 68 61 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a span>].==.prefix_char).{</span>.
98e40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 <span.class="line">............r
98e60 65 73 75 6c 74 20 3d 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 esult.=.cmd_fns[i].func(result);
98e80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
98ea0 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ...}</span>.<span.class="line">.
98ec0 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ...}</span>.<span.class="line">.
98ee0 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</
98f00 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 span>.result;</span>.<span.class
98f20 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
98f40 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
98f60 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>.
98f80 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 72 66 <span.class="tok-str">&quot;perf
98fa0 6f 72 6d 20 66 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 orm.fn&quot;</span>.{</span>.<sp
98fc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
98fe0 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 72 66 6f "tok-kw">try</span>.expect(perfo
99000 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 27 3c 2f rmFn(<span.class="tok-str">'t'</
99020 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">
99040 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 2d 6e 75 1</span>).==.<span.class="tok-nu
99060 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">6</span>);</span>.<span.cl
99080 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
990a0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 kw">try</span>.expect(performFn(
990c0 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 3c 2f 73 70 61 6e 3e <span.class="tok-str">'o'</span>
990e0 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
99100 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 72 22 an>).==.<span.class="tok-number"
99120 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >1</span>);</span>.<span.class="
99140 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
99160 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e ry</span>.expect(performFn(<span
99180 20 63 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 2c 20 3c 73 70 .class="tok-str">'w'</span>,.<sp
991a0 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 29 an.class="tok-number">99</span>)
991c0 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 39 3c .==.<span.class="tok-number">99<
991e0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
99200 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
99220 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
99240 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
99260 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 6d amp>$.<kbd>zig.test.test_comptim
99280 65 5f 65 76 61 6c 75 61 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e e_evaluation.zig</kbd>.1/1.test.
992a0 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 73 74 73 20 70 61 73 perform.fn....OK.All.1.tests.pas
992c0 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>.....
992e0 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 69 73 20 61 20 62 69 ..<p>.......This.example.is.a.bi
99300 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 63 6f 6d 70 69 6c 65 t.contrived,.because.the.compile
99320 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 74 20 69 73 20 75 6e -time.evaluation.component.is.un
99340 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 65 20 77 6f 75 6c 64 necessary;.......this.code.would
99360 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 64 6f 6e 65 20 61 74 .work.fine.if.it.was.all.done.at
99380 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 64 20 75 70 20 67 65 .run-time..But.it.does.end.up.ge
993a0 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 63 6f 64 65 2e 20 49 nerating.......different.code..I
993c0 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 69 6f 6e 20 3c 63 6f n.this.example,.the.function.<co
993e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 65 72 66 6f 72 6d 46 6e 3c de><span.class="line">performFn<
99400 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 74 68 72 65 65 /span></code>.is.generated.three
99420 20 64 69 66 66 65 72 65 6e 74 20 74 69 6d 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 .different.times,...........for.
99440 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 76 61 6c 75 65 73 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 the.different.values.of.<code><s
99460 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 65 66 69 78 5f 63 68 61 72 3c 2f 73 70 pan.class="line">prefix_char</sp
99480 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a an></code>.provided:.......</p>.
994a0 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=
994c0 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 70 65 72 "zig-cap"><cite.class="file">per
994e0 66 6f 72 6d 46 6e 5f 31 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 formFn_1</cite></figcaption><pre
99500 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
99520 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.
99540 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d line:</span></span>.<span.class=
99560 22 6c 69 6e 65 22 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 "line"><span.class="tok-comment"
99580 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 31 29 20 3d 3d 20 >//.expect(performFn('t',.1).==.
995a0 36 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 6);</span></span>.<span.class="l
995c0 69 6e 65 22 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 2f 73 70 ine"><span.class="tok-kw">fn</sp
995e0 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 65 72 66 6f 72 6d an>.<span.class="tok-fn">perform
99600 46 6e 3c 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 Fn</span>(start_value:.<span.cla
99620 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 61 6e 20 ss="tok-type">i32</span>).<span.
99640 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 3c 2f 73 class="tok-type">i32</span>.{</s
99660 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
99680 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 65 73 75 n.class="tok-kw">var</span>.resu
996a0 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 32 3c 2f lt:.<span.class="tok-type">i32</
996c0 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 span>.=.start_value;</span>.<spa
996e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 74 77 6f 28 n.class="line">....result.=.two(
99700 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e result);</span>.<span.class="lin
99720 65 22 3e 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 3c 2f e">....result.=.three(result);</
99740 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
99760 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>.
99780 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 result;</span>.<span.class="line
997a0 22 3e 7d 3c 2f 73 70 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 ">}</span></code></pre></figure>
997c0 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
997e0 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 70 65 ="zig-cap"><cite.class="file">pe
99800 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 3c 70 72 rformFn_2</cite></figcaption><pr
99820 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
99840 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 6d 20 74 68 65 .class="tok-comment">//.From.the
99860 20 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .line:</span></span>.<span.class
99880 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-comment
998a0 22 3e 2f 2f 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 6f 27 2c 20 30 29 20 3d 3d ">//.expect(performFn('o',.0).==
998c0 20 31 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .1);</span></span>.<span.class="
998e0 6c 69 6e 65 22 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 2f 73 line"><span.class="tok-kw">fn</s
99900 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 65 72 66 6f 72 pan>.<span.class="tok-fn">perfor
99920 6d 46 6e 3c 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 mFn</span>(start_value:.<span.cl
99940 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 61 6e ass="tok-type">i32</span>).<span
99960 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 3c 2f .class="tok-type">i32</span>.{</
99980 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
999a0 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 65 73 an.class="tok-kw">var</span>.res
999c0 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 32 3c ult:.<span.class="tok-type">i32<
999e0 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 /span>.=.start_value;</span>.<sp
99a00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 6f 6e 65 an.class="line">....result.=.one
99a20 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 (result);</span>.<span.class="li
99a40 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">ret
99a60 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 urn</span>.result;</span>.<span.
99a80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
99aa0 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 63 61 e></figure>.......<figure><figca
99ac0 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
99ae0 73 3d 22 66 69 6c 65 22 3e 70 65 72 66 6f 72 6d 46 6e 5f 33 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 s="file">performFn_3</cite></fig
99b00 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="
99b20 6c 69 6e 65 22 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 line"><span.class="tok-comment">
99b40 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a //.From.the.line:</span></span>.
99b60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
99b80 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
99ba0 28 27 77 27 2c 20 39 39 29 20 3d 3d 20 39 39 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ('w',.99).==.99);</span></span>.
99bc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
99be0 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
99c00 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 61 72 74 5f 76 61 ok-fn">performFn</span>(start_va
99c20 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 3c lue:.<span.class="tok-type">i32<
99c40 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
99c60 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 32</span>.{</span>.<span.class="
99c80 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">v
99ca0 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 74 ar</span>.result:.<span.class="t
99cc0 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 75 ok-type">i32</span>.=.start_valu
99ce0 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 e;</span>.<span.class="line">...
99d00 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
99d20 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.result;</span>.<span.class="
99d40 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
99d60 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 74 68 61 74 20 74 ure>.......<p>.......Note.that.t
99d80 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 67 20 62 75 69 6c his.happens.even.in.a.debug.buil
99da0 64 3b 20 69 6e 20 61 20 72 65 6c 65 61 73 65 20 62 75 69 6c 64 20 74 68 65 73 65 20 67 65 6e 65 d;.in.a.release.build.these.gene
99dc0 72 61 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 73 74 69 6c 6c 0a 20 20 20 20 20 20 70 61 73 73 rated.functions.still.......pass
99de0 20 74 68 72 6f 75 67 68 20 72 69 67 6f 72 6f 75 73 20 4c 4c 56 4d 20 6f 70 74 69 6d 69 7a 61 74 .through.rigorous.LLVM.optimizat
99e00 69 6f 6e 73 2e 20 54 68 65 20 69 6d 70 6f 72 74 61 6e 74 20 74 68 69 6e 67 20 74 6f 20 6e 6f 74 ions..The.important.thing.to.not
99e20 65 2c 20 68 6f 77 65 76 65 72 2c 20 69 73 20 6e 6f 74 20 74 68 61 74 20 74 68 69 73 0a 20 20 20 e,.however,.is.not.that.this....
99e40 20 20 20 69 73 20 61 20 77 61 79 20 74 6f 20 77 72 69 74 65 20 6d 6f 72 65 20 6f 70 74 69 6d 69 ...is.a.way.to.write.more.optimi
99e60 7a 65 64 20 63 6f 64 65 2c 20 62 75 74 20 74 68 61 74 20 69 74 20 69 73 20 61 20 77 61 79 20 74 zed.code,.but.that.it.is.a.way.t
99e80 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 77 68 61 74 20 3c 65 6d 3e 73 68 6f 75 6c 64 o.make.sure.that.what.<em>should
99ea0 3c 2f 65 6d 3e 20 68 61 70 70 65 6e 0a 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 </em>.happen.......at.compile-ti
99ec0 6d 65 2c 20 3c 65 6d 3e 64 6f 65 73 3c 2f 65 6d 3e 20 68 61 70 70 65 6e 20 61 74 20 63 6f 6d 70 me,.<em>does</em>.happen.at.comp
99ee0 69 6c 65 2d 74 69 6d 65 2e 20 54 68 69 73 20 63 61 74 63 68 65 73 20 6d 6f 72 65 20 65 72 72 6f ile-time..This.catches.more.erro
99f00 72 73 20 61 6e 64 20 61 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 0a 20 20 20 20 20 20 6c 61 74 rs.and.as.demonstrated.......lat
99f20 65 72 20 69 6e 20 74 68 69 73 20 61 72 74 69 63 6c 65 2c 20 61 6c 6c 6f 77 73 20 65 78 70 72 65 er.in.this.article,.allows.expre
99f40 73 73 69 76 65 6e 65 73 73 20 74 68 61 74 20 69 6e 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 ssiveness.that.in.other.language
99f60 73 20 72 65 71 75 69 72 65 73 20 75 73 69 6e 67 20 6d 61 63 72 6f 73 2c 0a 20 20 20 20 20 20 67 s.requires.using.macros,.......g
99f80 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 73 6f 72 enerated.code,.or.a.preprocessor
99fa0 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 20 20 20 .to.accomplish........</p>......
99fc0 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 45 78 70 ........<h4.id="Compile-Time-Exp
99fe0 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 6c 65 2d ressions"><a.href="#toc-Compile-
9a000 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 65 20 45 Time-Expressions">Compile-Time.E
9a020 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 20 68 72 xpressions</a>.<a.class="hdr".hr
9a040 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 22 3e c2 ef="#Compile-Time-Expressions">.
9a060 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 6e 20 5a .</a></h4>........<p>.......In.Z
9a080 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 6e 20 65 ig,.it.matters.whether.a.given.e
9a0a0 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 2d 74 69 xpression.is.known.at.compile-ti
9a0c0 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 63 61 6e me.or.run-time..A.programmer.can
9a0e0 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 73 3d 22 .......use.a.<code><span.class="
9a100 6c 69 6e 65 22 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 line"><span.class="tok-kw">compt
9a120 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 ime</span></span></code>.express
9a140 69 6f 6e 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 74 68 65 20 65 78 70 72 65 73 ion.to.guarantee.that.the.expres
9a160 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c sion.will.be.evaluated.at.compil
9a180 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 49 66 20 74 68 69 73 20 63 61 6e 6e 6f 74 20 62 65 20 e-time........If.this.cannot.be.
9a1a0 61 63 63 6f 6d 70 6c 69 73 68 65 64 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 77 69 6c 6c 20 accomplished,.the.compiler.will.
9a1c0 65 6d 69 74 20 61 6e 20 65 72 72 6f 72 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 emit.an.error..For.example:.....
9a1e0 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
9a200 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
9a220 6c 65 22 3e 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 63 61 6c 6c 5f 65 78 74 65 72 6e 5f 66 75 le">test_comptime_call_extern_fu
9a240 6e 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 nction.zig</cite></figcaption><p
9a260 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
9a280 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>.<
9a2a0 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
9a2c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 78 69 74 3c 2f 73 70 61 6e 3e 28 29 pan.class="tok-fn">exit</span>()
9a2e0 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 6e .<span.class="tok-type">noreturn
9a300 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
9a320 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
9a340 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>.<
9a360 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
9a380 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>.{</span>.<span.class
9a3a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
9a3c0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >comptime</span>.{</span>.<span.
9a3e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 65 78 69 74 28 29 3b 3c 2f 73 70 class="line">........exit();</sp
9a400 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 an>.<span.class="line">....}</sp
9a420 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
9a440 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
9a460 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
9a480 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
9a4a0 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 63 61 6c 6c 5f 65 78 74 65 72 ig.test.test_comptime_call_exter
9a4c0 6e 5f 66 75 6e 63 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n_function.zig</kbd>.<span.class
9a4e0 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
9a500 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 67 3a 35 3a 31 33 me_call_extern_function.zig:5:13
9a520 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
9a540 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
9a560 22 3e 63 6f 6d 70 74 69 6d 65 20 63 61 6c 6c 20 6f 66 20 65 78 74 65 72 6e 20 66 75 6e 63 74 69 ">comptime.call.of.extern.functi
9a580 6f 6e 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 65 78 69 74 28 29 3b 0a 20 20 20 20 20 20 on.</span>........exit();.......
9a5a0 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 5e 7e 0a 3c ..<span.class="sgr-32m">~~~~^~.<
9a5c0 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>...
9a5e0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 64 6f 65 73 6e 27 74 20 6d 61 6b 65 20 73 65 ....<p>.......It.doesn't.make.se
9a600 6e 73 65 20 74 68 61 74 20 61 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 20 63 61 6c 6c 20 3c 63 nse.that.a.program.could.call.<c
9a620 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 69 74 28 29 3c 2f 73 ode><span.class="line">exit()</s
9a640 70 61 6e 3e 3c 2f 63 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 pan></code>.(or.any.other.extern
9a660 61 6c 20 66 75 6e 63 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 al.function)...........at.compil
9a680 65 2d 74 69 6d 65 2c 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 e-time,.so.this.is.a.compile.err
9a6a0 6f 72 2e 20 48 6f 77 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 or..However,.a.<code><span.class
9a6c0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">com
9a6e0 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 ptime</span></span></code>.expre
9a700 73 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 ssion.does.much.......more.than.
9a720 73 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 sometimes.cause.a.compile.error.
9a740 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 69 74 68 .......</p>.......<p>.......With
9a760 69 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 in.a.<code><span.class="line"><s
9a780 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
9a7a0 6e 3e 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 20 20 n></span></code>.expression:....
9a7c0 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
9a7e0 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 70 61 6e 20 63 >All.variables.are.<code><span.c
9a800 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
9a820 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 >comptime</span></span></code>.v
9a840 61 72 69 61 62 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c ariables.</li>...........<li>All
9a860 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
9a880 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 73 70 61 6e 3e 3c class="tok-kw">if</span></span><
9a8a0 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 6c 69 6e 65 22 /code>,.<code><span.class="line"
9a8c0 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 73 70 61 ><span.class="tok-kw">while</spa
9a8e0 6e 3e 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 n></span></code>,.<code><span.cl
9a900 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
9a920 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 for</span></span></code>,.and.<c
9a940 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
9a960 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 73 70 61 6e 3e ss="tok-kw">switch</span></span>
9a980 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 20 61 72 </code>...........expressions.ar
9a9a0 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 6f 72 20 e.evaluated.at.compile-time,.or.
9a9c0 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 69 73 20 emit.a.compile.error.if.this.is.
9a9e0 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 3c 6c 69 not.possible.</li>...........<li
9aa00 3e 41 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >All.<code><span.class="line"><s
9aa20 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>
9aa40 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 73 70 61 6e 20 63 </span></code>.and.<code><span.c
9aa60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
9aa80 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 >try</span></span></code>.expres
9aaa0 73 69 6f 6e 73 20 61 72 65 20 69 6e 76 61 6c 69 64 20 28 75 6e 6c 65 73 73 20 74 68 65 20 66 75 sions.are.invalid.(unless.the.fu
9aac0 6e 63 74 69 6f 6e 20 69 74 73 65 6c 66 20 69 73 20 63 61 6c 6c 65 64 20 61 74 20 63 6f 6d 70 69 nction.itself.is.called.at.compi
9aae0 6c 65 2d 74 69 6d 65 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c le-time).</li>...........<li>All
9ab00 20 63 6f 64 65 20 77 69 74 68 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 20 .code.with.runtime.side.effects.
9ab20 6f 72 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 72 75 6e 74 69 6d 65 20 76 61 6c 75 65 73 20 65 or.depending.on.runtime.values.e
9ab40 6d 69 74 73 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 mits.a.compile.error.</li>......
9ab60 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 63 61 75 73 .....<li>All.function.calls.caus
9ab80 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 69 6e 74 65 72 70 72 65 74 20 74 68 65 20 e.the.compiler.to.interpret.the.
9aba0 66 75 6e 63 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 65 6d 69 74 74 69 function.at.compile-time,.emitti
9abc0 6e 67 20 61 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 ng.a...........compile.error.if.
9abe0 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 72 69 65 73 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 the.function.tries.to.do.somethi
9ac00 6e 67 20 74 68 61 74 20 68 61 73 20 67 6c 6f 62 61 6c 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 ng.that.has.global.runtime.side.
9ac20 65 66 66 65 63 74 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 effects.</li>.......</ul>.......
9ac40 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 61 20 70 72 6f 67 <p>.......This.means.that.a.prog
9ac60 72 61 6d 6d 65 72 20 63 61 6e 20 63 72 65 61 74 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 rammer.can.create.a.function.whi
9ac80 63 68 20 69 73 20 63 61 6c 6c 65 64 20 62 6f 74 68 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d ch.is.called.both.at.compile-tim
9aca0 65 20 61 6e 64 20 72 75 6e 2d 74 69 6d 65 2c 20 77 69 74 68 0a 20 20 20 20 20 20 6e 6f 20 6d 6f e.and.run-time,.with.......no.mo
9acc0 64 69 66 69 63 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 dification.to.the.function.requi
9ace0 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 20 red........</p>.......<p>.......
9ad00 4c 65 74 27 73 20 6c 6f 6f 6b 20 61 74 20 61 6e 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 Let's.look.at.an.example:.......
9ad20 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
9ad40 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
9ad60 22 3e 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c 2f ">test_fibonacci_recursion.zig</
9ad80 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
9ada0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
9adc0 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
9ade0 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
9ae00 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;
9ae20 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
9ae40 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
9ae60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
9ae80 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
9aea0 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 65 s="tok-fn">fibonacci</span>(inde
9aec0 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 33 32 3c 2f 73 x:.<span.class="tok-type">u32</s
9aee0 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 32 pan>).<span.class="tok-type">u32
9af00 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
9af20 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">if<
9af40 2f 73 70 61 6e 3e 20 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 /span>.(index.&lt;.<span.class="
9af60 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 20 63 6c 61 73 tok-number">2</span>).<span.clas
9af80 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 64 65 78 3b 3c s="tok-kw">return</span>.index;<
9afa0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
9afc0 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>
9afe0 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 73 3d 22 .fibonacci(index.-.<span.class="
9b000 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 61 63 63 tok-number">1</span>).+.fibonacc
9b020 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 65 i(index.-.<span.class="tok-numbe
9b040 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">2</span>);</span>.<span.class
9b060 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
9b080 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
9b0a0 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>.
9b0c0 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 69 62 6f <span.class="tok-str">&quot;fibo
9b0e0 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nacci&quot;</span>.{</span>.<spa
9b100 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
9b120 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 65 73 74 20 66 69 62 6f 6e 61 63 63 69 20 61 tok-comment">//.test.fibonacci.a
9b140 74 20 72 75 6e 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 t.run-time</span></span>.<span.c
9b160 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
9b180 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 -kw">try</span>.expect(fibonacci
9b1a0 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 73 70 61 (<span.class="tok-number">7</spa
9b1c0 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">
9b1e0 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 13</span>);</span>.<span.class="
9b200 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
9b220 3e 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">/
9b240 2f 20 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 /.test.fibonacci.at.compile-time
9b260 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
9b280 22 3e 20 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</
9b2a0 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
9b2c0 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 3c 73 70 61 ime</span>.expect(fibonacci(<spa
9b2e0 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 29 20 3d n.class="tok-number">7</span>).=
9b300 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 73 =.<span.class="tok-number">13</s
9b320 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
9b340 3e 7d 3c 2f 73 70 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 >}</span></code></pre></figure><
9b360 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-
9b380 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
9b3a0 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 63 63 69 p>$.<kbd>zig.test.test_fibonacci
9b3c0 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 2e 66 69 _recursion.zig</kbd>.1/1.test.fi
9b3e0 62 6f 6e 61 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 bonacci....OK.All.1.tests.passed
9b400 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>.......<
9b420 70 3e 0a 20 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 p>.......Imagine.if.we.had.forgo
9b440 74 74 65 6e 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 tten.the.base.case.of.the.recurs
9b460 69 76 65 20 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 ive.function.and.tried.to.run.th
9b480 65 20 74 65 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 e.tests:.......</p>.......<figur
9b4a0 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
9b4c0 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_
9b4e0 63 6f 6d 70 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 comptime_overflow.zig</cite></fi
9b500 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=
9b520 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
9b540 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
9b560 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
9b580 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;
9b5a0 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a </span>).testing.expect;</span>.
9b5c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
9b5e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
9b600 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
9b620 22 3e 66 69 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 ">fibonacci</span>(index:.<span.
9b640 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 20 3c 73 70 class="tok-type">u32</span>).<sp
9b660 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>.{
9b680 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
9b6a0 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 69 66 20 28 69 span.class="tok-comment">//if.(i
9b6c0 6e 64 65 78 20 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 ndex.&lt;.2).return.index;</span
9b6e0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
9b700 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
9b720 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 73 n>.fibonacci(index.-.<span.class
9b740 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 61 ="tok-number">1</span>).+.fibona
9b760 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 6d cci(index.-.<span.class="tok-num
9b780 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">2</span>);</span>.<span.cla
9b7a0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
9b7c0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
9b7e0 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
9b800 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 69 >.<span.class="tok-str">&quot;fi
9b820 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 bonacci&quot;</span>.{</span>.<s
9b840 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
9b860 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 61 73 73 ="tok-kw">try</span>.<span.class
9b880 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 65 63 74 ="tok-kw">comptime</span>.expect
9b8a0 28 66 69 62 6f 6e 61 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 (fibonacci(<span.class="tok-numb
9b8c0 65 72 22 3e 37 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">7</span>).==.<span.class="to
9b8e0 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">13</span>);</span>.<sp
9b900 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
9b920 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
9b940 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
9b960 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
9b980 20 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 66 6c 6f .test_fibonacci_comptime_overflo
9b9a0 77 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 22 w.zig</kbd>.<span.class="sgr-1m"
9b9c0 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 69 5f 63 6f 6d 70 74 >docgen_tmp/test_fibonacci_compt
9b9e0 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 35 3a 32 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 ime_overflow.zig:5:28:.</span><s
9ba00 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
9ba20 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 6f 76 65 72 66 6c 6f 77 20 n><span.class="sgr-1m">overflow.
9ba40 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 27 75 33 32 27 20 77 69 74 68 20 76 61 6c 75 65 of.integer.type.'u32'.with.value
9ba60 20 27 2d 31 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 .'-1'.</span>....return.fibonacc
9ba80 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d i(index.-.1).+.fibonacci(index.-
9baa0 20 32 29 3b 0a 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 .2);......................<span.
9bac0 63 6c 61 73 73 3d 22 73 67 72 2d 33 32 6d 22 3e 7e 7e 7e 7e 7e 7e 5e 7e 7e 0a 3c 2f 73 70 61 6e class="sgr-32m">~~~~~~^~~.</span
9bae0 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 6d 70 ><span.class="sgr-1m">docgen_tmp
9bb00 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 66 6c 6f /test_fibonacci_comptime_overflo
9bb20 77 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w.zig:5:21:.</span><span.class="
9bb40 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 73 sgr-36m">note:.</span><span.clas
9bb60 73 3d 22 73 67 72 2d 31 6d 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 s="sgr-1m">called.from.here</spa
9bb80 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 32 6d 22 3e 20 28 37 20 74 69 6d 65 73 n><span.class="sgr-2m">.(7.times
9bba0 29 0a 3c 2f 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 ).</span>....return.fibonacci(in
9bbc0 64 65 78 20 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 dex.-.1).+.fibonacci(index.-.2);
9bbe0 0a 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
9bc00 22 3e 7e 7e 7e 7e 7e 7e 7e 7e 7e 5e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 3c 2f 73 70 61 6e 3e 3c 73 ">~~~~~~~~~^~~~~~~~~~~.</span><s
9bc20 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
9bc40 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 66 6c 6f 77 2e 7a st_fibonacci_comptime_overflow.z
9bc60 69 67 3a 39 3a 33 34 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 ig:9:34:.</span><span.class="sgr
9bc80 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="
9bca0 73 67 72 2d 31 6d 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e sgr-1m">called.from.here.</span>
9bcc0 20 20 20 20 74 72 79 20 63 6f 6d 70 74 69 6d 65 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 ....try.comptime.expect(fibonacc
9bce0 69 28 37 29 20 3d 3d 20 31 33 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 i(7).==.13);....................
9bd00 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 7e 7e 7e 7e 7e .....<span.class="sgr-32m">~~~~~
9bd20 7e 7e 7e 7e 5e 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 ~~~~^~~.</span>.</samp></pre></f
9bd40 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 20 63 6f 6d 70 69 igure>.......<p>.......The.compi
9bd60 6c 65 72 20 70 72 6f 64 75 63 65 73 20 61 6e 20 65 72 72 6f 72 20 77 68 69 63 68 20 69 73 20 61 ler.produces.an.error.which.is.a
9bd80 20 73 74 61 63 6b 20 74 72 61 63 65 20 66 72 6f 6d 20 74 72 79 69 6e 67 20 74 6f 20 65 76 61 6c .stack.trace.from.trying.to.eval
9bda0 75 61 74 65 20 74 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 uate.the.......function.at.compi
9bdc0 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 3c 70 3e 0a 20 20 le-time........</p>.......<p>...
9bde0 20 20 20 20 4c 75 63 6b 69 6c 79 2c 20 77 65 20 75 73 65 64 20 61 6e 20 75 6e 73 69 67 6e 65 64 ....Luckily,.we.used.an.unsigned
9be00 20 69 6e 74 65 67 65 72 2c 20 61 6e 64 20 73 6f 20 77 68 65 6e 20 77 65 20 74 72 69 65 64 20 74 .integer,.and.so.when.we.tried.t
9be20 6f 20 73 75 62 74 72 61 63 74 20 31 20 66 72 6f 6d 20 30 2c 20 69 74 20 74 72 69 67 67 65 72 65 o.subtract.1.from.0,.it.triggere
9be40 64 0a 20 20 20 20 20 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2c 20 77 68 69 63 d.......undefined.behavior,.whic
9be60 68 20 69 73 20 61 6c 77 61 79 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 h.is.always.a.compile.error.if.t
9be80 68 65 20 63 6f 6d 70 69 6c 65 72 20 6b 6e 6f 77 73 20 69 74 20 68 61 70 70 65 6e 65 64 2e 0a 20 he.compiler.knows.it.happened...
9bea0 20 20 20 20 20 42 75 74 20 77 68 61 74 20 77 6f 75 6c 64 20 68 61 76 65 20 68 61 70 70 65 6e 65 .....But.what.would.have.happene
9bec0 64 20 69 66 20 77 65 20 75 73 65 64 20 61 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3f 0a 20 d.if.we.used.a.signed.integer?..
9bee0 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
9bf00 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=
9bf20 22 66 69 6c 65 22 3e 66 69 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 66 69 6e 69 "file">fibonacci_comptime_infini
9bf40 74 65 5f 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 te_recursion.zig</cite></figcapt
9bf60 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 6c 69 6e 65 ion><pre><code><span.class="line
9bf80 22 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 "><span.class="tok-kw">const</sp
9bfa0 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 6f 6b 2d 62 75 an>.assert.=.<span.class="tok-bu
9bfc0 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
9bfe0 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
9c000 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n>).debug.assert;</span>.<span.c
9c020 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
9c040 22 6c 69 6e 65 22 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 2f "line"><span.class="tok-kw">fn</
9c060 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 62 6f 6e span>.<span.class="tok-fn">fibon
9c080 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 73 3d 22 acci</span>(index:.<span.class="
9c0a0 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 73 tok-type">i32</span>).<span.clas
9c0c0 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 3c 2f 73 70 61 6e 3e s="tok-type">i32</span>.{</span>
9c0e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
9c100 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 26 6c ass="tok-comment">//if.(index.&l
9c120 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 3c 2f 73 70 61 6e t;.2).return.index;</span></span
9c140 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
9c160 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 69 62 6f lass="tok-kw">return</span>.fibo
9c180 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 6f 6b 2d 6e nacci(index.-.<span.class="tok-n
9c1a0 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 28 69 6e 64 umber">1</span>).+.fibonacci(ind
9c1c0 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 32 3c ex.-.<span.class="tok-number">2<
9c1e0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
9c200 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e">}</span>.<span.class="line"><
9c220 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
9c240 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
9c260 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 62 6f 6e 61 63 63 69 .class="tok-str">&quot;fibonacci
9c280 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
9c2a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
9c2c0 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
9c2e0 77 22 3e 63 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 w">comptime</span>.assert(fibona
9c300 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</
9c320 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
9c340 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">13</span>);</span>.<span.clas
9c360 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
9c380 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 20 63 6f 6d 70 figure>.......<p>.......The.comp
9c3a0 69 6c 65 72 20 69 73 20 73 75 70 70 6f 73 65 64 20 74 6f 20 6e 6f 74 69 63 65 20 74 68 61 74 20 iler.is.supposed.to.notice.that.
9c3c0 65 76 61 6c 75 61 74 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 74 0a 20 20 20 20 evaluating.this.function.at.....
9c3e0 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 74 6f 6f 6b 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 ..compile-time.took.more.than.10
9c400 30 30 20 62 72 61 6e 63 68 65 73 2c 20 61 6e 64 20 74 68 75 73 20 65 6d 69 74 73 20 61 6e 20 65 00.branches,.and.thus.emits.an.e
9c420 72 72 6f 72 20 61 6e 64 0a 20 20 20 20 20 20 67 69 76 65 73 20 75 70 2e 20 49 66 20 74 68 65 20 rror.and.......gives.up..If.the.
9c440 70 72 6f 67 72 61 6d 6d 65 72 20 77 61 6e 74 73 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 programmer.wants.to.increase.the
9c460 20 62 75 64 67 65 74 20 66 6f 72 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 0a 20 20 20 20 20 20 63 .budget.for.compile-time.......c
9c480 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 74 68 65 79 20 63 61 6e 20 75 73 65 20 61 20 62 75 69 6c 74 omputation,.they.can.use.a.built
9c4a0 2d 69 6e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 -in.function.called.......<a.hre
9c4c0 66 3d 22 23 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c f="#setEvalBranchQuota">@setEval
9c4e0 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 64 65 BranchQuota</a>.to.change.the.de
9c500 66 61 75 6c 74 20 6e 75 6d 62 65 72 20 31 30 30 30 20 74 6f 0a 20 20 20 20 20 20 73 6f 6d 65 74 fault.number.1000.to.......somet
9c520 68 69 6e 67 20 65 6c 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 hing.else........</p>.......<p>.
9c540 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 72 65 20 69 73 20 61 20 3c 61 20 68 72 65 ......However,.there.is.a.<a.hre
9c560 66 3d 22 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 f="https://github.com/ziglang/zi
9c580 67 2f 69 73 73 75 65 73 2f 31 33 37 32 34 22 3e 64 65 73 69 67 6e 0a 20 20 20 20 20 20 66 6c 61 g/issues/13724">design.......fla
9c5a0 77 20 69 6e 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 3c 2f 61 3e 20 63 61 75 73 69 6e 67 20 69 74 w.in.the.compiler</a>.causing.it
9c5c0 20 74 6f 20 73 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 20 69 6e 73 74 65 61 64 20 6f 66 20 68 61 .to.stack.overflow.instead.of.ha
9c5e0 76 69 6e 67 20 74 68 65 20 70 72 6f 70 65 72 0a 20 20 20 20 20 20 62 65 68 61 76 69 6f 72 20 68 ving.the.proper.......behavior.h
9c600 65 72 65 2e 20 49 27 6d 20 74 65 72 72 69 62 6c 79 20 73 6f 72 72 79 20 61 62 6f 75 74 20 74 68 ere..I'm.terribly.sorry.about.th
9c620 61 74 2e 20 49 20 68 6f 70 65 20 74 6f 20 67 65 74 20 74 68 69 73 20 72 65 73 6f 6c 76 65 64 0a at..I.hope.to.get.this.resolved.
9c640 20 20 20 20 20 20 62 65 66 6f 72 65 20 74 68 65 20 6e 65 78 74 20 72 65 6c 65 61 73 65 2e 0a 20 ......before.the.next.release...
9c660 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 61 74 20 69 .....</p>.......<p>.......What.i
9c680 66 20 77 65 20 66 69 78 20 74 68 65 20 62 61 73 65 20 63 61 73 65 2c 20 62 75 74 20 70 75 74 20 f.we.fix.the.base.case,.but.put.
9c6a0 74 68 65 20 77 72 6f 6e 67 20 76 61 6c 75 65 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f the.wrong.value.in.the.......<co
9c6c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 70 65 63 74 3c 2f 73 70 de><span.class="line">expect</sp
9c6e0 61 6e 3e 3c 2f 63 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 an></code>.line?.......</p>.....
9c700 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
9c720 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 66 69 -cap"><cite.class="file">test_fi
9c740 62 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 bonacci_comptime_unreachable.zig
9c760 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><
9c780 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
9c7a0 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 20 3d 20 3c 73 70 ok-kw">const</span>.assert.=.<sp
9c7c0 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</
9c7e0 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
9c800 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 61 73 73 65 72 74 t;std&quot;</span>).debug.assert
9c820 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
9c840 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
9c860 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
9c880 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 65 s="tok-fn">fibonacci</span>(inde
9c8a0 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
9c8c0 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
9c8e0 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
9c900 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">if<
9c920 2f 73 70 61 6e 3e 20 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 /span>.(index.&lt;.<span.class="
9c940 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 20 63 6c 61 73 tok-number">2</span>).<span.clas
9c960 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 64 65 78 3b 3c s="tok-kw">return</span>.index;<
9c980 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
9c9a0 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>
9c9c0 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 73 3d 22 .fibonacci(index.-.<span.class="
9c9e0 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 61 63 63 tok-number">1</span>).+.fibonacc
9ca00 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 65 i(index.-.<span.class="tok-numbe
9ca20 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">2</span>);</span>.<span.class
9ca40 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ="line">}</span>.<span.class="li
9ca60 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
9ca80 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>.
9caa0 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 69 62 6f <span.class="tok-str">&quot;fibo
9cac0 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nacci&quot;</span>.{</span>.<spa
9cae0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
9cb00 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 61 73 73 3d 22 tok-kw">try</span>.<span.class="
9cb20 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 73 73 65 72 74 28 66 tok-kw">comptime</span>.assert(f
9cb40 69 62 6f 6e 61 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 ibonacci(<span.class="tok-number
9cb60 22 3e 37 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 ">7</span>).==.<span.class="tok-
9cb80 6e 75 6d 62 65 72 22 3e 39 39 39 39 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 number">99999</span>);</span>.<s
9cba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
9cbc0 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
9cbe0 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
9cc00 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
9cc20 74 20 74 65 73 74 5f 66 69 62 6f 6e 61 63 63 69 5f 63 6f 6d 70 74 69 6d 65 5f 75 6e 72 65 61 63 t.test_fibonacci_comptime_unreac
9cc40 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 3d 22 73 67 72 hable.zig</kbd>.<span.class="sgr
9cc60 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 72 2f 5f 77 6f -1m">/home/ci/actions-runner/_wo
9cc80 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
9cca0 67 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 33 34 33 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c g/std/debug.zig:343:14:.</span><
9ccc0 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 70 span.class="sgr-31m">error:.</sp
9cce0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 72 65 61 63 68 65 64 20 an><span.class="sgr-1m">reached.
9cd00 75 6e 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 69 66 20 28 unreachable.code.</span>....if.(
9cd20 21 6f 6b 29 20 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 !ok).unreachable;.//.assertion.f
9cd40 61 69 6c 75 72 65 0a 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 ailure..............<span.class=
9cd60 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 70 61 6e 3e 3c 73 70 "sgr-32m">^~~~~~~~~~~.</span><sp
9cd80 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
9cda0 74 5f 66 69 62 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 t_fibonacci_comptime_unreachable
9cdc0 2e 7a 69 67 3a 39 3a 32 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:9:24:.</span><span.class="s
9cde0 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
9ce00 3d 22 73 67 72 2d 31 6d 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 0a 3c 2f 73 70 61 ="sgr-1m">called.from.here.</spa
9ce20 6e 3e 20 20 20 20 74 72 79 20 63 6f 6d 70 74 69 6d 65 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 n>....try.comptime.assert(fibona
9ce40 63 63 69 28 37 29 20 3d 3d 20 39 39 39 39 39 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cci(7).==.99999);...............
9ce60 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 5e ...<span.class="sgr-32m">~~~~~~^
9ce80 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>.<
9cea0 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 70 3e /samp></pre></figure>........<p>
9cec0 0a 20 20 20 20 20 20 41 74 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e .......At.<a.href="#Containers">
9cee0 63 6f 6e 74 61 69 6e 65 72 3c 2f 61 3e 20 6c 65 76 65 6c 20 28 6f 75 74 73 69 64 65 20 6f 66 20 container</a>.level.(outside.of.
9cf00 61 6e 79 20 66 75 6e 63 74 69 6f 6e 29 2c 20 61 6c 6c 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 any.function),.all.expressions.a
9cf20 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 re.implicitly.......<code><span.
9cf40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
9cf60 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ">comptime</span></span></code>.
9cf80 65 78 70 72 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 expressions..This.means.that.we.
9cfa0 63 61 6e 20 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 can.use.functions.to.......initi
9cfc0 61 6c 69 7a 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 alize.complex.static.data..For.e
9cfe0 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
9d000 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
9d020 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 65 72 2d 6c te.class="file">test_container-l
9d040 65 76 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 63 evel_comptime_expressions.zig</c
9d060 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
9d080 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
9d0a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 kw">const</span>.first_25_primes
9d0c0 20 3d 20 66 69 72 73 74 4e 50 72 69 6d 65 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .=.firstNPrimes(<span.class="tok
9d0e0 2d 6e 75 6d 62 65 72 22 3e 32 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">25</span>);</span>.<spa
9d100 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
9d120 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 kw">const</span>.sum_of_first_25
9d140 5f 70 72 69 6d 65 73 20 3d 20 73 75 6d 28 26 61 6d 70 3b 66 69 72 73 74 5f 32 35 5f 70 72 69 6d _primes.=.sum(&amp;first_25_prim
9d160 65 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c es);</span>.<span.class="line"><
9d180 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
9d1a0 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
9d1c0 6c 61 73 73 3d 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 lass="tok-fn">firstNPrimes</span
9d1e0 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 65 3c >(<span.class="tok-kw">comptime<
9d200 2f 73 70 61 6e 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 /span>.n:.<span.class="tok-type"
9d220 3e 75 73 69 7a 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 >usize</span>).[n]<span.class="t
9d240 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-type">i32</span>.{</span>.<sp
9d260 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
9d280 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 20 "tok-kw">var</span>.prime_list:.
9d2a0 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 73 [n]<span.class="tok-type">i32</s
9d2c0 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
9d2e0 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 defined</span>;</span>.<span.cla
9d300 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
9d320 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 20 3c 73 70 61 6e 20 w">var</span>.next_index:.<span.
9d340 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>.=.
9d360 3c 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
9d380 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
9d3a0 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>
9d3c0 20 74 65 73 74 5f 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 .test_number:.<span.class="tok-t
9d3e0 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
9d400 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">2</span>;</span>.<spa
9d420 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
9d440 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 6e 65 78 74 5f 69 6e 64 65 78 tok-kw">while</span>.(next_index
9d460 20 26 6c 74 3b 20 70 72 69 6d 65 5f 6c 69 73 74 2e 6c 65 6e 29 20 3a 20 28 74 65 73 74 5f 6e 75 .&lt;.prime_list.len).:.(test_nu
9d480 6d 62 65 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 mber.+=.<span.class="tok-number"
9d4a0 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >1</span>).{</span>.<span.class=
9d4c0 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
9d4e0 6b 77 22 3e 76 61 72 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 kw">var</span>.test_prime_index:
9d500 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
9d520 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">
9d540 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 0</span>;</span>.<span.class="li
9d560 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
9d580 3e 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 >var</span>.is_prime.=.<span.cla
9d5a0 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 3b 3c 2f 73 70 61 6e ss="tok-null">true</span>;</span
9d5c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 >.<span.class="line">........<sp
9d5e0 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>.(
9d600 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 69 6e 64 65 78 test_prime_index.&lt;.next_index
9d620 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 70 61 6e 20 63 ).:.(test_prime_index.+=.<span.c
9d640 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 3c 2f 73 lass="tok-number">1</span>).{</s
9d660 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
9d680 20 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
9d6a0 6e 3e 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 20 25 20 70 72 69 6d 65 5f 6c 69 73 74 5b 74 65 73 n>.(test_number.%.prime_list[tes
9d6c0 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t_prime_index].==.<span.class="t
9d6e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-number">0</span>).{</span>.<s
9d700 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pan.class="line">...............
9d720 20 69 73 5f 70 72 69 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c .is_prime.=.<span.class="tok-nul
9d740 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c l">false</span>;</span>.<span.cl
9d760 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e ass="line">................<span
9d780 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 3b 3c 2f 73 .class="tok-kw">break</span>;</s
9d7a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
9d7c0 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....}</span>.<span.class="line">
9d7e0 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ........}</span>.<span.class="li
9d800 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
9d820 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 73 5f 70 72 69 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c >if</span>.(is_prime).{</span>.<
9d840 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 70 72 span.class="line">............pr
9d860 69 6d 65 5f 6c 69 73 74 5b 6e 65 78 74 5f 69 6e 64 65 78 5d 20 3d 20 74 65 73 74 5f 6e 75 6d 62 ime_list[next_index].=.test_numb
9d880 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 er;</span>.<span.class="line">..
9d8a0 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c ..........next_index.+=.<span.cl
9d8c0 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 3c 2f 73 70 61 6e ass="tok-number">1</span>;</span
9d8e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f >.<span.class="line">........}</
9d900 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f span>.<span.class="line">....}</
9d920 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
9d940 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>.
9d960 70 72 69 6d 65 5f 6c 69 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 prime_list;</span>.<span.class="
9d980 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 line">}</span>.<span.class="line
9d9a0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
9d9c0 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
9d9e0 6e 20 63 6c 61 73 73 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 n.class="tok-fn">sum</span>(numb
9da00 65 72 73 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 ers:.[]<span.class="tok-kw">cons
9da20 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">
9da40 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 79 70 i32</span>).<span.class="tok-typ
9da60 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">i32</span>.{</span>.<span.cla
9da80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
9daa0 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
9dac0 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.
9dae0 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 3c 2f 73 70 class="tok-number">0</span>;</sp
9db00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
9db20 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 6e 75 6d 62 .class="tok-kw">for</span>.(numb
9db40 65 72 73 29 20 7c 78 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ers).|x|.{</span>.<span.class="l
9db60 69 6e 65 22 3e 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 2b 3d 20 78 3b 3c 2f 73 70 61 6e 3e ine">........result.+=.x;</span>
9db80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
9dba0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
9dbc0 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 72 65 73 75 6c ass="tok-kw">return</span>.resul
9dbe0 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f t;</span>.<span.class="line">}</
9dc00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
9dc20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
9dc40 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
9dc60 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 ="tok-str">&quot;variable.values
9dc80 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>.{</span>.<span.cla
9dca0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
9dcc0 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 62 w">try</span>.<span.class="tok-b
9dce0 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
9dd00 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
9dd20 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 73 75 6d 5f 6f 66 5f 66 69 72 73 74 an>).testing.expect(sum_of_first
9dd40 5f 32 35 5f 70 72 69 6d 65 73 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e _25_primes.==.<span.class="tok-n
9dd60 75 6d 62 65 72 22 3e 31 30 36 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 umber">1060</span>);</span>.<spa
9dd80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
9dda0 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
9ddc0 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
9dde0 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.
9de00 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 69 6d 65 5f 65 78 test_container-level_comptime_ex
9de20 70 72 65 73 73 69 6f 6e 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 76 61 72 pressions.zig</kbd>.1/1.test.var
9de40 69 61 62 6c 65 20 76 61 6c 75 65 73 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 iable.values....OK.All.1.tests.p
9de60 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>...
9de80 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 77 65 20 63 6f 6d 70 69 6c 65 20 74 68 ....<p>.......When.we.compile.th
9dea0 69 73 20 70 72 6f 67 72 61 6d 2c 20 5a 69 67 20 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 63 6f is.program,.Zig.generates.the.co
9dec0 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 61 6e 73 77 65 72 20 70 72 nstants.......with.the.answer.pr
9dee0 65 2d 63 6f 6d 70 75 74 65 64 2e 20 48 65 72 65 20 61 72 65 20 74 68 65 20 6c 69 6e 65 73 20 66 e-computed..Here.are.the.lines.f
9df00 72 6f 6d 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 4c 4c 56 4d 20 49 52 3a 0a 20 20 20 20 20 rom.the.generated.LLVM.IR:......
9df20 20 3c 2f 70 3e 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 6c 6c .</p>.......<pre><code.class="ll
9df40 76 6d 22 3e 40 30 20 3d 20 69 6e 74 65 72 6e 61 6c 20 75 6e 6e 61 6d 65 64 5f 61 64 64 72 20 63 vm">@0.=.internal.unnamed_addr.c
9df60 6f 6e 73 74 61 6e 74 20 5b 32 35 20 78 20 69 33 32 5d 20 5b 69 33 32 20 32 2c 20 69 33 32 20 33 onstant.[25.x.i32].[i32.2,.i32.3
9df80 2c 20 69 33 32 20 35 2c 20 69 33 32 20 37 2c 20 69 33 32 20 31 31 2c 20 69 33 32 20 31 33 2c 20 ,.i32.5,.i32.7,.i32.11,.i32.13,.
9dfa0 69 33 32 20 31 37 2c 20 69 33 32 20 31 39 2c 20 69 33 32 20 32 33 2c 20 69 33 32 20 32 39 2c 20 i32.17,.i32.19,.i32.23,.i32.29,.
9dfc0 69 33 32 20 33 31 2c 20 69 33 32 20 33 37 2c 20 69 33 32 20 34 31 2c 20 69 33 32 20 34 33 2c 20 i32.31,.i32.37,.i32.41,.i32.43,.
9dfe0 69 33 32 20 34 37 2c 20 69 33 32 20 35 33 2c 20 69 33 32 20 35 39 2c 20 69 33 32 20 36 31 2c 20 i32.47,.i32.53,.i32.59,.i32.61,.
9e000 69 33 32 20 36 37 2c 20 69 33 32 20 37 31 2c 20 69 33 32 20 37 33 2c 20 69 33 32 20 37 39 2c 20 i32.67,.i32.71,.i32.73,.i32.79,.
9e020 69 33 32 20 38 33 2c 20 69 33 32 20 38 39 2c 20 69 33 32 20 39 37 5d 0a 40 31 20 3d 20 69 6e 74 i32.83,.i32.89,.i32.97].@1.=.int
9e040 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 69 33 32 20 ernal.unnamed_addr.constant.i32.
9e060 31 30 36 30 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 1060</code></pre>.......<p>.....
9e080 20 20 4e 6f 74 65 20 74 68 61 74 20 77 65 20 64 69 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 64 ..Note.that.we.did.not.have.to.d
9e0a0 6f 20 61 6e 79 74 68 69 6e 67 20 73 70 65 63 69 61 6c 20 77 69 74 68 20 74 68 65 20 73 79 6e 74 o.anything.special.with.the.synt
9e0c0 61 78 20 6f 66 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 2e 20 46 6f 72 20 65 78 61 6d 70 ax.of.these.functions..For.examp
9e0e0 6c 65 2c 0a 20 20 20 20 20 20 77 65 20 63 6f 75 6c 64 20 63 61 6c 6c 20 74 68 65 20 3c 63 6f 64 le,.......we.could.call.the.<cod
9e100 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 75 6d 3c 2f 73 70 61 6e 3e 3c e><span.class="line">sum</span><
9e120 2f 63 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 /code>.function.as.is.with.a.sli
9e140 63 65 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 ce.of.numbers.whose.length.and.v
9e160 61 6c 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 alues.were.......only.known.at.r
9e180 75 6e 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 un-time........</p>.............
9e1a0 20 0a 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 ........<h3.id="Generic-Data-Str
9e1c0 75 63 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 uctures"><a.href="#toc-Generic-D
9e1e0 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 20 53 74 72 ata-Structures">Generic.Data.Str
9e200 75 63 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 uctures</a>.<a.class="hdr".href=
9e220 22 23 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 "#Generic-Data-Structures">..</a
9e240 3e 3c 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 ></h3>........<p>.......Zig.uses
9e260 20 74 68 65 73 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 74 .these.capabilities.to.implement
9e280 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 74 .generic.data.structures.without
9e2a0 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 63 .introducing.any.......special-c
9e2c0 61 73 65 20 73 79 6e 74 61 78 2e 20 49 66 20 79 6f 75 20 66 6f 6c 6c 6f 77 65 64 20 61 6c 6f 6e ase.syntax..If.you.followed.alon
9e2e0 67 20 73 6f 20 66 61 72 2c 20 79 6f 75 20 6d 61 79 20 61 6c 72 65 61 64 79 20 6b 6e 6f 77 20 68 g.so.far,.you.may.already.know.h
9e300 6f 77 20 74 6f 20 63 72 65 61 74 65 20 61 0a 20 20 20 20 20 20 67 65 6e 65 72 69 63 20 64 61 74 ow.to.create.a.......generic.dat
9e320 61 20 73 74 72 75 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 70 a.structure........</p>.......<p
9e340 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
9e360 65 72 69 63 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 69 eric.<code><span.class="line">Li
9e380 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 2e st</span></code>.data.structure.
9e3a0 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
9e3c0 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
9e3e0 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 63 74 75 72 65 2e s="file">generic_data_structure.
9e400 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
9e420 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
9e440 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=
9e460 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 6e 20 63 6c 61 73 73 "tok-fn">List</span>(<span.class
9e480 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
9e4a0 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 29 an.class="tok-type">type</span>)
9e4c0 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
9e4e0 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
9e500 20 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<
9e520 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
9e540 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ct</span>.{</span>.<span.class="
9e560 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 74 65 6d 73 3a 20 5b 5d 54 2c 3c 2f 73 70 61 6e 3e line">........items:.[]T,</span>
9e580 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6c 65 6e 3a .<span.class="line">........len:
9e5a0 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
9e5c0 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>,</span>.<span.class="line">
9e5e0 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....};</span>.<span.class="line"
9e600 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
9e620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
9e640 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 67 65 6e 65 72 69 63 ass="tok-comment">//.The.generic
9e660 20 4c 69 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 .List.data.structure.can.be.inst
9e680 61 6e 74 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 antiated.by.passing.in.a.type:</
9e6a0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
9e6c0 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>.
9e6e0 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 62 65 72 buffer:.[<span.class="tok-number
9e700 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 74 79 70 ">10</span>]<span.class="tok-typ
9e720 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
9e740 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a -null">undefined</span>;</span>.
9e760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
9e780 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 20 3d 20 4c 69 73 74 28 3c tok-kw">var</span>.list.=.List(<
9e7a0 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>
9e7c0 29 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ){</span>.<span.class="line">...
9e7e0 20 2e 69 74 65 6d 73 20 3d 20 26 61 6d 70 3b 62 75 66 66 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ..items.=.&amp;buffer,</span>.<s
9e800 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 pan.class="line">.....len.=.<spa
9e820 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 3c 2f n.class="tok-number">0</span>,</
9e840 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 span>.<span.class="line">};</spa
9e860 6e 3e 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 n></code></pre></figure>.......<
9e880 70 3e 0a 20 20 20 20 20 20 54 68 61 74 27 73 20 69 74 2e 20 49 74 27 73 20 61 20 66 75 6e 63 74 p>.......That's.it..It's.a.funct
9e8a0 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 3c 63 ion.that.returns.an.anonymous.<c
9e8c0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
9e8e0 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 73 70 61 6e 3e ss="tok-kw">struct</span></span>
9e900 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 6f 20 6b 65 65 70 20 74 68 65 20 6c 61 6e 67 75 </code>........To.keep.the.langu
9e920 61 67 65 20 73 6d 61 6c 6c 20 61 6e 64 20 75 6e 69 66 6f 72 6d 2c 20 61 6c 6c 20 61 67 67 72 65 age.small.and.uniform,.all.aggre
9e940 67 61 74 65 20 74 79 70 65 73 20 69 6e 20 5a 69 67 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75 73 2e gate.types.in.Zig.are.anonymous.
9e960 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 6f 72 .......For.the.purposes.of.error
9e980 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 6e 66 .messages.and.debugging,.Zig.inf
9e9a0 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 20 63 ers.the.name.......<code><span.c
9e9c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 lass="line"><span.class="tok-str
9e9e0 22 3e 26 71 75 6f 74 3b 4c 69 73 74 28 69 33 32 29 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f ">&quot;List(i32)&quot;</span></
9ea00 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6e span></code>.from.the.function.n
9ea20 61 6d 65 20 61 6e 64 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 ame.and.parameters.invoked.when.
9ea40 63 72 65 61 74 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 creating.......the.anonymous.str
9ea60 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 0a 20 20 20 20 20 20 uct........</p>.......<p>.......
9ea80 54 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 67 69 76 65 20 61 20 74 79 70 65 20 61 20 6e 61 6d 65 To.explicitly.give.a.type.a.name
9eaa0 2c 20 77 65 20 61 73 73 69 67 6e 20 69 74 20 74 6f 20 61 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 ,.we.assign.it.to.a.constant....
9eac0 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
9eae0 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="
9eb00 66 69 6c 65 22 3e 61 6e 6f 6e 79 6d 6f 75 73 5f 73 74 72 75 63 74 5f 6e 61 6d 65 2e 7a 69 67 3c file">anonymous_struct_name.zig<
9eb20 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
9eb40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
9eb60 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 6f 64 65 20 3d 20 3c 73 70 61 6e 20 k-kw">const</span>.Node.=.<span.
9eb80 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 3c 2f class="tok-kw">struct</span>.{</
9eba0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 65 78 span>.<span.class="line">....nex
9ebc0 74 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c t:.?*Node,</span>.<span.class="l
9ebe0 69 6e 65 22 3e 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 6f ine">....name:.[]<span.class="to
9ec00 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="
9ec20 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tok-type">u8</span>,</span>.<spa
9ec40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n.class="line">};</span>.<span.c
9ec60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
9ec80 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">var<
9eca0 2f 73 70 61 6e 3e 20 6e 6f 64 65 5f 61 20 3d 20 4e 6f 64 65 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 /span>.node_a.=.Node{</span>.<sp
9ecc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6e 65 78 74 20 3d 20 3c 73 70 61 an.class="line">.....next.=.<spa
9ece0 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 2c 3c n.class="tok-null">null</span>,<
9ed00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6e /span>.<span.class="line">.....n
9ed20 61 6d 65 20 3d 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ame.=.&amp;<span.class="tok-str"
9ed40 3e 26 71 75 6f 74 3b 4e 6f 64 65 20 41 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 >&quot;Node.A&quot;</span>,</spa
9ed60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a n>.<span.class="line">};</span>.
9ed80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
9eda0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
9edc0 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 5f 62 20 3d 20 4e 6f 64 65 7b 3c 2f 73 70 w">var</span>.node_b.=.Node{</sp
9ede0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6e 65 78 74 an>.<span.class="line">.....next
9ee00 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 5f 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .=.&amp;node_a,</span>.<span.cla
9ee20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6e 61 6d 65 20 3d 20 26 61 6d 70 3b 3c 73 70 61 6e ss="line">.....name.=.&amp;<span
9ee40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4e 6f 64 65 20 42 26 71 75 .class="tok-str">&quot;Node.B&qu
9ee60 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ot;</span>,</span>.<span.class="
9ee80 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 line">};</span></code></pre></fi
9eea0 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 65 78 gure>.......<p>.......In.this.ex
9eec0 61 6d 70 6c 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ample,.the.<code><span.class="li
9eee0 6e 65 22 3e 4e 6f 64 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 72 65 ne">Node</span></code>.struct.re
9ef00 66 65 72 73 20 74 6f 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 fers.to.itself........This.works
9ef20 20 62 65 63 61 75 73 65 20 61 6c 6c 20 74 6f 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 .because.all.top.level.declarati
9ef40 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 2e 0a 20 20 20 20 20 ons.are.order-independent.......
9ef60 20 41 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 20 64 65 74 .As.long.as.the.compiler.can.det
9ef80 65 72 6d 69 6e 65 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 73 74 72 75 63 74 2c 20 69 ermine.the.size.of.the.struct,.i
9efa0 74 20 69 73 20 66 72 65 65 20 74 6f 20 72 65 66 65 72 20 74 6f 20 69 74 73 65 6c 66 2e 0a 20 20 t.is.free.to.refer.to.itself....
9efc0 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ....In.this.case,.<code><span.cl
9efe0 61 73 73 3d 22 6c 69 6e 65 22 3e 4e 6f 64 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 ass="line">Node</span></code>.re
9f000 66 65 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 fers.to.itself.as.a.pointer,.whi
9f020 63 68 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 ch.has.a.......well-defined.size
9f040 20 61 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 .at.compile.time,.so.it.works.fi
9f060 6e 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 3c 68 33 20 ne........</p>..............<h3.
9f080 69 64 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 id="Case-Study-print-in-Zig"><a.
9f0a0 68 72 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 href="#toc-Case-Study-print-in-Z
9f0c0 69 67 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 ig">Case.Study:.print.in.Zig</a>
9f0e0 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 65 2d 53 74 75 64 .<a.class="hdr".href="#Case-Stud
9f100 79 2d 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 y-print-in-Zig">..</a></h3>.....
9f120 20 20 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 ...<p>.......Putting.all.of.this
9f140 20 74 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 3c .together,.let's.see.how.<code><
9f160 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f span.class="line">print</span></
9f180 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 70 3e 0a 20 code>.works.in.Zig........</p>..
9f1a0 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="
9f1c0 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 70 72 69 6e zig-cap"><cite.class="file">prin
9f1e0 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
9f200 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
9f220 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.=
9f240 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
9f260 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">
9f280 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
9f2a0 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c int;</span>.<span.class="line"><
9f2c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
9f2e0 63 6c 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 5f 6e 75 class="tok-kw">const</span>.a_nu
9f300 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 69 33 32 mber:.<span.class="tok-type">i32
9f320 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 65 </span>.=.<span.class="tok-numbe
9f340 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r">1234</span>;</span>.<span.cla
9f360 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
9f380 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 63 6c 61 onst</span>.a_string.=.<span.cla
9f3a0 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 74 3b 3c ss="tok-str">&quot;foobar&quot;<
9f3c0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
9f3e0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
9f400 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
9f420 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
9f440 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>().<
9f460 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
9f480 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
9f4a0 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 71 ..print(<span.class="tok-str">&q
9f4c0 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 27 20 68 65 72 65 uot;here.is.a.string:.'{s}'.here
9f4e0 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 73 70 61 6e 3e 2c .is.a.number:.{}\n&quot;</span>,
9f500 20 2e 7b 61 5f 73 74 72 69 6e 67 2c 20 61 5f 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a ..{a_string,.a_number});</span>.
9f520 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">}</span></cod
9f540 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
9f560 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
9f580 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
9f5a0 75 69 6c 64 2d 65 78 65 20 70 72 69 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e uild-exe.print.zig</kbd>.$.<kbd>
9f5c0 2e 2f 70 72 69 6e 74 3c 2f 6b 62 64 3e 0a 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 ./print</kbd>.here.is.a.string:.
9f5e0 27 66 6f 6f 62 61 72 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 31 32 33 34 0a 'foobar'.here.is.a.number:.1234.
9f600 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 70 </samp></pre></figure>........<p
9f620 3e 0a 20 20 20 20 20 20 4c 65 74 27 73 20 63 72 61 63 6b 20 6f 70 65 6e 20 74 68 65 20 69 6d 70 >.......Let's.crack.open.the.imp
9f640 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 61 6e 64 20 73 65 65 20 68 6f 77 20 lementation.of.this.and.see.how.
9f660 69 74 20 77 6f 72 6b 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 it.works:.......</p>........<fig
9f680 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">
9f6a0 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 5f 66 6e 2e <cite.class="file">poc_print_fn.
9f6c0 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
9f6e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
9f700 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 20 ="tok-kw">const</span>.Writer.=.
9f720 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
9f740 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
9f760 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 2f ...<span.class="tok-comment">///
9f780 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 73 68 65 73 20 74 68 .Calls.print.and.then.flushes.th
9f7a0 65 20 62 75 66 66 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e.buffer.</span></span>.<span.cl
9f7c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
9f7e0 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-
9f800 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
9f820 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 74 65 72 2c 20 3c n">print</span>(self:.*Writer,.<
9f840 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
9f860 61 6e 3e 20 66 6f 72 6d 61 74 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b an>.format:.[]<span.class="tok-k
9f880 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
9f8a0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c -type">u8</span>,.args:.<span.cl
9f8c0 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
9f8e0 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 70 an.class="tok-type">anyerror</sp
9f900 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 76 6f 69 64 3c an>!<span.class="tok-type">void<
9f920 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
9f940 65 22 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 6b 77 22 3e e">........<span.class="tok-kw">
9f960 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 61 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 const</span>.State.=.<span.class
9f980 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-kw">enum</span>.{</span>.<
9f9a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 73 74 span.class="line">............st
9f9c0 61 72 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 art,</span>.<span.class="line">.
9f9e0 20 20 20 20 20 20 20 20 20 20 20 6f 70 65 6e 5f 62 72 61 63 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ...........open_brace,</span>.<s
9fa00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f pan.class="line">............clo
9fa20 73 65 5f 62 72 61 63 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 se_brace,</span>.<span.class="li
9fa40 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ne">........};</span>.<span.clas
9fa60 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
9fa80 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
9faa0 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
9fac0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 74 61 72 74 5f 69 6e 64 65 78 3a 20 3c 73 k-kw">var</span>.start_index:.<s
9fae0 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
9fb00 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</
9fb20 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
9fb40 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 6b 77 22 3e 63 6f >........<span.class="tok-kw">co
9fb60 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
9fb80 77 22 3e 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 w">var</span>.state.=.State.star
9fba0 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 t;</span>.<span.class="line">...
9fbc0 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 69 .....<span.class="tok-kw">compti
9fbe0 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 76 me</span>.<span.class="tok-kw">v
9fc00 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 73 73 3d ar</span>.next_arg:.<span.class=
9fc20 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 20 "tok-type">usize</span>.=.<span.
9fc40 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 3c 2f 73 70 class="tok-number">0</span>;</sp
9fc60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
9fc80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 span.class="line">........<span.
9fca0 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
9fcc0 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 66 6f an.class="tok-kw">for</span>.(fo
9fce0 72 6d 61 74 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 rmat,.<span.class="tok-number">0
9fd00 3c 2f 73 70 61 6e 3e 2e 2e 29 20 7c 63 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e </span>..).|c,.i|.{</span>.<span
9fd20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 .class="line">............<span.
9fd40 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 73 74 class="tok-kw">switch</span>.(st
9fd60 61 74 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ate).{</span>.<span.class="line"
9fd80 3e 20 20 20 20 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 >................State.start.=&g
9fda0 74 3b 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 t;.<span.class="tok-kw">switch</
9fdc0 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.(c).{</span>.<span.class="
9fde0 6c 69 6e 65 22 3e 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 line">....................<span.
9fe00 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 3b class="tok-str">'{'</span>.=&gt;
9fe20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
9fe40 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
9fe60 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 74 5f 69 6e 64 65 78 ="tok-kw">if</span>.(start_index
9fe80 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 2d 6b 77 22 3e 74 72 .&lt;.i).<span.class="tok-kw">tr
9fea0 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 74 y</span>.self.write(format[start
9fec0 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d _index..i]);</span>.<span.class=
9fee0 22 6c 69 6e 65 22 3e 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 "line">........................s
9ff00 74 61 74 65 20 3d 20 53 74 61 74 65 2e 6f 70 65 6e 5f 62 72 61 63 65 3b 3c 2f 73 70 61 6e 3e 0a tate.=.State.open_brace;</span>.
9ff20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 <span.class="line">.............
9ff40 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .......},</span>.<span.class="li
9ff60 6e 65 22 3e 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 ne">....................<span.cl
9ff80 61 73 73 3d 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 ass="tok-str">'}'</span>.=&gt;.{
9ffa0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
9ffc0 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 22 ...................<span.class="
9ffe0 74 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 tok-kw">if</span>.(start_index.&
a0000 6c 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 lt;.i).<span.class="tok-kw">try<
a0020 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 74 5f 69 /span>.self.write(format[start_i
a0040 6e 64 65 78 2e 2e 69 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ndex..i]);</span>.<span.class="l
a0060 69 6e 65 22 3e 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 ine">........................sta
a0080 74 65 20 3d 20 53 74 61 74 65 2e 63 6c 6f 73 65 5f 62 72 61 63 65 3b 3c 2f 73 70 61 6e 3e 0a 3c te.=.State.close_brace;</span>.<
a00a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span.class="line">..............
a00c0 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......},</span>.<span.class="lin
a00e0 65 22 3e 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 e">....................<span.cla
a0100 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 7b 7d ss="tok-kw">else</span>.=&gt;.{}
a0120 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
a0140 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ............},</span>.<span.clas
a0160 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 6f s="line">................State.o
a0180 70 65 6e 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 pen_brace.=&gt;.<span.class="tok
a01a0 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a -kw">switch</span>.(c).{</span>.
a01c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 <span.class="line">.............
a01e0 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 27 7b 27 .......<span.class="tok-str">'{'
a0200 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 </span>.=&gt;.{</span>.<span.cla
a0220 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss="line">......................
a0240 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ..state.=.State.start;</span>.<s
a0260 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pan.class="line">...............
a0280 20 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 69 3b 3c 2f 73 70 61 6e 3e .........start_index.=.i;</span>
a02a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 .<span.class="line">............
a02c0 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ........},</span>.<span.class="l
a02e0 69 6e 65 22 3e 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 ine">....................<span.c
a0300 6c 61 73 73 3d 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 lass="tok-str">'}'</span>.=&gt;.
a0320 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
a0340 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=
a0360 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 61 "tok-kw">try</span>.self.printVa
a0380 6c 75 65 28 61 72 67 73 5b 6e 65 78 74 5f 61 72 67 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 lue(args[next_arg]);</span>.<spa
a03a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.class="line">.................
a03c0 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 63 6c 61 73 73 3d 22 .......next_arg.+=.<span.class="
a03e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">1</span>;</span>.<sp
a0400 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 an.class="line">................
a0420 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 3c 2f 73 70 ........state.=.State.start;</sp
a0440 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
a0460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 69 20 2b ...............start_index.=.i.+
a0480 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
a04a0 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
a04c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ..................},</span>.<spa
a04e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.class="line">.................
a0500 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 73 27 3c 2f 73 70 ...<span.class="tok-str">'s'</sp
a0520 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.=&gt;.{</span>.<span.class="
a0540 6c 69 6e 65 22 3e 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 line">........................<s
a0560 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 73 70 61 pan.class="tok-kw">continue</spa
a0580 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
a05a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ..................},</span>.<spa
a05c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.class="line">.................
a05e0 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 65 3c 2f 73 70 ...<span.class="tok-kw">else</sp
a0600 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 62 75 69 6c 74 an>.=&gt;.<span.class="tok-built
a0620 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
a0640 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 6b 6e 6f 77 6e 20 66 6f 72 lass="tok-str">&quot;Unknown.for
a0660 6d 61 74 20 63 68 61 72 61 63 74 65 72 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 mat.character:.&quot;</span>.++.
a0680 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
a06a0 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 70 n>]<span.class="tok-type">u8</sp
a06c0 61 6e 3e 7b 63 7d 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e an>{c}),</span>.<span.class="lin
a06e0 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e">................},</span>.<sp
a0700 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 an.class="line">................
a0720 53 74 61 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 State.close_brace.=&gt;.<span.cl
a0740 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 7b ass="tok-kw">switch</span>.(c).{
a0760 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
a0780 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 6b 2d ...............<span.class="tok-
a07a0 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c str">'}'</span>.=&gt;.{</span>.<
a07c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span.class="line">..............
a07e0 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 3c 2f ..........state.=.State.start;</
a0800 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
a0820 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 64 65 78 20 3d 20 69 .................start_index.=.i
a0840 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
a0860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ................},</span>.<span.
a0880 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 class="line">...................
a08a0 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
a08c0 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 62 75 69 6c 74 69 6e >.=&gt;.<span.class="tok-builtin
a08e0 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 61 ">@compileError</span>(<span.cla
a0900 73 73 3d 22 74 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 ss="tok-str">&quot;Single.'}'.en
a0920 63 6f 75 6e 74 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 countered.in.format.string&quot;
a0940 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>),</span>.<span.class="li
a0960 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">................},</span>.<s
a0980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 2f pan.class="line">............}</
a09a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
a09c0 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .}</span>.<span.class="line">...
a09e0 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 69 .....<span.class="tok-kw">compti
a0a00 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 me</span>.{</span>.<span.class="
a0a20 6c 69 6e 65 22 3e 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 line">............<span.class="t
a0a40 6f 6b 2d 6b 77 22 3e 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 ok-kw">if</span>.(args.len.!=.ne
a0a60 78 74 5f 61 72 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 xt_arg).{</span>.<span.class="li
a0a80 6e 65 22 3e 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 ne">................<span.class=
a0aa0 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 73 70 61 "tok-builtin">@compileError</spa
a0ac0 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 55 n>(<span.class="tok-str">&quot;U
a0ae0 6e 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 3c 2f nused.arguments&quot;</span>);</
a0b00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
a0b20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .....}</span>.<span.class="line"
a0b40 3e 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
a0b60 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 74 65 20 21 3d 20 53 74 61 74 65 2e 73 74 61 72 ">if</span>.(state.!=.State.star
a0b80 74 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 t).{</span>.<span.class="line">.
a0ba0 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 6b 2d ...............<span.class="tok-
a0bc0 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
a0be0 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 49 6e 63 6f 6d 70 pan.class="tok-str">&quot;Incomp
a0c00 6c 65 74 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e lete.format.string:.&quot;</span
a0c20 3e 20 2b 2b 20 66 6f 72 6d 61 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >.++.format);</span>.<span.class
a0c40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ="line">............}</span>.<sp
a0c60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e an.class="line">........}</span>
a0c80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
a0ca0 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
a0cc0 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 3c 2f 73 70 61 6e t_index.&lt;.format.len).{</span
a0ce0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
a0d00 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>
a0d20 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 64 65 78 2e 2e .self.write(format[start_index..
a0d40 66 6f 72 6d 61 74 2e 6c 65 6e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 format.len]);</span>.<span.class
a0d60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="line">........}</span>.<span.c
a0d80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
a0da0 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()
a0dc0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
a0de0 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
a0e00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
a0e20 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.
a0e40 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 6e 3e 28 73 65 6c 66 class="tok-fn">write</span>(self
a0e60 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 20 63 6c 61 73 73 3d :.*Writer,.value:.[]<span.class=
a0e80 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
a0ea0 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 3c 73 70 61 6e 20 63 s="tok-type">u8</span>).!<span.c
a0ec0 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 3c 2f 73 lass="tok-type">void</span>.{</s
a0ee0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a0f00 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 _.=.self;</span>.<span.class="li
a0f20 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">........_.=.value;</span>.<s
a0f40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">....}</span>.<s
a0f60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
a0f80 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
a0fa0 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=
a0fc0 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 28 73 65 6c 66 3a "tok-fn">printValue</span>(self:
a0fe0 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 73 73 3d 22 74 6f .*Writer,.value:.<span.class="to
a1000 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 6e 20 63 6c 61 k-kw">anytype</span>).!<span.cla
a1020 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 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
a1040 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 n>.<span.class="line">........_.
a1060 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 =.self;</span>.<span.class="line
a1080 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">........_.=.value;</span>.<spa
a10a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
a10c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
a10e0 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
a1100 6f 6b 2d 66 6e 22 3e 66 6c 75 73 68 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 ok-fn">flush</span>(self:.*Write
a1120 72 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 69 64 3c r).!<span.class="tok-type">void<
a1140 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
a1160 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e">........_.=.self;</span>.<spa
a1180 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">....}</span>.<spa
a11a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c n.class="line">};</span></code><
a11c0 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 54 /pre></figure>.......<p>.......T
a11e0 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 65 6d his.is.a.proof.of.concept.implem
a1200 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 69 6e entation;.the.actual.function.in
a1220 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 0a 20 .the.standard.library.has.more..
a1240 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 20 20 .....formatting.capabilities....
a1260 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 74 68 ....</p>.......<p>.......Note.th
a1280 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 20 74 at.this.is.not.hard-coded.into.t
a12a0 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 61 6e he.Zig.compiler;.this.is.userlan
a12c0 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 2e 0a d.code.in.the.standard.library..
a12e0 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 6e 20 ......</p>.......<p>.......When.
a1300 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 20 6f this.function.is.analyzed.from.o
a1320 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 74 69 ur.example.code.above,.Zig.parti
a1340 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 20 20 ally.evaluates.the.function.....
a1360 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 74 75 ..and.emits.a.function.that.actu
a1380 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 70 3e ally.looks.like.this:.......</p>
a13a0 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
a13c0 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 45 6d ="zig-cap"><cite.class="file">Em
a13e0 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 69 67 itted.print.Function</cite></fig
a1400 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="
a1420 6c 69 6e 65 22 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 line"><span.class="tok-kw">pub</
a1440 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
a1460 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 72 69 6e 74 3c pan>.<span.class="tok-fn">print<
a1480 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 61 72 67 30 3a 20 5b 5d 3c 73 /span>(self:.*Writer,.arg0:.[]<s
a14a0 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>.
a14c0 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>
a14e0 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 74 79 70 65 22 3e 69 ,.arg1:.<span.class="tok-type">i
a1500 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 70 32</span>).!<span.class="tok-typ
a1520 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">void</span>.{</span>.<span.cl
a1540 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
a1560 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 3c 73 70 61 6e 20 kw">try</span>.self.write(<span.
a1580 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 20 61 20 class="tok-str">&quot;here.is.a.
a15a0 73 74 72 69 6e 67 3a 20 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a string:.'&quot;</span>);</span>.
a15c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
a15e0 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 70 72 69 6e ss="tok-kw">try</span>.self.prin
a1600 74 56 61 6c 75 65 28 61 72 67 30 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 tValue(arg0);</span>.<span.class
a1620 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
a1640 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 61 >try</span>.self.write(<span.cla
a1660 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 6e ss="tok-str">&quot;'.here.is.a.n
a1680 75 6d 62 65 72 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 umber:.&quot;</span>);</span>.<s
a16a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
a16c0 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
a16e0 61 6c 75 65 28 61 72 67 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 alue(arg1);</span>.<span.class="
a1700 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">t
a1720 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 61 73 73 ry</span>.self.write(<span.class
a1740 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ="tok-str">&quot;\n&quot;</span>
a1760 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
a1780 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>
a17a0 20 73 65 6c 66 2e 66 6c 75 73 68 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .self.flush();</span>.<span.clas
a17c0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
a17e0 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 3c 73 figure>.......<p>.......<code><s
a1800 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 pan.class="line">printValue</spa
a1820 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b n></code>.is.a.function.that.tak
a1840 65 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 6f 66 20 61 6e 79 20 74 79 70 65 2c 20 61 6e 64 20 es.a.parameter.of.any.type,.and.
a1860 64 6f 65 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 69 6e 67 73 20 64 65 70 65 6e 64 69 6e 67 0a does.different.things.depending.
a1880 20 20 20 20 20 20 6f 6e 20 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ......on.the.type:.......</p>...
a18a0 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
a18c0 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 70 6f 63 5f 70 ig-cap"><cite.class="file">poc_p
a18e0 72 69 6e 74 56 61 6c 75 65 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 rintValue_fn.zig</cite></figcapt
a1900 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 6c 69 6e 65 ion><pre><code><span.class="line
a1920 22 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 "><span.class="tok-kw">const</sp
a1940 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 6f 6b 2d 6b 77 an>.Writer.=.<span.class="tok-kw
a1960 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ">struct</span>.{</span>.<span.c
a1980 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
a19a0 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
a19c0 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-
a19e0 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 2a 57 72 69 fn">printValue</span>(self:.*Wri
a1a00 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 77 22 ter,.value:.<span.class="tok-kw"
a1a20 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 22 74 >anytype</span>).!<span.class="t
a1a40 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
a1a60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 pan.class="line">........<span.c
a1a80 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 3c 73 70 lass="tok-kw">switch</span>.(<sp
a1aa0 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
a1ac0 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
a1ae0 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 29 29 20 7b 3c 2f 73 70 61 ">@TypeOf</span>(value))).{</spa
a1b00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
a1b20 20 20 2e 49 6e 74 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ...Int.=&gt;.{</span>.<span.clas
a1b40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 s="line">................<span.c
a1b60 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 73 65 6c 66 lass="tok-kw">return</span>.self
a1b80 2e 77 72 69 74 65 49 6e 74 28 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .writeInt(value);</span>.<span.c
a1ba0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e lass="line">............},</span
a1bc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
a1be0 20 2e 46 6c 6f 61 74 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ..Float.=&gt;.{</span>.<span.cla
a1c00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 ss="line">................<span.
a1c20 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 73 65 6c class="tok-kw">return</span>.sel
a1c40 66 2e 77 72 69 74 65 46 6c 6f 61 74 28 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 f.writeFloat(value);</span>.<spa
a1c60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 n.class="line">............},</s
a1c80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a1ca0 20 20 20 20 2e 50 6f 69 6e 74 65 72 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .....Pointer.=&gt;.{</span>.<spa
a1cc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c n.class="line">................<
a1ce0 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
a1d00 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >.self.write(value);</span>.<spa
a1d20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 n.class="line">............},</s
a1d40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a1d60 20 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 65 3c 2f 73 ....<span.class="tok-kw">else</s
a1d80 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.=&gt;.{</span>.<span.class=
a1da0 22 6c 69 6e 65 22 3e 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 "line">................<span.cla
a1dc0 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</
a1de0 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
a1e00 74 3b 55 6e 61 62 6c 65 20 74 6f 20 70 72 69 6e 74 20 74 79 70 65 20 27 26 71 75 6f 74 3b 3c 2f t;Unable.to.print.type.'&quot;</
a1e20 73 70 61 6e 3e 20 2b 2b 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
a1e40 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d n">@typeName</span>(<span.class=
a1e60 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 6c "tok-builtin">@TypeOf</span>(val
a1e80 75 65 29 29 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 ue)).++.<span.class="tok-str">&q
a1ea0 75 6f 74 3b 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 uot;'&quot;</span>);</span>.<spa
a1ec0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 n.class="line">............},</s
a1ee0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a1f00 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 }</span>.<span.class="line">....
a1f20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 }</span>.<span.class="line"></sp
a1f40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
a1f60 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.
a1f80 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 6e 3e 28 73 65 6c 66 class="tok-fn">write</span>(self
a1fa0 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 20 63 6c 61 73 73 3d :.*Writer,.value:.[]<span.class=
a1fc0 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
a1fe0 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 3c 73 70 61 6e 20 63 s="tok-type">u8</span>).!<span.c
a2000 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 3c 2f 73 lass="tok-type">void</span>.{</s
a2020 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a2040 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 _.=.self;</span>.<span.class="li
a2060 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">........_.=.value;</span>.<s
a2080 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">....}</span>.<s
a20a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
a20c0 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=
a20e0 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 49 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a "tok-fn">writeInt</span>(self:.*
a2100 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 2d Writer,.value:.<span.class="tok-
a2120 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 73 kw">anytype</span>).!<span.class
a2140 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 3c 2f 73 70 61 6e 3e ="tok-type">void</span>.{</span>
a2160 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 .<span.class="line">........_.=.
a2180 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e self;</span>.<span.class="line">
a21a0 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ........_.=.value;</span>.<span.
a21c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
a21e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
a2200 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
a2220 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 72 -fn">writeFloat</span>(self:.*Wr
a2240 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 77 iter,.value:.<span.class="tok-kw
a2260 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 22 ">anytype</span>).!<span.class="
a2280 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-type">void</span>.{</span>.<
a22a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 span.class="line">........_.=.se
a22c0 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 lf;</span>.<span.class="line">..
a22e0 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ......_.=.value;</span>.<span.cl
a2300 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ass="line">....}</span>.<span.cl
a2320 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ass="line">};</span></code></pre
a2340 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 41 6e 64 20 6e ></figure>.......<p>.......And.n
a2360 6f 77 2c 20 77 68 61 74 20 68 61 70 70 65 6e 73 20 69 66 20 77 65 20 67 69 76 65 20 74 6f 6f 20 ow,.what.happens.if.we.give.too.
a2380 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c many.arguments.to.<code><span.cl
a23a0 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3f 0a ass="line">print</span></code>?.
a23c0 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
a23e0 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
a2400 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 70 72 69 6e 74 5f 74 6f 6f 5f 6d 61 6e 79 5f 61 72 67 73 ="file">test_print_too_many_args
a2420 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
a2440 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
a2460 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.=.
a2480 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
a24a0 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">&
a24c0 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
a24e0 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f nt;</span>.<span.class="line"></
a2500 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
a2520 6c 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 5f 6e 75 6d lass="tok-kw">const</span>.a_num
a2540 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 69 33 32 3c ber:.<span.class="tok-type">i32<
a2560 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
a2580 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">1234</span>;</span>.<span.clas
a25a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
a25c0 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 63 6c 61 73 nst</span>.a_string.=.<span.clas
a25e0 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 74 3b 3c 2f s="tok-str">&quot;foobar&quot;</
a2600 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
a2620 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
a2640 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
a2660 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 74 20 74 an.class="tok-str">&quot;print.t
a2680 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 3e 20 7b oo.many.arguments&quot;</span>.{
a26a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 </span>.<span.class="line">....p
a26c0 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
a26e0 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 ;here.is.a.string:.'{s}'.here.is
a2700 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b .a.number:.{}\n&quot;</span>,..{
a2720 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
a2740 20 20 20 61 5f 73 74 72 69 6e 67 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ...a_string,</span>.<span.class=
a2760 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 5f 6e 75 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a "line">........a_number,</span>.
a2780 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 5f 6e 75 6d <span.class="line">........a_num
a27a0 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ber,</span>.<span.class="line">.
a27c0 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ...});</span>.<span.class="line"
a27e0 3e 7d 3c 2f 73 70 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 >}</span></code></pre></figure><
a2800 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-
a2820 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
a2840 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
a2860 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
a2880 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
a28a0 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
a28c0 69 62 2f 7a 69 67 2f 73 74 64 2f 66 6d 74 2e 7a 69 67 3a 32 30 32 3a 31 38 3a 20 3c 2f 73 70 61 ib/zig/std/fmt.zig:202:18:.</spa
a28e0 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:.<
a2900 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
a2920 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:
a2940 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:.{}.....
a2960 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 ................................
a2980 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 ................................
a29a0 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>...
a29c0 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(&
a29e0 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;.
a2a00 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;),.......
a2a20 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"
a2a40 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 >^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a2a60 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 2f 73 ~~~~~~~~~~~~~~~~~~~~.</span>.</s
a2a80 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 20 amp></pre></figure>.......<p>...
a2aa0 20 20 20 20 5a 69 67 20 67 69 76 65 73 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 74 68 65 20 74 6f ....Zig.gives.programmers.the.to
a2ac0 6f 6c 73 20 6e 65 65 64 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 6d 73 65 6c 76 65 73 ols.needed.to.protect.themselves
a2ae0 20 61 67 61 69 6e 73 74 20 74 68 65 69 72 20 6f 77 6e 20 6d 69 73 74 61 6b 65 73 2e 0a 20 20 20 .against.their.own.mistakes.....
a2b00 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 64 6f 65 73 ...</p>.......<p>.......Zig.does
a2b20 6e 27 74 20 63 61 72 65 20 77 68 65 74 68 65 72 20 74 68 65 20 66 6f 72 6d 61 74 20 61 72 67 75 n't.care.whether.the.format.argu
a2b40 6d 65 6e 74 20 69 73 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2c 0a 20 20 20 20 20 20 ment.is.a.string.literal,.......
a2b60 6f 6e 6c 79 20 74 68 61 74 20 69 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b only.that.it.is.a.compile-time.k
a2b80 6e 6f 77 6e 20 76 61 6c 75 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 nown.value.that.can.be.coerced.t
a2ba0 6f 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 5d 3c o.a.<code><span.class="line">[]<
a2bc0 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>
a2be0 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
a2c00 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ></span></code>:.......</p>.....
a2c20 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
a2c40 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 70 72 69 6e 74 5f 63 -cap"><cite.class="file">print_c
a2c60 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 5f 66 6f 72 6d 61 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c omptime-known_format.zig</cite><
a2c80 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
a2ca0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
a2cc0 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 73 73 3d onst</span>.print.=.<span.class=
a2ce0 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
a2d00 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
a2d20 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c t;</span>).debug.print;</span>.<
a2d40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
a2d60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
a2d80 22 3e 63 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 ">const</span>.a_number:.<span.c
a2da0 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
a2dc0 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
a2de0 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 >;</span>.<span.class="line"><sp
a2e00 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
a2e20 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 72 22 3e _string.=.<span.class="tok-str">
a2e40 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 3c 2f 73 70 61 6e &quot;foobar&quot;</span>;</span
a2e60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
a2e80 3d 22 74 6f 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 3c 73 70 ="tok-kw">const</span>.fmt.=.<sp
a2ea0 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
a2ec0 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
a2ee0 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 r:.{}\n&quot;</span>;</span>.<sp
a2f00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
a2f20 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
a2f40 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">
a2f60 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
a2f80 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
a2fa0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pe">void</span>.{</span>.<span.c
a2fc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 66 6d 74 2c 20 2e 7b 61 5f 73 lass="line">....print(fmt,..{a_s
a2fe0 74 72 69 6e 67 2c 20 61 5f 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 tring,.a_number});</span>.<span.
a3000 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
a3020 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
a3040 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
a3060 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
a3080 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 6f 72 6d 61 74 2e 7a xe.print_comptime-known_format.z
a30a0 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 6f 6d 70 74 69 6d 65 ig</kbd>.$.<kbd>./print_comptime
a30c0 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 69 73 20 61 20 73 74 -known_format</kbd>.here.is.a.st
a30e0 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 6e 75 6d 62 65 72 3a ring:.'foobar'.here.is.a.number:
a3100 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 72 65 3e 0a 20 20 20 .1234.</samp></pre></figure>....
a3120 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 69 6e 65 2e 0a 20 20 ...<p>.......This.works.fine....
a3140 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 5a 69 67 20 64 6f 65 ....</p>.......<p>.......Zig.doe
a3160 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 20 66 6f 72 6d 61 74 s.not.special.case.string.format
a3180 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 69 6e 73 74 65 61 64 ting.in.the.compiler.and.instead
a31a0 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 61 63 63 6f 6d 70 6c .exposes.enough.power.to.accompl
a31c0 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 65 72 6c 61 6e 64 2e ish.this.......task.in.userland.
a31e0 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 64 75 63 69 6e 67 20 .It.does.so.without.introducing.
a3200 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 66 20 5a 69 67 2c 20 another.language.on.top.of.Zig,.
a3220 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 67 75 61 67 65 20 6f such.as.......a.macro.language.o
a3240 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 2e 20 49 74 27 73 20 r.a.preprocessor.language..It's.
a3260 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 20 20 20 3c 2f 70 3e Zig.all.the.way.down........</p>
a3280 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 3c 2f 70 3e 3c 75 ..............<p>See.also:</p><u
a32a0 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 3e 69 l>.<li><a.href="#inline-while">i
a32c0 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 65 66 nline.while</a></li>.<li><a.href
a32e0 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 2f 6c ="#inline-for">inline.for</a></l
a3300 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 41 i>.</ul>...............<h2.id="A
a3320 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 73 65 6d 62 6c 79 22 ssembly"><a.href="#toc-Assembly"
a3340 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 64 72 22 20 68 72 65 >Assembly</a>.<a.class="hdr".hre
a3360 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 0a 0a 20 20 20 20 20 f="#Assembly">..</a></h2>.......
a3380 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 61 73 65 73 2c 20 69 .<p>.......For.some.use.cases,.i
a33a0 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 65 63 74 6c 79 20 63 t.may.be.necessary.to.directly.c
a33c0 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 65 6e 65 72 61 74 65 ontrol.the.machine.code.generate
a33e0 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 72 61 74 68 65 72 20 d.......by.Zig.programs,.rather.
a3400 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 65 20 67 65 6e 65 72 than.relying.on.Zig's.code.gener
a3420 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 6e 65 0a 20 20 20 20 ation..For.these.cases,.one.....
a3440 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 2e 20 48 65 72 65 20 ..can.use.inline.assembly..Here.
a3460 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 74 69 6e 67 20 48 65 is.an.example.of.implementing.He
a3480 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 78 0a 20 20 20 20 20 llo,.World.on.x86_64.Linux......
a34a0 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 20 20 20 20 20 3c 2f .using.inline.assembly:.......</
a34c0 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
a34e0 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">
a3500 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 3e 3c 2f 66 69 67 63 inline_assembly.zig</cite></figc
a3520 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 6c aption><pre><code><span.class="l
a3540 69 6e 65 22 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 ine"><span.class="tok-kw">pub</s
a3560 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
a3580 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
a35a0 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 6e 6f pan>().<span.class="tok-type">no
a35c0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 return</span>.{</span>.<span.cla
a35e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
a3600 77 22 3e 63 6f 6e 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 w">const</span>.msg.=.<span.clas
a3620 73 3d 22 74 6f 6b 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 s="tok-str">&quot;hello.world\n&
a3640 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 quot;</span>;</span>.<span.class
a3660 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 79 73 63 61 6c 6c 33 28 53 59 53 5f 77 72 69 ="line">...._.=.syscall3(SYS_wri
a3680 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="
a36a0 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>(
a36c0 6d 73 67 29 2c 20 6d 73 67 2e 6c 65 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 msg),.msg.len);</span>.<span.cla
a36e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 79 73 63 61 6c 6c 31 28 53 59 53 5f 65 ss="line">...._.=.syscall1(SYS_e
a3700 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 65 72 22 3e 30 3c xit,.<span.class="tok-number">0<
a3720 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
a3740 65 22 3e 20 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 e">....<span.class="tok-kw">unre
a3760 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 achable</span>;</span>.<span.cla
a3780 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
a37a0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
a37c0 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 3e ><span.class="tok-kw">pub</span>
a37e0 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
a3800 6e 3e 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 n>.SYS_write.=.<span.class="tok-
a3820 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">1</span>;</span>.<span.c
a3840 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
a3860 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"
a3880 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 61 6e 20 63 >const</span>.SYS_exit.=.<span.c
a38a0 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 3c 2f 73 70 lass="tok-number">60</span>;</sp
a38c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
a38e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
a3900 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
a3920 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e ok-kw">const</span>.STDOUT_FILEN
a3940 4f 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 O.=.<span.class="tok-number">1</
a3960 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
a3980 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
a39a0 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
a39c0 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
a39e0 20 63 6c 61 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 .class="tok-fn">syscall1</span>(
a3a00 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 65 22 3e 75 number:.<span.class="tok-type">u
a3a20 73 69 7a 65 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 size</span>,.arg1:.<span.class="
a3a40 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
a3a60 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 3c 2f 73 ass="tok-type">usize</span>.{</s
a3a80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
a3aa0 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>.<
a3ac0 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 20 3c span.class="tok-kw">asm</span>.<
a3ae0 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 70 span.class="tok-kw">volatile</sp
a3b00 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 6f 74 an>.(<span.class="tok-str">&quot
a3b20 3b 73 79 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ;syscall&quot;</span></span>.<sp
a3b40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a 20 5b 72 65 74 5d 20 an.class="line">........:.[ret].
a3b60 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 3d 7b 72 61 <span.class="tok-str">&quot;={ra
a3b80 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 2d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 x}&quot;</span>.(-&gt;.<span.cla
a3ba0 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 3c 2f 73 70 ss="tok-type">usize</span>),</sp
a3bc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a an>.<span.class="line">........:
a3be0 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e .[number].<span.class="tok-str">
a3c00 26 71 75 6f 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 &quot;{rax}&quot;</span>.(number
a3c20 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ),</span>.<span.class="line">...
a3c40 20 20 20 20 20 20 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 .......[arg1].<span.class="tok-s
a3c60 74 72 22 3e 26 71 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 tr">&quot;{rdi}&quot;</span>.(ar
a3c80 67 31 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 g1),</span>.<span.class="line">.
a3ca0 20 20 20 20 20 20 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 .......:.<span.class="tok-str">&
a3cc0 71 75 6f 74 3b 72 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 quot;rcx&quot;</span>,.<span.cla
a3ce0 73 73 3d 22 74 6f 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 ss="tok-str">&quot;r11&quot;</sp
a3d00 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
a3d20 20 20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ..);</span>.<span.class="line">}
a3d40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
a3d60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
a3d80 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
a3da0 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
a3dc0 3d 22 74 6f 6b 2d 66 6e 22 3e 73 79 73 63 61 6c 6c 33 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 ="tok-fn">syscall3</span>(number
a3de0 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 2f :.<span.class="tok-type">usize</
a3e00 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 74 79 span>,.arg1:.<span.class="tok-ty
a3e20 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 32 3a 20 3c 73 70 61 6e 20 63 6c pe">usize</span>,.arg2:.<span.cl
a3e40 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 61 72 67 ass="tok-type">usize</span>,.arg
a3e60 33 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 3:.<span.class="tok-type">usize<
a3e80 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 75 /span>).<span.class="tok-type">u
a3ea0 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 size</span>.{</span>.<span.class
a3ec0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
a3ee0 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-
a3f00 6b 77 22 3e 61 73 6d 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">asm</span>.<span.class="tok-
a3f20 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 kw">volatile</span>.(<span.class
a3f40 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 79 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f ="tok-str">&quot;syscall&quot;</
a3f60 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
a3f80 20 20 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 ........:.[ret].<span.class="tok
a3fa0 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 2f 73 70 61 6e 3e 20 -str">&quot;={rax}&quot;</span>.
a3fc0 28 2d 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 (-&gt;.<span.class="tok-type">us
a3fe0 69 7a 65 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ize</span>),</span>.<span.class=
a4000 22 6c 69 6e 65 22 3e 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 "line">........:.[number].<span.
a4020 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 71 75 6f 74 class="tok-str">&quot;{rax}&quot
a4040 3b 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ;</span>.(number),</span>.<span.
a4060 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 31 5d 20 3c 73 class="line">..........[arg1].<s
a4080 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 64 69 7d 26 pan.class="tok-str">&quot;{rdi}&
a40a0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 quot;</span>.(arg1),</span>.<spa
a40c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 32 5d 20 n.class="line">..........[arg2].
a40e0 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 73 69 <span.class="tok-str">&quot;{rsi
a4100 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 32 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 }&quot;</span>.(arg2),</span>.<s
a4120 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 33 pan.class="line">..........[arg3
a4140 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
a4160 64 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 33 29 2c 3c 2f 73 70 61 6e 3e 0a dx}&quot;</span>.(arg3),</span>.
a4180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a 20 3c 73 70 <span.class="line">........:.<sp
a41a0 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 71 75 6f an.class="tok-str">&quot;rcx&quo
a41c0 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 22 t;</span>,.<span.class="tok-str"
a41e0 3e 26 71 75 6f 74 3b 72 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c >&quot;r11&quot;</span></span>.<
a4200 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 29 3b 3c 2f 73 70 61 6e 3e 0a span.class="line">....);</span>.
a4220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">}</span></cod
a4240 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
a4260 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
a4280 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
a42a0 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 61 uild-exe.inline_assembly.zig.-ta
a42c0 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 2e rget.x86_64-linux</kbd>.$.<kbd>.
a42e0 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 72 /inline_assembly</kbd>.hello.wor
a4300 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 20 ld.</samp></pre></figure>.......
a4320 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 3a <p>.......Dissecting.the.syntax:
a4340 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
a4360 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
a4380 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 6e s="file">Assembly.Syntax.Explain
a43a0 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><
a43c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
a43e0 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
a4400 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
a4420 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
a4440 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
a4460 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-
a4480 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=
a44a0 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 3c 2f 73 70 61 6e 3e "tok-type">usize</span>.{</span>
a44c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
a44e0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 6c 69 6e 65 20 61 73 73 65 ass="tok-comment">//.Inline.asse
a4500 6d 62 6c 79 20 69 73 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 69 63 68 20 72 65 74 75 mbly.is.an.expression.which.retu
a4520 72 6e 73 20 61 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e rns.a.value.</span></span>.<span
a4540 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
a4560 6f 6b 2d 63 6f 6d 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 ok-comment">//.the.`asm`.keyword
a4580 20 62 65 67 69 6e 73 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f .begins.the.expression.</span></
a45a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
a45c0 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>.
a45e0 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 3c <span.class="tok-kw">asm</span><
a4600 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
a4620 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 6c 61 pan.class="tok-comment">//.`vola
a4640 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 69 65 72 20 74 68 tile`.is.an.optional.modifier.th
a4660 61 74 20 74 65 6c 6c 73 20 5a 69 67 20 74 68 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a at.tells.Zig.this</span></span>.
a4680 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
a46a0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d ss="tok-comment">//.inline.assem
a46c0 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 73 69 64 65 2d 65 66 66 65 63 74 73 2e bly.expression.has.side-effects.
a46e0 20 57 69 74 68 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .Without</span></span>.<span.cla
a4700 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
a4720 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 76 6f 6c 61 74 69 6c 65 60 2c 20 5a 69 67 20 69 73 20 61 6c omment">//.`volatile`,.Zig.is.al
a4740 6c 6f 77 65 64 20 74 6f 20 64 65 6c 65 74 65 20 74 68 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d lowed.to.delete.the.inline.assem
a4760 62 6c 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c bly</span></span>.<span.class="l
a4780 69 6e 65 22 3e 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 ine">....<span.class="tok-commen
a47a0 74 22 3e 2f 2f 20 63 6f 64 65 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 6e 75 73 t">//.code.if.the.result.is.unus
a47c0 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ed.</span></span>.<span.class="l
a47e0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">vo
a4800 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 latile</span>.(</span>.<span.cla
a4820 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
a4840 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 65 20 73 74 omment">//.Next.is.a.comptime.st
a4860 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 6f 64 65 2e ring.which.is.the.assembly.code.
a4880 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
a48a0 22 3e 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">
a48c0 2f 2f 20 49 6e 73 69 64 65 20 74 68 69 73 20 73 74 72 69 6e 67 20 6f 6e 65 20 6d 61 79 20 75 73 //.Inside.this.string.one.may.us
a48e0 65 20 60 25 5b 72 65 74 5d 60 2c 20 60 25 5b 6e 75 6d 62 65 72 5d 60 2c 3c 2f 73 70 61 6e 3e 3c e.`%[ret]`,.`%[number]`,</span><
a4900 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
a4920 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 72 20 60 25 pan.class="tok-comment">//.or.`%
a4940 5b 61 72 67 31 5d 60 20 77 68 65 72 65 20 61 20 72 65 67 69 73 74 65 72 20 69 73 20 65 78 70 65 [arg1]`.where.a.register.is.expe
a4960 63 74 65 64 2c 20 74 6f 20 73 70 65 63 69 66 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c cted,.to.specify</span></span>.<
a4980 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
a49a0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 72 65 67 69 73 74 65 72 20 s="tok-comment">//.the.register.
a49c0 74 68 61 74 20 5a 69 67 20 75 73 65 73 20 66 6f 72 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6f that.Zig.uses.for.the.argument.o
a49e0 72 20 72 65 74 75 72 6e 20 76 61 6c 75 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 r.return.value,</span></span>.<s
a4a00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
a4a20 3d 22 74 6f 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 ="tok-comment">//.if.the.registe
a4a40 72 20 63 6f 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 r.constraint.strings.are.used..H
a4a60 6f 77 65 76 65 72 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c owever.in</span></span>.<span.cl
a4a80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
a4aa0 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 69 73 comment">//.the.below.code,.this
a4ac0 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 6e 20 .is.not.used..A.literal.`%`.can.
a4ae0 62 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 be</span></span>.<span.class="li
a4b00 6e 65 22 3e 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 ne">....<span.class="tok-comment
a4b20 22 3e 2f 2f 20 6f 62 74 61 69 6e 65 64 20 62 79 20 65 73 63 61 70 69 6e 67 20 69 74 20 77 69 74 ">//.obtained.by.escaping.it.wit
a4b40 68 20 61 20 64 6f 75 62 6c 65 20 70 65 72 63 65 6e 74 3a 20 60 25 25 60 2e 3c 2f 73 70 61 6e 3e h.a.double.percent:.`%%`.</span>
a4b60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
a4b80 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 4f 66 74 65 span.class="tok-comment">//.Ofte
a4ba0 6e 20 6d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 20 73 79 6e 74 61 78 20 63 6f 6d 65 73 20 n.multiline.string.syntax.comes.
a4bc0 69 6e 20 68 61 6e 64 79 20 68 65 72 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 in.handy.here.</span></span>.<sp
a4be0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
a4c00 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 73 79 73 63 61 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e "tok-str">\\syscall</span></span
a4c20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
a4c40 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 74 20 69 73 20 74 68 lass="tok-comment">//.Next.is.th
a4c60 65 20 6f 75 74 70 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 e.output..It.is.possible.in.the.
a4c80 66 75 74 75 72 65 20 5a 69 67 20 77 69 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 future.Zig.will</span></span>.<s
a4ca0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
a4cc0 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
a4ce0 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
a4d00 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
a4d20 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 68 ..<span.class="tok-comment">//.h
a4d40 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 73 ttps://github.com/ziglang/zig/is
a4d60 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 6e 3e 3c 2f 73 70 sues/215.is.resolved.</span></sp
a4d80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
a4da0 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 20 69 73 20 61 6c .class="tok-comment">//.It.is.al
a4dc0 6c 6f 77 65 64 20 66 6f 72 20 74 68 65 72 65 20 74 6f 20 62 65 20 6e 6f 20 6f 75 74 70 75 74 73 lowed.for.there.to.be.no.outputs
a4de0 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ,.in.which.case</span></span>.<s
a4e00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
a4e20 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 63 6f 6c 6f 6e 20 77 6f 75 ="tok-comment">//.this.colon.wou
a4e40 6c 64 20 62 65 20 64 69 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 63 ld.be.directly.followed.by.the.c
a4e60 6f 6c 6f 6e 20 66 6f 72 20 74 68 65 20 69 6e 70 75 74 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 olon.for.the.inputs.</span></spa
a4e80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a 3c n>.<span.class="line">........:<
a4ea0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
a4ec0 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 20 pan.class="tok-comment">//.This.
a4ee0 73 70 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 specifies.the.name.to.be.used.in
a4f00 20 60 25 5b 72 65 74 5d 60 20 73 79 6e 74 61 78 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .`%[ret]`.syntax.in</span></span
a4f20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
a4f40 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 6f 76 65 20 lass="tok-comment">//.the.above.
a4f60 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 65 20 64 6f assembly.string..This.example.do
a4f80 65 73 20 6e 6f 74 20 75 73 65 20 69 74 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 es.not.use.it,</span></span>.<sp
a4fa0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
a4fc0 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 73 79 6e 74 61 78 20 "tok-comment">//.but.the.syntax.
a4fe0 69 73 20 6d 61 6e 64 61 74 6f 72 79 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 is.mandatory.</span></span>.<spa
a5000 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5b 72 65 74 5d 3c 2f 73 70 n.class="line">........[ret]</sp
a5020 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
a5040 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 74 20 69 73 20 .class="tok-comment">//.Next.is.
a5060 74 68 65 20 6f 75 74 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 2e 20 54 68 the.output.constraint.string..Th
a5080 69 73 20 66 65 61 74 75 72 65 20 69 73 20 73 74 69 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e is.feature.is.still</span></span
a50a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
a50c0 6c 61 73 73 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 lass="tok-comment">//.considered
a50e0 20 75 6e 73 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 .unstable.in.Zig,.and.so.LLVM/GC
a5100 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 C.documentation</span></span>.<s
a5120 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
a5140 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 20 74 ="tok-comment">//.must.be.used.t
a5160 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 70 61 o.understand.the.semantics.</spa
a5180 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
a51a0 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 68 74 .<span.class="tok-comment">//.ht
a51c0 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 2f 64 6f tp://releases.llvm.org/10.0.0/do
a51e0 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f 6e 73 74 cs/LangRef.html#inline-asm-const
a5200 72 61 69 6e 74 2d 73 74 72 69 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e raint-string</span></span>.<span
a5220 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
a5240 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f ok-comment">//.https://gcc.gnu.o
a5260 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 73 6d 2e 68 rg/onlinedocs/gcc/Extended-Asm.h
a5280 74 6d 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c tml</span></span>.<span.class="l
a52a0 69 6e 65 22 3e 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 ine">....<span.class="tok-commen
a52c0 74 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 63 6f 6e 73 74 t">//.In.this.example,.the.const
a52e0 72 61 69 6e 74 20 73 74 72 69 6e 67 20 6d 65 61 6e 73 20 26 71 75 6f 74 3b 74 68 65 20 72 65 73 raint.string.means.&quot;the.res
a5300 75 6c 74 20 76 61 6c 75 65 20 6f 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ult.value.of</span></span>.<span
a5320 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
a5340 6f 6b 2d 63 6f 6d 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 ok-comment">//.this.inline.assem
a5360 62 6c 79 20 69 6e 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 bly.instruction.is.whatever.is.i
a5380 6e 20 24 72 61 78 26 71 75 6f 74 3b 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.$rax&quot;.</span></span>.<spa
a53a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
a53c0 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;<
a53e0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
a5400 3e 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">/
a5420 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 69 6e 64 69 6e 67 /.Next.is.either.a.value.binding
a5440 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 70 65 2e 20 54 68 ,.or.`-&gt;`.and.then.a.type..Th
a5460 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e</span></span>.<span.class="lin
a5480 65 22 3e 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 e">....<span.class="tok-comment"
a54a0 3e 2f 2f 20 74 79 70 65 20 69 73 20 74 68 65 20 72 65 73 75 6c 74 20 74 79 70 65 20 6f 66 20 74 >//.type.is.the.result.type.of.t
a54c0 68 65 20 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 2e 3c 2f he.inline.assembly.expression.</
a54e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
a5500 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">//
a5520 20 49 66 20 69 74 20 69 73 20 61 20 76 61 6c 75 65 20 62 69 6e 64 69 6e 67 2c 20 74 68 65 6e 20 .If.it.is.a.value.binding,.then.
a5540 60 25 5b 72 65 74 5d 60 20 73 79 6e 74 61 78 20 77 6f 75 6c 64 20 62 65 20 75 73 65 64 3c 2f 73 `%[ret]`.syntax.would.be.used</s
a5560 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
a5580 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">//.
a55a0 74 6f 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 72 65 67 69 73 74 65 72 20 62 6f 75 6e 64 20 74 to.refer.to.the.register.bound.t
a55c0 6f 20 74 68 65 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e o.the.value.</span></span>.<span
a55e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 28 2d 26 67 74 3b 20 3c 73 70 .class="line">........(-&gt;.<sp
a5600 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>
a5620 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ),</span>.<span.class="line">...
a5640 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 4e 65 .<span.class="tok-comment">//.Ne
a5660 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 70 61 6e 3e xt.is.the.list.of.inputs.</span>
a5680 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
a56a0 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 20 span.class="tok-comment">//.The.
a56c0 63 6f 6e 73 74 72 61 69 6e 74 20 66 6f 72 20 74 68 65 73 65 20 69 6e 70 75 74 73 20 6d 65 61 6e constraint.for.these.inputs.mean
a56e0 73 2c 20 26 71 75 6f 74 3b 77 68 65 6e 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 s,.&quot;when.the.assembly.code.
a5700 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 is</span></span>.<span.class="li
a5720 6e 65 22 3e 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 ne">....<span.class="tok-comment
a5740 22 3e 2f 2f 20 65 78 65 63 75 74 65 64 2c 20 24 72 61 78 20 73 68 61 6c 6c 20 68 61 76 65 20 74 ">//.executed,.$rax.shall.have.t
a5760 68 65 20 76 61 6c 75 65 20 6f 66 20 60 6e 75 6d 62 65 72 60 20 61 6e 64 20 24 72 64 69 20 73 68 he.value.of.`number`.and.$rdi.sh
a5780 61 6c 6c 20 68 61 76 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 all.have</span></span>.<span.cla
a57a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
a57c0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 61 72 67 31 60 26 71 omment">//.the.value.of.`arg1`&q
a57e0 75 6f 74 3b 2e 20 41 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 70 61 72 61 6d 65 uot;..Any.number.of.input.parame
a5800 74 65 72 73 20 69 73 20 61 6c 6c 6f 77 65 64 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ters.is.allowed,</span></span>.<
a5820 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
a5840 73 3d 22 74 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 s="tok-comment">//.including.non
a5860 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.</span></span>.<span.class="li
a5880 6e 65 22 3e 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 61 ne">........:.[number].<span.cla
a58a0 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 2f ss="tok-str">&quot;{rax}&quot;</
a58c0 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 span>.(number),</span>.<span.cla
a58e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 31 5d 20 3c 73 70 ss="line">............[arg1].<sp
a5900 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 64 69 7d 26 71 an.class="tok-str">&quot;{rdi}&q
a5920 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e uot;</span>.(arg1),</span>.<span
a5940 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
a5960 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 6c 69 73 74 20 ok-comment">//.Next.is.the.list.
a5980 6f 66 20 63 6c 6f 62 62 65 72 73 2e 20 54 68 65 73 65 20 64 65 63 6c 61 72 65 20 61 20 73 65 74 of.clobbers..These.declare.a.set
a59a0 20 6f 66 20 72 65 67 69 73 74 65 72 73 20 77 68 6f 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .of.registers.whose</span></span
a59c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
a59e0 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 73 20 77 69 6c lass="tok-comment">//.values.wil
a5a00 6c 20 6e 6f 74 20 62 65 20 70 72 65 73 65 72 76 65 64 20 62 79 20 74 68 65 20 65 78 65 63 75 74 l.not.be.preserved.by.the.execut
a5a20 69 6f 6e 20 6f 66 20 74 68 69 73 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 2e 3c 2f 73 70 61 6e ion.of.this.assembly.code.</span
a5a40 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
a5a60 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
a5a80 73 65 20 64 6f 20 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 se.do.not.include.output.or.inpu
a5aa0 74 20 72 65 67 69 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 t.registers..The.special.clobber
a5ac0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
a5ae0 22 3e 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">
a5b00 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
a5b20 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
a5b40 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 3c 2f 73 70 .arbitrary.undeclared</span></sp
a5b60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
a5b80 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 6d 6f 72 79 20 6c .class="tok-comment">//.memory.l
a5ba0 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 6d 6f 72 79 20 70 ocations.-.not.only.the.memory.p
a5bc0 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 64 69 72 65 63 74 ointed.to.by.a.declared.indirect
a5be0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
a5c00 22 3e 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">
a5c20 2f 2f 20 6f 75 74 70 75 74 2e 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 77 65 20 6c 69 //.output..In.this.example.we.li
a5c40 73 74 20 24 72 63 78 20 61 6e 64 20 24 72 31 31 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 6b st.$rcx.and.$r11.because.it.is.k
a5c60 6e 6f 77 6e 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 nown.the</span></span>.<span.cla
a5c80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
a5ca0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6b 65 72 6e 65 6c 20 73 79 73 63 61 6c 6c 20 64 6f 65 73 20 6e omment">//.kernel.syscall.does.n
a5cc0 6f 74 20 70 72 65 73 65 72 76 65 20 74 68 65 73 65 20 72 65 67 69 73 74 65 72 73 2e 3c 2f 73 70 ot.preserve.these.registers.</sp
a5ce0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
a5d00 20 20 20 20 20 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 ......:.<span.class="tok-str">&q
a5d20 75 6f 74 3b 72 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 uot;rcx&quot;</span>,.<span.clas
a5d40 73 3d 22 74 6f 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 s="tok-str">&quot;r11&quot;</spa
a5d60 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
a5d80 20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c .);</span>.<span.class="line">}<
a5da0 2f 73 70 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 0a 20 20 20 /span></code></pre></figure>....
a5dc0 20 20 20 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 ...<p>.......For.x86.and.x86_64.
a5de0 74 61 72 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 targets,.the.syntax.is.AT&amp;T.
a5e00 73 79 6e 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 syntax,.rather.than.the.more....
a5e20 20 20 20 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 ...popular.Intel.syntax..This.is
a5e40 20 64 75 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 .due.to.technical.constraints;.a
a5e60 73 73 65 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 ssembly.parsing.is.......provide
a5e80 64 20 62 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 d.by.LLVM.and.its.support.for.In
a5ea0 74 65 6c 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 tel.syntax.is.buggy.and.not.well
a5ec0 20 74 65 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 .tested........</p>.......<p>...
a5ee0 20 20 20 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 ....Some.day.Zig.may.have.its.ow
a5f00 6e 20 61 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 n.assembler..This.would.allow.it
a5f20 20 74 6f 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 .to.integrate.more.seamlessly...
a5f40 20 20 20 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 ....into.the.language,.as.well.a
a5f60 73 20 62 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 s.be.compatible.with.the.popular
a5f80 20 4e 41 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 .NASM.syntax..This.documentation
a5fa0 0a 20 20 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 .......section.will.be.updated.b
a5fc0 65 66 6f 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 efore.1.0.0.is.released,.with.a.
a5fe0 63 6f 6e 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 conclusive.statement.about.the.s
a6000 74 61 74 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 tatus.......of.AT&amp;T.vs.Intel
a6020 2f 4e 41 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 /NASM.syntax........</p>.......<
a6040 68 33 20 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 h3.id="Output-Constraints"><a.hr
a6060 65 66 3d 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 ef="#toc-Output-Constraints">Out
a6080 70 75 74 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 put.Constraints</a>.<a.class="hd
a60a0 72 22 20 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 r".href="#Output-Constraints">..
a60c0 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 4f 75 74 70 75 </a></h3>........<p>.......Outpu
a60e0 74 20 63 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 t.constraints.are.still.consider
a6100 65 64 20 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 ed.to.be.unstable.in.Zig,.and...
a6120 20 20 20 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 ....so.......<a.href="http://rel
a6140 65 61 73 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 eases.llvm.org/10.0.0/docs/LangR
a6160 65 66 2e 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 ef.html#inline-asm-constraint-st
a6180 72 69 6e 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 ring">LLVM.documentation</a>....
a61a0 20 20 20 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 ...and.......<a.href="https://gc
a61c0 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 45 78 74 65 6e 64 65 c.gnu.org/onlinedocs/gcc/Extende
a61e0 64 2d 41 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 d-Asm.html">GCC.documentation</a
a6200 3e 0a 20 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 >.......must.be.used.to.understa
a6220 6e 64 20 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 nd.the.semantics........</p>....
a6240 20 20 20 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 ...<p>.......Note.that.some.brea
a6260 6b 69 6e 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 king.changes.to.output.constrain
a6280 74 73 20 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 ts.are.planned.with.......<a.hre
a62a0 66 3d 22 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 f="https://github.com/ziglang/zi
a62c0 67 2f 69 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 g/issues/215">issue.#215</a>....
a62e0 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 49 ....</p>...............<h3.id="I
a6300 6e 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 22 23 74 6f 63 2d nput-Constraints"><a.href="#toc-
a6320 49 6e 70 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 Input-Constraints">Input.Constra
a6340 69 6e 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 49 ints</a>.<a.class="hdr".href="#I
a6360 6e 70 75 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 nput-Constraints">..</a></h3>...
a6380 20 20 20 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 .....<p>.......Input.constraints
a63a0 20 61 72 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 .are.still.considered.to.be.unst
a63c0 61 62 6c 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 able.in.Zig,.and.......so.......
a63e0 3c 61 20 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 <a.href="http://releases.llvm.or
a6400 67 2f 31 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 g/10.0.0/docs/LangRef.html#inlin
a6420 65 2d 61 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 e-asm-constraint-string">LLVM.do
a6440 63 75 6d 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 cumentation</a>.......and.......
a6460 3c 61 20 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 <a.href="https://gcc.gnu.org/onl
a6480 69 6e 65 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 inedocs/gcc/Extended-Asm.html">G
a64a0 43 43 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 6d 75 73 74 20 CC.documentation</a>.......must.
a64c0 62 65 20 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 be.used.to.understand.the.semant
a64e0 69 63 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 ics........</p>.......<p>.......
a6500 4e 6f 74 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 Note.that.some.breaking.changes.
a6520 74 6f 20 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 to.input.constraints.are.planned
a6540 20 77 69 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 .with.......<a.href="https://git
a6560 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 32 31 35 22 3e hub.com/ziglang/zig/issues/215">
a6580 69 73 73 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 issue.#215</a>........</p>......
a65a0 20 0a 0a 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 .........<h3.id="Clobbers"><a.hr
a65c0 65 66 3d 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 ef="#toc-Clobbers">Clobbers</a>.
a65e0 3c 61 20 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 <a.class="hdr".href="#Clobbers">
a6600 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 43 6c 6f ..</a></h3>........<p>.......Clo
a6620 62 62 65 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 bbers.are.the.set.of.registers.w
a6640 68 6f 73 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 hose.values.will.not.be.preserve
a6660 64 20 62 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 d.by.the.execution.of.......the.
a6680 61 73 73 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 assembly.code..These.do.not.incl
a66a0 75 64 65 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 ude.output.or.input.registers..T
a66c0 68 65 20 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 he.special.clobber.......value.o
a66e0 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e f.<code><span.class="line"><span
a6700 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 65 6d 6f 72 79 26 71 75 .class="tok-str">&quot;memory&qu
a6720 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 74 ot;</span></span></code>.means.t
a6740 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 73 20 74 hat.the.assembly.causes.writes.t
a6760 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 6d 65 6d o.......arbitrary.undeclared.mem
a6780 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 6d ory.locations.-.not.only.the.mem
a67a0 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 20 20 20 ory.pointed.to.by.a.declared....
a67c0 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 3e 0a 20 ...indirect.output........</p>..
a67e0 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 6c 61 72 .....<p>.......Failure.to.declar
a6800 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 72 20 61 e.the.full.set.of.clobbers.for.a
a6820 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 65 78 70 .given.inline.assembly.......exp
a6840 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 22 23 55 ression.is.unchecked.<a.href="#U
a6860 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
a6880 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 0a 20 20 avior</a>........</p>...........
a68a0 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 3c 61 20 ....<h3.id="Global-Assembly"><a.
a68c0 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 6c 6f 62 href="#toc-Global-Assembly">Glob
a68e0 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 22 20 68 al.Assembly</a>.<a.class="hdr".h
a6900 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 3c 2f 68 ref="#Global-Assembly">..</a></h
a6920 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 73 73 65 3>........<p>.......When.an.asse
a6940 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 61 20 68 mbly.expression.occurs.in.a.<a.h
a6960 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 61 3e 20 ref="#Containers">container</a>.
a6980 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 70 74 69 level.<a.href="#comptime">compti
a69a0 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 73 74 72 me</a>.block,.this.is.......<str
a69c0 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 0a 20 20 ong>global.assembly</strong>....
a69e0 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 6b 69 ....</p>.......<p>.......This.ki
a6a00 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 72 75 6c nd.of.assembly.has.different.rul
a6a20 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 74 2c 20 es.than.inline.assembly..First,.
a6a40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
a6a60 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 2f 73 lass="tok-kw">volatile</span></s
a6a80 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 20 62 pan></code>.......is.not.valid.b
a6aa0 65 63 61 75 73 65 20 61 6c 6c 20 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 20 69 73 20 75 6e ecause.all.global.assembly.is.un
a6ac0 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 69 6e 63 6c 75 64 65 64 2e 0a 20 20 20 20 20 20 53 65 conditionally.included........Se
a6ae0 63 6f 6e 64 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 69 6e 70 75 74 73 2c 20 6f 75 74 70 75 cond,.there.are.no.inputs,.outpu
a6b00 74 73 2c 20 6f 72 20 63 6c 6f 62 62 65 72 73 2e 20 41 6c 6c 20 67 6c 6f 62 61 6c 20 61 73 73 65 ts,.or.clobbers..All.global.asse
a6b20 6d 62 6c 79 20 69 73 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 0a 20 20 20 20 20 20 76 65 72 62 61 mbly.is.concatenated.......verba
a6b40 74 69 6d 20 69 6e 74 6f 20 6f 6e 65 20 6c 6f 6e 67 20 73 74 72 69 6e 67 20 61 6e 64 20 61 73 73 tim.into.one.long.string.and.ass
a6b60 65 6d 62 6c 65 64 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 72 65 20 61 72 65 20 6e 6f 20 74 65 embled.together..There.are.no.te
a6b80 6d 70 6c 61 74 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 72 75 6c 65 73 20 72 65 67 61 72 64 mplate.substitution.rules.regard
a6ba0 69 6e 67 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 25 3c 2f 63 6f 64 65 3e 20 61 73 20 74 68 65 72 ing.......<code>%</code>.as.ther
a6bc0 65 20 61 72 65 20 69 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 e.are.in.inline.assembly.express
a6be0 69 6f 6e 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 65 3e 3c ions........</p>.......<figure><
a6c00 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
a6c20 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 67 6c 6f 62 61 6c 5f 61 73 73 65 6d 62 .class="file">test_global_assemb
a6c40 6c 79 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 ly.zig</cite></figcaption><pre><
a6c60 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
a6c80 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.=.
a6ca0 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
a6cc0 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">&
a6ce0 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 73 70 61 6e 3e 0a 3c quot;std&quot;</span>);</span>.<
a6d00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
a6d20 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
a6d40 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .testing.expect;</span>.<span.cl
a6d60 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
a6d80 6c 69 6e 65 22 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 line"><span.class="tok-kw">compt
a6da0 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ime</span>.{</span>.<span.class=
a6dc0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
a6de0 61 73 6d 3c 2f 73 70 61 6e 3e 20 28 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d asm</span>.(</span>.<span.class=
a6e00 22 6c 69 6e 65 22 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 "line">........<span.class="tok-
a6e20 73 74 72 22 3e 5c 5c 2e 67 6c 6f 62 61 6c 20 6d 79 5f 66 75 6e 63 3b 3c 2f 73 70 61 6e 3e 3c 2f str">\\.global.my_func;</span></
a6e40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
a6e60 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 74 79 70 65 20 6d .<span.class="tok-str">\\.type.m
a6e80 79 5f 66 75 6e 63 2c 20 40 66 75 6e 63 74 69 6f 6e 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e y_func,.@function;</span></span>
a6ea0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
a6ec0 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 3c 2f 73 70 n.class="tok-str">\\my_func:</sp
a6ee0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
a6f00 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 5c 5c 20 20 ......<span.class="tok-str">\\..
a6f20 6c 65 61 20 28 25 72 64 69 2c 25 72 73 69 2c 31 29 2c 25 65 61 78 3c 2f 73 70 61 6e 3e 3c 2f 73 lea.(%rdi,%rsi,1),%eax</span></s
a6f40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
a6f60 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 72 65 74 71 3c 2f <span.class="tok-str">\\..retq</
a6f80 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e span></span>.<span.class="line">
a6fa0 20 20 20 20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....);</span>.<span.class="line"
a6fc0 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >}</span>.<span.class="line"></s
a6fe0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
a7000 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 61 6e ass="tok-kw">extern</span>.<span
a7020 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.
a7040 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 3e 28 61 3a class="tok-fn">my_func</span>(a:
a7060 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
a7080 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
a70a0 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"
a70c0 3e 69 33 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >i32</span>;</span>.<span.class=
a70e0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
a7100 22 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 "><span.class="tok-kw">test</spa
a7120 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 67 n>.<span.class="tok-str">&quot;g
a7140 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 lobal.assembly&quot;</span>.{</s
a7160 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
a7180 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
a71a0 63 74 28 6d 79 5f 66 75 6e 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ct(my_func(<span.class="tok-numb
a71c0 65 72 22 3e 31 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 er">12</span>,.<span.class="tok-
a71e0 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 number">34</span>).==.<span.clas
a7200 73 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 3c 2f 73 70 61 6e s="tok-number">46</span>);</span
a7220 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
a7240 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
a7260 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</
a7280 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
a72a0 20 74 65 73 74 20 74 65 73 74 5f 67 6c 6f 62 61 6c 5f 61 73 73 65 6d 62 6c 79 2e 7a 69 67 20 2d .test.test_global_assembly.zig.-
a72c0 74 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 31 2f 31 20 74 65 target.x86_64-linux</kbd>.1/1.te
a72e0 73 74 2e 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 st.global.assembly....OK.All.1.t
a7300 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
a7320 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 3c 68 32 20 69 64 3d re>......................<h2.id=
a7340 22 41 74 6f 6d 69 63 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 6f 6d 69 63 73 22 "Atomics"><a.href="#toc-Atomics"
a7360 3e 41 74 6f 6d 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 >Atomics</a>.<a.class="hdr".href
a7380 3d 22 23 41 74 6f 6d 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 ="#Atomics">..</a></h2>........<
a73a0 70 3e 54 4f 44 4f 3a 20 40 66 65 6e 63 65 28 29 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f p>TODO:.@fence()</p>.......<p>TO
a73c0 44 4f 3a 20 40 61 74 6f 6d 69 63 20 72 6d 77 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 DO:.@atomic.rmw</p>.......<p>TOD
a73e0 4f 3a 20 62 75 69 6c 74 69 6e 20 61 74 6f 6d 69 63 20 6d 65 6d 6f 72 79 20 6f 72 64 65 72 69 6e O:.builtin.atomic.memory.orderin
a7400 67 20 65 6e 75 6d 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 g.enum</p>...............<h2.id=
a7420 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 22 23 74 6f 63 2d "Async-Functions"><a.href="#toc-
a7440 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 6f 6e 73 Async-Functions">Async.Functions
a7460 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 73 79 6e 63 </a>.<a.class="hdr".href="#Async
a7480 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 20 20 20 20 20 3c -Functions">..</a></h2>........<
a74a0 70 3e 41 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 62 65 69 6e 67 20 74 65 6d 70 p>Async.functions.are.being.temp
a74c0 6f 72 61 72 69 6c 79 20 72 65 67 72 65 73 73 65 64 20 61 6e 64 20 77 69 6c 6c 20 62 65 0a 20 20 orarily.regressed.and.will.be...
a74e0 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 2e 63 6f 6d 2f ....<a.href="https://github.com/
a7500 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 36 30 32 35 22 3e 72 65 73 74 6f 72 65 ziglang/zig/issues/6025">restore
a7520 64 20 62 65 66 6f 72 65 20 5a 69 67 0a 20 20 20 20 20 20 20 20 30 2e 31 31 2e 30 20 69 73 20 74 d.before.Zig.........0.11.0.is.t
a7540 61 67 67 65 64 3c 2f 61 3e 2e 20 49 20 61 70 6f 6c 6f 67 69 7a 65 20 66 6f 72 20 74 68 65 20 69 agged</a>..I.apologize.for.the.i
a7560 6e 73 74 61 62 69 6c 69 74 79 2e 20 50 6c 65 61 73 65 20 75 73 65 20 5a 69 67 20 30 2e 31 30 2e nstability..Please.use.Zig.0.10.
a7580 30 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 2d 66 73 74 61 67 65 31 3c 0.with.......the.<code>-fstage1<
a75a0 2f 63 6f 64 65 3e 20 66 6c 61 67 20 66 6f 72 20 6e 6f 77 20 69 66 20 79 6f 75 20 6e 65 65 64 20 /code>.flag.for.now.if.you.need.
a75c0 74 68 69 73 20 66 65 61 74 75 72 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 this.feature.</p>...............
a75e0 3c 68 32 20 69 64 3d 22 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 <h2.id="Builtin-Functions"><a.hr
a7600 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c ef="#toc-Builtin-Functions">Buil
a7620 74 69 6e 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 68 64 72 22 tin.Functions</a>.<a.class="hdr"
a7640 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 .href="#Builtin-Functions">..</a
a7660 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 75 69 6c 74 69 6e 20 ></h2>........<p>.......Builtin.
a7680 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 63 6f functions.are.provided.by.the.co
a76a0 6d 70 69 6c 65 72 20 61 6e 64 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 3c 63 6f mpiler.and.are.prefixed.with.<co
a76c0 64 65 3e 40 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 de>@</code>........The.<code><sp
a76e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
a7700 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 -kw">comptime</span></span></cod
a7720 65 3e 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 e>.keyword.on.a.parameter.means.
a7740 74 68 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 that.the.parameter.must.be.known
a7760 0a 20 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 .......at.compile.time........</
a7780 70 3e 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 p>.......<h3.id="addrSpaceCast">
a77a0 3c 61 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 <a.href="#toc-addrSpaceCast">@ad
a77c0 64 72 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 drSpaceCast</a>.<a.class="hdr".h
a77e0 72 65 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 ref="#addrSpaceCast">..</a></h3>
a7800 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="
a7820 6c 69 6e 65 22 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 line"><span.class="tok-builtin">
a7840 40 61 64 64 72 53 70 61 63 65 43 61 73 74 3c 2f 73 70 61 6e 3e 28 70 74 72 3a 20 3c 73 70 61 6e @addrSpaceCast</span>(ptr:.<span
a7860 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>).
a7880 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
a78a0 61 6e 3e 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 an></span></code></pre>.......<p
a78c0 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 72 6f 6d 20 >.......Converts.a.pointer.from.
a78e0 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 2e 20 54 68 one.address.space.to.another..Th
a7900 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 72 65 64 0a e.new.address.space.is.inferred.
a7920 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 20 44 65 70 ...based.on.the.result.type..Dep
a7940 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 20 61 6e 64 ending.on.the.current.target.and
a7960 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 09 09 6d 61 .address.spaces,.this.cast....ma
a7980 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 61 74 69 6f y.be.a.no-op,.a.complex.operatio
a79a0 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 73 20 6c 65 n,.or.illegal..If.the.cast.is.le
a79c0 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 6f 69 6e 74 gal,.then.the.resulting....point
a79e0 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 20 6c 6f 63 er.points.to.the.same.memory.loc
a7a00 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 2e 20 49 74 ation.as.the.pointer.operand..It
a7a20 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 61 20 70 6f .is.always.valid.to....cast.a.po
a7a40 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 73 73 20 73 inter.between.the.same.address.s
a7a60 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 20 20 20 3c paces........</p>..............<
a7a80 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 72 65 66 3d h3.id="addWithOverflow"><a.href=
a7aa0 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 69 74 68 4f "#toc-addWithOverflow">@addWithO
a7ac0 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 66 3d verflow</a>.<a.class="hdr".href=
a7ae0 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 33 3e 0a 0a "#addWithOverflow">..</a></h3>..
a7b00 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 6c 69 ......<pre><code><span.class="li
a7b20 6e 65 22 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 ne"><span.class="tok-builtin">@a
a7b40 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 ddWithOverflow</span>(a:.<span.c
a7b60 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 62 3a lass="tok-kw">anytype</span>,.b:
a7b80 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 73 .<span.class="tok-kw">anytype</s
a7ba0 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 73 74 72 75 63 pan>).<span.class="tok-kw">struc
a7bc0 74 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 62 75 69 6c t</span>.{.<span.class="tok-buil
a7be0 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 2c 20 3c 73 70 61 6e tin">@TypeOf</span>(a,.b),.<span
a7c00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 20 7d 3c 2f 73 .class="tok-type">u1</span>.}</s
a7c20 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 20 pan></code></pre>.......<p>.....
a7c40 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ..Performs.<code><span.class="li
a7c60 6e 65 22 3e 61 20 2b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 ne">a.+.b</span></code>.and.retu
a7c80 72 6e 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 rns.a.tuple.with.the.result.and.
a7ca0 61 20 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 a.possible.overflow.bit........<
a7cc0 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 61 6c 69 67 6e 43 61 /p>..............<h3.id="alignCa
a7ce0 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c st"><a.href="#toc-alignCast">@al
a7d00 69 67 6e 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 ignCast</a>.<a.class="hdr".href=
a7d20 22 23 61 6c 69 67 6e 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 "#alignCast">..</a></h3>........
a7d40 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
a7d60 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 43 61 pan.class="tok-builtin">@alignCa
a7d80 73 74 3c 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 st</span>(ptr:.<span.class="tok-
a7da0 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 3d kw">anytype</span>).<span.class=
a7dc0 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 73 70 61 6e 3e 3c 2f "tok-kw">anytype</span></span></
a7de0 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 3c 63 6f 64 code></pre>.......<p>.......<cod
a7e00 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 3c 2f 73 70 61 6e 3e 3c e><span.class="line">ptr</span><
a7e20 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d /code>.can.be.<code><span.class=
a7e40 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c "line">*T</span></code>,.<code><
a7e60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f span.class="line">?*T</span></co
a7e80 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 6c 69 6e 65 22 de>,.or.<code><span.class="line"
a7ea0 3e 5b 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 09 09 09 43 68 61 6e 67 65 73 20 74 >[]T</span></code>.....Changes.t
a7ec0 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 2e 20 54 68 65 20 61 he.alignment.of.a.pointer..The.a
a7ee0 6c 69 67 6e 6d 65 6e 74 20 74 6f 20 75 73 65 20 69 73 20 69 6e 66 65 72 72 65 64 20 62 61 73 65 lignment.to.use.is.inferred.base
a7f00 64 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e d.on.the.result.type........</p>
a7f20 0a 20 20 20 20 20 20 3c 70 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 2d .......<p>A.<a.href="#Incorrect-
a7f40 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e Pointer-Alignment">pointer.align
a7f60 6d 65 6e 74 20 73 61 66 65 74 79 20 63 68 65 63 6b 3c 2f 61 3e 20 69 73 20 61 64 64 65 64 0a 20 ment.safety.check</a>.is.added..
a7f80 20 20 20 20 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 74 6f 20 6d 61 .....to.the.generated.code.to.ma
a7fa0 6b 65 20 73 75 72 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 61 6c 69 67 6e 65 64 20 61 ke.sure.the.pointer.is.aligned.a
a7fc0 73 20 70 72 6f 6d 69 73 65 64 2e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 s.promised.</p>...............<h
a7fe0 33 20 69 64 3d 22 61 6c 69 67 6e 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 6c 69 3.id="alignOf"><a.href="#toc-ali
a8000 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 gnOf">@alignOf</a>.<a.class="hdr
a8020 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 ".href="#alignOf">..</a></h3>...
a8040 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 6c 69 6e .....<pre><code><span.class="lin
a8060 65 22 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 6c e"><span.class="tok-builtin">@al
a8080 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 74 6f 6b 2d 6b 77 ignOf</span>(<span.class="tok-kw
a80a0 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 73 ">comptime</span>.T:.<span.class
a80c0 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 3c 73 70 61 6e 20 63 ="tok-type">type</span>).<span.c
a80e0 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
a8100 61 6e 3e 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 an></span></code></pre>.......<p
a8120 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 74 68 >.......This.function.returns.th
a8140 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 68 61 74 20 74 68 69 73 20 74 79 70 65 e.number.of.bytes.that.this.type
a8160 20 73 68 6f 75 6c 64 20 62 65 20 61 6c 69 67 6e 65 64 20 74 6f 0a 20 20 20 20 20 20 66 6f 72 20 .should.be.aligned.to.......for.
a8180 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 the.current.target.to.match.the.
a81a0 43 20 41 42 49 2e 20 57 68 65 6e 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 20 C.ABI..When.the.child.type.of.a.
a81c0 70 6f 69 6e 74 65 72 20 68 61 73 0a 20 20 20 20 20 20 74 68 69 73 20 61 6c 69 67 6e 6d 65 6e 74 pointer.has.......this.alignment
a81e0 2c 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 ,.the.alignment.can.be.omitted.f
a8200 72 6f 6d 20 74 68 65 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 rom.the.type........</p>.......<
a8220 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
a8240 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
a8260 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 6e ssert.=.<span.class="tok-builtin
a8280 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
a82a0 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 64 k-str">&quot;std&quot;</span>).d
a82c0 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ebug.assert;</span>.<span.class=
a82e0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">comp
a8300 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 time</span>.{</span>.<span.class
a8320 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="line">....assert(*<span.class=
a8340 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 2a 3c 73 70 61 6e 20 "tok-type">u32</span>.==.*<span.
a8360 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 61 class="tok-kw">align</span>(<spa
a8380 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 3c 2f n.class="tok-builtin">@alignOf</
a83a0 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
a83c0 3c 2f 73 70 61 6e 3e 29 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"
a83e0 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >u32</span>);</span>.<span.class
a8400 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ="line">}</span></code></pre>...
a8420 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 73 20 61 20 74 61 ....<p>.......The.result.is.a.ta
a8440 72 67 65 74 2d 73 70 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 rget-specific.compile.time.const
a8460 61 6e 74 2e 20 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 0a 20 20 20 20 ant..It.is.guaranteed.to.be.....
a8480 20 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 3c 61 20 68 72 65 66 3d ..less.than.or.equal.to.<a.href=
a84a0 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 28 54 29 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 "#sizeOf">@sizeOf(T)</a>........
a84c0 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>.
a84e0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 <li><a.href="#Alignment">Alignme
a8500 6e 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 nt</a></li>.</ul>...............
a8520 20 3c 68 33 20 69 64 3d 22 61 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 73 22 3e 40 .<h3.id="as"><a.href="#toc-as">@
a8540 61 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 61 73 22 as</a>.<a.class="hdr".href="#as"
a8560 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><
a8580 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
a85a0 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
a85c0 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:.<
a85e0 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
a8600 3e 2c 20 65 78 70 72 65 73 73 69 6f 6e 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f >,.expression).T</span></code></
a8620 70 72 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 61 pre>.......<p>.......Performs.<a
a8640 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 .href="#Type-Coercion">Type.Coer
a8660 63 69 6f 6e 3c 2f 61 3e 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 77 cion</a>..This.cast.is.allowed.w
a8680 68 65 6e 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 20 75 6e 61 6d 62 69 67 75 6f 75 hen.the.conversion.is.unambiguou
a86a0 73 20 61 6e 64 20 73 61 66 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 69 73 20 74 68 65 20 70 72 65 s.and.safe,.......and.is.the.pre
a86c0 66 65 72 72 65 64 20 77 61 79 20 74 6f 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 74 79 ferred.way.to.convert.between.ty
a86e0 70 65 73 2c 20 77 68 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f pes,.whenever.possible........</
a8700 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 61 74 6f 6d 69 63 4c p>...............<h3.id="atomicL
a8720 6f 61 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 oad"><a.href="#toc-atomicLoad">@
a8740 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 atomicLoad</a>.<a.class="hdr".hr
a8760 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 ef="#atomicLoad">..</a></h3>....
a8780 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 6c 69 6e 65 ....<pre><code><span.class="line
a87a0 22 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 "><span.class="tok-builtin">@ato
a87c0 6d 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 micLoad</span>(<span.class="tok-
a87e0 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
a8800 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 3a 20 ss="tok-type">type</span>,.ptr:.
a8820 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 74 3c 2f 73 70 61 *<span.class="tok-kw">const</spa
a8840 6e 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 n>.T,.<span.class="tok-kw">compt
a8860 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f ime</span>.ordering:.builtin.Ato
a8880 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a micOrder).T</span></code></pre>.
a88a0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 6e ......<p>.......This.builtin.fun
a88c0 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 64 65 72 65 66 65 72 65 6e 63 65 73 20 61 20 ction.atomically.dereferences.a.
a88e0 70 6f 69 6e 74 65 72 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 2e 0a 20 pointer.and.returns.the.value...
a8900 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 3e .....</p>.......<p>.......<code>
a8920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">T</span></cod
a8940 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 63 6f 64 65 3e 3c 73 e>.must.be.a.pointer,.a.<code><s
a8960 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
a8980 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-type">bool</span></span></code
a89a0 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 72 20 >,.a.float,.......an.integer.or.
a89c0 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 53 65 65 an.enum........</p>.......<p>See
a89e0 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 6f .also:</p><ul>.<li><a.href="#ato
a8a00 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 0a micStore">@atomicStore</a></li>.
a8a20 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 63 <li><a.href="#atomicRmw">@atomic
a8a40 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 65 Rmw</a></li>.<li><a.href="#fence
a8a60 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="#
a8a80 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
a8aa0 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">
a8ac0 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>...
a8ae0 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 3e .............<h3.id="atomicRmw">
a8b00 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 63 <a.href="#toc-atomicRmw">@atomic
a8b20 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 74 Rmw</a>.<a.class="hdr".href="#at
a8b40 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 65 omicRmw">..</a></h3>........<pre
a8b60 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
a8b80 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 69 63 52 6d 77 3c 2f class="tok-builtin">@atomicRmw</
a8ba0 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
a8bc0 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
a8be0 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 3c 73 70 61 6e ype">type</span>,.ptr:.*T,.<span
a8c00 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>.
a8c20 6f 70 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 52 6d 77 4f 70 2c 20 6f 70 65 72 61 6e 64 op:.builtin.AtomicRmwOp,.operand
a8c40 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 63 6f 6d 70 74 69 :.T,.<span.class="tok-kw">compti
a8c60 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f 6d me</span>.ordering:.builtin.Atom
a8c80 69 63 4f 72 64 65 72 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 icOrder).T</span></code></pre>..
a8ca0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 .....<p>.......This.builtin.func
a8cc0 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 6d 6f 64 69 66 69 65 73 20 6d 65 6d 6f 72 79 20 tion.atomically.modifies.memory.
a8ce0 61 6e 64 20 74 68 65 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 and.then.returns.the.previous.va
a8d00 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 20 20 20 lue........</p>.......<p>.......
a8d20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e <code><span.class="line">T</span
a8d40 3e 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 63 ></code>.must.be.a.pointer,.a.<c
a8d60 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
a8d80 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 73 70 61 6e 3e ss="tok-type">bool</span></span>
a8da0 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 6e 20 69 6e 74 65 67 </code>,.a.float,.......an.integ
a8dc0 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 0a 20 20 20 20 20 20 er.or.an.enum........</p>.......
a8de0 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 65 64 20 6f 70 65 72 61 74 69 6f 6e 73 3a 0a <p>.......Supported.operations:.
a8e00 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 3c 6c ......</p>.......<ul>.........<l
a8e20 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 58 63 68 67 i><code><span.class="line">.Xchg
a8e40 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 73 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 </span></code>.-.stores.the.oper
a8e60 61 6e 64 20 75 6e 6d 6f 64 69 66 69 65 64 2e 20 53 75 70 70 6f 72 74 73 20 65 6e 75 6d 73 2c 20 and.unmodified..Supports.enums,.
a8e80 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 6c 6f 61 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 integers.and.floats.</li>.......
a8ea0 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 6c 69 6e 65 22 3e 2e ..<li><code><span.class="line">.
a8ec0 41 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 66 6f 72 20 69 6e 74 65 67 65 72 73 Add</span></code>.-.for.integers
a8ee0 2c 20 74 77 6f 73 20 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 ,.twos.complement.wraparound.add
a8f00 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 73 6f 20 73 75 70 70 6f 72 74 73 ition..............Also.supports
a8f20 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 2e 3c 2f .<a.href="#Floats">Floats</a>.</
a8f40 6c 69 3e 0a 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>.........<li><code><span.clas
a8f60 73 3d 22 6c 69 6e 65 22 3e 2e 53 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 66 6f s="line">.Sub</span></code>.-.fo
a8f80 72 20 69 6e 74 65 67 65 72 73 2c 20 74 77 6f 73 20 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 r.integers,.twos.complement.wrap
a8fa0 61 72 6f 75 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 around.subtraction..............
a8fc0 41 6c 73 6f 20 73 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 Also.supports.<a.href="#Floats">
a8fe0 46 6c 6f 61 74 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f Floats</a>.</li>.........<li><co
a9000 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 41 6e 64 3c 2f 73 70 61 6e de><span.class="line">.And</span
a9020 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 61 6e 64 3c 2f 6c 69 3e 0a 20 20 20 20 ></code>.-.bitwise.and</li>.....
a9040 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 6c 69 6e 65 22 ....<li><code><span.class="line"
a9060 3e 2e 4e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 6e >.Nand</span></code>.-.bitwise.n
a9080 61 6e 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e and</li>.........<li><code><span
a90a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 .class="line">.Or</span></code>.
a90c0 2d 20 62 69 74 77 69 73 65 20 6f 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 -.bitwise.or</li>.........<li><c
a90e0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 58 6f 72 3c 2f 73 70 61 ode><span.class="line">.Xor</spa
a9100 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 78 6f 72 3c 2f 6c 69 3e 0a 20 20 20 n></code>.-.bitwise.xor</li>....
a9120 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 6c 69 6e 65 .....<li><code><span.class="line
a9140 22 3e 2e 4d 61 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 73 74 6f 72 65 73 20 74 68 ">.Max</span></code>.-.stores.th
a9160 65 20 6f 70 65 72 61 6e 64 20 69 66 20 69 74 20 69 73 20 6c 61 72 67 65 72 2e 20 53 75 70 70 6f e.operand.if.it.is.larger..Suppo
a9180 72 74 73 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 6c 6f 61 74 73 2e 3c 2f 6c 69 3e 0a 20 20 rts.integers.and.floats.</li>...
a91a0 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 6c 69 6e ......<li><code><span.class="lin
a91c0 65 22 3e 2e 4d 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 73 74 6f 72 65 73 20 74 e">.Min</span></code>.-.stores.t
a91e0 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 69 74 20 69 73 20 73 6d 61 6c 6c 65 72 2e 20 53 75 70 he.operand.if.it.is.smaller..Sup
a9200 70 6f 72 74 73 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 6c 6f 61 74 73 2e 3c 2f 6c 69 3e 0a ports.integers.and.floats.</li>.
a9220 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 61 6c 73 6f 3a 3c 2f ......</ul>.......<p>See.also:</
a9240 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 63 53 74 6f 72 65 p><ul>.<li><a.href="#atomicStore
a9260 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 69 3e 3c 61 20 68 ">@atomicStore</a></li>.<li><a.h
a9280 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 6f 61 64 3c 2f 61 ref="#atomicLoad">@atomicLoad</a
a92a0 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 65 6e ></li>.<li><a.href="#fence">@fen
a92c0 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 63 68 ce</a></li>.<li><a.href="#cmpxch
a92e0 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 6c 69 gWeak">@cmpxchgWeak</a></li>.<li
a9300 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 78 63 ><a.href="#cmpxchgStrong">@cmpxc
a9320 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 20 0a hgStrong</a></li>.</ul>.........
a9340 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 22 3e 3c 61 20 68 .......<h3.id="atomicStore"><a.h
a9360 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 6f 6d 69 63 53 74 ref="#toc-atomicStore">@atomicSt
a9380 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 66 3d 22 23 61 74 ore</a>.<a.class="hdr".href="#at
a93a0 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 20 20 20 20 3c 70 omicStore">..</a></h3>........<p
a93c0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
a93e0 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 69 63 53 74 6f n.class="tok-builtin">@atomicSto
a9400 72 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 re</span>(<span.class="tok-kw">c
a9420 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 73 3d 22 74 omptime</span>.T:.<span.class="t
a9440 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 54 2c 20 76 ok-type">type</span>,.ptr:.*T,.v
a9460 61 6c 75 65 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 63 6f alue:.T,.<span.class="tok-kw">co
a9480 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 62 75 69 6c 74 69 6e 2e mptime</span>.ordering:.builtin.
a94a0 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 6b 2d 74 79 AtomicOrder).<span.class="tok-ty
a94c0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 pe">void</span></span></code></p
a94e0 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 6c 74 69 6e re>.......<p>.......This.builtin
a9500 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 73 74 6f 72 65 73 20 61 20 76 61 .function.atomically.stores.a.va
a9520 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 20 20 20 lue........</p>.......<p>.......
a9540 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e <code><span.class="line">T</span
a9560 3e 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 63 ></code>.must.be.a.pointer,.a.<c
a9580 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
a95a0 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 73 70 61 6e 3e ss="tok-type">bool</span></span>
a95c0 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 6e 20 69 6e 74 65 67 </code>,.a.float,.......an.integ
a95e0 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 0a 20 20 20 20 20 20 er.or.an.enum........</p>.......
a9600 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
a9620 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 3c 2f ="#atomicLoad">@atomicLoad</a></
a9640 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 61 74 li>.<li><a.href="#atomicRmw">@at
a9660 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 23 66 omicRmw</a></li>.<li><a.href="#f
a9680 65 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 ence">@fence</a></li>.<li><a.hre
a96a0 66 3d 22 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 f="#cmpxchgWeak">@cmpxchgWeak</a
a96c0 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 63 68 67 53 74 72 6f ></li>.<li><a.href="#cmpxchgStro
a96e0 6e 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 3c 2f 75 6c ng">@cmpxchgStrong</a></li>.</ul
a9700 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 62 69 74 43 61 73 74 >................<h3.id="bitCast
a9720 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 61 73 "><a.href="#toc-bitCast">@bitCas
a9740 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 69 74 43 t</a>.<a.class="hdr".href="#bitC
a9760 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
a9780 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
a97a0 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 70 61 6e 3e 28 s="tok-builtin">@bitCast</span>(
a97c0 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
a97e0 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 6b 77 22 ype</span>).<span.class="tok-kw"
a9800 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 >anytype</span></span></code></p
a9820 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 61 20 76 re>.......<p>.......Converts.a.v
a9840 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 72 20 74 79 70 65 alue.of.one.type.to.another.type
a9860 2e 20 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 ..The.return.type.is.the....infe
a9880 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 20 rred.result.type........</p>....
a98a0 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 6f 64 65 3e ...<p>.......Asserts.that.<code>
a98c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
a98e0 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 70 61 tok-builtin">@sizeOf</span>(<spa
a9900 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
a9920 70 61 6e 3e 28 76 61 6c 75 65 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pan>(value)).==.<span.class="tok
a9940 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 44 65 73 74 54 79 70 -builtin">@sizeOf</span>(DestTyp
a9960 65 29 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 e)</span></code>........</p>....
a9980 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 6f 64 65 3e ...<p>.......Asserts.that.<code>
a99a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
a99c0 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 44 65 tok-builtin">@typeInfo</span>(De
a99e0 73 74 54 79 70 65 29 20 21 3d 20 2e 50 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 stType).!=..Pointer</span></code
a9a00 3e 2e 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e >..Use.<code><span.class="line">
a9a20 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 72 43 61 <span.class="tok-builtin">@ptrCa
a9a40 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 st</span></span></code>.or.<code
a9a60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
a9a80 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 2f 73 70 61 6e 3e "tok-builtin">@ptrFromInt</span>
a9aa0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 79 6f 75 20 6e 65 65 64 20 74 68 69 73 2e </span></code>.if.you.need.this.
a9ac0 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 43 61 6e 20 .......</p>.......<p>.......Can.
a9ae0 62 65 20 75 73 65 64 20 66 6f 72 20 74 68 65 73 65 20 74 68 69 6e 67 73 20 66 6f 72 20 65 78 61 be.used.for.these.things.for.exa
a9b00 6d 70 6c 65 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 mple:.......</p>.......<ul>.....
a9b20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6e 76 65 72 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ......<li>Convert.<code><span.cl
a9b40 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ass="line"><span.class="tok-type
a9b60 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 ">f32</span></span></code>.to.<c
a9b80 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
a9ba0 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 73 70 61 6e 3e 3c ss="tok-type">u32</span></span><
a9bc0 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 3e 43 /code>.bits</li>...........<li>C
a9be0 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 6c 69 6e 65 22 3e onvert.<code><span.class="line">
a9c00 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
a9c20 3e 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 63 ></span></code>.to.<code><span.c
a9c40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 lass="line"><span.class="tok-typ
a9c60 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 65 73 e">u32</span></span></code>.pres
a9c80 65 72 76 69 6e 67 20 74 77 6f 73 20 63 6f 6d 70 6c 65 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 erving.twos.complement</li>.....
a9ca0 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 6f 72 6b 73 20 61 74 ..</ul>.......<p>.......Works.at
a9cc0 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 69 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .compile-time.if.<code><span.cla
a9ce0 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 ss="line">value</span></code>.is
a9d00 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 20 49 74 27 73 20 61 20 63 .known.at.compile.time..It's.a.c
a9d20 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 74 6f 20 62 69 74 63 61 73 74 20 61 20 76 61 6c 75 65 20 ompile.error.to.bitcast.a.value.
a9d40 6f 66 20 75 6e 64 65 66 69 6e 65 64 20 6c 61 79 6f 75 74 3b 20 74 68 69 73 20 6d 65 61 6e 73 20 of.undefined.layout;.this.means.
a9d60 74 68 61 74 2c 20 62 65 73 69 64 65 73 20 74 68 65 20 72 65 73 74 72 69 63 74 69 6f 6e 20 66 72 that,.besides.the.restriction.fr
a9d80 6f 6d 20 74 79 70 65 73 20 77 68 69 63 68 20 70 6f 73 73 65 73 73 20 64 65 64 69 63 61 74 65 64 om.types.which.possess.dedicated
a9da0 20 63 61 73 74 69 6e 67 20 62 75 69 6c 74 69 6e 73 20 28 65 6e 75 6d 73 2c 20 70 6f 69 6e 74 65 .casting.builtins.(enums,.pointe
a9dc0 72 73 2c 20 65 72 72 6f 72 20 73 65 74 73 29 2c 20 62 61 72 65 20 73 74 72 75 63 74 73 2c 20 65 rs,.error.sets),.bare.structs,.e
a9de0 72 72 6f 72 20 75 6e 69 6f 6e 73 2c 20 73 6c 69 63 65 73 2c 20 6f 70 74 69 6f 6e 61 6c 73 2c 20 rror.unions,.slices,.optionals,.
a9e00 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 74 79 70 65 20 77 69 74 68 6f 75 74 20 61 20 77 65 6c and.any.other.type.without.a.wel
a9e20 6c 2d 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 2c 20 61 6c 73 6f 20 63 61 l-defined.memory.layout,.also.ca
a9e40 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 2e 0a nnot.be.used.in.this.operation..
a9e60 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=
a9e80 22 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 4f "bitOffsetOf"><a.href="#toc-bitO
a9ea0 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 ffsetOf">@bitOffsetOf</a>.<a.cla
a9ec0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e c2 a7 3c ss="hdr".href="#bitOffsetOf">..<
a9ee0 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
a9f00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
a9f20 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 61 uiltin">@bitOffsetOf</span>(<spa
a9f40 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>
a9f60 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<
a9f80 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 6d /span>,.<span.class="tok-kw">com
a9fa0 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 6e ptime</span>.field_name:.[]<span
a9fc0 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
a9fe0 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 3c an.class="tok-type">u8</span>).<
aa000 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 69 span.class="tok-type">comptime_i
aa020 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 nt</span></span></code></pre>...
aa040 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 62 69 74 20 6f 66 ....<p>.......Returns.the.bit.of
aa060 66 73 65 74 20 6f 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 fset.of.a.field.relative.to.its.
aa080 63 6f 6e 74 61 69 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 containing.struct........</p>...
aa0a0 20 20 20 20 3c 70 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 ....<p>.......For.non.<a.href="#
aa0c0 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 73 3c 2f 61 packed-struct">packed.structs</a
aa0e0 3e 2c 20 74 68 69 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 >,.this.will.always.be.divisible
aa100 20 62 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 .by.<code><span.class="line"><sp
aa120 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 6e 3e 3c 2f an.class="tok-number">8</span></
aa140 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
aa160 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.
aa180 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
aa1a0 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
aa1c0 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
aa1e0 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
aa200 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>
aa220 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
aa240 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
aa260 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="
aa280 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>........<
aa2a0 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
aa2c0 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 69 74 53 69 7a 65 4f an.class="tok-builtin">@bitSizeO
aa2e0 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 6b 77 22 3e 63 6f f</span>(<span.class="tok-kw">co
aa300 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 73 3d 22 74 6f mptime</span>.T:.<span.class="to
aa320 6b 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 k-type">type</span>).<span.class
aa340 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 3c ="tok-type">comptime_int</span><
aa360 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>...
aa380 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 74 68 65 20 6e 75 ....This.function.returns.the.nu
aa3a0 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 74 6f 72 65 20 3c mber.of.bits.it.takes.to.store.<
aa3c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e code><span.class="line">T</span>
aa3e0 3c 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 79 20 69 66 20 74 68 65 20 74 79 70 65 0a 20 20 </code>.in.memory.if.the.type...
aa400 20 20 20 20 77 65 72 65 20 61 20 66 69 65 6c 64 20 69 6e 20 61 20 70 61 63 6b 65 64 20 73 74 72 ....were.a.field.in.a.packed.str
aa420 75 63 74 2f 75 6e 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 uct/union........The.result.is.a
aa440 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f .target-specific.compile.time.co
aa460 6e 73 74 61 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 nstant........</p>.......<p>....
aa480 20 20 20 54 68 69 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 ...This.function.measures.the.si
aa4a0 7a 65 20 61 74 20 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 ze.at.runtime..For.types.that.ar
aa4c0 65 20 64 69 73 61 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 e.disallowed.at.runtime,.such.as
aa4e0 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 6c 69 6e 65 22 3e .......<code><span.class="line">
aa500 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_
aa520 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f int</span></span></code>.and.<co
aa540 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
aa560 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 73 70 61 6e 3e 3c s="tok-type">type</span></span><
aa580 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 65 3e 3c 73 70 61 /code>,.the.result.is.<code><spa
aa5a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
aa5c0 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a number">0</span></span></code>..
aa5e0 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
aa600 3e 3c 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 ><ul>.<li><a.href="#sizeOf">@siz
aa620 65 4f 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 eOf</a></li>.<li><a.href="#typeI
aa640 6e 66 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 nfo">@typeInfo</a></li>.</ul>...
aa660 20 20 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 .............<h3.id="breakpoint"
aa680 3e 3c 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 ><a.href="#toc-breakpoint">@brea
aa6a0 6b 70 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 kpoint</a>.<a.class="hdr".href="
aa6c0 23 62 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 #breakpoint">..</a></h3>........
aa6e0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
aa700 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 65 61 6b 70 6f pan.class="tok-builtin">@breakpo
aa720 69 6e 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 int</span>().<span.class="tok-ty
aa740 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 pe">void</span></span></code></p
aa760 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 6f re>.......<p>.......This.functio
aa780 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 63 20 64 65 n.inserts.a.platform-specific.de
aa7a0 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 61 75 73 65 bug.trap.instruction.which.cause
aa7c0 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 68 65 72 65 s.......debuggers.to.break.there
aa7e0 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 61 6e 20 63 ........Unlike.for.<code><span.c
aa800 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
aa820 6c 74 69 6e 22 3e 40 74 72 61 70 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ltin">@trap</span>()</span></cod
aa840 65 3e 2c 20 65 78 65 63 75 74 69 6f 6e 20 6d 61 79 20 63 6f 6e 74 69 6e 75 65 20 61 66 74 65 72 e>,.execution.may.continue.after
aa860 20 74 68 69 73 20 70 6f 69 6e 74 20 69 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 20 72 65 .this.point.if.the.program.is.re
aa880 73 75 6d 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 sumed........</p>.......<p>.....
aa8a0 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 6c 69 64 20 77 69 ..This.function.is.only.valid.wi
aa8c0 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 20 3c 2f 70 3e 0a thin.function.scope........</p>.
aa8e0 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><
aa900 61 20 68 72 65 66 3d 22 23 74 72 61 70 22 3e 40 74 72 61 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f a.href="#trap">@trap</a></li>.</
aa920 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 6d 75 6c 41 64 ul>................<h3.id="mulAd
aa940 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 75 6c 41 64 64 22 3e 40 6d 75 6c 41 64 64 d"><a.href="#toc-mulAdd">@mulAdd
aa960 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 75 6c 41 64 </a>.<a.class="hdr".href="#mulAd
aa980 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
aa9a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
aa9c0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 75 6c 41 64 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@mulAdd</span>(<sp
aa9e0 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
aaa00 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
aaa20 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 2c 20 63 3a 20 54 29 20 54 3c 2f 73 70 </span>,.a:.T,.b:.T,.c:.T).T</sp
aaa40 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 20 20 an></code></pre>.......<p>......
aaa60 20 46 75 73 65 64 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 .Fused.multiply-add,.similar.to.
aaa80 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 61 20 2a 20 62 29 <code><span.class="line">(a.*.b)
aaaa0 20 2b 20 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 78 63 65 70 74 0a 20 20 20 20 20 .+.c</span></code>,.except......
aaac0 20 6f 6e 6c 79 20 72 6f 75 6e 64 73 20 6f 6e 63 65 2c 20 61 6e 64 20 69 73 20 74 68 75 73 20 6d .only.rounds.once,.and.is.thus.m
aaae0 6f 72 65 20 61 63 63 75 72 61 74 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ore.accurate........</p>.......<
aab00 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 61 p>.......Supports.<a.href="#Floa
aab20 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 63 ts">Floats</a>.and.<a.href="#Vec
aab40 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 20 tors">Vectors</a>.of.floats.....
aab60 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 62 79 ...</p>...............<h3.id="by
aab80 74 65 53 77 61 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 79 74 65 53 77 61 70 22 3e teSwap"><a.href="#toc-byteSwap">
aaba0 40 62 79 74 65 53 77 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 @byteSwap</a>.<a.class="hdr".hre
aabc0 66 3d 22 23 62 79 74 65 53 77 61 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 f="#byteSwap">..</a></h3>.......
aabe0 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 6c 69 6e 65 22 3e 3c .<pre><code><span.class="line"><
aac00 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 65 53 77 span.class="tok-builtin">@byteSw
aac20 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 73 3d 22 ap</span>(operand:.<span.class="
aac40 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 73 70 61 6e 3e tok-kw">anytype</span>).T</span>
aac60 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 70 </code></pre>.......<p><code><sp
aac80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
aaca0 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 61 6e 64 -builtin">@TypeOf</span>(operand
aacc0 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 )</span></code>.must.be.an.integ
aace0 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
aad00 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 62 6c e.with.bit.count.evenly.divisibl
aad20 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 3c 73 70 61 6e e.by.8.</p>.......<p><code><span
aad40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="line">operand</span></co
aad60 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 73 de>.may.be.an.<a.href="#Integers
aad80 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 6f ">integer</a>.or.<a.href="#Vecto
aada0 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 20 rs">vector</a>.</p>.......<p>...
aadc0 20 20 20 20 53 77 61 70 73 20 74 68 65 20 62 79 74 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 ....Swaps.the.byte.order.of.the.
aade0 69 6e 74 65 67 65 72 2e 20 54 68 69 73 20 63 6f 6e 76 65 72 74 73 20 61 20 62 69 67 20 65 6e 64 integer..This.converts.a.big.end
aae00 69 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 69 ian.integer.to.a.little.endian.i
aae20 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 63 6f 6e 76 65 72 74 73 20 61 20 6c 69 74 nteger,.......and.converts.a.lit
aae40 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 62 69 67 20 65 6e 64 69 tle.endian.integer.to.a.big.endi
aae60 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e an.integer........</p>.......<p>
aae80 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 66 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 .......Note.that.for.the.purpose
aaea0 73 20 6f 66 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 77 69 74 68 20 72 65 73 70 65 63 74 20 s.of.memory.layout.with.respect.
aaec0 74 6f 20 65 6e 64 69 61 6e 6e 65 73 73 2c 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 to.endianness,.the.integer.type.
aaee0 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 6e should.be.......related.to.the.n
aaf00 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 70 6f 72 74 65 64 20 62 79 20 3c 61 20 68 72 umber.of.bytes.reported.by.<a.hr
aaf20 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 62 79 74 65 73 2e 20 ef="#sizeOf">@sizeOf</a>.bytes..
aaf40 54 68 69 73 20 69 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 This.is.demonstrated.with.......
aaf60 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
aaf80 6c 61 73 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 73 70 61 6e lass="tok-type">u24</span></span
aafa0 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ></code>..<code><span.class="lin
aafc0 65 22 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 e"><span.class="tok-builtin">@si
aafe0 7a 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 2d 74 79 70 zeOf</span>(<span.class="tok-typ
ab000 65 22 3e 75 32 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 e">u24</span>).==.<span.class="t
ab020 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-number">4</span></span></code
ab040 3e 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 >,.which.means.that.a.......<cod
ab060 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
ab080 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-type">u24</span></span></c
ab0a0 6f 64 65 3e 20 73 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 ode>.stored.in.memory.takes.4.by
ab0c0 74 65 73 2c 20 61 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 tes,.and.those.4.bytes.are.what.
ab0e0 61 72 65 20 73 77 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 are.swapped.on.......a.little.vs
ab100 20 62 69 67 20 65 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 .big.endian.system..On.the.other
ab120 20 68 61 6e 64 2c 20 69 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .hand,.if.<code><span.class="lin
ab140 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 73 70 65 63 69 66 69 65 64 20 e">T</span></code>.is.specified.
ab160 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 6c to.......be.<code><span.class="l
ab180 69 6e 65 22 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 32 34 3c ine"><span.class="tok-type">u24<
ab1a0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 6f 6e 6c 79 20 /span></span></code>,.then.only.
ab1c0 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 20 20 3c 2f 70 3e 3.bytes.are.reversed........</p>
ab1e0 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 52 65 76 65 72 73 ...............<h3.id="bitRevers
ab200 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 65 22 3e 40 62 69 e"><a.href="#toc-bitReverse">@bi
ab220 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 22 20 68 72 65 66 tReverse</a>.<a.class="hdr".href
ab240 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 0a 0a 20 20 20 20 ="#bitReverse">..</a></h3>......
ab260 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 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
ab280 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 69 74 52 65 <span.class="tok-builtin">@bitRe
ab2a0 76 65 72 73 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 verse</span>(integer:.<span.clas
ab2c0 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 73 70 s="tok-kw">anytype</span>).T</sp
ab2e0 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 3c 63 6f 64 65 3e an></code></pre>.......<p><code>
ab300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
ab320 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 3c 73 70 61 tok-builtin">@TypeOf</span>(<spa
ab340 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>)
ab360 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 63 63 65 70 74 73 20 61 6e 79 20 69 6e 74 65 67 </span></code>.accepts.any.integ
ab380 65 72 20 74 79 70 65 20 6f 72 20 69 6e 74 65 67 65 72 20 76 65 63 74 6f 72 20 74 79 70 65 2e 3c er.type.or.integer.vector.type.<
ab3a0 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 76 65 72 73 65 73 20 74 68 65 /p>.......<p>.......Reverses.the
ab3c0 20 62 69 74 70 61 74 74 65 72 6e 20 6f 66 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2c .bitpattern.of.an.integer.value,
ab3e0 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 73 69 67 6e 20 62 69 74 20 69 66 20 61 70 70 6c 69 .including.the.sign.bit.if.appli
ab400 63 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 20 20 20 20 cable........</p>.......<p>.....
ab420 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 30 62 31 30 31 31 30 31 31 30 20 28 3c 63 6f 64 65 3e ..For.example.0b10110110.(<code>
ab440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
ab460 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 73 tok-type">u8</span>.=.<span.clas
ab480 73 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 73 70 61 6e 3e s="tok-number">182</span></span>
ab4a0 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 6c 69 6e 65 </code>,.<code><span.class="line
ab4c0 22 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 3c 2f 73 70 61 "><span.class="tok-type">i8</spa
ab4e0 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 37 n>.=.-<span.class="tok-number">7
ab500 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 20 20 62 65 4</span></span></code>).......be
ab520 63 6f 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 comes.0b01101101.(<code><span.cl
ab540 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ass="line"><span.class="tok-type
ab560 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 6b 2d 6e ">u8</span>.=.<span.class="tok-n
ab580 75 6d 62 65 72 22 3e 31 30 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c umber">109</span></span></code>,
ab5a0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
ab5c0 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 73 70 class="tok-type">i8</span>.=.<sp
ab5e0 61 6e 20 63 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 an.class="tok-number">109</span>
ab600 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 </span></code>)........</p>.....
ab620 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6f 66 66 73 65 74 4f 66 22 3e 3c 61 20 68 ..........<h3.id="offsetOf"><a.h
ab640 72 65 66 3d 22 23 74 6f 63 2d 6f 66 66 73 65 74 4f 66 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 ref="#toc-offsetOf">@offsetOf</a
ab660 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 >.<a.class="hdr".href="#offsetOf
ab680 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>
ab6a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
ab6c0 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 28 3c 73 tok-builtin">@offsetOf</span>(<s
ab6e0 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
ab700 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
ab720 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
ab740 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
ab760 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>.<
ab780 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>)
ab7a0 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 65 .<span.class="tok-type">comptime
ab7c0 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a _int</span></span></code></pre>.
ab7e0 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 62 79 74 65 ......<p>.......Returns.the.byte
ab800 20 6f 66 66 73 65 74 20 6f 66 20 61 20 66 69 65 6c 64 20 72 65 6c 61 74 69 76 65 20 74 6f 20 69 .offset.of.a.field.relative.to.i
ab820 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ts.containing.struct........</p>
ab840 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>
ab860 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 65 <a.href="#bitOffsetOf">@bitOffse
ab880 74 4f 66 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 tOf</a></li>.</ul>..............
ab8a0 20 20 3c 68 33 20 69 64 3d 22 63 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 61 ..<h3.id="call"><a.href="#toc-ca
ab8c0 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ll">@call</a>.<a.class="hdr".hre
ab8e0 66 3d 22 23 63 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 70 72 f="#call">..</a></h3>........<pr
ab900 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
ab920 20 63 6c 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 .class="tok-builtin">@call</span
ab940 3e 28 6d 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 >(modifier:.std.builtin.CallModi
ab960 66 69 65 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 fier,.function:.<span.class="tok
ab980 2d 6b 77 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 -kw">anytype</span>,.args:.<span
ab9a0 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>).
ab9c0 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
ab9e0 61 6e 3e 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 an></span></code></pre>.......<p
aba00 3e 0a 20 20 20 20 20 20 43 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 20 74 68 65 >.......Calls.a.function,.in.the
aba20 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 69 6e 76 6f 6b 69 6e 67 20 61 6e 20 65 78 70 72 65 .same.way.that.invoking.an.expre
aba40 73 73 69 6f 6e 20 77 69 74 68 20 70 61 72 65 6e 74 68 65 73 65 73 20 64 6f 65 73 3a 0a 20 20 20 ssion.with.parentheses.does:....
aba60 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
aba80 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
abaa0 69 6c 65 22 3e 74 65 73 74 5f 63 61 6c 6c 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 ile">test_call_builtin.zig</cite
abac0 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
abae0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
abb00 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
abb20 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>(
abb40 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&
abb60 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 3c 2f 73 quot;</span>).testing.expect;</s
abb80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
abba0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
abbc0 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=
abbe0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f "tok-str">&quot;noinline.functio
abc00 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.call&quot;</span>.{</span>.<sp
abc20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
abc40 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
abc60 20 63 6c 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 .class="tok-builtin">@call</span
abc80 3e 28 2e 61 75 74 6f 2c 20 61 64 64 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >(.auto,.add,..{<span.class="tok
abca0 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="
abcc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 7d 29 20 3d 3d 20 3c 73 70 61 6e 20 tok-number">9</span>}).==.<span.
abce0 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 29 3b 3c 2f class="tok-number">12</span>);</
abd00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
abd20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
abd40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
abd60 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-
abd80 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 22 74 fn">add</span>(a:.<span.class="t
abda0 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 63 6c ok-type">i32</span>,.b:.<span.cl
abdc0 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 61 6e ass="tok-type">i32</span>).<span
abde0 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 3c 2f .class="tok-type">i32</span>.{</
abe00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
abe20 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>.
abe40 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 a.+.b;</span>.<span.class="line"
abe60 3e 7d 3c 2f 73 70 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 >}</span></code></pre></figure><
abe80 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-
abea0 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
abec0 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 61 6c 6c 5f 62 75 69 6c p>$.<kbd>zig.test.test_call_buil
abee0 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6e 6f 69 6e 6c 69 6e 65 20 tin.zig</kbd>.1/1.test.noinline.
abf00 66 75 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 function.call....OK.All.1.tests.
abf20 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>..
abf40 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
abf60 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-builtin
abf80 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6c 6c ">@call</span></span></code>.all
abfa0 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 72 6d 61 6c ows.more.flexibility.than.normal
abfc0 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 54 68 65 0a .function.call.syntax.does..The.
abfe0 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 6c 69 6e 65 22 3e 43 ......<code><span.class="line">C
ac000 61 6c 6c 4d 6f 64 69 66 69 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 6e 75 6d 20 69 allModifier</span></code>.enum.i
ac020 73 20 72 65 70 72 6f 64 75 63 65 64 20 68 65 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 s.reproduced.here:.......</p>...
ac040 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
ac060 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 62 75 69 6c 74 ig-cap"><cite.class="file">built
ac080 69 6e 2e 43 61 6c 6c 4d 6f 64 69 66 69 65 72 20 73 74 72 75 63 74 2e 7a 69 67 3c 2f 63 69 74 65 in.CallModifier.struct.zig</cite
ac0a0 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
ac0c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
ac0e0 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"
ac100 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 61 6c 6c 4d 6f 64 69 66 69 65 72 20 3d 20 3c 73 70 >const</span>.CallModifier.=.<sp
ac120 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 3c an.class="tok-kw">enum</span>.{<
ac140 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
ac160 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 45 71 75 69 pan.class="tok-comment">///.Equi
ac180 76 61 6c 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 valent.to.function.call.syntax.<
ac1a0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
ac1c0 3e 20 20 20 20 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....auto,</span>.<span.class="l
ac1e0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
ac200 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">//
ac220 2f 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 73 79 6e 63 20 6b 65 79 77 6f 72 64 20 75 73 /.Equivalent.to.async.keyword.us
ac240 65 64 20 77 69 74 68 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 ed.with.function.call.syntax.</s
ac260 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
ac280 20 20 20 61 73 79 6e 63 5f 6b 77 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ...async_kw,</span>.<span.class=
ac2a0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
ac2c0 22 3e 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">
ac2e0 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 74 ///.Prevents.tail.call.optimizat
ac300 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 65 ion..This.guarantees.that.the.re
ac320 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 turn</span></span>.<span.class="
ac340 6c 69 6e 65 22 3e 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 line">....<span.class="tok-comme
ac360 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 74 20 74 6f 20 74 68 nt">///.address.will.point.to.th
ac380 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 20 74 68 65 20 63 61 e.callsite,.as.opposed.to.the.ca
ac3a0 6c 6c 73 69 74 65 27 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 llsite's</span></span>.<span.cla
ac3c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 ss="line">....<span.class="tok-c
ac3e0 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 61 6c 6c 73 69 74 65 2e 20 49 66 20 74 68 65 20 63 61 6c omment">///.callsite..If.the.cal
ac400 6c 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 20 74 61 l.is.otherwise.required.to.be.ta
ac420 69 6c 2d 63 61 6c 6c 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c il-called</span></span>.<span.cl
ac440 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
ac460 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6f 72 20 69 6e 6c 69 6e 65 64 2c 20 61 20 63 6f 6d 70 69 comment">///.or.inlined,.a.compi
ac480 6c 65 20 65 72 72 6f 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 le.error.is.emitted.instead.</sp
ac4a0 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
ac4c0 20 20 6e 65 76 65 72 5f 74 61 69 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..never_tail,</span>.<span.class
ac4e0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
ac500 65 22 3e 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 e">....<span.class="tok-comment"
ac520 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 6c 20 77 69 >///.Guarantees.that.the.call.wi
ac540 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 61 6c 6c 20 69 ll.not.be.inlined..If.the.call.i
ac560 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e s</span></span>.<span.class="lin
ac580 65 22 3e 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 e">....<span.class="tok-comment"
ac5a0 3e 2f 2f 2f 20 6f 74 68 65 72 77 69 73 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 20 69 6e >///.otherwise.required.to.be.in
ac5c0 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 6d 69 74 74 65 lined,.a.compile.error.is.emitte
ac5e0 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 d.instead.</span></span>.<span.c
ac600 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 2c 3c 2f 73 lass="line">....never_inline,</s
ac620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
ac640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
ac660 73 73 3d 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 ss="tok-comment">///.Asserts.tha
ac680 74 20 74 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 t.the.function.call.will.not.sus
ac6a0 70 65 6e 64 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pend..This.allows.a</span></span
ac6c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
ac6e0 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 79 6e 63 lass="tok-comment">///.non-async
ac700 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 6e 63 74 .function.to.call.an.async.funct
ac720 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ion.</span></span>.<span.class="
ac740 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 5f 61 73 79 6e 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e line">....no_async,</span>.<span
ac760 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
ac780 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
ac7a0 6d 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 mment">///.Guarantees.that.the.c
ac7c0 61 6c 6c 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 77 69 74 68 20 74 61 69 6c 20 all.will.be.generated.with.tail.
ac7e0 63 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e call.optimization.</span></span>
ac800 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
ac820 61 73 73 3d 22 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 ass="tok-comment">///.If.this.is
ac840 20 6e 6f 74 20 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 .not.possible,.a.compile.error.i
ac860 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 3c 2f 73 70 61 6e 3e s.emitted.instead.</span></span>
ac880 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 6c 77 61 79 73 5f 74 .<span.class="line">....always_t
ac8a0 61 69 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ail,</span>.<span.class="line"><
ac8c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
ac8e0 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 47 75 61 72 pan.class="tok-comment">///.Guar
ac900 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 69 6e 6c 69 6e 65 antees.that.the.call.will.inline
ac920 64 20 61 74 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e d.at.the.callsite.</span></span>
ac940 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
ac960 61 73 73 3d 22 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 ass="tok-comment">///.If.this.is
ac980 20 6e 6f 74 20 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 .not.possible,.a.compile.error.i
ac9a0 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 3c 2f 73 70 61 6e 3e s.emitted.instead.</span></span>
ac9c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 6c 77 61 79 73 5f 69 .<span.class="line">....always_i
ac9e0 6e 6c 69 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 nline,</span>.<span.class="line"
aca00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
aca20 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 45 76 <span.class="tok-comment">///.Ev
aca40 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 2d 74 69 6d 65 aluates.the.call.at.compile-time
aca60 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 70 6c 65 74 65 ..If.the.call.cannot.be.complete
aca80 64 20 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 d.at</span></span>.<span.class="
acaa0 6c 69 6e 65 22 3e 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 line">....<span.class="tok-comme
acac0 6e 74 22 3e 2f 2f 2f 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 20 63 6f 6d 70 69 6c 65 20 nt">///.compile-time,.a.compile.
acae0 65 72 72 6f 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 error.is.emitted.instead.</span>
acb00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 </span>.<span.class="line">....c
acb20 6f 6d 70 69 6c 65 5f 74 69 6d 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ompile_time,</span>.<span.class=
acb40 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 "line">};</span></code></pre></f
acb60 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 63 44 65 igure>...............<h3.id="cDe
acb80 66 69 6e 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 44 65 66 69 6e 65 22 3e 40 63 44 fine"><a.href="#toc-cDefine">@cD
acba0 65 66 69 6e 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 efine</a>.<a.class="hdr".href="#
acbc0 63 44 65 66 69 6e 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 cDefine">..</a></h3>........<pre
acbe0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
acc00 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 70 class="tok-builtin">@cDefine</sp
acc20 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
acc40 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
acc60 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="
acc80 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 29 20 3c 73 70 61 tok-type">u8</span>,.value).<spa
acca0 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 2f n.class="tok-type">void</span></
accc0 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>....
acce0 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 20 ...This.function.can.only.occur.
acd00 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 6c 69 6e 65 22 3e inside.<code><span.class="line">
acd20 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 6d 70 6f <span.class="tok-builtin">@cImpo
acd40 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c rt</span></span></code>........<
acd60 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 61 70 70 65 6e 64 73 /p>.......<p>.......This.appends
acd80 20 3c 63 6f 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 .<code>#define.$name.$value</cod
acda0 65 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 6c 69 6e e>.to.the.<code><span.class="lin
acdc0 65 22 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 e"><span.class="tok-builtin">@cI
acde0 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 mport</span></span></code>......
ace00 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 20 20 .temporary.buffer........</p>...
ace20 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 74 20 ....<p>.......To.define.without.
ace40 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 0a 20 a.value,.like.this:.......</p>..
ace60 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 69 6e .....<pre><code.class="c">#defin
ace80 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 20 20 e._GNU_SOURCE</code></pre>......
acea0 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 20 6c .<p>.......Use.the.void.value,.l
acec0 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 65 3e ike.this:.......</p>.......<pre>
acee0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
acf00 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 70 61 lass="tok-builtin">@cDefine</spa
acf20 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 5f n>(<span.class="tok-str">&quot;_
acf40 47 4e 55 5f 53 4f 55 52 43 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3c 2f 73 70 GNU_SOURCE&quot;</span>,.{})</sp
acf60 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 53 65 65 20 61 6c an></code></pre>.......<p>See.al
acf80 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 72 74 so:</p><ul>.<li><a.href="#Import
acfa0 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 6f 6d -from-C-Header-File">Import.from
acfc0 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 20 68 .C.Header.File</a></li>.<li><a.h
acfe0 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 3e 3c 2f 6c ref="#cInclude">@cInclude</a></l
ad000 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 3e 40 63 49 6d 70 6f i>.<li><a.href="#cImport">@cImpo
ad020 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 63 55 6e 64 65 66 rt</a></li>.<li><a.href="#cUndef
ad040 22 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 ">@cUndef</a></li>.<li><a.href="
ad060 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 #void">void</a></li>.</ul>......
ad080 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 49 6d 70 6f 72 74 22 3e 3c 61 20 68 72 65 .........<h3.id="cImport"><a.hre
ad0a0 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 20 3c 61 f="#toc-cImport">@cImport</a>.<a
ad0c0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e c2 a7 3c .class="hdr".href="#cImport">..<
ad0e0 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
ad100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
ad120 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 65 78 70 72 65 73 73 69 uiltin">@cImport</span>(expressi
ad140 6f 6e 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 79 70 65 3c on).<span.class="tok-type">type<
ad160 2f 73 70 61 6e 3e 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 /span></span></code></pre>......
ad180 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 70 61 72 73 65 73 20 .<p>.......This.function.parses.
ad1a0 43 20 63 6f 64 65 20 61 6e 64 20 69 6d 70 6f 72 74 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 C.code.and.imports.the.functions
ad1c0 2c 20 74 79 70 65 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 63 6f ,.types,.variables,.......and.co
ad1e0 6d 70 61 74 69 62 6c 65 20 6d 61 63 72 6f 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 74 6f 20 mpatible.macro.definitions.into.
ad200 61 20 6e 65 77 20 65 6d 70 74 79 20 73 74 72 75 63 74 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 a.new.empty.struct.type,.and.the
ad220 6e 0a 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 74 79 70 65 2e 0a 20 20 20 20 20 n.......returns.that.type.......
ad240 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
ad260 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 70 72 65 73 73 69 6f 6e 3c 2f 73 70 61 6e 3e n.class="line">expression</span>
ad280 3c 2f 63 6f 64 65 3e 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 74 20 63 6f 6d 70 69 6c </code>.is.interpreted.at.compil
ad2a0 65 20 74 69 6d 65 2e 20 54 68 65 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 e.time..The.builtin.functions...
ad2c0 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 6c 69 6e 65 22 ........<code><span.class="line"
ad2e0 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 63 ><span.class="tok-builtin">@cInc
ad300 6c 75 64 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 lude</span></span></code>,.<code
ad320 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
ad340 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 3c 2f 73 "tok-builtin">@cDefine</span></s
ad360 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
ad380 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
ad3a0 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e in">@cUndef</span></span></code>
ad3c0 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 70 72 65 73 73 69 .work.......within.this.expressi
ad3e0 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 72 79 20 62 75 66 on,.appending.to.a.temporary.buf
ad400 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 73 20 43 20 63 6f fer.which.is.then.parsed.as.C.co
ad420 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 20 20 55 de........</p>.......<p>.......U
ad440 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 65 20 6f 6e 65 20 sually.you.should.only.have.one.
ad460 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
ad480 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 2f 73 70 61 lass="tok-builtin">@cImport</spa
ad4a0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 79 6f 75 72 20 65 6e 74 69 72 65 20 n></span></code>.in.your.entire.
ad4c0 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 62 65 63 61 75 73 65 20 69 74 20 73 61 76 65 73 20 74 68 application,.because.it.saves.th
ad4e0 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 66 72 6f 6d 20 69 6e 76 6f 6b 69 6e 67 20 63 e.compiler.......from.invoking.c
ad500 6c 61 6e 67 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2c 20 61 6e 64 20 70 72 65 76 65 6e 74 lang.multiple.times,.and.prevent
ad520 73 20 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 62 65 69 6e 67 20 64 75 s.inline.functions.from.being.du
ad540 70 6c 69 63 61 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 plicated........</p>.......<p>..
ad560 20 20 20 20 20 52 65 61 73 6f 6e 73 20 66 6f 72 20 68 61 76 69 6e 67 20 6d 75 6c 74 69 70 6c 65 .....Reasons.for.having.multiple
ad580 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
ad5a0 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 2f 73 70 class="tok-builtin">@cImport</sp
ad5c0 61 6e 3e 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 77 6f an></span></code>.expressions.wo
ad5e0 75 6c 64 20 62 65 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 uld.be:.......</p>.......<ul>...
ad600 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 61 76 6f 69 64 20 61 20 73 79 6d 62 6f 6c 20 63 6f ........<li>To.avoid.a.symbol.co
ad620 6c 6c 69 73 69 6f 6e 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 69 66 20 66 6f 6f 2e 68 20 61 6e llision,.for.example.if.foo.h.an
ad640 64 20 62 61 72 2e 68 20 62 6f 74 68 20 3c 63 6f 64 65 3e 23 64 65 66 69 6e 65 20 43 4f 4e 4e 45 d.bar.h.both.<code>#define.CONNE
ad660 43 54 49 4f 4e 5f 43 4f 55 4e 54 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 CTION_COUNT</code></li>.........
ad680 3c 6c 69 3e 54 6f 20 61 6e 61 6c 79 7a 65 20 74 68 65 20 43 20 63 6f 64 65 20 77 69 74 68 20 64 <li>To.analyze.the.C.code.with.d
ad6a0 69 66 66 65 72 65 6e 74 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 66 69 6e 65 73 3c 2f 6c ifferent.preprocessor.defines</l
ad6c0 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 61 6c 73 6f i>.......</ul>.......<p>See.also
ad6e0 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 72 74 2d 66 :</p><ul>.<li><a.href="#Import-f
ad700 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 6f 6d 20 43 rom-C-Header-File">Import.from.C
ad720 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 20 68 72 65 .Header.File</a></li>.<li><a.hre
ad740 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>
ad760 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 65 .<li><a.href="#cDefine">@cDefine
ad780 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 3e </a></li>.<li><a.href="#cUndef">
ad7a0 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 0a 20 @cUndef</a></li>.</ul>..........
ad7c0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 49 6e 63 6c 75 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 .....<h3.id="cInclude"><a.href="
ad7e0 23 74 6f 63 2d 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 20 3c 61 20 #toc-cInclude">@cInclude</a>.<a.
ad800 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e c2 a7 3c class="hdr".href="#cInclude">..<
ad820 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
ad840 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
ad860 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 73 70 61 6e 20 63 uiltin">@cInclude</span>(<span.c
ad880 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 70 61 lass="tok-kw">comptime</span>.pa
ad8a0 74 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 th:.[]<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 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"
ad900 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e >void</span></span></code></pre>
ad920 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 63 .......<p>.......This.function.c
ad940 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e an.only.occur.inside.<code><span
ad960 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
ad980 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 73 70 61 6e 3e 3c 2f uiltin">@cImport</span></span></
ad9a0 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 0a 20 20 20 20 code>........</p>.......<p>.....
ad9c0 20 20 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 ..This.appends.<code>#include.&l
ad9e0 74 3b 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 t;$path&gt;\n</code>.to.the.<cod
ada00 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 5f 69 6d 70 6f 72 74 3c 2f 73 e><span.class="line">c_import</s
ada20 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 pan></code>.......temporary.buff
ada40 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 61 6c 73 6f er........</p>.......<p>See.also
ada60 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 72 74 2d 66 :</p><ul>.<li><a.href="#Import-f
ada80 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 6f 6d 20 43 rom-C-Header-File">Import.from.C
adaa0 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 20 68 72 65 .Header.File</a></li>.<li><a.hre
adac0 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 69 3e 0a 3c f="#cImport">@cImport</a></li>.<
adae0 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 65 3c 2f li><a.href="#cDefine">@cDefine</
adb00 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 3e 40 63 a></li>.<li><a.href="#cUndef">@c
adb20 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 0a 0a 20 20 Undef</a></li>.</ul>............
adb40 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 6f 63 2d 63 ....<h3.id="clz"><a.href="#toc-c
adb60 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 68 72 65 66 lz">@clz</a>.<a.class="hdr".href
adb80 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 70 72 65 3e ="#clz">..</a></h3>........<pre>
adba0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
adbc0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e 3e 28 6f lass="tok-builtin">@clz</span>(o
adbe0 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 77 22 3e 61 6e 79 perand:.<span.class="tok-kw">any
adc00 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 6b 77 type</span>).<span.class="tok-kw
adc20 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ">anytype</span></span></code></
adc40 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 73 73 3d pre>.......<p><code><span.class=
adc60 22 6c 69 6e 65 22 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 "line"><span.class="tok-builtin"
adc80 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 29 3c 2f 73 70 61 6e 3e 3c >@TypeOf</span>(operand)</span><
adca0 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 79 70 65 20 6f /code>.must.be.an.integer.type.o
adcc0 72 20 61 6e 20 69 6e 74 65 67 65 72 20 76 65 63 74 6f 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 r.an.integer.vector.type.</p>...
adce0 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 6c 69 6e 65 22 3e ....<p><code><span.class="line">
add00 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 operand</span></code>.may.be.an.
add20 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 72 3c 2f 61 3e 20 <a.href="#Integers">integer</a>.
add40 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e or.<a.href="#Vectors">vector</a>
add60 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 .</p>.......<p>.......Counts.the
add80 20 6e 75 6d 62 65 72 20 6f 66 20 6d 6f 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 28 6c 65 61 .number.of.most-significant.(lea
adda0 64 69 6e 67 20 69 6e 20 61 20 62 69 67 2d 65 6e 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f ding.in.a.big-endian.sense).zero
addc0 65 73 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 20 2d 20 22 63 6f 75 6e 74 20 6c 65 61 64 69 6e es.in.an.integer.-."count.leadin
adde0 67 20 7a 65 72 6f 65 73 22 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a g.zeroes"........</p>.......<p>.
ade00 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ......If.<code><span.class="line
ade20 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 61 20 ">operand</span></code>.is.a.<a.
ade40 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
ade60 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 6e 20 74 79 own.integer,.......the.return.ty
ade80 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 6c 69 6e 65 22 3e 3c pe.is.<code><span.class="line"><
adea0 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 69 span.class="tok-type">comptime_i
adec0 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f nt</span></span></code>........O
adee0 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 6e 20 therwise,.the.return.type.is.an.
adf00 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 75 6e unsigned.integer.or.vector.of.un
adf20 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 75 6d signed.integers.with.the.minimum
adf40 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 20 72 .number.......of.bits.that.can.r
adf60 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 69 6e epresent.the.bit.count.of.the.in
adf80 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 70 3e teger.type........</p>.......<p>
adfa0 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .......If.<code><span.class="lin
adfc0 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f e">operand</span></code>.is.zero
adfe0 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e ,.<code><span.class="line"><span
ae000 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e 3e .class="tok-builtin">@clz</span>
ae020 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 69 74 20 77 </span></code>.returns.the.bit.w
ae040 69 64 74 68 0a 20 20 20 20 20 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 idth.......of.integer.type.<code
ae060 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">T</span></co
ae080 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 61 6c 73 de>........</p>.......<p>See.als
ae0a0 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 74 7a 22 3e 40 63 o:</p><ul>.<li><a.href="#ctz">@c
ae0c0 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 tz</a></li>.<li><a.href="#popCou
ae0e0 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 nt">@popCount</a></li>.</ul>....
ae100 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6d 70 78 63 68 67 53 74 72 6f 6e ............<h3.id="cmpxchgStron
ae120 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e g"><a.href="#toc-cmpxchgStrong">
ae140 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 @cmpxchgStrong</a>.<a.class="hdr
ae160 22 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f ".href="#cmpxchgStrong">..</a></
ae180 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
ae1a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 s="line"><span.class="tok-builti
ae1c0 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 63 n">@cmpxchgStrong</span>(<span.c
ae1e0 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:
ae200 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
ae220 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 2c an>,.ptr:.*T,.expected_value:.T,
ae240 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 74 .new_value:.T,.success_order:.At
ae260 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 64 omicOrder,.fail_order:.AtomicOrd
ae280 65 72 29 20 3f 54 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 er).?T</span></code></pre>......
ae2a0 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 70 65 72 66 6f 72 6d .<p>.......This.function.perform
ae2c0 73 20 61 20 73 74 72 6f 6e 67 20 61 74 6f 6d 69 63 20 63 6f 6d 70 61 72 65 20 65 78 63 68 61 6e s.a.strong.atomic.compare.exchan
ae2e0 67 65 20 6f 70 65 72 61 74 69 6f 6e 2e 20 49 74 27 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e ge.operation..It's.the.equivalen
ae300 74 20 6f 66 20 74 68 69 73 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 65 78 63 65 70 74 20 61 74 6f t.of.this.code,.......except.ato
ae320 6d 69 63 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 mic:.......</p>.......<figure><f
ae340 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.
ae360 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 6f 74 5f 61 74 6f 6d 69 63 5f 63 6d 70 78 63 68 67 53 class="file">not_atomic_cmpxchgS
ae380 74 72 6f 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 72 trong.zig</cite></figcaption><pr
ae3a0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
ae3c0 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.
ae3e0 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 4e class="tok-fn">cmpxchgStrongButN
ae400 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 6b otAtomic</span>(<span.class="tok
ae420 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
ae440 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 3a ass="tok-type">type</span>,.ptr:
ae460 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 75 .*T,.expected_value:.T,.new_valu
ae480 65 3a 20 54 29 20 3f 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e:.T).?T.{</span>.<span.class="l
ae4a0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">co
ae4c0 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 72 2e 2a 3b 3c 2f 73 nst</span>.old_value.=.ptr.*;</s
ae4e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
ae500 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 64 5f n.class="tok-kw">if</span>.(old_
ae520 76 61 6c 75 65 20 3d 3d 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 29 20 7b 3c 2f 73 70 61 6e value.==.expected_value).{</span
ae540 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 74 72 >.<span.class="line">........ptr
ae560 2e 2a 20 3d 20 6e 65 77 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .*.=.new_value;</span>.<span.cla
ae580 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">........<span.class="t
ae5a0 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
ae5c0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a ="tok-null">null</span>;</span>.
ae5e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 <span.class="line">....}.<span.c
ae600 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 7b 3c 2f 73 70 61 lass="tok-kw">else</span>.{</spa
ae620 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
ae640 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>
ae660 20 6f 6c 64 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .old_value;</span>.<span.class="
ae680 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 line">....}</span>.<span.class="
ae6a0 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
ae6c0 75 72 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 ure>.......<p>.......If.you.are.
ae6e0 75 73 69 6e 67 20 63 6d 70 78 63 68 67 20 69 6e 20 61 20 6c 6f 6f 70 2c 20 3c 61 20 68 72 65 66 using.cmpxchg.in.a.loop,.<a.href
ae700 3d 22 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 ="#cmpxchgWeak">@cmpxchgWeak</a>
ae720 20 69 73 20 74 68 65 20 62 65 74 74 65 72 20 63 68 6f 69 63 65 2c 20 62 65 63 61 75 73 65 20 69 .is.the.better.choice,.because.i
ae740 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 6d 6f 72 65 20 t.can.be.implemented.......more.
ae760 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 74 69 efficiently.in.machine.instructi
ae780 6f 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 ons........</p>.......<p>.......
ae7a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e <code><span.class="line">T</span
ae7c0 3e 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 63 ></code>.must.be.a.pointer,.a.<c
ae7e0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
ae800 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 73 70 61 6e 3e ss="tok-type">bool</span></span>
ae820 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 6e 20 69 6e 74 65 67 </code>,.a.float,.......an.integ
ae840 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 0a 20 20 20 20 20 20 er.or.an.enum........</p>.......
ae860 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 <p><code><span.class="line"><spa
ae880 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<
ae8a0 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"
ae8c0 3e 40 54 79 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 >@TypeOf</span>(ptr)).Pointer.al
ae8e0 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 63 ignment</span></code>.must.be.<c
ae900 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 3d 20 3c 73 70 ode><span.class="line">&gt;=.<sp
ae920 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</
ae940 73 70 61 6e 3e 28 54 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 span>(T).</span></code></p>.....
ae960 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
ae980 65 66 3d 22 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 ef="#atomicStore">@atomicStore</
ae9a0 61 3e 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 4c 6f 61 64 a></li>.<li><a.href="#atomicLoad
ae9c0 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 3c 61 20 68 72 ">@atomicLoad</a></li>.<li><a.hr
ae9e0 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 2f 61 3e 3c 2f ef="#atomicRmw">@atomicRmw</a></
aea00 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 65 6e 63 65 3c li>.<li><a.href="#fence">@fence<
aea20 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 63 68 67 57 65 /a></li>.<li><a.href="#cmpxchgWe
aea40 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 2f 75 6c 3e 0a ak">@cmpxchgWeak</a></li>.</ul>.
aea60 0a 20 20 20 20 20 20 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 ...............<h3.id="cmpxchgWe
aea80 61 6b 22 3e 3c 61 20 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 ak"><a.href="#toc-cmpxchgWeak">@
aeaa0 63 6d 70 78 63 68 67 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 cmpxchgWeak</a>.<a.class="hdr".h
aeac0 72 65 66 3d 22 23 63 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 ref="#cmpxchgWeak">..</a></h3>..
aeae0 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 6c 69 ......<pre><code><span.class="li
aeb00 6e 65 22 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 ne"><span.class="tok-builtin">@c
aeb20 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 61 73 73 3d 22 74 mpxchgWeak</span>(<span.class="t
aeb40 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 6e 20 ok-kw">comptime</span>.T:.<span.
aeb60 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 70 74 class="tok-type">type</span>,.pt
aeb80 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 6e 65 77 5f 76 61 r:.*T,.expected_value:.T,.new_va
aeba0 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 6d 69 63 4f 72 64 lue:.T,.success_order:.AtomicOrd
aebc0 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 72 29 20 3f 54 3c er,.fail_order:.AtomicOrder).?T<
aebe0 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>...
aec00 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 77 65 61 ....This.function.performs.a.wea
aec20 6b 20 61 74 6f 6d 69 63 20 63 6f 6d 70 61 72 65 20 65 78 63 68 61 6e 67 65 20 6f 70 65 72 61 74 k.atomic.compare.exchange.operat
aec40 69 6f 6e 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 ion..It's.the.equivalent.of.this
aec60 20 63 6f 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 .code,.......except.atomic:.....
aec80 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
aeca0 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
aecc0 6c 65 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 63 69 74 le">cmpxchgWeakButNotAtomic</cit
aece0 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.
aed00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
aed20 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"
aed40 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 73 70 61 6e 3e 28 >cmpxchgWeakButNotAtomic</span>(
aed60 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
aed80 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 79 70 65 22 3e 74 pan>.T:.<span.class="tok-type">t
aeda0 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 74 65 64 5f 76 61 ype</span>,.ptr:.*T,.expected_va
aedc0 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 3c 2f 73 70 61 6e lue:.T,.new_value:.T).?T.{</span
aede0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
aee00 6c 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 6c 64 5f 76 lass="tok-kw">const</span>.old_v
aee20 61 6c 75 65 20 3d 20 70 74 72 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 alue.=.ptr.*;</span>.<span.class
aee40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
aee60 3e 69 66 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 >if</span>.(old_value.==.expecte
aee80 64 5f 76 61 6c 75 65 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 d_value.<span.class="tok-kw">and
aeea0 3c 2f 73 70 61 6e 3e 20 75 73 75 61 6c 6c 79 54 72 75 65 42 75 74 53 6f 6d 65 74 69 6d 65 73 46 </span>.usuallyTrueButSometimesF
aeec0 61 6c 73 65 28 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 alse()).{</span>.<span.class="li
aeee0 6e 65 22 3e 20 20 20 20 20 20 20 20 70 74 72 2e 2a 20 3d 20 6e 65 77 5f 76 61 6c 75 65 3b 3c 2f ne">........ptr.*.=.new_value;</
aef00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
aef20 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
aef40 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 6e 75 6c 6c 3c an>.<span.class="tok-null">null<
aef60 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
aef80 22 3e 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
aefa0 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e</span>.{</span>.<span.class="l
aefc0 69 6e 65 22 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 6b 77 ine">........<span.class="tok-kw
aefe0 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e ">return</span>.old_value;</span
af000 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
af020 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 >.<span.class="line">}</span></c
af040 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>...
af060 20 20 20 20 49 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 ....If.you.are.using.cmpxchg.in.
af080 61 20 6c 6f 6f 70 2c 20 74 68 65 20 73 70 6f 72 61 64 69 63 20 66 61 69 6c 75 72 65 20 77 69 6c a.loop,.the.sporadic.failure.wil
af0a0 6c 20 62 65 20 6e 6f 20 70 72 6f 62 6c 65 6d 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e l.be.no.problem,.and.<code><span
af0c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 73 70 61 6e 3e .class="line">cmpxchgWeak</span>
af0e0 3c 2f 63 6f 64 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 </code>.......is.the.better.choi
af100 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 6e 74 65 ce,.because.it.can.be.implemente
af120 64 20 6d 6f 72 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 d.more.efficiently.in.machine.in
af140 73 74 72 75 63 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 structions........However.if.you
af160 20 6e 65 65 64 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 .need.a.stronger.guarantee,.use.
af180 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 78 63 68 <a.href="#cmpxchgStrong">@cmpxch
af1a0 67 53 74 72 6f 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 gStrong</a>........</p>.......<p
af1c0 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 6c 69 6e 65 22 >.......<code><span.class="line"
af1e0 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 >T</span></code>.must.be.a.point
af200 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 6c 69 6e 65 22 3e 3c er,.a.<code><span.class="line"><
af220 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 6e span.class="tok-type">bool</span
af240 3e 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 ></span></code>,.a.float,.......
af260 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 2f 70 an.integer.or.an.enum........</p
af280 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 6c 69 >.......<p><code><span.class="li
af2a0 6e 65 22 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 ne"><span.class="tok-builtin">@t
af2c0 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-
af2e0 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 6f builtin">@TypeOf</span>(ptr)).Po
af300 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 inter.alignment</span></code>.mu
af320 73 74 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 st.be.<code><span.class="line">&
af340 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 40 gt;=.<span.class="tok-builtin">@
af360 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c sizeOf</span>(T).</span></code><
af380 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>.<
af3a0 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 69 li><a.href="#atomicStore">@atomi
af3c0 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 74 cStore</a></li>.<li><a.href="#at
af3e0 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 3c omicLoad">@atomicLoad</a></li>.<
af400 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 63 52 li><a.href="#atomicRmw">@atomicR
af420 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 65 22 mw</a></li>.<li><a.href="#fence"
af440 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 63 >@fence</a></li>.<li><a.href="#c
af460 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 2f 61 3e mpxchgStrong">@cmpxchgStrong</a>
af480 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
af4a0 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 6f 63 2d 63 d="compileError"><a.href="#toc-c
af4c0 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 61 3e 20 3c ompileError">@compileError</a>.<
af4e0 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 45 72 72 6f a.class="hdr".href="#compileErro
af500 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
af520 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
af540 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 73 70 61 "tok-builtin">@compileError</spa
af560 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 65 n>(<span.class="tok-kw">comptime
af580 3c 2f 73 70 61 6e 3e 20 6d 73 67 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.msg:.[]<span.class="tok-
af5a0 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
af5c0 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 3d 22 k-type">u8</span>).<span.class="
af5e0 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 73 70 61 6e 3e tok-type">noreturn</span></span>
af600 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 68 </code></pre>.......<p>.......Th
af620 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 65 6e 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 61 is.function,.when.semantically.a
af640 6e 61 6c 79 7a 65 64 2c 20 63 61 75 73 65 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 nalyzed,.causes.a.compile.error.
af660 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 3c 63 6f 64 65 3e 3c 73 70 with.the.......message.<code><sp
af680 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 73 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 an.class="line">msg</span></code
af6a0 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 68 >........</p>.......<p>.......Th
af6c0 65 72 65 20 61 72 65 20 73 65 76 65 72 61 6c 20 77 61 79 73 20 74 68 61 74 20 63 6f 64 65 20 61 ere.are.several.ways.that.code.a
af6e0 76 6f 69 64 73 20 62 65 69 6e 67 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 63 68 65 63 6b 65 64 voids.being.semantically.checked
af700 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 ,.such.as.......using.<code><spa
af720 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
af740 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c kw">if</span></span></code>.or.<
af760 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
af780 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 73 70 61 6e ass="tok-kw">switch</span></span
af7a0 3e 3c 2f 63 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 ></code>.with.compile.time.const
af7c0 61 6e 74 73 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 ants,...............and.<code><s
af7e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
af800 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-kw">comptime</span></span></co
af820 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 20 20 de>.functions........</p>.......
af840 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 20 68 ........<h3.id="compileLog"><a.h
af860 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 4c 6f ref="#toc-compileLog">@compileLo
af880 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 6d 70 g</a>.<a.class="hdr".href="#comp
af8a0 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 65 3e ileLog">..</a></h3>........<pre>
af8c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
af8e0 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 4c 6f 67 3c 2f lass="tok-builtin">@compileLog</
af900 73 70 61 6e 3e 28 61 72 67 73 3a 20 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>(args:....).<span.class="to
af920 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-type">void</span></span></code
af940 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
af960 63 74 69 6f 6e 20 70 72 69 6e 74 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 ction.prints.the.arguments.passe
af980 64 20 74 6f 20 69 74 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c d.to.it.at.compile-time........<
af9a0 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 70 72 65 76 65 6e 74 20 61 /p>.......<p>.......To.prevent.a
af9c0 63 63 69 64 65 6e 74 61 6c 6c 79 20 6c 65 61 76 69 6e 67 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 ccidentally.leaving.compile.log.
af9e0 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 20 63 6f 64 65 62 61 73 65 2c 0a 20 20 20 20 20 20 statements.in.a.codebase,.......
afa00 61 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 65 72 72 6f 72 20 69 73 20 61 64 64 65 64 20 74 6f 20 a.compilation.error.is.added.to.
afa20 74 68 65 20 62 75 69 6c 64 2c 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 the.build,.pointing.to.the.compi
afa40 6c 65 0a 20 20 20 20 20 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 2e 20 54 68 69 73 20 65 72 72 le.......log.statement..This.err
afa60 6f 72 20 70 72 65 76 65 6e 74 73 20 63 6f 64 65 20 66 72 6f 6d 20 62 65 69 6e 67 20 67 65 6e 65 or.prevents.code.from.being.gene
afa80 72 61 74 65 64 2c 20 62 75 74 0a 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6f 74 68 65 72 77 rated,.but.......does.not.otherw
afaa0 69 73 65 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 61 6e 61 6c 79 73 69 73 2e 0a 20 20 20 ise.interfere.with.analysis.....
afac0 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 66 75 6e ...</p>.......<p>.......This.fun
afae0 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 6f 20 22 70 72 69 6e 74 66 20 ction.can.be.used.to.do."printf.
afb00 64 65 62 75 67 67 69 6e 67 22 20 6f 6e 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 debugging".on.......compile-time
afb20 20 65 78 65 63 75 74 69 6e 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .executing.code........</p>.....
afb40 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
afb60 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
afb80 6d 70 69 6c 65 4c 6f 67 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 mpileLog_builtin.zig</cite></fig
afba0 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="
afbc0 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
afbe0 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 6f 6b </span>.print.=.<span.class="tok
afc00 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
afc20 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;</
afc40 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span>).debug.print;</span>.<span
afc60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
afc80 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
afca0 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 31 20 3d 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a nst</span>.num1.=.blk:.{</span>.
afcc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
afce0 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 6c 31 3a 20 3c 73 70 ss="tok-kw">var</span>.val1:.<sp
afd00 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>.=
afd20 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 39 3c 2f 73 70 .<span.class="tok-number">99</sp
afd40 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
afd60 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 6f ...<span.class="tok-builtin">@co
afd80 6d 70 69 6c 65 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 mpileLog</span>(<span.class="tok
afda0 2d 73 74 72 22 3e 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 -str">&quot;comptime.val1.=.&quo
afdc0 74 3b 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 t;</span>,.val1);</span>.<span.c
afde0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 6c 31 20 3d 20 76 61 6c 31 20 2b 20 3c 73 lass="line">....val1.=.val1.+.<s
afe00 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>;
afe20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
afe40 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 61 6e 3e span.class="tok-kw">break</span>
afe60 20 3a 62 6c 6b 20 76 61 6c 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .:blk.val1;</span>.<span.class="
afe80 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e line">};</span>.<span.class="lin
afea0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
afec0 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>.<
afee0 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 69 6e 26 span.class="tok-str">&quot;main&
aff00 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
aff20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 s="line">....<span.class="tok-bu
aff40 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 61 6e 20 iltin">@compileLog</span>(<span.
aff60 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 65 20 69 class="tok-str">&quot;comptime.i
aff80 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.main&quot;</span>);</span>.<sp
affa0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
affc0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">....print(<span.class
affe0 3d 22 74 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 ="tok-str">&quot;Runtime.in.main
b0000 2c 20 6e 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 ,.num1.=.{}.\n&quot;</span>,..{n
b0020 75 6d 31 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 um1});</span>.<span.class="line"
b0040 3e 7d 3c 2f 73 70 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 >}</span></code></pre></figure><
b0060 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-
b0080 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
b00a0 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 69 6c 65 4c 6f p>$.<kbd>zig.test.test_compileLo
b00c0 67 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 g_builtin.zig</kbd>.<span.class=
b00e0 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 69 6c 65 "sgr-1m">docgen_tmp/test_compile
b0100 4c 6f 67 5f 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 Log_builtin.zig:11:5:.</span><sp
b0120 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 6e an.class="sgr-31m">error:.</span
b0140 3e 3c 73 70 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 ><span.class="sgr-1m">found.comp
b0160 69 6c 65 20 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 ile.log.statement.</span>....@co
b0180 6d 70 69 6c 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 mpileLog(&quot;comptime.in.main&
b01a0 71 75 6f 74 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 quot;);.....<span.class="sgr-32m
b01c0 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 ">^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
b01e0 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
b0200 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 62 75 69 6c 74 69 6e cgen_tmp/test_compileLog_builtin
b0220 2e 7a 69 67 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 .zig:5:5:.</span><span.class="sg
b0240 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 3d r-36m">note:.</span><span.class=
b0260 22 73 67 72 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 "sgr-1m">also.here.</span>....@c
b0280 6f 6d 70 69 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 ompileLog(&quot;comptime.val1.=.
b02a0 26 71 75 6f 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 &quot;,.val1);.....<span.class="
b02c0 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 7e 7e 7e 7e sgr-32m">^~~~~~~~~~~~~~~~~~~~~~~
b02e0 7e 7e 7e 7e 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 ~~~~~~~~~~~~~~.</span>.Compile.L
b0300 6f 67 20 4f 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 og.Output:.@as(*const.[16:0]u8,.
b0320 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 29 0a 40 61 &quot;comptime.in.main&quot;).@a
b0340 73 28 2a 63 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 s(*const.[16:0]u8,.&quot;comptim
b0360 65 20 76 61 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 e.val1.=.&quot;),.@as(i32,.99).<
b0380 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>.
b03a0 20 20 20 20 20 20 49 66 20 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ......If.all.<code><span.class="
b03c0 6c 69 6e 65 22 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 line"><span.class="tok-builtin">
b03e0 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e @compileLog</span></span></code>
b0400 20 63 61 6c 6c 73 20 61 72 65 20 72 65 6d 6f 76 65 64 20 6f 72 0a 20 20 20 20 20 20 6e 6f 74 20 .calls.are.removed.or.......not.
b0420 65 6e 63 6f 75 6e 74 65 72 65 64 20 62 79 20 61 6e 61 6c 79 73 69 73 2c 20 74 68 65 0a 20 20 20 encountered.by.analysis,.the....
b0440 20 20 20 70 72 6f 67 72 61 6d 20 63 6f 6d 70 69 6c 65 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 ...program.compiles.successfully
b0460 20 61 6e 64 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 .and.the.generated.executable.pr
b0480 69 6e 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 ints:.......</p>.......<figure><
b04a0 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
b04c0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 77 69 74 68 6f 75 74 5f 63 6f 6d 70 69 .class="file">test_without_compi
b04e0 6c 65 4c 6f 67 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 leLog_builtin.zig</cite></figcap
b0500 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 6c 69 6e tion><pre><code><span.class="lin
b0520 65 22 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 e"><span.class="tok-kw">const</s
b0540 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 75 pan>.print.=.<span.class="tok-bu
b0560 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
b0580 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
b05a0 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n>).debug.print;</span>.<span.cl
b05c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
b05e0 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
b0600 3c 2f 73 70 61 6e 3e 20 6e 75 6d 31 20 3d 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 </span>.num1.=.blk:.{</span>.<sp
b0620 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
b0640 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 31 3a 20 3c 73 70 61 6e 20 "tok-kw">var</span>.val1:.<span.
b0660 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
b0680 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>
b06a0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
b06c0 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 6b 2d 6e val1.=.val1.+.<span.class="tok-n
b06e0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">1</span>;</span>.<span.cl
b0700 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
b0720 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 76 61 6c 31 3b 3c 2f 73 70 61 kw">break</span>.:blk.val1;</spa
b0740 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a n>.<span.class="line">};</span>.
b0760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
b0780 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
b07a0 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-
b07c0 73 74 72 22 3e 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 3c 2f str">&quot;main&quot;</span>.{</
b07e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 span>.<span.class="line">....pri
b0800 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 52 nt(<span.class="tok-str">&quot;R
b0820 75 6e 74 69 6d 65 20 69 6e 20 6d 61 69 6e 2c 20 6e 75 6d 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f untime.in.main,.num1.=.{}.\n&quo
b0840 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 31 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t;</span>,..{num1});</span>.<spa
b0860 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
b0880 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
b08a0 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
b08c0 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.
b08e0 74 65 73 74 5f 77 69 74 68 6f 75 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 5f 62 75 69 6c 74 69 6e 2e test_without_compileLog_builtin.
b0900 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 6d 61 69 6e 2e 2e 2e 20 52 75 6e 74 69 zig</kbd>.1/1.test.main....Runti
b0920 6d 65 20 69 6e 20 6d 61 69 6e 2c 20 6e 75 6d 31 20 3d 20 31 30 30 2e 0a 4f 4b 0a 41 6c 6c 20 31 me.in.main,.num1.=.100..OK.All.1
b0940 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
b0960 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 63 6f 6e 73 gure>...............<h3.id="cons
b0980 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 6e 73 74 43 61 73 74 22 3e tCast"><a.href="#toc-constCast">
b09a0 40 63 6f 6e 73 74 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 @constCast</a>.<a.class="hdr".hr
b09c0 65 66 3d 22 23 63 6f 6e 73 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ef="#constCast">..</a></h3>.....
b09e0 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 6c 69 6e 65 22 ...<pre><code><span.class="line"
b0a00 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 6f 6e 73 ><span.class="tok-builtin">@cons
b0a20 74 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 tCast</span>(value:.<span.class=
b0a40 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 44 65 73 74 54 79 70 "tok-kw">anytype</span>).DestTyp
b0a60 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>.
b0a80 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 73 3d 22 ......Remove.<code><span.class="
b0aa0 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
b0ac0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 71 75 61 6c 69 66 69 65 72 20 </span></span></code>.qualifier.
b0ae0 66 72 6f 6d 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 20 20 20 from.a.pointer........</p>......
b0b00 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 74 7a 22 3e 3c 61 20 68 72 65 66 3d 22 23 .........<h3.id="ctz"><a.href="#
b0b20 74 6f 63 2d 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 toc-ctz">@ctz</a>.<a.class="hdr"
b0b40 20 68 72 65 66 3d 22 23 63 74 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 .href="#ctz">..</a></h3>........
b0b60 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
b0b80 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 7a 3c 2f 73 70 pan.class="tok-builtin">@ctz</sp
b0ba0 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 77 an>(operand:.<span.class="tok-kw
b0bc0 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
b0be0 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-kw">anytype</span></span></co
b0c00 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
b0c20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
b0c40 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 61 6e 64 29 3c 2f 73 ltin">@TypeOf</span>(operand)</s
b0c60 70 61 6e 3e 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 pan></code>.must.be.an.integer.t
b0c80 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 65 2e 3c 2f ype.or.an.integer.vector.type.</
b0ca0 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 61 73 73 3d 22 6c p>.......<p><code><span.class="l
b0cc0 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 ine">operand</span></code>.may.b
b0ce0 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 72 e.an.<a.href="#Integers">integer
b0d00 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f </a>.or.<a.href="#Vectors">vecto
b0d20 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 75 6e 74 r</a>.</p>.......<p>.......Count
b0d40 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 65 61 73 74 2d 73 69 67 6e 69 66 69 63 61 6e s.the.number.of.least-significan
b0d60 74 20 28 74 72 61 69 6c 69 6e 67 20 69 6e 20 61 20 62 69 67 2d 65 6e 64 69 61 6e 20 73 65 6e 73 t.(trailing.in.a.big-endian.sens
b0d80 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 20 2d 20 22 63 6f 75 6e 74 e).zeroes.in.an.integer.-."count
b0da0 20 74 72 61 69 6c 69 6e 67 20 7a 65 72 6f 65 73 22 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .trailing.zeroes"........</p>...
b0dc0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ....<p>.......If.<code><span.cla
b0de0 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ss="line">operand</span></code>.
b0e00 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 63 6f 6d 70 74 69 6d is.a.<a.href="#comptime">comptim
b0e20 65 3c 2f 61 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 e</a>-known.integer,.......the.r
b0e40 65 74 75 72 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 eturn.type.is.<code><span.class=
b0e60 22 6c 69 6e 65 22 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 "line"><span.class="tok-type">co
b0e80 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e mptime_int</span></span></code>.
b0ea0 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 79 70 .......Otherwise,.the.return.typ
b0ec0 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 63 74 e.is.an.unsigned.integer.or.vect
b0ee0 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 68 65 or.of.unsigned.integers.with.the
b0f00 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 74 68 .minimum.number.......of.bits.th
b0f20 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 20 6f at.can.represent.the.bit.count.o
b0f40 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 0a 20 f.the.integer.type........</p>..
b0f60 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c .....<p>.......If.<code><span.cl
b0f80 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ass="line">operand</span></code>
b0fa0 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 6c 69 6e .is.zero,.<code><span.class="lin
b0fc0 65 22 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 e"><span.class="tok-builtin">@ct
b0fe0 7a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 0a 20 z</span></span></code>.returns..
b1000 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 74 79 .....the.bit.width.of.integer.ty
b1020 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 pe.<code><span.class="line">T</s
b1040 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
b1060 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="
b1080 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d #clz">@clz</a></li>.<li><a.href=
b10a0 22 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c "#popCount">@popCount</a></li>.<
b10c0 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 63 55 6e 64 /ul>................<h3.id="cUnd
b10e0 65 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 ef"><a.href="#toc-cUndef">@cUnde
b1100 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 23 63 55 6e 64 f</a>.<a.class="hdr".href="#cUnd
b1120 65 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 ef">..</a></h3>........<pre><cod
b1140 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
b1160 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 28 3c 73 ="tok-builtin">@cUndef</span>(<s
b1180 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
b11a0 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 77 22 3e n>.name:.[]<span.class="tok-kw">
b11c0 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
b11e0 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-
b1200 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c type">void</span></span></code><
b1220 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 74 /pre>.......<p>.......This.funct
b1240 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 64 65 3e ion.can.only.occur.inside.<code>
b1260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
b1280 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 73 70 tok-builtin">@cImport</span></sp
b12a0 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>
b12c0 0a 20 20 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 75 6e 64 65 66 .......This.appends.<code>#undef
b12e0 20 24 6e 61 6d 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .$name</code>.to.the.<code><span
b1300 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
b1320 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 73 70 61 6e 3e 3c 2f uiltin">@cImport</span></span></
b1340 63 6f 64 65 3e 0a 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 code>.......temporary.buffer....
b1360 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><
b1380 75 6c 3e 0a 3c 6c 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 ul>.<li><a.href="#Import-from-C-
b13a0 48 65 61 64 65 72 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 Header-File">Import.from.C.Heade
b13c0 72 20 46 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 63 49 r.File</a></li>.<li><a.href="#cI
b13e0 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 3e 3c 61 20 mport">@cImport</a></li>.<li><a.
b1400 68 72 65 66 3d 22 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 href="#cDefine">@cDefine</a></li
b1420 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 40 63 49 6e 63 6c >.<li><a.href="#cInclude">@cIncl
b1440 75 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 0a 20 20 20 20 ude</a></li>.</ul>..............
b1460 20 20 3c 68 33 20 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 ..<h3.id="cVaArg"><a.href="#toc-
b1480 63 56 61 41 72 67 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 cVaArg">@cVaArg</a>.<a.class="hd
b14a0 72 22 20 68 72 65 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 r".href="#cVaArg">..</a></h3>...
b14c0 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 6c 69 6e .....<pre><code><span.class="lin
b14e0 65 22 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 56 e"><span.class="tok-builtin">@cV
b1500 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 2e 62 75 69 6c 74 69 aArg</span>(operand:.*std.builti
b1520 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 6b 2d 6b 77 22 3e 63 n.VaList,.<span.class="tok-kw">c
b1540 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 73 3d 22 74 omptime</span>.T:.<span.class="t
b1560 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 73 70 61 6e 3e 3c 2f ok-type">type</span>).T</span></
b1580 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
b15a0 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 3c 73 70 61 6e 20 63 ements.the.C.macro.<code><span.c
b15c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 5f 61 72 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e lass="line">va_arg</span></code>
b15e0 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 3c ........</p>.......<p>See.also:<
b1600 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 6f 70 79 22 3e 40 /p><ul>.<li><a.href="#cVaCopy">@
b1620 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 23 63 cVaCopy</a></li>.<li><a.href="#c
b1640 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 69 3e 3c 61 20 68 VaEnd">@cVaEnd</a></li>.<li><a.h
b1660 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 2f 61 3e 3c 2f 6c ref="#cVaStart">@cVaStart</a></l
b1680 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
b16a0 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 6f 70 79 22 3e 40 VaCopy"><a.href="#toc-cVaCopy">@
b16c0 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 20 68 72 65 66 3d cVaCopy</a>.<a.class="hdr".href=
b16e0 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 20 20 20 20 3c 70 "#cVaCopy">..</a></h3>........<p
b1700 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
b1720 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 56 61 43 6f 70 79 3c 2f n.class="tok-builtin">@cVaCopy</
b1740 73 70 61 6e 3e 28 73 72 63 3a 20 2a 73 74 64 2e 62 75 69 6c 74 69 6e 2e 56 61 4c 69 73 74 29 20 span>(src:.*std.builtin.VaList).
b1760 73 74 64 2e 62 75 69 6c 74 69 6e 2e 56 61 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e std.builtin.VaList</span></code>
b1780 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 65 6d 65 6e 74 </pre>.......<p>.......Implement
b17a0 73 20 74 68 65 20 43 20 6d 61 63 72 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d s.the.C.macro.<code><span.class=
b17c0 22 6c 69 6e 65 22 3e 76 61 5f 63 6f 70 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 "line">va_copy</span></code>....
b17e0 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><
b1800 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 41 72 ul>.<li><a.href="#cVaArg">@cVaAr
b1820 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 45 6e 64 22 g</a></li>.<li><a.href="#cVaEnd"
b1840 3e 40 63 56 61 45 6e 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 >@cVaEnd</a></li>.<li><a.href="#
b1860 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 3c 2f 75 cVaStart">@cVaStart</a></li>.</u
b1880 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 45 6e 64 22 l>...............<h3.id="cVaEnd"
b18a0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 56 61 45 6e 64 22 3e 40 63 56 61 45 6e 64 3c 2f ><a.href="#toc-cVaEnd">@cVaEnd</
b18c0 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 56 61 45 6e 64 22 a>.<a.class="hdr".href="#cVaEnd"
b18e0 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><
b1900 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b1920 6f 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 ok-builtin">@cVaEnd</span>(src:.
b1940 2a 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 *std.builtin.VaList).<span.class
b1960 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 73 70 61 6e 3e 3c 2f ="tok-type">void</span></span></
b1980 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
b19a0 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 3c 73 70 61 6e 20 63 ements.the.C.macro.<code><span.c
b19c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 5f 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e lass="line">va_end</span></code>
b19e0 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 3c ........</p>.......<p>See.also:<
b1a00 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 41 72 67 22 3e 40 63 /p><ul>.<li><a.href="#cVaArg">@c
b1a20 56 61 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 VaArg</a></li>.<li><a.href="#cVa
b1a40 43 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 Copy">@cVaCopy</a></li>.<li><a.h
b1a60 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 2f 61 3e 3c 2f 6c ref="#cVaStart">@cVaStart</a></l
b1a80 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
b1aa0 56 61 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 VaStart"><a.href="#toc-cVaStart"
b1ac0 3e 40 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 >@cVaStart</a>.<a.class="hdr".hr
b1ae0 65 66 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 ef="#cVaStart">..</a></h3>......
b1b00 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 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
b1b20 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 56 61 53 74 <span.class="tok-builtin">@cVaSt
b1b40 61 72 74 3c 2f 73 70 61 6e 3e 28 29 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 56 61 4c 69 73 74 3c art</span>().std.builtin.VaList<
b1b60 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>...
b1b80 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 63 6f 64 65 ....Implements.the.C.macro.<code
b1ba0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 5f 73 74 61 72 74 3c 2f 73 70 ><span.class="line">va_start</sp
b1bc0 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4f 6e 6c 79 20 76 61 6c 69 64 20 69 6e 73 69 64 65 20 61 20 an></code>..Only.valid.inside.a.
b1be0 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 variadic.function........</p>...
b1c00 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.
b1c20 68 72 65 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 href="#cVaArg">@cVaArg</a></li>.
b1c40 3c 6c 69 3e 3c 61 20 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 <li><a.href="#cVaCopy">@cVaCopy<
b1c60 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 45 6e 64 22 3e 40 /a></li>.<li><a.href="#cVaEnd">@
b1c80 63 56 61 45 6e 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 cVaEnd</a></li>.</ul>...........
b1ca0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 45 78 61 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 .....<h3.id="divExact"><a.href="
b1cc0 23 74 6f 63 2d 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 20 3c 61 20 #toc-divExact">@divExact</a>.<a.
b1ce0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e c2 a7 3c class="hdr".href="#divExact">..<
b1d00 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
b1d20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
b1d40 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 6e 75 6d 65 72 61 74 uiltin">@divExact</span>(numerat
b1d60 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c or:.T,.denominator:.T).T</span><
b1d80 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 45 78 61 /code></pre>.......<p>.......Exa
b1da0 63 74 20 64 69 76 69 73 69 6f 6e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c ct.division..Caller.guarantees.<
b1dc0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 code><span.class="line">denomina
b1de0 74 6f 72 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 tor.!=.<span.class="tok-number">
b1e00 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 0</span></span></code>.and......
b1e20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .....<code><span.class="line"><s
b1e40 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 72 75 6e pan.class="tok-builtin">@divTrun
b1e60 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 6f 72 29 c</span>(numerator,.denominator)
b1e80 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 73 70 61 .*.denominator.==.numerator</spa
b1ea0 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 75 6c 3e n></code>........</p>.......<ul>
b1ec0 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
b1ee0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-builtin
b1f00 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">@divExact</span>(<span.class="
b1f20 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-number">6</span>,.<span.clas
b1f40 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 61 s="tok-number">3</span>).==.<spa
b1f60 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 2f 73 n.class="tok-number">2</span></s
b1f80 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><
b1fa0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
b1fc0 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 63 74 3c 2f 73 70 61 ass="tok-builtin">@divExact</spa
b1fe0 6e 3e 28 61 2c 20 62 29 20 2a 20 62 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c n>(a,.b).*.b.==.a</span></code><
b2000 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 46 6f 72 20 61 20 /li>.......</ul>.......<p>For.a.
b2020 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 73 73 69 62 6c 65 function.that.returns.a.possible
b2040 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .error.code,.use.<code><span.cla
b2060 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
b2080 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="
b20a0 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>)
b20c0 2e 6d 61 74 68 2e 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 .math.divExact</span></code>.</p
b20e0 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
b2100 3e 3c 61 20 68 72 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 ><a.href="#divTrunc">@divTrunc</
b2120 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e a></li>.<li><a.href="#divFloor">
b2140 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 @divFloor</a></li>.</ul>........
b2160 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 46 6c 6f 6f 72 22 3e 3c 61 20 68 72 65 66 .......<h3.id="divFloor"><a.href
b2180 3d 22 23 74 6f 63 2d 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 20 3c ="#toc-divFloor">@divFloor</a>.<
b21a0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e c2 a.class="hdr".href="#divFloor">.
b21c0 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
b21e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
b2200 2d 62 75 69 6c 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 -builtin">@divFloor</span>(numer
b2220 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 54 3c 2f 73 70 61 6e ator:.T,.denominator:.T).T</span
b2240 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 46 ></code></pre>.......<p>.......F
b2260 6c 6f 6f 72 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 20 6e loored.division..Rounds.toward.n
b2280 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 egative.infinity..For.unsigned.i
b22a0 6e 74 65 67 65 72 73 20 69 74 20 69 73 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 ntegers.it.is.......the.same.as.
b22c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d 65 72 61 74 <code><span.class="line">numerat
b22e0 6f 72 20 2f 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 or./.denominator</span></code>..
b2300 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c Caller.guarantees.<code><span.cl
b2320 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 70 61 6e 20 ass="line">denominator.!=.<span.
b2340 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 73 70 61 class="tok-number">0</span></spa
b2360 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
b2380 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 28 3c 73 70 61 6e 20 63 6c 61 e><span.class="line">!(<span.cla
b23a0 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 6e ss="tok-builtin">@typeInfo</span
b23c0 3e 28 54 29 20 3d 3d 20 2e 49 6e 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 >(T).==..Int.<span.class="tok-kw
b23e0 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 54 2e 69 73 5f 73 69 67 6e 65 64 20 3c 73 70 61 6e 20 63 ">and</span>.T.is_signed.<span.c
b2400 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 6e 75 6d 65 72 61 74 lass="tok-kw">and</span>.numerat
b2420 6f 72 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 54 29 20 3c 73 70 61 6e 20 63 or.==.std.math.minInt(T).<span.c
b2440 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 64 65 6e 6f 6d 69 6e lass="tok-kw">and</span>.denomin
b2460 61 74 6f 72 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 62 65 72 ator.==.-<span.class="tok-number
b2480 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 ">1</span>)</span></code>.......
b24a0 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 3c .</p>.......<ul>...........<li><
b24c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
b24e0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 ass="tok-builtin">@divFloor</spa
b2500 6e 3e 28 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 35 3c 2f n>(-<span.class="tok-number">5</
b2520 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">
b2540 33 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 22 74 6f 6b 2d 6e 3</span>).==.-<span.class="tok-n
b2560 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c umber">2</span></span></code></l
b2580 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 61 i>...........<li><code><span.cla
b25a0 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ss="line">(<span.class="tok-buil
b25c0 74 69 6e 22 3e 40 64 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 tin">@divFloor</span>(a,.b).*.b)
b25e0 20 2b 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 6d 6f .+.<span.class="tok-builtin">@mo
b2600 64 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 d</span>(a,.b).==.a</span></code
b2620 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 46 6f 72 20 ></li>.......</ul>.......<p>For.
b2640 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 70 6f 73 73 69 62 a.function.that.returns.a.possib
b2660 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 73 70 61 6e 20 63 le.error.code,.use.<code><span.c
b2680 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
b26a0 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
b26c0 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
b26e0 3e 29 2e 6d 61 74 68 2e 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c >).math.divFloor</span></code>.<
b2700 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>.<
b2720 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 76 54 72 75 6e 63 li><a.href="#divTrunc">@divTrunc
b2740 3c 2f 61 3e 3c 2f 6c 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 </a></li>.<li><a.href="#divExact
b2760 22 3e 40 64 69 76 45 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 ">@divExact</a></li>.</ul>......
b2780 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 54 72 75 6e 63 22 3e 3c 61 20 68 72 .........<h3.id="divTrunc"><a.hr
b27a0 65 66 3d 22 23 74 6f 63 2d 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e ef="#toc-divTrunc">@divTrunc</a>
b27c0 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 54 72 75 6e 63 22 .<a.class="hdr".href="#divTrunc"
b27e0 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><
b2800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b2820 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 3e 28 6e 75 6d ok-builtin">@divTrunc</span>(num
b2840 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 54 3c 2f 73 70 erator:.T,.denominator:.T).T</sp
b2860 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 20 20 an></code></pre>.......<p>......
b2880 20 54 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 .Truncated.division..Rounds.towa
b28a0 72 64 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 rd.zero..For.unsigned.integers.i
b28c0 74 20 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 3c 73 70 t.is.......the.same.as.<code><sp
b28e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d 65 72 61 74 6f 72 20 2f 20 64 65 6e 6f an.class="line">numerator./.deno
b2900 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 minator</span></code>..Caller.gu
b2920 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 arantees.<code><span.class="line
b2940 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">denominator.!=.<span.class="to
b2960 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-number">0</span></span></code>
b2980 20 61 6e 64 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 .and...............<code><span.c
b29a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 lass="line">!(<span.class="tok-b
b29c0 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 20 3d 3d 20 2e uiltin">@typeInfo</span>(T).==..
b29e0 49 6e 74 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 Int.<span.class="tok-kw">and</sp
b2a00 61 6e 3e 20 54 2e 69 73 5f 73 69 67 6e 65 64 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.T.is_signed.<span.class="tok
b2a20 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 6e 75 6d 65 72 61 74 6f 72 20 3d 3d 20 73 74 64 -kw">and</span>.numerator.==.std
b2a40 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .math.minInt(T).<span.class="tok
b2a60 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 2d -kw">and</span>.denominator.==.-
b2a80 3c 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
b2aa0 3e 29 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 >)</span></code>........</p>....
b2ac0 20 20 20 3c 75 6c 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 ...<ul>...........<li><code><spa
b2ae0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
b2b00 62 75 69 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 builtin">@divTrunc</span>(-<span
b2b20 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 73 .class="tok-number">5</span>,.<s
b2b40 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 29 pan.class="tok-number">3</span>)
b2b60 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 62 65 72 22 3e 31 3c .==.-<span.class="tok-number">1<
b2b80 2f 73 70 61 6e 3e 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 /span></span></code></li>.......
b2ba0 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 6c 69 6e 65 22 ....<li><code><span.class="line"
b2bc0 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 69 76 >(<span.class="tok-builtin">@div
b2be0 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 61 6e 20 Trunc</span>(a,.b).*.b).+.<span.
b2c00 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 6e 3e 28 class="tok-builtin">@rem</span>(
b2c20 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 a,.b).==.a</span></code></li>...
b2c40 20 20 20 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 ....</ul>.......<p>For.a.functio
b2c60 6e 20 74 68 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 n.that.returns.a.possible.error.
b2c80 63 6f 64 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 6c 69 6e code,.use.<code><span.class="lin
b2ca0 65 22 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 e"><span.class="tok-builtin">@im
b2cc0 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
b2ce0 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 2e 64 ">&quot;std&quot;</span>).math.d
b2d00 69 76 54 72 75 6e 63 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 ivTrunc</span></code>.</p>......
b2d20 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
b2d40 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>
b2d60 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 61 .<li><a.href="#divExact">@divExa
b2d80 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 20 20 ct</a></li>.</ul>...............
b2da0 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 74 6f .<h3.id="embedFile"><a.href="#to
b2dc0 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 20 63 c-embedFile">@embedFile</a>.<a.c
b2de0 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 a7 3c lass="hdr".href="#embedFile">..<
b2e00 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
b2e20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
b2e40 75 69 6c 74 69 6e 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 uiltin">@embedFile</span>(<span.
b2e60 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 70 class="tok-kw">comptime</span>.p
b2e80 61 74 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 ath:.[]<span.class="tok-kw">cons
b2ea0 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">
b2ec0 75 38 3c 2f 73 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 u8</span>).*<span.class="tok-kw"
b2ee0 3e 63 6f 6e 73 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 >const</span>.[N:<span.class="to
b2f00 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 61 73 73 3d 22 k-number">0</span>]<span.class="
b2f20 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 tok-type">u8</span></span></code
b2f40 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
b2f60 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e ction.returns.a.compile.time.con
b2f80 73 74 61 6e 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 stant.pointer.to.null-terminated
b2fa0 2c 0a 20 20 20 20 20 20 66 69 78 65 64 2d 73 69 7a 65 20 61 72 72 61 79 20 77 69 74 68 20 6c 65 ,.......fixed-size.array.with.le
b2fc0 6e 67 74 68 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 62 79 74 65 20 63 6f 75 6e 74 20 6f 66 20 ngth.equal.to.the.byte.count.of.
b2fe0 74 68 65 20 66 69 6c 65 20 67 69 76 65 6e 20 62 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 the.file.given.by.......<code><s
b3000 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 74 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="line">path</span></co
b3020 64 65 3e 2e 20 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 61 72 72 61 79 20 61 de>..The.contents.of.the.array.a
b3040 72 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 re.the.contents.of.the.file.....
b3060 20 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 3c 61 20 68 72 ...This.is.equivalent.to.a.<a.hr
b3080 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 69 63 6f 64 65 ef="#String-Literals-and-Unicode
b30a0 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 67 20 6c 69 74 -Code-Point-Literals">string.lit
b30c0 65 72 61 6c 3c 2f 61 3e 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 66 69 6c 65 20 63 6f 6e eral</a>.......with.the.file.con
b30e0 74 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 20 tents........</p>.......<p>.....
b3100 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 74 68 3c ..<code><span.class="line">path<
b3120 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 62 73 6f 6c 75 74 65 20 6f 72 20 72 65 6c /span></code>.is.absolute.or.rel
b3140 61 74 69 76 65 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 2c 20 6a 75 73 74 20 ative.to.the.current.file,.just.
b3160 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 like.<code><span.class="line"><s
b3180 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<
b31a0 2f 73 70 61 6e 3e 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 /span></span></code>........</p>
b31c0 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>
b31e0 3c 61 20 68 72 65 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 <a.href="#import">@import</a></l
b3200 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="
b3220 65 6e 75 6d 46 72 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 enumFromInt"><a.href="#toc-enumF
b3240 72 6f 6d 49 6e 74 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 romInt">@enumFromInt</a>.<a.clas
b3260 73 3d 22 68 64 72 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 s="hdr".href="#enumFromInt">..</
b3280 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.
b32a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
b32c0 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 3e 28 69 6e 74 65 67 iltin">@enumFromInt</span>(integ
b32e0 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 79 74 79 70 65 er:.<span.class="tok-kw">anytype
b3300 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 6e </span>).<span.class="tok-kw">an
b3320 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ytype</span></span></code></pre>
b3340 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
b3360 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
b3380 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.
b33a0 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........
b33c0 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.
b33e0 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
b3400 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
b3420 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
b3440 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
b3460 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>.......
b3480 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>
b34a0 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
b34c0 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>.........
b34e0 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.
b3500 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
b3520 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="
b3540 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>......
b3560 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 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
b3580 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
b35a0 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 73 74 64 2e 6d 65 74 61 2e 49 FromInt</span>(value:.std.meta.I
b35c0 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 6f 6b 2d 62 nt(.unsigned,.<span.class="tok-b
b35e0 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
b3600 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 29 20 2a ss="tok-type">anyerror</span>).*
b3620 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
b3640 6e 3e 29 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 61 6e 79 65 n>)).<span.class="tok-type">anye
b3660 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a rror</span></span></code></pre>.
b3680 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 6f 6d 20 74 68 ......<p>.......Converts.from.th
b36a0 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 61 6e 20 65 e.integer.representation.of.an.e
b36c0 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 62 61 6c 2d 45 rror.into.<a.href="#The-Global-E
b36e0 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 53 65 74 3c 2f rror-Set">The.Global.Error.Set</
b3700 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 70 3e 0a 20 20 a>.type........</p>.......<p>...
b3720 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 6e 64 65 64 20 ....It.is.generally.recommended.
b3740 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 73 20 74 68 65 to.avoid.this.......cast,.as.the
b3760 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 61 6e 20 65 72 .integer.representation.of.an.er
b3780 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 75 72 63 65 20 ror.is.not.stable.across.source.
b37a0 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 20 20 20 20 3c code.changes........</p>.......<
b37c0 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 65 72 74 20 61 p>.......Attempting.to.convert.a
b37e0 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 72 65 73 70 6f n.integer.that.does.not.correspo
b3800 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 20 20 20 20 20 nd.to.any.error.results.in......
b3820 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 23 55 6e 64 65 .safety-protected.<a.href="#Unde
b3840 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
b3860 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 53 65 65 20 or</a>........</p>.......<p>See.
b3880 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 69 6e 74 46 also:</p><ul>.<li><a.href="#intF
b38a0 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 3c 2f 6c 69 3e romError">@intFromError</a></li>
b38c0 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 65 72 .</ul>................<h3.id="er
b38e0 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 72 4e 61 6d 65 rorName"><a.href="#toc-errorName
b3900 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 68 64 72 22 20 ">@errorName</a>.<a.class="hdr".
b3920 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 33 3e 0a 0a 20 href="#errorName">..</a></h3>...
b3940 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 6c 69 6e .....<pre><code><span.class="lin
b3960 65 22 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 65 72 e"><span.class="tok-builtin">@er
b3980 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d rorName</span>(err:.<span.class=
b39a0 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 29 20 5b 3a 3c 73 "tok-type">anyerror</span>).[:<s
b39c0 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>]
b39e0 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
b3a00 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
b3a20 6e 3e 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 n></span></code></pre>.......<p>
b3a40 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 74 68 65 .......This.function.returns.the
b3a60 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 6e 20 65 72 72 .string.representation.of.an.err
b3a80 6f 72 2e 20 54 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 20 20 or..The.string.representation...
b3aa0 20 20 20 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....of.<code><span.class="line">
b3ac0 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
b3ae0 3e 2e 4f 75 74 4f 66 4d 65 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 >.OutOfMem</span></code>.is.<cod
b3b00 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
b3b20 3d 22 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 ="tok-str">&quot;OutOfMem&quot;<
b3b40 2f 73 70 61 6e 3e 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 /span></span></code>........</p>
b3b60 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f .......<p>.......If.there.are.no
b3b80 20 63 61 6c 6c 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .calls.to.<code><span.class="lin
b3ba0 65 22 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 65 72 e"><span.class="tok-builtin">@er
b3bc0 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 rorName</span></span></code>.in.
b3be0 61 6e 20 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 an.entire.application,.......or.
b3c00 61 6c 6c 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 all.calls.have.a.compile-time.kn
b3c20 6f 77 6e 20 76 61 6c 75 65 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d own.value.for.<code><span.class=
b3c40 22 6c 69 6e 65 22 3e 65 72 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 6e "line">err</span></code>,.then.n
b3c60 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 20 62 65 o.......error.name.table.will.be
b3c80 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 0a 0a 20 .generated........</p>..........
b3ca0 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 22 3e 3c .....<h3.id="errorReturnTrace"><
b3cc0 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 22 3e 40 a.href="#toc-errorReturnTrace">@
b3ce0 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 3d 22 68 errorReturnTrace</a>.<a.class="h
b3d00 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 c2 a7 3c dr".href="#errorReturnTrace">..<
b3d20 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
b3d40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
b3d60 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e uiltin">@errorReturnTrace</span>
b3d80 28 29 20 3f 2a 62 75 69 6c 74 69 6e 2e 53 74 61 63 6b 54 72 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f ().?*builtin.StackTrace</span></
b3da0 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 66 20 74 code></pre>.......<p>.......If.t
b3dc0 68 65 20 62 69 6e 61 72 79 20 69 73 20 62 75 69 6c 74 20 77 69 74 68 20 65 72 72 6f 72 20 72 65 he.binary.is.built.with.error.re
b3de0 74 75 72 6e 20 74 72 61 63 69 6e 67 2c 20 61 6e 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 turn.tracing,.and.this.function.
b3e00 69 73 20 69 6e 76 6f 6b 65 64 20 69 6e 20 61 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 is.invoked.in.a.......function.t
b3e20 68 61 74 20 63 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 61 6e 20 65 72 72 hat.calls.a.function.with.an.err
b3e40 6f 72 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 72 65 74 75 72 6e 20 74 79 70 65 2c 20 72 or.or.error.union.return.type,.r
b3e60 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 73 74 61 63 6b 20 74 72 61 63 65 20 6f 62 6a 65 63 eturns.a.......stack.trace.objec
b3e80 74 2e 20 4f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 61 20 68 72 65 66 3d 22 23 6e t..Otherwise.returns.<a.href="#n
b3ea0 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ull">null</a>........</p>.......
b3ec0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 53 65 74 43 61 73 74 22 3e 3c 61 20 68 ........<h3.id="errSetCast"><a.h
b3ee0 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 ref="#toc-errSetCast">@errSetCas
b3f00 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 65 72 72 53 t</a>.<a.class="hdr".href="#errS
b3f20 65 74 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 65 3e etCast">..</a></h3>........<pre>
b3f40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
b3f60 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f lass="tok-builtin">@errSetCast</
b3f80 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
b3fa0 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
b3fc0 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-kw">anytype</span></span></co
b3fe0 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
b4000 74 73 20 61 6e 20 65 72 72 6f 72 20 76 61 6c 75 65 20 66 72 6f 6d 20 6f 6e 65 20 65 72 72 6f 72 ts.an.error.value.from.one.error
b4020 20 73 65 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 .set.to.another.error.set..The.r
b4040 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 65 64 20 72 65 eturn.type.is.the....inferred.re
b4060 73 75 6c 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 sult.type..Attempting.to.convert
b4080 20 61 6e 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 .an.error.which.is.not.in.the.de
b40a0 73 74 69 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 stination.error....set.results.i
b40c0 6e 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 23 55 6e 64 n.safety-protected.<a.href="#Und
b40e0 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 76 efined-Behavior">Undefined.Behav
b4100 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 0a 20 20 20 20 ior</a>........</p>.............
b4120 20 20 3c 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 ..<h3.id="export"><a.href="#toc-
b4140 65 78 70 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 export">@export</a>.<a.class="hd
b4160 72 22 20 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 r".href="#export">..</a></h3>...
b4180 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 6c 69 6e .....<pre><code><span.class="lin
b41a0 65 22 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 65 78 e"><span.class="tok-builtin">@ex
b41c0 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 64 65 63 6c 61 72 61 74 69 6f 6e 2c 20 3c 73 70 61 6e 20 63 port</span>(declaration,.<span.c
b41e0 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 6f 70 lass="tok-kw">comptime</span>.op
b4200 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 45 78 70 6f 72 74 4f 70 74 69 6f 6e 73 tions:.std.builtin.ExportOptions
b4220 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
b4240 70 61 6e 3e 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 pan></span></code></pre>.......<
b4260 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 74 68 65 p>.......Creates.a.symbol.in.the
b4280 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 70 3e 0a .output.object.file........</p>.
b42a0 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 74 69 6f ......<p>.......<code>declaratio
b42c0 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 68 69 6e n</code>.must.be.one.of.two.thin
b42e0 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 20 20 20 gs:.......</p>.......<ul>.......
b4300 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 3c 73 70 61 6e ..<li>An.identifier.(<code><span
b4320 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 .class="line">x</span></code>).i
b4340 64 65 6e 74 69 66 79 69 6e 67 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 dentifying.a.<a.href="#Functions
b4360 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 61 ">function</a>.or.a...........<a
b4380 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 6c 65 .href="#Container-Level-Variable
b43a0 73 22 3e 76 61 72 69 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c s">variable</a>.</li>.........<l
b43c0 69 3e 46 69 65 6c 64 20 61 63 63 65 73 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 i>Field.access.(<code><span.clas
b43e0 73 3d 22 6c 69 6e 65 22 3e 78 2e 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 6c 6f 6f 6b s="line">x.y</span></code>).look
b4400 69 6e 67 20 75 70 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 ing.up.a.<a.href="#Functions">fu
b4420 6e 63 74 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 nction</a>.or.a...........<a.hre
b4440 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 6c 65 73 22 3e 76 f="#Container-Level-Variables">v
b4460 61 72 69 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ariable</a>.</li>.......</ul>...
b4480 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 63 61 6e 20 62 ....<p>.......This.builtin.can.b
b44a0 65 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 e.called.from.a.<a.href="#compti
b44c0 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 20 74 6f 20 63 6f 6e 64 69 74 me">comptime</a>.block.to.condit
b44e0 69 6f 6e 61 6c 6c 79 20 65 78 70 6f 72 74 20 73 79 6d 62 6f 6c 73 2e 0a 20 20 20 20 20 20 57 68 ionally.export.symbols........Wh
b4500 65 6e 20 3c 63 6f 64 65 3e 64 65 63 6c 61 72 61 74 69 6f 6e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 en.<code>declaration</code>.is.a
b4520 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 43 20 63 61 6c 6c 69 6e 67 20 63 6f 6e .function.with.the.C.calling.con
b4540 76 65 6e 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c vention.and.......<code><span.cl
b4560 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 73 2e 6c 69 6e 6b 61 67 65 3c 2f 73 70 61 6e ass="line">options.linkage</span
b4580 3e 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 6c ></code>.is.<code><span.class="l
b45a0 69 6e 65 22 3e 53 74 72 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 69 73 20 ine">Strong</span></code>,.this.
b45c0 69 73 20 65 71 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 is.equivalent.to.......the.<code
b45e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
b4600 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-kw">export</span></span></c
b4620 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 3a ode>.keyword.used.on.a.function:
b4640 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
b4660 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
b4680 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 74 s="file">export_builtin.zig</cit
b46a0 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.
b46c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
b46e0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">comptime</span>.{</span>.<span
b4700 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
b4720 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 69 6e 74 65 72 ok-builtin">@export</span>(inter
b4740 6e 61 6c 4e 61 6d 65 2c 20 2e 7b 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nalName,..{..name.=.<span.class=
b4760 22 74 6f 6b 2d 73 74 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 "tok-str">&quot;foo&quot;</span>
b4780 2c 20 2e 6c 69 6e 6b 61 67 65 20 3d 20 2e 53 74 72 6f 6e 67 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a ,..linkage.=..Strong.});</span>.
b47a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
b47c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
b47e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
b4800 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 69 6e n</span>.<span.class="tok-fn">in
b4820 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 63 6c 61 73 73 3d ternalName</span>().<span.class=
b4840 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 43 29 20 3c 73 70 "tok-kw">callconv</span>(.C).<sp
b4860 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>.
b4880 7b 7d 3c 2f 73 70 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 {}</span></code></pre></figure><
b48a0 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-
b48c0 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
b48e0 70 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 p>$.<kbd>zig.build-obj.export_bu
b4900 69 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 iltin.zig</kbd>.</samp></pre></f
b4920 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
b4940 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
b4960 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
b4980 3d 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 ="file">export_builtin_equivalen
b49a0 74 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 t_code.zig</cite></figcaption><p
b49c0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
b49e0 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>.<
b4a00 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
b4a20 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 29 20 pan.class="tok-fn">foo</span>().
b4a40 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
b4a60 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 n>.{}</span></code></pre></figur
b4a80 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
b4aa0 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><
b4ac0 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 78 70 6f 72 74 samp>$.<kbd>zig.build-obj.export
b4ae0 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 67 3c 2f 6b 62 _builtin_equivalent_code.zig</kb
b4b00 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 20 d>.</samp></pre></figure>.......
b4b20 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 67 20 3c 63 6f <p>Note.that.even.when.using.<co
b4b40 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
b4b60 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 73 70 61 6e 3e 3c s="tok-kw">export</span></span><
b4b80 2f 63 6f 64 65 3e 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c /code>,.the.<code><span.class="l
b4ba0 69 6e 65 22 3e 40 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ine">@&quot;foo&quot;</span></co
b4bc0 64 65 3e 20 73 79 6e 74 61 78 20 66 6f 72 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 de>.syntax.for.......<a.href="#I
b4be0 64 65 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 20 63 61 6e 20 dentifiers">identifiers</a>.can.
b4c00 62 65 20 75 73 65 64 20 74 6f 20 63 68 6f 6f 73 65 20 61 6e 79 20 73 74 72 69 6e 67 20 66 6f 72 be.used.to.choose.any.string.for
b4c20 20 74 68 65 20 73 79 6d 62 6f 6c 20 6e 61 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 .the.symbol.name:</p>.......<fig
b4c40 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">
b4c60 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 78 70 6f 72 74 5f 61 6e 79 5f 73 79 <cite.class="file">export_any_sy
b4c80 6d 62 6f 6c 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 6f 6e mbol_name.zig</cite></figcaption
b4ca0 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 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
b4cc0 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
b4ce0 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>
b4d00 20 3c 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 .<span.class="tok-fn">@&quot;A.f
b4d20 75 6e 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 unction.name.that.is.a.complete.
b4d40 73 65 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 sentence.&quot;</span>().<span.c
b4d60 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 7d 3c 2f lass="tok-type">void</span>.{}</
b4d80 73 70 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 span></code></pre></figure><figu
b4da0 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"
b4dc0 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>$.
b4de0 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 61 6e 79 5f 73 79 <kbd>zig.build-obj.export_any_sy
b4e00 6d 62 6f 6c 5f 6e 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 mbol_name.zig</kbd>.</samp></pre
b4e20 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 57 68 65 6e 20 ></figure>.......<p>.......When.
b4e40 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6f 62 6a 65 63 74 2c looking.at.the.resulting.object,
b4e60 20 79 6f 75 20 63 61 6e 20 73 65 65 20 74 68 65 20 73 79 6d 62 6f 6c 20 69 73 20 75 73 65 64 20 .you.can.see.the.symbol.is.used.
b4e80 76 65 72 62 61 74 69 6d 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e verbatim:.......</p>.......<pre>
b4ea0 3c 63 6f 64 65 3e 30 30 30 30 30 30 30 30 30 30 30 30 30 31 66 30 20 54 20 41 20 66 75 6e 63 74 <code>00000000000001f0.T.A.funct
b4ec0 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 6e 74 ion.name.that.is.a.complete.sent
b4ee0 65 6e 63 65 2e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 ence.</code></pre>.......<p>See.
b4f00 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 45 78 70 6f also:</p><ul>.<li><a.href="#Expo
b4f20 72 74 69 6e 67 2d 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 rting-a-C-Library">Exporting.a.C
b4f40 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a .Library</a></li>.</ul>.........
b4f60 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 22 3e 3c 61 20 68 72 65 66 3d 22 .......<h3.id="extern"><a.href="
b4f80 23 74 6f 63 2d 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 #toc-extern">@extern</a>.<a.clas
b4fa0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 s="hdr".href="#extern">..</a></h
b4fc0 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
b4fe0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-builtin
b5000 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 61 73 73 3d ">@extern</span>(T:.<span.class=
b5020 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
b5040 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 6f 70 74 ass="tok-kw">comptime</span>.opt
b5060 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 6f 6e 73 29 ions:.std.builtin.ExternOptions)
b5080 20 54 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 .T</span></code></pre>.......<p>
b50a0 0a 20 20 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 .......Creates.a.reference.to.an
b50c0 20 65 78 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 .external.symbol.in.the.output.o
b50e0 62 6a 65 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 bject.file........T.must.be.a.po
b5100 69 6e 74 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 inter.type........</p>.......<p>
b5120 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="#
b5140 65 78 70 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 export">@export</a></li>.</ul>..
b5160 20 20 20 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 ..............<h3.id="fence"><a.
b5180 68 72 65 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 href="#toc-fence">@fence</a>.<a.
b51a0 63 6c 61 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 class="hdr".href="#fence">..</a>
b51c0 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
b51e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
b5200 74 69 6e 22 3e 40 66 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 tin">@fence</span>(order:.Atomic
b5220 4f 72 64 65 72 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 Order).<span.class="tok-type">vo
b5240 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 id</span></span></code></pre>...
b5260 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 61 6e 20 63 6c ....<p>.......The.<code><span.cl
b5280 61 73 73 3d 22 6c 69 6e 65 22 3e 66 65 6e 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 ass="line">fence</span></code>.f
b52a0 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 69 6e 74 72 6f 64 75 63 65 20 68 61 70 unction.is.used.to.introduce.hap
b52c0 70 65 6e 73 2d 62 65 66 6f 72 65 20 65 64 67 65 73 20 62 65 74 77 65 65 6e 20 6f 70 65 72 61 74 pens-before.edges.between.operat
b52e0 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 3e 0a 20 20 20 20 20 ions........</p>.......<p>......
b5300 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 74 6f 6d 69 63 .<code><span.class="line">Atomic
b5320 4f 72 64 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 Order</span></code>.can.be.found
b5340 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 6c 69 6e 65 22 3e 3c .with.<code><span.class="line"><
b5360 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
b5380 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
b53a0 75 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 uot;std&quot;</span>).builtin.At
b53c0 6f 6d 69 63 4f 72 64 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c omicOrder</span></code>........<
b53e0 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>.<
b5400 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 69 li><a.href="#atomicStore">@atomi
b5420 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 74 cStore</a></li>.<li><a.href="#at
b5440 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 3c omicLoad">@atomicLoad</a></li>.<
b5460 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 63 52 li><a.href="#atomicRmw">@atomicR
b5480 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 63 6d 70 78 63 68 mw</a></li>.<li><a.href="#cmpxch
b54a0 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 6c 69 gWeak">@cmpxchgWeak</a></li>.<li
b54c0 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 78 63 ><a.href="#cmpxchgStrong">@cmpxc
b54e0 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 20 0a hgStrong</a></li>.</ul>.........
b5500 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 68 72 65 66 3d 22 23 .......<h3.id="field"><a.href="#
b5520 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 63 6c 61 73 73 3d 22 toc-field">@field</a>.<a.class="
b5540 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 3c 2f 68 33 3e 0a 0a hdr".href="#field">..</a></h3>..
b5560 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 6c 69 ......<pre><code><span.class="li
b5580 6e 65 22 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 ne"><span.class="tok-builtin">@f
b55a0 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 6c 68 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ield</span>(lhs:.<span.class="to
b55c0 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">anytype</span>,.<span.clas
b55e0 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 64 s="tok-kw">comptime</span>.field
b5600 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 6f _name:.[]<span.class="tok-kw">co
b5620 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 65 nst</span>.<span.class="tok-type
b5640 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 28 66 69 65 6c 64 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ">u8</span>).(field)</span></cod
b5660 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 50 65 72 66 6f 72 6d 73 20 66 69 65 6c 64 e></pre>.......<p>Performs.field
b5680 20 61 63 63 65 73 73 20 62 79 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 73 74 72 69 6e 67 .access.by.a.compile-time.string
b56a0 2e 20 57 6f 72 6b 73 20 6f 6e 20 62 6f 74 68 20 66 69 65 6c 64 73 20 61 6e 64 20 64 65 63 6c 61 ..Works.on.both.fields.and.decla
b56c0 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 3c 66 69 67 75 72 rations........</p>.......<figur
b56e0 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
b5700 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 69 65 6c 64 5f 62 75 69 6c ite.class="file">test_field_buil
b5720 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 3e tin.zig</cite></figcaption><pre>
b5740 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
b5760 6c 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.=
b5780 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
b57a0 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">
b57c0 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 73 70 61 6e 3e 0a &quot;std&quot;</span>);</span>.
b57e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
b5800 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
b5820 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 63 6c w">const</span>.Point.=.<span.cl
b5840 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 3c 2f 73 70 ass="tok-kw">struct</span>.{</sp
b5860 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 an>.<span.class="line">....x:.<s
b5880 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>,
b58a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 </span>.<span.class="line">....y
b58c0 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
b58e0 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c an>,</span>.<span.class="line"><
b5900 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
b5920 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
b5940 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 7a 3a pan.class="tok-kw">var</span>.z:
b5960 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
b5980 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 3c n>.=.<span.class="tok-number">1<
b59a0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
b59c0 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ">};</span>.<span.class="line"><
b59e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
b5a00 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
b5a20 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 61 63 63 .class="tok-str">&quot;field.acc
b5a40 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 20 7b 3c 2f 73 70 ess.by.string&quot;</span>.{</sp
b5a60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
b5a80 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
b5aa0 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 3c 2f 73 70 61 6e 3e ect.=.std.testing.expect;</span>
b5ac0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
b5ae0 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 20 3d 20 50 6f 69 6e ass="tok-kw">var</span>.p.=.Poin
b5b00 74 7b 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 62 65 72 22 t{..x.=.<span.class="tok-number"
b5b20 3e 30 3c 2f 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 >0</span>,..y.=.<span.class="tok
b5b40 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">0</span>.};</span>.<spa
b5b60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
b5b80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ss="line">....<span.class="tok-b
b5ba0 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 63 uiltin">@field</span>(p,.<span.c
b5bc0 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 70 lass="tok-str">&quot;x&quot;</sp
b5be0 61 6e 3e 29 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 an>).=.<span.class="tok-number">
b5c00 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 4</span>;</span>.<span.class="li
b5c20 6e 65 22 3e 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 ne">....<span.class="tok-builtin
b5c40 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 63 6c 61 73 73 3d 22 ">@field</span>(p,.<span.class="
b5c60 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d tok-str">&quot;y&quot;</span>).=
b5c80 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 66 69 65 6c .<span.class="tok-builtin">@fiel
b5ca0 64 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 d</span>(p,.<span.class="tok-str
b5cc0 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 2b 20 3c 73 70 61 6e 20 ">&quot;x&quot;</span>).+.<span.
b5ce0 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 3c 2f 73 70 class="tok-number">1</span>;</sp
b5d00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
b5d20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
b5d40 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
b5d60 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 3c 2f 73 an.class="tok-builtin">@field</s
b5d80 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 3e 26 71 pan>(p,.<span.class="tok-str">&q
b5da0 75 6f 74 3b 78 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;x&quot;</span>).==.<span.cla
b5dc0 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 3c 2f 73 70 61 6e ss="tok-number">4</span>);</span
b5de0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
b5e00 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(
b5e20 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
b5e40 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"
b5e60 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.
b5e80 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 3c 2f 73 class="tok-number">5</span>);</s
b5ea0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
b5ec0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
b5ee0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
b5f00 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
b5f20 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 63 6c 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e -str">&quot;decl.access.by.strin
b5f40 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c g&quot;</span>.{</span>.<span.cl
b5f60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
b5f80 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
b5fa0 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 sting.expect;</span>.<span.class
b5fc0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
b5fe0 65 22 3e 20 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 e">....<span.class="tok-kw">try<
b6000 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 62 /span>.expect(<span.class="tok-b
b6020 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 20 3c 73 70 uiltin">@field</span>(Point,.<sp
b6040 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 75 6f 74 3b an.class="tok-str">&quot;z&quot;
b6060 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
b6080 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">1</span>);</span>.<span.cla
b60a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
b60c0 69 6e 65 22 3e 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 ine">....<span.class="tok-builti
b60e0 6e 22 3e 40 66 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 n">@field</span>(Point,.<span.cl
b6100 61 73 73 3d 22 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 ass="tok-str">&quot;z&quot;</spa
b6120 6e 3e 29 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 n>).=.<span.class="tok-number">2
b6140 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
b6160 65 22 3e 20 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 e">....<span.class="tok-kw">try<
b6180 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 62 /span>.expect(<span.class="tok-b
b61a0 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 20 3c 73 70 uiltin">@field</span>(Point,.<sp
b61c0 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 75 6f 74 3b an.class="tok-str">&quot;z&quot;
b61e0 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
b6200 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">2</span>);</span>.<span.cla
b6220 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
b6240 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
b6260 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>
b6280 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_
b62a0 66 69 65 6c 64 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 32 20 74 65 73 74 field_builtin.zig</kbd>.1/2.test
b62c0 2e 66 69 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 2e 2e 2e 20 4f 4b 0a 32 2f .field.access.by.string....OK.2/
b62e0 32 20 74 65 73 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 2.test.decl.access.by.string....
b6300 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 3e 3c 2f OK.All.2.tests.passed..</samp></
b6320 70 72 65 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 pre></figure>................<h3
b6340 20 69 64 3d 22 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 .id="fieldParentPtr"><a.href="#t
b6360 6f 63 2d 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 oc-fieldParentPtr">@fieldParentP
b6380 74 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 66 69 65 tr</a>.<a.class="hdr".href="#fie
b63a0 6c 64 50 61 72 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 ldParentPtr">..</a></h3>........
b63c0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
b63e0 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 50 61 pan.class="tok-builtin">@fieldPa
b6400 72 65 6e 74 50 74 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 rentPtr</span>(<span.class="tok-
b6420 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 50 61 72 65 6e 74 54 79 70 65 3a 20 kw">comptime</span>.ParentType:.
b6440 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
b6460 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
b6480 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 6e 20 63 6c 61 e</span>.field_name:.[]<span.cla
b64a0 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
b64c0 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 3c 2f 73 70 61 6e lass="tok-type">u8</span>,</span
b64e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 5f 70 >.<span.class="line">....field_p
b6500 74 72 3a 20 2a 54 29 20 2a 50 61 72 65 6e 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 tr:.*T).*ParentType</span></code
b6520 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 76 65 6e 20 61 20 ></pre>.......<p>.......Given.a.
b6540 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 73 20 74 68 65 20 pointer.to.a.field,.returns.the.
b6560 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 20 20 20 20 20 20 base.pointer.of.a.struct........
b6580 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 66 6c 6f 61 74 </p>...............<h3.id="float
b65a0 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 61 73 74 22 3e 40 Cast"><a.href="#toc-floatCast">@
b65c0 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 72 22 20 68 72 65 floatCast</a>.<a.class="hdr".hre
b65e0 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 0a 0a 20 20 20 20 f="#floatCast">..</a></h3>......
b6600 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 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
b6620 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 6c 6f 61 74 <span.class="tok-builtin">@float
b6640 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 22 Cast</span>(value:.<span.class="
b6660 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 6c tok-kw">anytype</span>).<span.cl
b6680 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 73 70 61 ass="tok-kw">anytype</span></spa
b66a0 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>.......
b66c0 43 6f 6e 76 65 72 74 20 66 72 6f 6d 20 6f 6e 65 20 66 6c 6f 61 74 20 74 79 70 65 20 74 6f 20 61 Convert.from.one.float.type.to.a
b66e0 6e 6f 74 68 65 72 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 73 61 66 65 2c 20 62 75 74 20 6d nother..This.cast.is.safe,.but.m
b6700 61 79 20 63 61 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 ay.cause.the.......numeric.value
b6720 20 74 6f 20 6c 6f 73 65 20 70 72 65 63 69 73 69 6f 6e 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 .to.lose.precision..The.return.t
b6740 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 70 65 2e ype.is.the.inferred.result.type.
b6760 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
b6780 3d 22 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6c ="floatFromInt"><a.href="#toc-fl
b67a0 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 3e 20 3c 61 oatFromInt">@floatFromInt</a>.<a
b67c0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 46 72 6f 6d 49 6e 74 .class="hdr".href="#floatFromInt
b67e0 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>
b6800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
b6820 74 6f 6b 2d 62 75 69 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 tok-builtin">@floatFromInt</span
b6840 3e 28 69 6e 74 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 >(int:.<span.class="tok-kw">anyt
b6860 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 6b 77 22 ype</span>).<span.class="tok-kw"
b6880 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 >anytype</span></span></code></p
b68a0 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 61 6e 20 re>.......<p>.......Converts.an.
b68c0 69 6e 74 65 67 65 72 20 74 6f 20 74 68 65 20 63 6c 6f 73 65 73 74 20 66 6c 6f 61 74 69 6e 67 20 integer.to.the.closest.floating.
b68e0 70 6f 69 6e 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 20 54 68 65 20 72 65 74 75 72 6e point.representation..The.return
b6900 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 70 .type.is.the.inferred.result.typ
b6920 65 2e 0a 09 09 09 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 e.....To.convert.the.other.way,.
b6940 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 46 72 6f 6d 46 6c 6f 61 74 22 3e 40 69 6e 74 use.<a.href="#intFromFloat">@int
b6960 46 72 6f 6d 46 6c 6f 61 74 3c 2f 61 3e 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c 77 61 FromFloat</a>..This.cast.is.alwa
b6980 79 73 20 73 61 66 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 ys.safe........</p>.............
b69a0 20 20 3c 68 33 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 ..<h3.id="frameAddress"><a.href=
b69c0 22 23 74 6f 63 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 "#toc-frameAddress">@frameAddres
b69e0 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 66 72 61 6d s</a>.<a.class="hdr".href="#fram
b6a00 65 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 20 3c 70 72 eAddress">..</a></h3>........<pr
b6a20 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
b6a40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 41 64 64 72 65 .class="tok-builtin">@frameAddre
b6a60 73 73 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 ss</span>().<span.class="tok-typ
b6a80 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 e">usize</span></span></code></p
b6aa0 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 6f re>.......<p>.......This.functio
b6ac0 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 68 n.returns.the.base.pointer.of.th
b6ae0 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 70 e.current.stack.frame........</p
b6b00 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 6f >.......<p>.......The.implicatio
b6b20 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 61 ns.of.this.are.target-specific.a
b6b40 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 20 nd.not.consistent.across.all....
b6b60 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 20 ...platforms..The.frame.address.
b6b80 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 20 may.not.be.available.in.release.
b6ba0 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 74 mode.due.to.......aggressive.opt
b6bc0 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 3e imizations........</p>.......<p>
b6be0 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 6c .......This.function.is.only.val
b6c00 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 20 id.within.function.scope........
b6c20 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 65 </p>...............<h3.id="hasDe
b6c40 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 44 cl"><a.href="#toc-hasDecl">@hasD
b6c60 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 61 ecl</a>.<a.class="hdr".href="#ha
b6c80 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 3c sDecl">..</a></h3>........<pre><
b6ca0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
b6cc0 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 3c 2f 73 70 61 6e ass="tok-builtin">@hasDecl</span
b6ce0 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 65 3c >(<span.class="tok-kw">comptime<
b6d00 2f 73 70 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 /span>.Container:.<span.class="t
b6d20 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 61 73 ok-type">type</span>,.<span.clas
b6d40 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 6e 61 6d 65 3a s="tok-kw">comptime</span>.name:
b6d60 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 2f 73 .[]<span.class="tok-kw">const</s
b6d80 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</
b6da0 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 62 6f span>).<span.class="tok-type">bo
b6dc0 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 ol</span></span></code></pre>...
b6de0 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 74 68 65 72 20 6f 72 ....<p>.......Returns.whether.or
b6e00 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 72 73 22 3e 63 6f 6e .not.a.<a.href="#Containers">con
b6e20 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 69 6f 6e 0a 20 20 20 tainer</a>.has.a.declaration....
b6e40 20 20 20 6d 61 74 63 68 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ...matching.<code><span.class="l
b6e60 69 6e 65 22 3e 6e 61 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 ine">name</span></code>........<
b6e80 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
b6ea0 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"
b6ec0 3e 74 65 73 74 5f 68 61 73 44 65 63 6c 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e >test_hasDecl_builtin.zig</cite>
b6ee0 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
b6f00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
b6f20 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="
b6f40 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
b6f60 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
b6f80 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
b6fa0 69 6e 65 22 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 ine"><span.class="tok-kw">const<
b6fc0 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
b6fe0 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ct;</span>.<span.class="line"></
b7000 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
b7020 6c 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.=
b7040 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
b7060 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
b7080 20 20 20 20 6e 6f 70 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 ....nope:.<span.class="tok-type"
b70a0 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >i32</span>,</span>.<span.class=
b70c0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
b70e0 22 3e 20 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 ">....<span.class="tok-kw">pub</
b7100 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 3c 2f span>.<span.class="tok-kw">var</
b7120 73 70 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 span>.blah.=.<span.class="tok-st
b7140 72 22 3e 26 71 75 6f 74 3b 78 78 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e r">&quot;xxx&quot;</span>;</span
b7160 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
b7180 6c 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 69 20 3d 20 lass="tok-kw">const</span>.hi.=.
b71a0 3c 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
b71c0 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c >;</span>.<span.class="line">};<
b71e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
b7200 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
b7220 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
b7240 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 68 61 73 44 65 63 6c 26 71 75 6f 74 3b s="tok-str">&quot;@hasDecl&quot;
b7260 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
b7280 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">try
b72a0 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-
b72c0 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 20 3c 73 builtin">@hasDecl</span>(Foo,.<s
b72e0 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 6c 61 68 26 71 pan.class="tok-str">&quot;blah&q
b7300 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 uot;</span>));</span>.<span.clas
b7320 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
b7340 6e 65 22 3e 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 ne">....<span.class="tok-comment
b7360 22 3e 2f 2f 20 45 76 65 6e 20 74 68 6f 75 67 68 20 60 68 69 60 20 69 73 20 70 72 69 76 61 74 65 ">//.Even.though.`hi`.is.private
b7380 2c 20 40 68 61 73 44 65 63 6c 20 72 65 74 75 72 6e 73 20 74 72 75 65 20 62 65 63 61 75 73 65 20 ,.@hasDecl.returns.true.because.
b73a0 74 68 69 73 20 74 65 73 74 20 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e this.test.is</span></span>.<span
b73c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
b73e0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 20 ok-comment">//.in.the.same.file.
b7400 73 63 6f 70 65 20 61 73 20 46 6f 6f 2e 20 49 74 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 66 61 scope.as.Foo..It.would.return.fa
b7420 6c 73 65 20 69 66 20 46 6f 6f 20 77 61 73 20 64 65 63 6c 61 72 65 64 3c 2f 73 70 61 6e 3e 3c 2f lse.if.Foo.was.declared</span></
b7440 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
b7460 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 61 20 64 an.class="tok-comment">//.in.a.d
b7480 69 66 66 65 72 65 6e 74 20 66 69 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ifferent.file.</span></span>.<sp
b74a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
b74c0 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
b74e0 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 3c 2f 73 .class="tok-builtin">@hasDecl</s
b7500 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 72 22 3e pan>(Foo,.<span.class="tok-str">
b7520 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a &quot;hi&quot;</span>));</span>.
b7540 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
b7560 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
b7580 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 20 66 6f 72 20 64 ok-comment">//.@hasDecl.is.for.d
b75a0 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 73 70 61 6e 3e 3c eclarations;.not.fields.</span><
b75c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
b75e0 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
b7600 70 65 63 74 28 21 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 pect(!<span.class="tok-builtin">
b7620 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 63 6c 61 73 73 @hasDecl</span>(Foo,.<span.class
b7640 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 ="tok-str">&quot;nope&quot;</spa
b7660 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>));</span>.<span.class="line">
b7680 20 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
b76a0 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 6f 6b 2d 62 75 69 an>.expect(!<span.class="tok-bui
b76c0 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 20 3c 73 70 61 6e ltin">@hasDecl</span>(Foo,.<span
b76e0 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 65 31 32 33 34 26 .class="tok-str">&quot;nope1234&
b7700 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 quot;</span>));</span>.<span.cla
b7720 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
b7740 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
b7760 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>
b7780 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_
b77a0 68 61 73 44 65 63 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 hasDecl_builtin.zig</kbd>.1/1.te
b77c0 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 73 74 73 20 70 61 st.@hasDecl....OK.All.1.tests.pa
b77e0 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>....
b7800 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
b7820 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 2f 61 3e 3c 2f 6c ref="#hasField">@hasField</a></l
b7840 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="
b7860 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 73 46 69 65 6c 64 hasField"><a.href="#toc-hasField
b7880 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 68 64 72 22 20 68 ">@hasField</a>.<a.class="hdr".h
b78a0 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 3e 0a 0a 20 20 20 ref="#hasField">..</a></h3>.....
b78c0 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 6c 69 6e 65 22 ...<pre><code><span.class="line"
b78e0 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 68 61 73 46 ><span.class="tok-builtin">@hasF
b7900 69 65 6c 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 77 22 ield</span>(<span.class="tok-kw"
b7920 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 3c 73 70 61 >comptime</span>.Container:.<spa
b7940 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>,.
b7960 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
b7980 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 77 pan>.name:.[]<span.class="tok-kw
b79a0 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-
b79c0 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 3d 22 74 6f type">u8</span>).<span.class="to
b79e0 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-type">bool</span></span></code
b7a00 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 52 65 74 75 72 6e 73 20 77 68 65 74 68 65 72 ></pre>.......<p>Returns.whether
b7a20 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 6f 66 20 61 20 73 74 72 75 63 74 2c 20 75 6e 69 .the.field.name.of.a.struct,.uni
b7a40 6f 6e 2c 20 6f 72 20 65 6e 75 6d 20 65 78 69 73 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 on,.or.enum.exists.</p>.......<p
b7a60 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 >.......The.result.is.a.compile.
b7a80 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 20 20 20 20 20 time.constant........</p>.......
b7aa0 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 66 75 <p>.......It.does.not.include.fu
b7ac0 6e 63 74 69 6f 6e 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 20 6f 72 20 63 6f 6e 73 74 61 6e 74 73 nctions,.variables,.or.constants
b7ae0 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 3c ........</p>.......<p>See.also:<
b7b00 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 68 61 73 44 65 63 6c 22 3e 40 /p><ul>.<li><a.href="#hasDecl">@
b7b20 68 61 73 44 65 63 6c 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 hasDecl</a></li>.</ul>..........
b7b40 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6d 70 6f 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 ......<h3.id="import"><a.href="#
b7b60 74 6f 63 2d 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 toc-import">@import</a>.<a.class
b7b80 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ="hdr".href="#import">..</a></h3
b7ba0 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=
b7bc0 22 6c 69 6e 65 22 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 "line"><span.class="tok-builtin"
b7be0 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
b7c00 2d 6b 77 22 3e 63 6f 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 -kw">comptime</span>.path:.[]<sp
b7c20 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>.<
b7c40 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>)
b7c60 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
b7c80 61 6e 3e 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 an></span></code></pre>.......<p
b7ca0 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 73 20 61 20 7a 69 >.......This.function.finds.a.zi
b7cc0 67 20 66 69 6c 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 g.file.corresponding.to.<code><s
b7ce0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 74 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="line">path</span></co
b7d00 64 65 3e 20 61 6e 64 20 61 64 64 73 20 69 74 20 74 6f 20 74 68 65 20 62 75 69 6c 64 2c 0a 20 20 de>.and.adds.it.to.the.build,...
b7d20 20 20 20 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 61 64 64 65 64 2e 0a ....if.it.is.not.already.added..
b7d40 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 5a 69 67 20 73 ......</p>.......<p>.......Zig.s
b7d60 6f 75 72 63 65 20 66 69 6c 65 73 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 73 74 72 75 63 ource.files.are.implicitly.struc
b7d80 74 73 2c 20 77 69 74 68 20 61 20 6e 61 6d 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 66 69 6c ts,.with.a.name.equal.to.the.fil
b7da0 65 27 73 20 62 61 73 65 6e 61 6d 65 20 77 69 74 68 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 0a e's.basename.with.the.extension.
b7dc0 20 20 20 20 20 20 74 72 75 6e 63 61 74 65 64 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ......truncated..<code><span.cla
b7de0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
b7e00 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e in">@import</span></span></code>
b7e20 20 72 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 .returns.the.struct.type.corresp
b7e40 6f 6e 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 onding.to.the.file........</p>..
b7e60 20 20 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 .....<p>.......Declarations.whic
b7e80 68 20 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 6c 69 h.have.the.<code><span.class="li
b7ea0 6e 65 22 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 ne"><span.class="tok-kw">pub</sp
b7ec0 61 6e 3e 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 62 65 an></span></code>.keyword.may.be
b7ee0 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 0a 20 20 20 .referenced.from.a.different....
b7f00 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 74 68 65 79 ...source.file.than.the.one.they
b7f20 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 0a 20 20 20 .are.declared.in........</p>....
b7f40 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="
b7f60 6c 69 6e 65 22 3e 70 61 74 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 line">path</span></code>.can.be.
b7f80 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 20 6f 72 20 69 74 20 63 61 6e 20 62 65 20 74 68 65 a.relative.path.or.it.can.be.the
b7fa0 20 6e 61 6d 65 20 6f 66 20 61 20 70 61 63 6b 61 67 65 2e 0a 20 20 20 20 20 20 49 66 20 69 74 20 .name.of.a.package........If.it.
b7fc0 69 73 20 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 2c 20 69 74 20 69 73 20 72 65 6c 61 74 69 is.a.relative.path,.it.is.relati
b7fe0 76 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 ve.to.the.file.that.contains.the
b8000 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
b8020 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
b8040 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 n></span></code>.......function.
b8060 63 61 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 20 20 20 20 call........</p>.......<p>......
b8080 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 61 6c 77 61 .The.following.packages.are.alwa
b80a0 79 73 20 61 76 61 69 6c 61 62 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ys.available:.......</p>.......<
b80c0 75 6c 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 ul>...........<li><code><span.cl
b80e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
b8100 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=
b8120 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>
b8140 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c )</span></code>.-.Zig.Standard.L
b8160 69 62 72 61 72 79 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 ibrary</li>...........<li><code>
b8180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
b81a0 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
b81c0 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 26 n.class="tok-str">&quot;builtin&
b81e0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 54 61 quot;</span>)</span></code>.-.Ta
b8200 72 67 65 74 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 rget-specific.information.......
b8220 20 20 20 20 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 ........The.command.<code>zig.bu
b8240 69 6c 64 2d 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 ild-exe.--show-builtin</code>.ou
b8260 74 70 75 74 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 tputs.the.source.to.stdout.for.r
b8280 65 66 65 72 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 eference............</li>.......
b82a0 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 6c 69 6e 65 22 ....<li><code><span.class="line"
b82c0 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
b82e0 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">
b8300 26 71 75 6f 74 3b 72 6f 6f 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c &quot;root&quot;</span>)</span><
b8320 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 20 20 /code>.-.Root.source.file.......
b8340 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 73 72 ........This.is.usually.<code>sr
b8360 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 6f 6e c/main.zig</code>.but.depends.on
b8380 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 20 3c .what.file.is.built............<
b83a0 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 61 6c /li>.......</ul>.......<p>See.al
b83c0 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 69 6c so:</p><ul>.<li><a.href="#Compil
b83e0 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 3c 2f e-Variables">Compile.Variables</
b8400 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 65 22 a></li>.<li><a.href="#embedFile"
b8420 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 20 20 >@embedFile</a></li>.</ul>......
b8440 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 3c 61 ..........<h3.id="inComptime"><a
b8460 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 70 74 .href="#toc-inComptime">@inCompt
b8480 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 69 6e ime</a>.<a.class="hdr".href="#in
b84a0 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 70 72 Comptime">..</a></h3>........<pr
b84c0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
b84e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 43 6f 6d 70 74 69 6d 65 .class="tok-builtin">@inComptime
b8500 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"
b8520 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e >bool</span></span></code></pre>
b8540 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 74 68 65 72 .......<p>.......Returns.whether
b8560 20 74 68 65 20 62 75 69 6c 74 69 6e 20 77 61 73 20 72 75 6e 20 69 6e 20 61 20 3c 63 6f 64 65 3e .the.builtin.was.run.in.a.<code>
b8580 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
b85a0 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 73 70 61 6e 3e 3c 2f tok-kw">comptime</span></span></
b85c0 63 6f 64 65 3e 20 63 6f 6e 74 65 78 74 2e 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 code>.context..The.result.is.a.c
b85e0 6f 6d 70 69 6c 65 2d 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 ompile-time.constant........</p>
b8600 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 .......<p>.......This.can.be.use
b8620 64 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6c 74 65 72 6e 61 74 69 76 65 2c 20 63 6f 6d 70 74 69 d.to.provide.alternative,.compti
b8640 6d 65 2d 66 72 69 65 6e 64 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 6f 66 20 66 me-friendly.implementations.of.f
b8660 75 6e 63 74 69 6f 6e 73 2e 20 49 74 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 2c unctions..It.should.not.be.used,
b8680 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 74 6f 20 65 78 63 6c 75 64 65 20 63 65 72 74 61 69 .for.instance,.to.exclude.certai
b86a0 6e 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 62 65 69 6e 67 20 65 76 61 6c 75 61 74 65 64 n.functions.from.being.evaluated
b86c0 20 61 74 20 63 6f 6d 70 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .at.comptime........</p>.......<
b86e0 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=
b8700 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>.</
b8720 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 43 61 ul>................<h3.id="intCa
b8740 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 st"><a.href="#toc-intCast">@intC
b8760 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 23 69 6e ast</a>.<a.class="hdr".href="#in
b8780 74 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 65 3e 3c tCast">..</a></h3>........<pre><
b87a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
b87c0 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 70 61 6e ass="tok-builtin">@intCast</span
b87e0 3e 28 69 6e 74 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 >(int:.<span.class="tok-kw">anyt
b8800 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 6b 77 22 ype</span>).<span.class="tok-kw"
b8820 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 >anytype</span></span></code></p
b8840 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 61 6e 20 re>.......<p>.......Converts.an.
b8860 69 6e 74 65 67 65 72 20 74 6f 20 61 6e 6f 74 68 65 72 20 69 6e 74 65 67 65 72 20 77 68 69 6c 65 integer.to.another.integer.while
b8880 20 6b 65 65 70 69 6e 67 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 65 72 69 63 61 6c 20 76 61 6c 75 .keeping.the.same.numerical.valu
b88a0 65 2e 0a 09 09 09 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 e.....The.return.type.is.the.inf
b88c0 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 41 74 74 65 6d 70 74 erred.result.type........Attempt
b88e0 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 20 6e 75 6d 62 65 72 20 77 68 69 63 68 20 69 73 ing.to.convert.a.number.which.is
b8900 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 6e 61 74 69 6f 6e .out.of.range.of.the.destination
b8920 20 74 79 70 65 20 72 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 70 72 .type.results.in.......safety-pr
b8940 6f 74 65 63 74 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 otected.<a.href="#Undefined-Beha
b8960 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 2e 0a 20 20 vior">Undefined.Behavior</a>....
b8980 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
b89a0 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="
b89c0 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 74 43 61 73 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f file">test_intCast_builtin.zig</
b89e0 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
b8a00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
b8a20 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
b8a40 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 26 k-str">&quot;integer.cast.panic&
b8a60 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>.{</span>.<span.clas
b8a80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
b8aa0 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
b8ac0 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 20 63 6c 61 73 73 3d -type">u16</span>.=.<span.class=
b8ae0 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 3e 3b 3c 2f 73 70 61 "tok-number">0xabcd</span>;</spa
b8b00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
b8b20 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 3c 73 70 class="tok-kw">var</span>.b:.<sp
b8b40 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 20 an.class="tok-type">u8</span>.=.
b8b60 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
b8b80 73 74 3c 2f 73 70 61 6e 3e 28 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 st</span>(a);</span>.<span.class
b8ba0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ="line">...._.=.b;</span>.<span.
b8bc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
b8be0 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
b8c00 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
b8c20 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
b8c40 73 74 5f 69 6e 74 43 61 73 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 st_intCast_builtin.zig</kbd>.1/1
b8c60 20 74 65 73 74 2e 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 2e 2e 2e 20 74 68 72 65 .test.integer.cast.panic....thre
b8c80 61 64 20 32 34 35 35 33 34 30 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 63 61 73 74 20 74 ad.2455340.panic:.integer.cast.t
b8ca0 72 75 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 runcated.bits./home/ci/actions-r
b8cc0 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
b8ce0 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 69 6e 74 43 61 73 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 cgen_tmp/test_intCast_builtin.zi
b8d00 67 3a 33 3a 31 37 3a 20 30 78 32 32 34 31 63 37 20 69 6e 20 74 65 73 74 2e 69 6e 74 65 67 65 72 g:3:17:.0x2241c7.in.test.integer
b8d20 20 63 61 73 74 20 70 61 6e 69 63 20 28 74 65 73 74 29 0a 20 20 20 20 76 61 72 20 62 3a 20 75 38 .cast.panic.(test).....var.b:.u8
b8d40 20 3d 20 40 69 6e 74 43 61 73 74 28 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .=.@intCast(a);.................
b8d60 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/
b8d80 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 74 zig-bootstrap/out/host/lib/zig/t
b8da0 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 32 32 64 33 64 39 20 est_runner.zig:176:28:.0x22d3d9.
b8dc0 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 20 20 20 20 20 7d in.mainTerminal.(test).........}
b8de0 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 .else.test_fn.func();...........
b8e00 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
b8e20 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
b8e40 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a ut/host/lib/zig/test_runner.zig:
b8e60 33 36 3a 32 38 3a 20 30 78 32 32 35 32 32 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 0a 20 36:28:.0x22522a.in.main.(test)..
b8e80 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 0a 20 20 .......return.mainTerminal();...
b8ea0 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 65 .........................^./home
b8ec0 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
b8ee0 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
b8f00 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 34 37 30 32 20 69 6e 20 70 6f 73 69 78 43 t.zig:564:22:.0x224702.in.posixC
b8f20 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 20 20 20 20 allMainAndExit.(test)...........
b8f40 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 20 20 20 ..root.main();..................
b8f60 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
b8f80 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
b8fa0 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 32 34 32 35 31 ig/std/start.zig:243:5:.0x224251
b8fc0 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
b8fe0 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).{.....^
b9000 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
b9020 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
b9040 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
b9060 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-
b9080 63 61 63 68 65 2f 6f 2f 33 34 62 63 61 39 37 30 66 32 32 31 35 66 65 61 66 65 61 64 37 34 31 32 cache/o/34bca970f2215feafead7412
b90a0 62 61 63 62 33 61 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 bacb3a2c/test.</samp></pre></fig
b90c0 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 6e 63 61 74 65 ure>.......<p>.......To.truncate
b90e0 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 6e 75 6d 62 65 .the.significant.bits.of.a.numbe
b9100 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 6e 61 74 69 6f r.out.of.range.of.the.destinatio
b9120 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 61 74 65 22 3e n.type,.use.<a.href="#truncate">
b9140 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 20 20 20 20 20 @truncate</a>........</p>.......
b9160 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <p>.......If.<code><span.class="
b9180 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c line">T</span></code>.is.<code><
b91a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b91c0 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 73 70 ok-type">comptime_int</span></sp
b91e0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 74 68 65 6e 20 74 68 69 73 20 69 73 20 73 an></code>,.......then.this.is.s
b9200 65 6d 61 6e 74 69 63 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 61 20 68 72 65 emantically.equivalent.to.<a.hre
b9220 66 3d 22 23 54 79 70 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 f="#Type-Coercion">Type.Coercion
b9240 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>...............<
b9260 68 33 20 69 64 3d 22 69 6e 74 46 72 6f 6d 42 6f 6f 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f h3.id="intFromBool"><a.href="#to
b9280 63 2d 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 61 3e 20 c-intFromBool">@intFromBool</a>.
b92a0 3c 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 42 6f 6f <a.class="hdr".href="#intFromBoo
b92c0 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 3c 63 6f 64 65 l">..</a></h3>........<pre><code
b92e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
b9300 22 74 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 "tok-builtin">@intFromBool</span
b9320 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 74 79 70 65 22 3e >(value:.<span.class="tok-type">
b9340 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 79 bool</span>).<span.class="tok-ty
b9360 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 pe">u1</span></span></code></pre
b9380 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 64 65 >.......<p>.......Converts.<code
b93a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
b93c0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-null">true</span></span></c
b93e0 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ode>.to.<code><span.class="line"
b9400 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</
b9420 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 31 3c span>(<span.class="tok-type">u1<
b9440 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"
b9460 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f >1</span>)</span></code>.and.<co
b9480 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
b94a0 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 73 70 61 6e 3e s="tok-null">false</span></span>
b94c0 3c 2f 63 6f 64 65 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f </code>.to...................<co
b94e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
b9500 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
b9520 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-type">u1</span>,.<sp
b9540 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 3c an.class="tok-number">0</span>)<
b9560 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 20 /span></code>........</p>.......
b9580 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 46 72 6f 6d 45 6e 75 6d 22 3e 3c 61 20 ........<h3.id="intFromEnum"><a.
b95a0 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 46 72 6f 6d 45 6e 75 6d 22 3e 40 69 6e 74 46 72 6f 6d href="#toc-intFromEnum">@intFrom
b95c0 45 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 69 Enum</a>.<a.class="hdr".href="#i
b95e0 6e 74 46 72 6f 6d 45 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 ntFromEnum">..</a></h3>........<
b9600 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
b9620 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 6f 6d 45 an.class="tok-builtin">@intFromE
b9640 6e 75 6d 3c 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 num</span>(enum_or_tagged_union:
b9660 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 73 .<span.class="tok-kw">anytype</s
b9680 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 79 pan>).<span.class="tok-kw">anyty
b96a0 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 pe</span></span></code></pre>...
b96c0 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 65 6e 75 6d 65 72 ....<p>.......Converts.an.enumer
b96e0 61 74 69 6f 6e 20 76 61 6c 75 65 20 69 6e 74 6f 20 69 74 73 20 69 6e 74 65 67 65 72 20 74 61 67 ation.value.into.its.integer.tag
b9700 20 74 79 70 65 2e 20 57 68 65 6e 20 61 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 73 20 70 61 .type..When.a.tagged.union.is.pa
b9720 73 73 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 74 61 67 20 76 61 6c 75 65 20 69 73 20 75 73 65 ssed,.......the.tag.value.is.use
b9740 64 20 61 73 20 74 68 65 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 20 20 20 20 d.as.the.enumeration.value......
b9760 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 65 72 65 20 ..</p>.......<p>.......If.there.
b9780 69 73 20 6f 6e 6c 79 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 65 6e 75 6d 20 76 61 6c 75 65 2c is.only.one.possible.enum.value,
b97a0 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .the.result.is.a.<code><span.cla
b97c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ss="line"><span.class="tok-type"
b97e0 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 >comptime_int</span></span></cod
b9800 65 3e 0a 20 20 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 e>.......known.at.<a.href="#comp
b9820 74 69 6d 65 22 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 time">comptime</a>........</p>..
b9840 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 61 .....<p>See.also:</p><ul>.<li><a
b9860 20 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 .href="#enumFromInt">@enumFromIn
b9880 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>................
b98a0 3c 68 33 20 69 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 <h3.id="intFromError"><a.href="#
b98c0 74 6f 63 2d 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 toc-intFromError">@intFromError<
b98e0 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 6e 74 46 72 6f /a>.<a.class="hdr".href="#intFro
b9900 6d 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 mError">..</a></h3>........<pre>
b9920 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
b9940 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 72 72 6f 72 lass="tok-builtin">@intFromError
b9960 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 </span>(err:.<span.class="tok-kw
b9980 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 73 74 64 2e 6d 65 74 61 2e 49 6e 74 28 2e ">anytype</span>).std.meta.Int(.
b99a0 75 6e 73 69 67 6e 65 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 unsigned,.<span.class="tok-built
b99c0 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 73 73 3d 22 in">@sizeOf</span>(<span.class="
b99e0 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 29 20 2a 20 3c 73 70 tok-type">anyerror</span>).*.<sp
b9a00 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 6e 3e 29 3c an.class="tok-number">8</span>)<
b9a20 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>...
b9a40 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
b9a60 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>.........
b9a80 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
b9aa0 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></
b9ac0 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
b9ae0 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></
b9b00 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
b9b20 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</
b9b40 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>...
b9b60 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
b9b80 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.
b9ba0 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
b9bc0 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
b9be0 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
b9c00 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
b9c20 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
b9c40 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
b9c60 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
b9c80 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>.<
b9ca0 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
b9cc0 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
b9ce0 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
b9d00 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">..</
b9d20 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.
b9d40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
b9d60 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 66 6c 6f 61 iltin">@intFromFloat</span>(floa
b9d80 74 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 t:.<span.class="tok-kw">anytype<
b9da0 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 6e 79 /span>).<span.class="tok-kw">any
b9dc0 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a type</span></span></code></pre>.
b9de0 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 68 65 20 69 6e 74 ......<p>.......Converts.the.int
b9e00 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 69 6e 74 20 6e 75 eger.part.of.a.floating.point.nu
b9e20 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 74 20 74 79 70 65 mber.to.the.inferred.result.type
b9e40 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 66 20 ........</p>.......<p>.......If.
b9e60 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 6f 61 74 69 6e 67 the.integer.part.of.the.floating
b9e80 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 6e 20 74 68 65 20 .point.number.cannot.fit.in.the.
b9ea0 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 20 69 6e 76 6f 6b destination.type,.......it.invok
b9ec0 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 64 65 es.safety-checked.<a.href="#Unde
b9ee0 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
b9f00 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 53 65 65 20 or</a>........</p>.......<p>See.
b9f20 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 66 6c 6f 61 also:</p><ul>.<li><a.href="#floa
b9f40 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 3e 3c 2f 6c 69 3e tFromInt">@floatFromInt</a></li>
b9f60 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 69 6e .</ul>................<h3.id="in
b9f80 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 74 46 72 6f 6d 50 tFromPtr"><a.href="#toc-intFromP
b9fa0 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 73 73 3d 22 68 64 tr">@intFromPtr</a>.<a.class="hd
b9fc0 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 61 3e 3c 2f 68 33 r".href="#intFromPtr">..</a></h3
b9fe0 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=
ba000 22 6c 69 6e 65 22 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 "line"><span.class="tok-builtin"
ba020 3e 40 69 6e 74 46 72 6f 6d 50 74 72 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e >@intFromPtr</span>(value:.<span
ba040 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>).
ba060 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
ba080 61 6e 3e 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 an></span></code></pre>.......<p
ba0a0 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 61 >.......Converts.<code><span.cla
ba0c0 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f ss="line">value</span></code>.to
ba0e0 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 .a.<code><span.class="line"><spa
ba100 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 3c n.class="tok-type">usize</span><
ba120 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 69 63 68 20 69 73 20 74 68 65 20 61 64 64 72 65 /span></code>.which.is.the.addre
ba140 73 73 20 6f 66 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c ss.of.the.pointer........<code><
ba160 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f span.class="line">value</span></
ba180 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 code>.can.be.<code><span.class="
ba1a0 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e line">*T</span></code>.or.<code>
ba1c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 <span.class="line">?*T</span></c
ba1e0 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 54 6f 20 63 6f 6e ode>........</p>.......<p>To.con
ba200 76 65 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 vert.the.other.way,.use.<a.href=
ba220 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 3c 2f 70 "#ptrFromInt">@ptrFromInt</a></p
ba240 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 61 78 22 3e 3c 61 20 >...............<h3.id="max"><a.
ba260 68 72 65 66 3d 22 23 74 6f 63 2d 6d 61 78 22 3e 40 6d 61 78 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 href="#toc-max">@max</a>.<a.clas
ba280 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 61 78 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a s="hdr".href="#max">..</a></h3>.
ba2a0 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 6c .......<pre><code><span.class="l
ba2c0 69 6e 65 22 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 ine"><span.class="tok-builtin">@
ba2e0 6d 61 78 3c 2f 73 70 61 6e 3e 28 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c max</span>(a:.T,.b:.T).T</span><
ba300 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
ba320 75 72 6e 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e urns.the.maximum.value.of.<code>
ba340 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">a</span></cod
ba360 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e>.and.<code><span.class="line">
ba380 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 61 63 b</span></code>..This.builtin.ac
ba3a0 63 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 cepts.integers,.floats,.and.vect
ba3c0 6f 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 ors.of.either..In.the.latter.cas
ba3e0 65 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 e,.the.operation.is.performed.el
ba400 65 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 ement.wise........</p>.......<p>
ba420 0a 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 .......NaNs.are.handled.as.follo
ba440 77 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 ws:.if.one.of.the.operands.of.a.
ba460 28 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 (pairwise).operation.is.NaN,.the
ba480 20 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 .other.operand.is.returned..If.b
ba4a0 6f 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 oth.operands.are.NaN,.NaN.is.ret
ba4c0 75 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 urned........</p>.......<p>See.a
ba4e0 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 6d 69 6e 22 3e lso:</p><ul>.<li><a.href="#min">
ba500 40 6d 69 6e 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 @min</a></li>.<li><a.href="#Vect
ba520 6f 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 ors">Vectors</a></li>.</ul>.....
ba540 20 20 20 0a 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 ...........<h3.id="memcpy"><a.hr
ba560 65 66 3d 22 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 ef="#toc-memcpy">@memcpy</a>.<a.
ba580 63 6c 61 73 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 class="hdr".href="#memcpy">..</a
ba5a0 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
ba5c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
ba5e0 6c 74 69 6e 22 3e 40 6d 65 6d 63 70 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ltin">@memcpy</span>(<span.class
ba600 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 20 64 65 73 74 2c 20 3c ="tok-kw">noalias</span>.dest,.<
ba620 73 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 span.class="tok-kw">noalias</spa
ba640 6e 3e 20 73 6f 75 72 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 n>.source).<span.class="tok-type
ba660 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ">void</span></span></code></pre
ba680 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 73 20 >.......<p>This.function.copies.
ba6a0 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 79 20 bytes.from.one.region.of.memory.
ba6c0 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 3e 3c to.another.</p>.......<p><code><
ba6e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 span.class="line">dest</span></c
ba700 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 6d 75 74 61 62 6c 65 20 73 6c 69 63 65 2c 20 61 20 ode>.must.be.a.mutable.slice,.a.
ba720 6d 75 74 61 62 6c 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 2c 20 6f 72 0a mutable.pointer.to.an.array,.or.
ba740 20 20 20 20 20 20 20 20 61 20 6d 75 74 61 62 6c 65 20 6d 61 6e 79 2d 69 74 65 6d 20 3c 61 20 68 ........a.mutable.many-item.<a.h
ba760 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 20 49 74 20 ref="#Pointers">pointer</a>..It.
ba780 6d 61 79 20 68 61 76 65 20 61 6e 79 0a 20 20 20 20 20 20 20 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 may.have.any.........alignment,.
ba7a0 61 6e 64 20 69 74 20 6d 61 79 20 68 61 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 and.it.may.have.any.element.type
ba7c0 2e 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 61 73 73 .</p>.......<p><code><span.class
ba7e0 3d 22 6c 69 6e 65 22 3e 73 6f 75 72 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 ="line">source</span></code>.mus
ba800 74 20 62 65 20 61 20 73 6c 69 63 65 2c 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 0a 20 20 20 20 20 t.be.a.slice,.a.pointer.to......
ba820 20 20 20 61 6e 20 61 72 72 61 79 2c 20 6f 72 20 61 20 6d 61 6e 79 2d 69 74 65 6d 20 3c 61 20 68 ...an.array,.or.a.many-item.<a.h
ba840 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 20 49 74 20 ref="#Pointers">pointer</a>..It.
ba860 6d 61 79 0a 20 20 20 20 20 20 20 20 68 61 76 65 20 61 6e 79 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 may.........have.any.alignment,.
ba880 61 6e 64 20 69 74 20 6d 61 79 20 68 61 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 and.it.may.have.any.element.type
ba8a0 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .</p>.......<p>The.<code><span.c
ba8c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6f 75 72 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e lass="line">source</span></code>
ba8e0 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 6d 75 73 74 20 73 75 70 70 6f 72 74 20 3c 61 20 68 72 .element.type.must.support.<a.hr
ba900 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f ef="#Type-Coercion">Type.Coercio
ba920 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 69 6e 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 n</a>.........into.the.<code><sp
ba940 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 an.class="line">dest</span></cod
ba960 65 3e 20 65 6c 65 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 e>.element.type..The.element.typ
ba980 65 73 20 6d 61 79 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 es.may.have.........different.AB
ba9a0 49 20 73 69 7a 65 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 I.size,.however,.that.may.incur.
ba9c0 61 20 70 65 72 66 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 a.performance.penalty.</p>......
ba9e0 20 3c 70 3e 53 69 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 .<p>Similar.to.<a.href="#for">fo
baa00 72 3c 2f 61 3e 20 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 r</a>.loops,.at.least.one.of.<co
baa20 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6f 75 72 63 65 3c 2f 73 70 de><span.class="line">source</sp
baa40 61 6e 3e 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 3c 73 70 an></code>.and.........<code><sp
baa60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 an.class="line">dest</span></cod
baa80 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 61 6e 64 20 69 66 e>.must.provide.a.length,.and.if
baaa0 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 0a 20 20 20 20 20 .two.lengths.are.provided,......
baac0 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 0a 20 20 20 20 20 ...they.must.be.equal.</p>......
baae0 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 79 20 72 65 67 69 .<p>Finally,.the.two.memory.regi
bab00 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 20 20 20 20 20 20 ons.must.not.overlap.</p>.......
bab20 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 20 68 72 65 66 3d ........<h3.id="memset"><a.href=
bab40 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 3c 61 20 63 6c 61 "#toc-memset">@memset</a>.<a.cla
bab60 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 3c 2f 61 3e 3c 2f ss="hdr".href="#memset">..</a></
bab80 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
baba0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 s="line"><span.class="tok-builti
babc0 6e 22 3e 40 6d 65 6d 73 65 74 3c 2f 73 70 61 6e 3e 28 64 65 73 74 2c 20 65 6c 65 6d 29 20 3c 73 n">@memset</span>(dest,.elem).<s
babe0 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>
bac00 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 54 68 </span></code></pre>.......<p>Th
bac20 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 61 6c 6c 20 74 68 65 20 65 6c 65 6d 65 6e 74 is.function.sets.all.the.element
bac40 73 20 6f 66 20 61 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 s.of.a.memory.region.to.<code><s
bac60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6c 65 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="line">elem</span></co
bac80 64 65 3e 2e 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 de>.</p>.......<p><code><span.cl
baca0 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 ass="line">dest</span></code>.mu
bacc0 73 74 20 62 65 20 61 20 6d 75 74 61 62 6c 65 20 73 6c 69 63 65 20 6f 72 20 61 20 6d 75 74 61 62 st.be.a.mutable.slice.or.a.mutab
bace0 6c 65 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 20 20 20 49 74 le.pointer.to.an.array........It
bad00 20 6d 61 79 20 68 61 76 65 20 61 6e 79 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 61 6e 64 20 69 74 20 .may.have.any.alignment,.and.it.
bad20 6d 61 79 20 68 61 76 65 20 61 6e 79 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 may.have.any.element.type.</p>..
bad40 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 6c 69 6e 65 22 .....<p><code><span.class="line"
bad60 3e 65 6c 65 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 63 6f 65 72 63 65 64 20 74 >elem</span></code>.is.coerced.t
bad80 6f 20 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 3c 73 70 61 o.the.element.type.of.<code><spa
bada0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n.class="line">dest</span></code
badc0 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 20 7a 65 72 >.</p>.......<p>For.securely.zer
bade0 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 66 72 6f 6d oing.out.sensitive.contents.from
bae00 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 20 20 3c 63 .memory,.you.should.use.......<c
bae20 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 63 72 79 70 74 ode><span.class="line">std.crypt
bae40 6f 2e 75 74 69 6c 73 2e 73 65 63 75 72 65 5a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e o.utils.secureZero</span></code>
bae60 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 6d 69 6e 22 3e </p>...............<h3.id="min">
bae80 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 69 6e 22 3e 40 6d 69 6e 3c 2f 61 3e 20 3c 61 20 63 <a.href="#toc-min">@min</a>.<a.c
baea0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 69 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 lass="hdr".href="#min">..</a></h
baec0 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
baee0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-builtin
baf00 22 3e 40 6d 69 6e 3c 2f 73 70 61 6e 3e 28 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 3c 2f 73 70 61 ">@min</span>(a:.T,.b:.T).T</spa
baf20 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>.......
baf40 52 65 74 75 72 6e 73 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f Returns.the.minimum.value.of.<co
baf60 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">a</span></
baf80 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 3d 22 6c 69 6e code>.and.<code><span.class="lin
bafa0 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 62 75 69 6c 74 69 6e e">b</span></code>..This.builtin
bafc0 20 61 63 63 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 .accepts.integers,.floats,.and.v
bafe0 65 63 74 6f 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 ectors.of.either..In.the.latter.
bb000 63 61 73 65 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 case,.the.operation.is.performed
bb020 20 65 6c 65 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 .element.wise........</p>.......
bb040 3c 70 3e 0a 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 <p>.......NaNs.are.handled.as.fo
bb060 6c 6c 6f 77 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 llows:.if.one.of.the.operands.of
bb080 20 61 20 28 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 .a.(pairwise).operation.is.NaN,.
bb0a0 74 68 65 20 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 the.other.operand.is.returned..I
bb0c0 66 20 62 6f 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 f.both.operands.are.NaN,.NaN.is.
bb0e0 72 65 74 75 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 returned........</p>.......<p>Se
bb100 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 6d 61 e.also:</p><ul>.<li><a.href="#ma
bb120 78 22 3e 40 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 x">@max</a></li>.<li><a.href="#V
bb140 65 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 2f 75 6c 3e 0a 0a ectors">Vectors</a></li>.</ul>..
bb160 20 20 20 20 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 ..............<h3.id="wasmMemory
bb180 53 69 7a 65 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 Size"><a.href="#toc-wasmMemorySi
bb1a0 7a 65 22 3e 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 ze">@wasmMemorySize</a>.<a.class
bb1c0 3d 22 68 64 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 ="hdr".href="#wasmMemorySize">..
bb1e0 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
bb200 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
bb220 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>(
bb240 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 33 index:.<span.class="tok-type">u3
bb260 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"
bb280 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a >u32</span></span></code></pre>.
bb2a0 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 72 65 ......<p>.......This.function.re
bb2c0 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 6f 72 turns.the.size.of.the.Wasm.memor
bb2e0 79 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 y.identified.by.<code><span.clas
bb300 73 3d 22 6c 69 6e 65 22 3e 69 6e 64 65 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 73 0a s="line">index</span></code>.as.
bb320 20 20 20 20 20 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 69 6e 20 75 6e 69 74 73 ......an.unsigned.value.in.units
bb340 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 68 20 57 .of.Wasm.pages..Note.that.each.W
bb360 61 73 6d 20 70 61 67 65 20 69 73 20 36 34 4b 42 20 69 6e 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 asm.page.is.64KB.in.size........
bb380 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 74 69 </p>.......<p>.......This.functi
bb3a0 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 65 6c 20 69 6e 74 72 69 6e 73 69 63 20 77 69 74 68 on.is.a.low.level.intrinsic.with
bb3c0 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 20 75 73 75 61 6c 6c 79 20 75 73 .no.safety.mechanisms.usually.us
bb3e0 65 66 75 6c 20 66 6f 72 20 61 6c 6c 6f 63 61 74 6f 72 0a 20 20 20 20 20 20 64 65 73 69 67 6e 65 eful.for.allocator.......designe
bb400 72 73 20 74 61 72 67 65 74 69 6e 67 20 57 61 73 6d 2e 20 53 6f 20 75 6e 6c 65 73 73 20 79 6f 75 rs.targeting.Wasm..So.unless.you
bb420 20 61 72 65 20 77 72 69 74 69 6e 67 20 61 20 6e 65 77 20 61 6c 6c 6f 63 61 74 6f 72 20 66 72 6f .are.writing.a.new.allocator.fro
bb440 6d 20 73 63 72 61 74 63 68 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 0a 20 20 20 20 20 20 m.scratch,.you.should.use.......
bb460 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 something.like.<code><span.class
bb480 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-builtin
bb4a0 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
bb4c0 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 68 k-str">&quot;std&quot;</span>).h
bb4e0 65 61 70 2e 57 61 73 6d 50 61 67 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f eap.WasmPageAllocator</span></co
bb500 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 61 6c 73 de>........</p>.......<p>See.als
bb520 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 77 61 73 6d 4d 65 6d o:</p><ul>.<li><a.href="#wasmMem
bb540 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 61 3e 3c 2f 6c 69 oryGrow">@wasmMemoryGrow</a></li
bb560 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 77 >.</ul>................<h3.id="w
bb580 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 61 73 asmMemoryGrow"><a.href="#toc-was
bb5a0 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 61 3e mMemoryGrow">@wasmMemoryGrow</a>
bb5c0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 .<a.class="hdr".href="#wasmMemor
bb5e0 79 47 72 6f 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 65 3e 3c yGrow">..</a></h3>........<pre><
bb600 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
bb620 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 47 72 6f ass="tok-builtin">@wasmMemoryGro
bb640 77 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 w</span>(index:.<span.class="tok
bb660 2d 74 79 70 65 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 -type">u32</span>,.delta:.<span.
bb680 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 20 3c 73 70 class="tok-type">u32</span>).<sp
bb6a0 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></
bb6c0 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>....
bb6e0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e 63 72 65 61 73 65 73 20 74 68 65 20 73 ...This.function.increases.the.s
bb700 69 7a 65 20 6f 66 20 74 68 65 20 57 61 73 6d 20 6d 65 6d 6f 72 79 20 69 64 65 6e 74 69 66 69 65 ize.of.the.Wasm.memory.identifie
bb720 64 20 62 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e d.by.<code><span.class="line">in
bb740 64 65 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 dex</span></code>.by.......<code
bb760 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6c 74 61 3c 2f 73 70 61 6e 3e ><span.class="line">delta</span>
bb780 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
bb7a0 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
bb7c0 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
bb7e0 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.
bb800 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.
bb820 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.
bb840 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
bb860 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
bb880 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.
bb8a0 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....
bb8c0 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.
bb8e0 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
bb900 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.
bb920 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><
bb940 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
bb960 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
bb980 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;
bb9a0 3c 2f 73 70 61 6e 3e 29 2e 68 65 61 70 2e 57 61 73 6d 50 61 67 65 41 6c 6c 6f 63 61 74 6f 72 3c </span>).heap.WasmPageAllocator<
bb9c0 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 20 /span></code>........</p>.......
bb9e0 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
bba00 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 61 73 6d ap"><cite.class="file">test_wasm
bba20 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 74 65 3e 3c 2f 66 MemoryGrow_builtin.zig</cite></f
bba40 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
bba60 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
bba80 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
bbaa0 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
bbac0 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;</
bbae0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
bbb00 22 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 "><span.class="tok-kw">const</sp
bbb20 61 6e 3e 20 6e 61 74 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 an>.native_arch.=.<span.class="t
bbb40 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
bbb60 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 26 71 .class="tok-str">&quot;builtin&q
bbb80 75 6f 74 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 3b 3c 2f 73 uot;</span>).target.cpu.arch;</s
bbba0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
bbbc0 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
bbbe0 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 .=.std.testing.expect;</span>.<s
bbc00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
bbc20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
bbc40 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
bbc60 72 22 3e 26 71 75 6f 74 3b 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 26 71 75 6f 74 3b 3c 2f r">&quot;@wasmMemoryGrow&quot;</
bbc80 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
bbca0 22 3e 20 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
bbcc0 70 61 6e 3e 20 28 6e 61 74 69 76 65 5f 61 72 63 68 20 21 3d 20 2e 77 61 73 6d 33 32 29 20 3c 73 pan>.(native_arch.!=..wasm32).<s
bbce0 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>
bbd00 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
bbd20 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n>.SkipZigTest;</span>.<span.cla
bbd40 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
bbd60 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">va
bbd80 72 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 r</span>.prev.=.<span.class="tok
bbda0 2d 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 -builtin">@wasmMemorySize</span>
bbdc0 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 30 3c 2f 73 70 61 (<span.class="tok-number">0</spa
bbde0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
bbe00 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
bbe20 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 73 73 3d 22 74 n>.expect(prev.==.<span.class="t
bbe40 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 61 ok-builtin">@wasmMemoryGrow</spa
bbe60 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 30 3c 2f 73 n>(<span.class="tok-number">0</s
bbe80 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 31 pan>,.<span.class="tok-number">1
bbea0 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>));</span>.<span.class="l
bbec0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">tr
bbee0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 72 65 76 20 2b 20 3c 73 70 61 6e 20 63 6c 61 y</span>.expect(prev.+.<span.cla
bbf00 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 3d 3d 20 3c 73 70 61 ss="tok-number">1</span>.==.<spa
bbf20 6e 20 63 6c 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 n.class="tok-builtin">@wasmMemor
bbf40 79 53 69 7a 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 6e 75 ySize</span>(<span.class="tok-nu
bbf60 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">0</span>));</span>.<span.c
bbf80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
bbfa0 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
bbfc0 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
bbfe0 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
bc000 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 6b 62 t_wasmMemoryGrow_builtin.zig</kb
bc020 64 3e 0a 31 2f 31 20 74 65 73 74 2e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 2e 2e 2e 20 53 d>.1/1.test.@wasmMemoryGrow....S
bc040 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 20 66 61 69 6c 65 KIP.0.passed;.1.skipped;.0.faile
bc060 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>.......
bc080 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
bc0a0 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 6d 6f 72 79 53 69 ="#wasmMemorySize">@wasmMemorySi
bc0c0 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 0a 20 20 20 20 20 ze</a></li>.</ul>...............
bc0e0 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 63 2d 6d 6f 64 22 .<h3.id="mod"><a.href="#toc-mod"
bc100 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 72 65 66 3d 22 23 >@mod</a>.<a.class="hdr".href="#
bc120 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 72 65 3e 3c 63 6f mod">..</a></h3>........<pre><co
bc140 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
bc160 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 6e 75 6d 65 s="tok-builtin">@mod</span>(nume
bc180 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 54 3c 2f 73 70 61 rator:.T,.denominator:.T).T</spa
bc1a0 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>.......
bc1c0 4d 6f 64 75 6c 75 73 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 Modulus.division..For.unsigned.i
bc1e0 6e 74 65 67 65 72 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 ntegers.this.is.the.same.as.....
bc200 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d 65 72 ..<code><span.class="line">numer
bc220 61 74 6f 72 20 25 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ator.%.denominator</span></code>
bc240 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ..Caller.guarantees.<code><span.
bc260 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 26 67 74 3b 20 3c 73 class="line">denominator.&gt;.<s
bc280 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 3c pan.class="tok-number">0</span><
bc2a0 2f 73 70 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 /span></code>,.otherwise.the....
bc2c0 20 20 20 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 ...operation.will.result.in.a.<a
bc2e0 20 68 72 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 .href="#Remainder-Division-by-Ze
bc300 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</
bc320 61 3e 20 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 a>.when.runtime.safety.checks.ar
bc340 65 20 65 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 e.enabled........</p>.......<ul>
bc360 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
bc380 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-builtin
bc3a0 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 22 74 6f 6b 2d ">@mod</span>(-<span.class="tok-
bc3c0 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 22 74 number">5</span>,.<span.class="t
bc3e0 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 61 6e 20 63 6c ok-number">3</span>).==.<span.cl
bc400 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 73 70 61 6e 3e ass="tok-number">1</span></span>
bc420 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
bc440 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 ><span.class="line">(<span.class
bc460 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@divFloor</span>(
bc480 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 a,.b).*.b).+.<span.class="tok-bu
bc4a0 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 iltin">@mod</span>(a,.b).==.a</s
bc4c0 70 61 6e 3e 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 pan></code></li>.......</ul>....
bc4e0 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 74 75 72 6e ...<p>For.a.function.that.return
bc500 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 73 70 61 6e s.an.error.code,.see.<code><span
bc520 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
bc540 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
bc560 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
bc580 61 6e 3e 29 2e 6d 61 74 68 2e 6d 6f 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e an>).math.mod</span></code>.</p>
bc5a0 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>
bc5c0 3c 61 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 <a.href="#rem">@rem</a></li>.</u
bc5e0 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 6d 75 6c 57 69 74 l>................<h3.id="mulWit
bc600 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 75 6c 57 69 74 68 hOverflow"><a.href="#toc-mulWith
bc620 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 61 3e 20 3c Overflow">@mulWithOverflow</a>.<
bc640 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 a.class="hdr".href="#mulWithOver
bc660 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 70 72 65 3e 3c 63 flow">..</a></h3>........<pre><c
bc680 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
bc6a0 73 73 3d 22 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 ss="tok-builtin">@mulWithOverflo
bc6c0 77 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 6b 2d 6b 77 22 w</span>(a:.<span.class="tok-kw"
bc6e0 3e 61 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 >anytype</span>,.b:.<span.class=
bc700 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
bc720 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 20 3c 73 lass="tok-kw">struct</span>.{.<s
bc740 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<
bc760 2f 73 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 /span>(a,.b),.<span.class="tok-t
bc780 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 20 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ype">u1</span>.}</span></code></
bc7a0 70 72 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 pre>.......<p>.......Performs.<c
bc7c0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 20 62 3c 2f 73 70 ode><span.class="line">a.*.b</sp
bc7e0 61 6e 3e 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 an></code>.and.returns.a.tuple.w
bc800 69 74 68 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 ith.the.result.and.a.possible.ov
bc820 65 72 66 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 0a 20 erflow.bit........</p>..........
bc840 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 61 6e 69 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .....<h3.id="panic"><a.href="#to
bc860 63 2d 70 61 6e 69 63 22 3e 40 70 61 6e 69 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 c-panic">@panic</a>.<a.class="hd
bc880 72 22 20 68 72 65 66 3d 22 23 70 61 6e 69 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 r".href="#panic">..</a></h3>....
bc8a0 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 6c 69 6e 65 ....<pre><code><span.class="line
bc8c0 22 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 61 6e "><span.class="tok-builtin">@pan
bc8e0 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 61 73 73 ic</span>(message:.[]<span.class
bc900 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
bc920 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 63 ss="tok-type">u8</span>).<span.c
bc940 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 3c lass="tok-type">noreturn</span><
bc960 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>...
bc980 20 20 20 20 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 ....Invokes.the.panic.handler.fu
bc9a0 6e 63 74 69 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 nction..By.default.the.panic.han
bc9c0 64 6c 65 72 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 dler.function.......calls.the.pu
bc9e0 62 6c 69 63 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 blic.<code><span.class="line">pa
bca00 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 6f 73 nic</span></code>.function.expos
bca20 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 0a 20 ed.in.the.root.source.file,.or..
bca40 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 66 69 .....if.there.is.not.one.specifi
bca60 65 64 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ed,.the.<code><span.class="line"
bca80 3e 73 74 64 2e 62 75 69 6c 74 69 6e 2e 64 65 66 61 75 6c 74 5f 70 61 6e 69 63 3c 2f 73 70 61 6e >std.builtin.default_panic</span
bcaa0 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 72 6f 6d 20 3c 63 6f ></code>.......function.from.<co
bcac0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2f 62 75 69 6c 74 69 de><span.class="line">std/builti
bcae0 6e 2e 7a 69 67 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 n.zig</span></code>........</p>.
bcb00 20 20 20 20 20 20 3c 70 3e 47 65 6e 65 72 61 6c 6c 79 20 69 74 20 69 73 20 62 65 74 74 65 72 20 ......<p>Generally.it.is.better.
bcb20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e to.use.<code><span.class="line">
bcb40 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
bcb60 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">&
bcb80 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 61 6e quot;std&quot;</span>).debug.pan
bcba0 69 63 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 48 6f 77 65 ic</span></code>............Howe
bcbc0 76 65 72 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ver,.<code><span.class="line"><s
bcbe0 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 2f pan.class="tok-builtin">@panic</
bcc00 73 70 61 6e 3e 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 66 75 span></span></code>.can.be.usefu
bcc20 6c 20 66 6f 72 20 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 l.for.2.scenarios:.......</p>...
bcc40 20 20 20 20 3c 75 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 ....<ul>.........<li>From.librar
bcc60 79 20 63 6f 64 65 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 y.code,.calling.the.programmer's
bcc80 20 70 61 6e 69 63 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 .panic.function.if.they.exposed.
bcca0 6f 6e 65 20 69 6e 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 one.in.the.root.source.file.</li
bccc0 3e 0a 20 20 20 20 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 >.........<li>When.mixing.C.and.
bcce0 5a 69 67 20 63 6f 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 Zig.code,.calling.the.canonical.
bcd00 70 61 6e 69 63 20 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 panic.implementation.across.mult
bcd20 69 70 6c 65 20 2e 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 iple..o.files.</li>.......</ul>.
bcd40 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><
bcd60 61 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 52 6f 6f 74 20 a.href="#Root-Source-File">Root.
bcd80 53 6f 75 72 63 65 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 Source.File</a></li>.</ul>......
bcda0 20 20 0a 0a 20 20 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 ..........<h3.id="popCount"><a.h
bcdc0 72 65 66 3d 22 23 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 ref="#toc-popCount">@popCount</a
bcde0 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 6f 70 43 6f 75 6e 74 >.<a.class="hdr".href="#popCount
bce00 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>
bce20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
bce40 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 70 61 6e 3e 28 6f 70 tok-builtin">@popCount</span>(op
bce60 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 77 22 3e 61 6e 79 74 erand:.<span.class="tok-kw">anyt
bce80 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 6b 77 22 ype</span>).<span.class="tok-kw"
bcea0 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 >anytype</span></span></code></p
bcec0 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="
bcee0 6c 69 6e 65 22 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 line"><span.class="tok-builtin">
bcf00 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f 70 65 72 61 6e 64 29 3c 2f 73 70 61 6e 3e 3c 2f @TypeOf</span>(operand)</span></
bcf20 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 79 70 65 2e 3c 2f code>.must.be.an.integer.type.</
bcf40 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 61 73 73 3d 22 6c p>.......<p><code><span.class="l
bcf60 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 ine">operand</span></code>.may.b
bcf80 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 72 e.an.<a.href="#Integers">integer
bcfa0 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f </a>.or.<a.href="#Vectors">vecto
bcfc0 72 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 75 6e 74 r</a>.</p>.......<p>.......Count
bcfe0 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 73 65 74 20 69 6e 20 61 6e 20 69 s.the.number.of.bits.set.in.an.i
bd000 6e 74 65 67 65 72 20 2d 20 22 70 6f 70 75 6c 61 74 69 6f 6e 20 63 6f 75 6e 74 22 2e 0a 20 20 20 nteger.-."population.count".....
bd020 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
bd040 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 ><span.class="line">operand</spa
bd060 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d n></code>.is.a.<a.href="#comptim
bd080 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 67 65 72 2c 0a 20 e">comptime</a>-known.integer,..
bd0a0 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 6f 64 65 3e 3c 73 .....the.return.type.is.<code><s
bd0c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
bd0e0 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 73 70 61 k-type">comptime_int</span></spa
bd100 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 n></code>........Otherwise,.the.
bd120 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 return.type.is.an.unsigned.integ
bd140 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 er.or.vector.of.unsigned.integer
bd160 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 s.with.the.minimum.number.......
bd180 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 62 of.bits.that.can.represent.the.b
bd1a0 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 it.count.of.the.integer.type....
bd1c0 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><
bd1e0 75 6c 3e 0a 3c 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 ul>.<li><a.href="#ctz">@ctz</a><
bd200 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e /li>.<li><a.href="#clz">@clz</a>
bd220 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
bd240 64 3d 22 70 72 65 66 65 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 72 65 66 65 d="prefetch"><a.href="#toc-prefe
bd260 74 63 68 22 3e 40 70 72 65 66 65 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 tch">@prefetch</a>.<a.class="hdr
bd280 22 20 68 72 65 66 3d 22 23 70 72 65 66 65 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ".href="#prefetch">..</a></h3>..
bd2a0 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 6c 69 ......<pre><code><span.class="li
bd2c0 6e 65 22 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 ne"><span.class="tok-builtin">@p
bd2e0 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 6c 61 73 73 3d refetch</span>(ptr:.<span.class=
bd300 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 70 61 6e 20 63 "tok-kw">anytype</span>,.<span.c
bd320 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 6f 70 lass="tok-kw">comptime</span>.op
bd340 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 50 72 65 66 65 74 63 68 4f 70 74 69 6f tions:.std.builtin.PrefetchOptio
bd360 6e 73 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 ns).<span.class="tok-type">void<
bd380 2f 73 70 61 6e 3e 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 /span></span></code></pre>......
bd3a0 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 20 74 68 .<p>.......This.builtin.tells.th
bd3c0 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 65 6d 69 74 20 61 20 70 72 65 66 65 74 63 68 20 69 6e e.compiler.to.emit.a.prefetch.in
bd3e0 73 74 72 75 63 74 69 6f 6e 20 69 66 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 0a 20 20 struction.if.supported.by.the...
bd400 20 20 20 20 74 61 72 67 65 74 20 43 50 55 2e 20 49 66 20 74 68 65 20 74 61 72 67 65 74 20 43 50 ....target.CPU..If.the.target.CP
bd420 55 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 74 68 65 20 72 65 71 75 65 73 74 65 64 U.does.not.support.the.requested
bd440 20 70 72 65 66 65 74 63 68 20 69 6e 73 74 72 75 63 74 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 69 .prefetch.instruction,.......thi
bd460 73 20 62 75 69 6c 74 69 6e 20 69 73 20 61 20 6e 6f 2d 6f 70 2e 20 54 68 69 73 20 66 75 6e 63 74 s.builtin.is.a.no-op..This.funct
bd480 69 6f 6e 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 6f 6e 20 74 68 65 20 62 65 68 61 76 69 6f ion.has.no.effect.on.the.behavio
bd4a0 72 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 0a 20 20 20 20 20 20 6f 6e 6c 79 20 6f 6e 20 r.of.the.program,.......only.on.
bd4c0 74 68 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 63 68 61 72 61 63 74 65 72 69 73 74 69 63 73 2e the.performance.characteristics.
bd4e0 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 20 .......</p>.......<p>.......The.
bd500 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 3c 2f 73 70 <code><span.class="line">ptr</sp
bd520 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 67 75 6d 65 6e 74 20 6d 61 79 20 62 65 20 61 6e 79 20 70 an></code>.argument.may.be.any.p
bd540 6f 69 6e 74 65 72 20 74 79 70 65 20 61 6e 64 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 6d ointer.type.and.determines.the.m
bd560 65 6d 6f 72 79 0a 20 20 20 20 20 20 61 64 64 72 65 73 73 20 74 6f 20 70 72 65 66 65 74 63 68 2e emory.......address.to.prefetch.
bd580 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 64 65 72 65 66 65 72 65 .This.function.does.not.derefere
bd5a0 6e 63 65 20 74 68 65 20 70 6f 69 6e 74 65 72 2c 20 69 74 20 69 73 20 70 65 72 66 65 63 74 6c 79 nce.the.pointer,.it.is.perfectly
bd5c0 20 6c 65 67 61 6c 0a 20 20 20 20 20 20 74 6f 20 70 61 73 73 20 61 20 70 6f 69 6e 74 65 72 20 74 .legal.......to.pass.a.pointer.t
bd5e0 6f 20 69 6e 76 61 6c 69 64 20 6d 65 6d 6f 72 79 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f o.invalid.memory.to.this.functio
bd600 6e 20 61 6e 64 20 6e 6f 20 69 6c 6c 65 67 61 6c 20 62 65 68 61 76 69 6f 72 20 77 69 6c 6c 20 72 n.and.no.illegal.behavior.will.r
bd620 65 73 75 6c 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 esult........</p>.......<p>.....
bd640 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 6c 69 6e 65 22 3e 6f ..The.<code><span.class="line">o
bd660 70 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 ptions</span></code>.argument.is
bd680 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 72 75 63 74 3a 0a 20 20 20 20 20 20 3c 2f 70 .the.following.struct:.......</p
bd6a0 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
bd6c0 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 62 s="zig-cap"><cite.class="file">b
bd6e0 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 3c 70 uiltin.zig</cite></figcaption><p
bd700 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
bd720 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 69 73 20 64 n.class="tok-comment">///.This.d
bd740 61 74 61 20 73 74 72 75 63 74 75 72 65 20 69 73 20 75 73 65 64 20 62 79 20 74 68 65 20 5a 69 67 ata.structure.is.used.by.the.Zig
bd760 20 6c 61 6e 67 75 61 67 65 20 63 6f 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 61 6e 64 3c 2f 73 .language.code.generation.and</s
bd780 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
bd7a0 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 74 68 65 span.class="tok-comment">///.the
bd7c0 72 65 66 6f 72 65 20 6d 75 73 74 20 62 65 20 6b 65 70 74 20 69 6e 20 73 79 6e 63 20 77 69 74 68 refore.must.be.kept.in.sync.with
bd7e0 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 3c 2f 73 .the.compiler.implementation.</s
bd800 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pan></span>.<span.class="line"><
bd820 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>.<
bd840 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>
bd860 20 50 72 65 66 65 74 63 68 4f 70 74 69 6f 6e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .PrefetchOptions.=.<span.class="
bd880 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-kw">struct</span>.{</span>.<
bd8a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
bd8c0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 57 68 65 74 68 65 72 20 74 68 65 20 s="tok-comment">///.Whether.the.
bd8e0 70 72 65 66 65 74 63 68 20 73 68 6f 75 6c 64 20 70 72 65 70 61 72 65 20 66 6f 72 20 61 20 72 65 prefetch.should.prepare.for.a.re
bd900 61 64 20 6f 72 20 61 20 77 72 69 74 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ad.or.a.write.</span></span>.<sp
bd920 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 77 3a 20 52 77 20 3d 20 2e 72 65 an.class="line">....rw:.Rw.=..re
bd940 61 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ad,</span>.<span.class="line">..
bd960 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">///.
bd980 54 68 65 20 64 61 74 61 27 73 20 6c 6f 63 61 6c 69 74 79 20 69 6e 20 61 6e 20 69 6e 63 6c 75 73 The.data's.locality.in.an.inclus
bd9a0 69 76 65 20 72 61 6e 67 65 20 66 72 6f 6d 20 30 20 74 6f 20 33 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 ive.range.from.0.to.3.</span></s
bd9c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
bd9e0 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 3c 2f 73 70 61 6e 3e n.class="tok-comment">///</span>
bda00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
bda20 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 30 20 6d span.class="tok-comment">///.0.m
bda40 65 61 6e 73 20 6e 6f 20 74 65 6d 70 6f 72 61 6c 20 6c 6f 63 61 6c 69 74 79 2e 20 54 68 61 74 20 eans.no.temporal.locality..That.
bda60 69 73 2c 20 74 68 65 20 64 61 74 61 20 63 61 6e 20 62 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 3c is,.the.data.can.be.immediately<
bda80 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
bdaa0 3e 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">/
bdac0 2f 2f 20 64 72 6f 70 70 65 64 20 66 72 6f 6d 20 74 68 65 20 63 61 63 68 65 20 61 66 74 65 72 20 //.dropped.from.the.cache.after.
bdae0 69 74 20 69 73 20 61 63 63 65 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 it.is.accessed.</span></span>.<s
bdb00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
bdb20 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ="tok-comment">///</span></span>
bdb40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
bdb60 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 33 20 6d 65 61 6e 73 20 68 69 ass="tok-comment">///.3.means.hi
bdb80 67 68 20 74 65 6d 70 6f 72 61 6c 20 6c 6f 63 61 6c 69 74 79 2e 20 54 68 61 74 20 69 73 2c 20 74 gh.temporal.locality..That.is,.t
bdba0 68 65 20 64 61 74 61 20 73 68 6f 75 6c 64 20 62 65 20 6b 65 70 74 20 69 6e 3c 2f 73 70 61 6e 3e he.data.should.be.kept.in</span>
bdbc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
bdbe0 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 74 68 65 span.class="tok-comment">///.the
bdc00 20 63 61 63 68 65 20 61 73 20 69 74 20 69 73 20 6c 69 6b 65 6c 79 20 74 6f 20 62 65 20 61 63 63 .cache.as.it.is.likely.to.be.acc
bdc20 65 73 73 65 64 20 61 67 61 69 6e 20 73 6f 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a essed.again.soon.</span></span>.
bdc40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6c 6f 63 61 6c 69 74 79 3a <span.class="line">....locality:
bdc60 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
bdc80 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 2f >.=.<span.class="tok-number">3</
bdca0 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>,</span>.<span.class="line"
bdcc0 3e 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">/
bdce0 2f 2f 20 54 68 65 20 63 61 63 68 65 20 74 68 61 74 20 74 68 65 20 70 72 65 66 65 74 63 68 20 73 //.The.cache.that.the.prefetch.s
bdd00 68 6f 75 6c 64 20 62 65 20 70 72 65 66 6f 72 6d 65 64 20 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 hould.be.preformed.on.</span></s
bdd20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 61 63 68 pan>.<span.class="line">....cach
bdd40 65 3a 20 43 61 63 68 65 20 3d 20 2e 64 61 74 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e:.Cache.=..data,</span>.<span.c
bdd60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
bdd80 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
bdda0 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">
bddc0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 52 77 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 const</span>.Rw.=.<span.class="t
bdde0 6f 6b 2d 6b 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 ok-kw">enum</span>(<span.class="
bde00 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-type">u1</span>).{</span>.<s
bde20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 72 65 61 64 2c 3c 2f pan.class="line">........read,</
bde40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
bde60 20 77 72 69 74 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .write,</span>.<span.class="line
bde80 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....};</span>.<span.class="lin
bdea0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 e"></span>.<span.class="line">..
bdec0 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 6e ..<span.class="tok-kw">pub</span
bdee0 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
bdf00 61 6e 3e 20 43 61 63 68 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 an>.Cache.=.<span.class="tok-kw"
bdf20 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 74 79 >enum</span>(<span.class="tok-ty
bdf40 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">u1</span>).{</span>.<span.cl
bdf60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 2c 3c ass="line">........instruction,<
bdf80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
bdfa0 20 20 64 61 74 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ..data,</span>.<span.class="line
bdfc0 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....};</span>.<span.class="lin
bdfe0 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 e">};</span></code></pre></figur
be000 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 70 74 72 43 61 73 74 e>...............<h3.id="ptrCast
be020 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
be040 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
be060 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
be080 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
be0a0 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 28 s="tok-builtin">@ptrCast</span>(
be0c0 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
be0e0 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 6b 77 22 ype</span>).<span.class="tok-kw"
be100 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 >anytype</span></span></code></p
be120 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 61 20 70 re>.......<p>.......Converts.a.p
be140 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 69 6e 74 65 72 20 ointer.of.one.type.to.a.pointer.
be160 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 6e 20 74 79 70 65 of.another.type..The.return.type
be180 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 70 65 2e 0a 20 20 .is.the.inferred.result.type....
be1a0 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 68 72 65 66 ....</p>.......<p>.......<a.href
be1c0 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 6c 20 50 ="#Optional-Pointers">Optional.P
be1e0 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 61 73 74 69 6e 67 ointers</a>.are.allowed..Casting
be200 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 20 69 73 20 3c 61 .an.optional.pointer.which.is.<a
be220 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 20 20 20 74 6f 20 .href="#null">null</a>.......to.
be240 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 6f 6b 65 73 20 73 a.non-optional.pointer.invokes.s
be260 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 64 65 66 69 6e 65 afety-checked.<a.href="#Undefine
be280 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 2f d-Behavior">Undefined.Behavior</
be2a0 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 3c a>........</p>.......<p>.......<
be2c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
be2e0 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 6e ass="tok-builtin">@ptrCast</span
be300 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 66 ></span></code>.cannot.be.used.f
be320 6f 72 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 or:.......</p>.......<ul>.......
be340 20 20 20 20 3c 6c 69 3e 52 65 6d 6f 76 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ....<li>Removing.<code><span.cla
be360 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
be380 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 71 75 61 6c 69 66 onst</span></span></code>.qualif
be3a0 69 65 72 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6e 73 74 43 61 73 74 22 3e 40 63 ier,.use.<a.href="#constCast">@c
be3c0 6f 6e 73 74 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 onstCast</a>.</li>...........<li
be3e0 3e 52 65 6d 6f 76 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >Removing.<code><span.class="lin
be400 65 22 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 e"><span.class="tok-kw">volatile
be420 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 71 75 61 6c 69 66 69 65 72 2c </span></span></code>.qualifier,
be440 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 43 61 73 74 22 3e 40 76 6f .use.<a.href="#volatileCast">@vo
be460 6c 61 74 69 6c 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 latileCast</a>.</li>...........<
be480 6c 69 3e 43 68 61 6e 67 69 6e 67 20 70 6f 69 6e 74 65 72 20 61 64 64 72 65 73 73 20 73 70 61 63 li>Changing.pointer.address.spac
be4a0 65 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 72 53 70 61 63 65 43 61 73 74 22 3e e,.use.<a.href="#addrSpaceCast">
be4c0 40 61 64 64 72 53 70 61 63 65 43 61 73 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 @addrSpaceCast</a>.</li>........
be4e0 20 20 20 3c 6c 69 3e 49 6e 63 72 65 61 73 69 6e 67 20 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d ...<li>Increasing.pointer.alignm
be500 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 74 22 3e 40 61 ent,.use.<a.href="#alignCast">@a
be520 6c 69 67 6e 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 lignCast</a>.</li>...........<li
be540 3e 43 61 73 74 69 6e 67 20 61 20 6e 6f 6e 2d 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 >Casting.a.non-slice.pointer.to.
be560 61 20 73 6c 69 63 65 2c 20 75 73 65 20 73 6c 69 63 69 6e 67 20 73 79 6e 74 61 78 20 3c 63 6f 64 a.slice,.use.slicing.syntax.<cod
be580 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 5b 73 74 61 72 74 2e 2e e><span.class="line">ptr[start..
be5a0 65 6e 64 5d 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 3c end]</span></code>.</li>.......<
be5c0 2f 75 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 /ul>...............<h3.id="ptrFr
be5e0 6f 6d 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 omInt"><a.href="#toc-ptrFromInt"
be600 3e 40 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 >@ptrFromInt</a>.<a.class="hdr".
be620 68 72 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 href="#ptrFromInt">..</a></h3>..
be640 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 6c 69 ......<pre><code><span.class="li
be660 6e 65 22 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 ne"><span.class="tok-builtin">@p
be680 74 72 46 72 6f 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 61 64 64 72 65 73 73 3a 20 3c 73 70 61 6e 20 trFromInt</span>(address:.<span.
be6a0 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 20 3c class="tok-type">usize</span>).<
be6c0 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
be6e0 6e 3e 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 n></span></code></pre>.......<p>
be700 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 20 .......Converts.an.integer.to.a.
be720 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 2f 61 3e 2e <a.href="#Pointers">pointer</a>.
be740 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 72 72 65 64 .The.return.type.is.the.inferred
be760 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 74 68 65 20 .result.type.....To.convert.the.
be780 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 46 72 6f 6d other.way,.use.<a.href="#intFrom
be7a0 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 67 20 61 6e Ptr">@intFromPtr</a>..Casting.an
be7c0 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 6f 6e 20 74 .address.of.0.to.a.destination.t
be7e0 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 65 66 3d 22 ype.......which.in.not.<a.href="
be800 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 3c 2f 61 3e #Optional-Pointers">optional</a>
be820 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 3e 3c 73 70 .and.does.not.have.the.<code><sp
be840 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
be860 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f -kw">allowzero</span></span></co
be880 64 65 3e 20 61 74 74 72 69 62 75 74 65 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 61 0a 20 de>.attribute.will.result.in.a..
be8a0 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 6e 76 61 .....<a.href="#Pointer-Cast-Inva
be8c0 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 64 20 4e lid-Null">Pointer.Cast.Invalid.N
be8e0 75 6c 6c 3c 2f 61 3e 20 70 61 6e 69 63 20 77 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 ull</a>.panic.when.runtime.safet
be900 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e y.checks.are.enabled........</p>
be920 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 .......<p>.......If.the.destinat
be940 69 6f 6e 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 ion.pointer.type.does.not.allow.
be960 61 64 64 72 65 73 73 20 7a 65 72 6f 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 address.zero.and.<code><span.cla
be980 73 73 3d 22 6c 69 6e 65 22 3e 61 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a ss="line">address</span></code>.
be9a0 20 20 20 20 20 20 69 73 20 7a 65 72 6f 2c 20 74 68 69 73 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 ......is.zero,.this.invokes.safe
be9c0 74 79 2d 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 65 64 2d 42 ty-checked.<a.href="#Undefined-B
be9e0 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 2f 61 3e 2e ehavior">Undefined.Behavior</a>.
bea00 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
bea20 3d 22 72 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 72 65 6d 22 3e 40 72 65 6d 3c 2f ="rem"><a.href="#toc-rem">@rem</
bea40 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 65 6d 22 3e c2 a7 a>.<a.class="hdr".href="#rem">..
bea60 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
bea80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
beaa0 62 75 69 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 builtin">@rem</span>(numerator:.
beac0 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 T,.denominator:.T).T</span></cod
beae0 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 6d 61 69 6e 64 e></pre>.......<p>.......Remaind
beb00 65 72 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 er.division..For.unsigned.intege
beb20 72 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 63 6f rs.this.is.the.same.as.......<co
beb40 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d 65 72 61 74 6f 72 20 de><span.class="line">numerator.
beb60 25 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c %.denominator</span></code>..Cal
beb80 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ler.guarantees.<code><span.class
beba0 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 ="line">denominator.&gt;.<span.c
bebc0 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 73 70 61 6e lass="tok-number">0</span></span
bebe0 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 6f 70 ></code>,.otherwise.the.......op
bec00 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 65 66 eration.will.result.in.a.<a.href
bec20 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 3e 52 ="#Remainder-Division-by-Zero">R
bec40 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 77 68 emainder.Division.by.Zero</a>.wh
bec60 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 6e 61 en.runtime.safety.checks.are.ena
bec80 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 20 20 bled........</p>.......<ul>.....
beca0 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 6c 69 6e ......<li><code><span.class="lin
becc0 65 22 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 72 65 e"><span.class="tok-builtin">@re
bece0 6d 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 m</span>(-<span.class="tok-numbe
bed00 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 75 r">5</span>,.<span.class="tok-nu
bed20 6d 62 65 72 22 3e 33 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 mber">3</span>).==.-<span.class=
bed40 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-number">2</span></span></co
bed60 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
bed80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an.class="line">(<span.class="to
beda0 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 3e 28 61 2c 20 62 k-builtin">@divTrunc</span>(a,.b
bedc0 29 20 2a 20 62 29 20 2b 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).+.<span.class="tok-builti
bede0 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e n">@rem</span>(a,.b).==.a</span>
bee00 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>.......<
bee20 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 6e p>For.a.function.that.returns.an
bee40 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 73 65 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .error.code,.see.<code><span.cla
bee60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
bee80 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="
beea0 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>)
beec0 2e 6d 61 74 68 2e 72 65 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 .math.rem</span></code>.</p>....
beee0 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
bef00 72 65 66 3d 22 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a ref="#mod">@mod</a></li>.</ul>..
bef20 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 72 65 74 75 72 6e 41 64 64 72 ..............<h3.id="returnAddr
bef40 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 72 65 74 75 72 6e 41 64 64 72 65 73 73 ess"><a.href="#toc-returnAddress
bef60 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ">@returnAddress</a>.<a.class="h
bef80 64 72 22 20 68 72 65 66 3d 22 23 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e c2 a7 3c 2f 61 3e dr".href="#returnAddress">..</a>
befa0 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
befc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
befe0 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 70 tin">@returnAddress</span>().<sp
bf000 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>
bf020 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 20 </span></code></pre>.......<p>..
bf040 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 74 68 65 20 61 .....This.function.returns.the.a
bf060 64 64 72 65 73 73 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 ddress.of.the.next.machine.code.
bf080 69 6e 73 74 72 75 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 instruction.that.will.be.execute
bf0a0 64 0a 20 20 20 20 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 d.......when.the.current.functio
bf0c0 6e 20 72 65 74 75 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 n.returns........</p>.......<p>.
bf0e0 20 20 20 20 20 20 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 ......The.implications.of.this.a
bf100 72 65 20 74 61 72 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 re.target-specific.and.not.consi
bf120 73 74 65 6e 74 20 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 stent.across.......all.platforms
bf140 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
bf160 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 68 69 6e 20 s.function.is.only.valid.within.
bf180 66 75 6e 63 74 69 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 function.scope..If.the.function.
bf1a0 67 65 74 73 20 69 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 gets.inlined.into.......a.callin
bf1c0 67 20 66 75 6e 63 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 g.function,.the.returned.address
bf1e0 20 77 69 6c 6c 20 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 .will.apply.to.the.calling.funct
bf200 69 6f 6e 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 ion........</p>...............<h
bf220 33 20 69 64 3d 22 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 3.id="select"><a.href="#toc-sele
bf240 63 74 22 3e 40 73 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 ct">@select</a>.<a.class="hdr".h
bf260 72 65 66 3d 22 23 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 ref="#select">..</a></h3>.......
bf280 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 6c 69 6e 65 22 3e 3c .<pre><code><span.class="line"><
bf2a0 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 6c 65 63 74 span.class="tok-builtin">@select
bf2c0 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
bf2e0 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
bf300 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 20 3c 73 70 61 6e 20 -type">type</span>,.pred:.<span.
bf320 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 2f 73 70 61 class="tok-builtin">@Vector</spa
bf340 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 74 79 70 65 22 3e 62 n>(len,.<span.class="tok-type">b
bf360 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 73 73 3d 22 74 6f 6b ool</span>),.a:.<span.class="tok
bf380 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 6c 65 6e 2c 20 54 29 -builtin">@Vector</span>(len,.T)
bf3a0 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 6c 74 69 6e 22 3e 40 ,.b:.<span.class="tok-builtin">@
bf3c0 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 70 61 6e 20 63 6c 61 Vector</span>(len,.T)).<span.cla
bf3e0 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>(
bf400 6c 65 6e 2c 20 54 29 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 len,.T)</span></code></pre>.....
bf420 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
bf440 6e 74 2d 77 69 73 65 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 nt-wise.from.<code><span.class="
bf460 6c 69 6e 65 22 3e 61 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 line">a</span></code>.or.<code><
bf480 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">b</span></code
bf4a0 3e 20 62 61 73 65 64 20 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >.based.on.<code><span.class="li
bf4c0 6e 65 22 3e 70 72 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 3c 63 6f 64 65 ne">pred</span></code>..If.<code
bf4e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 65 64 5b 69 5d 3c 2f 73 70 61 ><span.class="line">pred[i]</spa
bf500 6e 3e 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 n></code>.is.<code><span.class="
bf520 6c 69 6e 65 22 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 line"><span.class="tok-null">tru
bf540 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 63 6f 72 72 e</span></span></code>,.the.corr
bf560 65 73 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 esponding.element.in.the.result.
bf580 77 69 6c 6c 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 will.be.<code><span.class="line"
bf5a0 3e 61 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 6f 74 68 65 72 77 69 73 >a[i]</span></code>.and.otherwis
bf5c0 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 5b 69 5d 3c e.<code><span.class="line">b[i]<
bf5e0 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 20 /span></code>........</p>.......
bf600 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
bf620 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 0a 3c 2f 75 ="#Vectors">Vectors</a></li>.</u
bf640 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 41 6c 69 l>................<h3.id="setAli
bf660 67 6e 53 74 61 63 6b 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 41 6c 69 67 6e 53 gnStack"><a.href="#toc-setAlignS
bf680 74 61 63 6b 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 tack">@setAlignStack</a>.<a.clas
bf6a0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e c2 a7 s="hdr".href="#setAlignStack">..
bf6c0 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
bf6e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
bf700 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f 73 70 61 6e 3e 28 3c builtin">@setAlignStack</span>(<
bf720 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
bf740 61 6e 3e 20 61 6c 69 67 6e 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.alignment:.<span.class="tok-
bf760 74 79 70 65 22 3e 75 32 39 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u29</span>).<span.class="t
bf780 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-type">void</span></span></cod
bf7a0 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 45 6e 73 75 72 65 73 e></pre>.......<p>.......Ensures
bf7c0 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 68 61 76 65 20 61 20 73 74 61 .that.a.function.will.have.a.sta
bf7e0 63 6b 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 61 74 20 6c 65 61 73 74 20 3c 63 6f 64 65 3e 3c ck.alignment.of.at.least.<code><
bf800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 span.class="line">alignment</spa
bf820 6e 3e 3c 2f 63 6f 64 65 3e 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 n></code>.bytes........</p>.....
bf840 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 43 6f 6c 64 22 3e 3c 61 20 68 72 ..........<h3.id="setCold"><a.hr
bf860 65 66 3d 22 23 74 6f 63 2d 73 65 74 43 6f 6c 64 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 61 3e 20 3c ef="#toc-setCold">@setCold</a>.<
bf880 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 43 6f 6c 64 22 3e c2 a7 a.class="hdr".href="#setCold">..
bf8a0 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
bf8c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
bf8e0 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 6e 20 63 builtin">@setCold</span>(<span.c
bf900 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 69 73 lass="tok-kw">comptime</span>.is
bf920 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 3e 62 6f _cold:.<span.class="tok-type">bo
bf940 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
bf960 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ">void</span></span></code></pre
bf980 3e 0a 20 20 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 >.......<p>.......Tells.the.opti
bf9a0 6d 69 7a 65 72 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 61 72 65 6c 79 20 mizer.that.a.function.is.rarely.
bf9c0 63 61 6c 6c 65 64 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 called........</p>..............
bf9e0 20 3c 68 33 20 69 64 3d 22 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 3c 61 20 .<h3.id="setEvalBranchQuota"><a.
bfa00 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 href="#toc-setEvalBranchQuota">@
bfa20 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d setEvalBranchQuota</a>.<a.class=
bfa40 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 "hdr".href="#setEvalBranchQuota"
bfa60 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><
bfa80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
bfaa0 6f 6b 2d 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 ok-builtin">@setEvalBranchQuota<
bfac0 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 70 /span>(<span.class="tok-kw">comp
bfae0 74 69 6d 65 3c 2f 73 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 time</span>.new_quota:.<span.cla
bfb00 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 20 3c 73 70 61 6e 20 ss="tok-type">u32</span>).<span.
bfb20 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 73 70 class="tok-type">void</span></sp
bfb40 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 20 20 an></code></pre>.......<p>......
bfb60 20 43 68 61 6e 67 65 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 .Changes.the.maximum.number.of.b
bfb80 61 63 6b 77 61 72 64 73 20 62 72 61 6e 63 68 65 73 20 74 68 61 74 20 63 6f 6d 70 69 6c 65 2d 74 ackwards.branches.that.compile-t
bfba0 69 6d 65 20 63 6f 64 65 0a 20 20 20 20 20 20 65 78 65 63 75 74 69 6f 6e 20 63 61 6e 20 75 73 65 ime.code.......execution.can.use
bfbc0 20 62 65 66 6f 72 65 20 67 69 76 69 6e 67 20 75 70 20 61 6e 64 20 6d 61 6b 69 6e 67 20 61 20 63 .before.giving.up.and.making.a.c
bfbe0 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ompile.error........</p>.......<
bfc00 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 p>.......If.the.<code><span.clas
bfc20 73 3d 22 6c 69 6e 65 22 3e 6e 65 77 5f 71 75 6f 74 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e s="line">new_quota</span></code>
bfc40 20 69 73 20 73 6d 61 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 .is.smaller.than.the.default.quo
bfc60 74 61 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ta.(<code><span.class="line"><sp
bfc80 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 3c 2f 73 70 61 6e an.class="tok-number">1000</span
bfca0 3e 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 ></span></code>).or.......a.prev
bfcc0 69 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 iously.explicitly.set.quota,.it.
bfce0 69 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 is.ignored........</p>.......<p>
bfd00 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 3e 0a 20 20 20 20 20 .......Example:.......</p>......
bfd20 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-
bfd40 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 69 74 cap"><cite.class="file">test_wit
bfd60 68 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 hout_setEvalBranchQuota_builtin.
bfd80 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
bfda0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
bfdc0 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
bfde0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;foo&quot;</spa
bfe00 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
bfe20 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
bfe40 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>.{</span>.<span.class="li
bfe60 6e 65 22 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 6b 77 22 ne">........<span.class="tok-kw"
bfe80 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 6b >var</span>.i.=.<span.class="tok
bfea0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">0</span>;</span>.<span.
bfec0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">........<span.class
bfee0 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 26 6c 74 3b 20 3c ="tok-kw">while</span>.(i.&lt;.<
bff00 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 31 3c 2f 73 70 span.class="tok-number">1001</sp
bff20 61 6e 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 an>).:.(i.+=.<span.class="tok-nu
bff40 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 mber">1</span>).{}</span>.<span.
bff60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....}</span>.<span.
bff80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
bffa0 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
bffc0 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
bffe0 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
c0000 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 5f 62 75 st_without_setEvalBranchQuota_bu
c0020 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
c0040 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 73 65 74 -1m">docgen_tmp/test_without_set
c0060 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 3a 39 3a EvalBranchQuota_builtin.zig:4:9:
c0080 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
c00a0 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"
c00c0 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 6b 77 61 >evaluation.exceeded.1000.backwa
c00e0 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 68 69 6c rds.branches.</span>........whil
c0100 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 0a 20 20 e.(i.&lt;.1001).:.(i.+=.1).{}...
c0120 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">^~~~
c0140 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 73 70 61 ~~~~~~~~~~~~~~~~~~~~~~~~~~.</spa
c0160 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 6d n><span.class="sgr-1m">docgen_tm
c0180 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 75 6f 74 p/test_without_setEvalBranchQuot
c01a0 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 61 6e 20 a_builtin.zig:4:9:.</span><span.
c01c0 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
c01e0 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 6c 42 72 an.class="sgr-1m">use.@setEvalBr
c0200 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 63 68 20 anchQuota().to.raise.the.branch.
c0220 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 70 3e 3c limit.from.1000.</span>.</samp><
c0240 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 65 20 75 /pre></figure>.......<p>Now.we.u
c0260 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 se.<code><span.class="line"><spa
c0280 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 45 76 61 6c 42 72 n.class="tok-builtin">@setEvalBr
c02a0 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c anchQuota</span></span></code>:<
c02c0 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
c02e0 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"
c0300 3e 74 65 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 >test_setEvalBranchQuota_builtin
c0320 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
c0340 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
c0360 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
c0380 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 ss="tok-str">&quot;foo&quot;</sp
c03a0 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
c03c0 20 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 ....<span.class="tok-kw">comptim
c03e0 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e</span>.{</span>.<span.class="l
c0400 69 6e 65 22 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 62 75 ine">........<span.class="tok-bu
c0420 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 61 6e iltin">@setEvalBranchQuota</span
c0440 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 31 3c >(<span.class="tok-number">1001<
c0460 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
c0480 65 22 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 6b 77 22 3e e">........<span.class="tok-kw">
c04a0 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 6b 2d var</span>.i.=.<span.class="tok-
c04c0 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">0</span>;</span>.<span.c
c04e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">........<span.class=
c0500 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 26 6c 74 3b 20 3c 73 "tok-kw">while</span>.(i.&lt;.<s
c0520 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 31 3c 2f 73 70 61 pan.class="tok-number">1001</spa
c0540 6e 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 n>).:.(i.+=.<span.class="tok-num
c0560 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">1</span>).{}</span>.<span.c
c0580 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lass="line">....}</span>.<span.c
c05a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
c05c0 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
c05e0 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
c0600 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
c0620 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 69 67 t_setEvalBranchQuota_builtin.zig
c0640 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 66 6f 6f 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 </kbd>.1/1.test.foo....OK.All.1.
c0660 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
c0680 75 72 65 3e 0a 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 ure>........<p>See.also:</p><ul>
c06a0 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 6d .<li><a.href="#comptime">comptim
c06c0 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>................
c06e0 3c 68 33 20 69 64 3d 22 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 <h3.id="setFloatMode"><a.href="#
c0700 74 6f 63 2d 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 65 3c toc-setFloatMode">@setFloatMode<
c0720 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 65 74 46 6c 6f /a>.<a.class="hdr".href="#setFlo
c0740 61 74 4d 6f 64 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 atMode">..</a></h3>........<pre>
c0760 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
c0780 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
c07a0 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
c07c0 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ptime</span>.mode:.<span.class="
c07e0 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
c0800 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
c0820 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 65 29 20 3c 73 70 ;</span>).builtin.FloatMode).<sp
c0840 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><
c0860 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>...
c0880 20 20 20 20 53 65 74 73 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 ....Sets.the.floating.point.mode
c08a0 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 63 6f 70 65 2e 20 50 6f 73 73 69 62 6c 65 20 .of.the.current.scope..Possible.
c08c0 76 61 6c 75 65 73 20 61 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 values.are:.......</p>.......<fi
c08e0 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"
c0900 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 7a 69 ><cite.class="file">FloatMode.zi
c0920 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>
c0940 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
c0960 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="
c0980 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6c 6f 61 74 4d 6f 64 65 20 3d tok-kw">const</span>.FloatMode.=
c09a0 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 61 6e .<span.class="tok-kw">enum</span
c09c0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
c09e0 20 20 53 74 72 69 63 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ..Strict,</span>.<span.class="li
c0a00 6e 65 22 3e 20 20 20 20 4f 70 74 69 6d 69 7a 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ne">....Optimized,</span>.<span.
c0a20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 class="line">};</span></code></p
c0a40 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>.........
c0a60 3c 6c 69 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 <li>.............<code><span.cla
c0a80 73 73 3d 22 6c 69 6e 65 22 3e 53 74 72 69 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 ss="line">Strict</span></code>.(
c0aa0 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 20 6f 70 65 72 61 74 default).-.Floating.point.operat
c0ac0 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 6f 6d 70 6c 69 61 6e ions.follow.strict.IEEE.complian
c0ae0 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 20 3c 6c 69 3e 0a 20 ce..........</li>.........<li>..
c0b00 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 6c 69 ...........<code><span.class="li
c0b20 6e 65 22 3e 4f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 46 6c ne">Optimized</span></code>.-.Fl
c0b40 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 6d 61 79 20 64 6f 20 61 oating.point.operations.may.do.a
c0b60 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 3c ll.of.the.following:...........<
c0b80 75 6c 3e 0a 20 20 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 ul>.............<li>Assume.the.a
c0ba0 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 72 65 73 75 6c 74 20 61 72 65 20 6e 6f 74 20 4e 61 4e 2e rguments.and.result.are.not.NaN.
c0bc0 20 4f 70 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 .Optimizations.are.required.to.r
c0be0 65 74 61 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 4e 61 4e 73 etain.defined.behavior.over.NaNs
c0c00 2c 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 ,.but.the.value.of.the.result.is
c0c20 20 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 .undefined.</li>.............<li
c0c40 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
c0c60 20 61 72 65 20 6e 6f 74 20 2b 2f 2d 49 6e 66 2e 20 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 .are.not.+/-Inf..Optimizations.a
c0c80 72 65 20 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 re.required.to.retain.defined.be
c0ca0 68 61 76 69 6f 72 20 6f 76 65 72 20 2b 2f 2d 49 6e 66 2c 20 62 75 74 20 74 68 65 20 76 61 6c 75 havior.over.+/-Inf,.but.the.valu
c0cc0 65 20 6f 66 20 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 e.of.the.result.is.undefined.</l
c0ce0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 72 65 61 74 20 74 68 65 20 73 69 67 i>.............<li>Treat.the.sig
c0d00 6e 20 6f 66 20 61 20 7a 65 72 6f 20 61 72 67 75 6d 65 6e 74 20 6f 72 20 72 65 73 75 6c 74 20 61 n.of.a.zero.argument.or.result.a
c0d20 73 20 69 6e 73 69 67 6e 69 66 69 63 61 6e 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 s.insignificant.</li>...........
c0d40 20 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 72 65 63 69 70 72 6f 63 61 6c 20 6f 66 20 61 6e 20 61 ..<li>Use.the.reciprocal.of.an.a
c0d60 72 67 75 6d 65 6e 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 70 65 72 66 6f 72 6d 20 64 69 76 69 rgument.rather.than.perform.divi
c0d80 73 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 50 65 72 66 6f sion.</li>.............<li>Perfo
c0da0 72 6d 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 63 6f 6e 74 72 61 63 74 69 6f 6e 20 28 65 rm.floating-point.contraction.(e
c0dc0 2e 67 2e 20 66 75 73 69 6e 67 20 61 20 6d 75 6c 74 69 70 6c 79 20 66 6f 6c 6c 6f 77 65 64 20 62 .g..fusing.a.multiply.followed.b
c0de0 79 20 61 6e 20 61 64 64 69 74 69 6f 6e 20 69 6e 74 6f 20 61 20 66 75 73 65 64 20 6d 75 6c 74 69 y.an.addition.into.a.fused.multi
c0e00 70 6c 79 2d 61 64 64 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 50 ply-add).</li>.............<li>P
c0e20 65 72 66 6f 72 6d 20 61 6c 67 65 62 72 61 69 63 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 erform.algebraically.equivalent.
c0e40 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 74 68 61 74 20 6d 61 79 20 63 68 61 6e 67 65 20 transformations.that.may.change.
c0e60 72 65 73 75 6c 74 73 20 69 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 65 2e 67 2e 20 results.in.floating.point.(e.g..
c0e80 72 65 61 73 73 6f 63 69 61 74 65 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 75 reassociate).</li>...........</u
c0ea0 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 l>...........This.is.equivalent.
c0ec0 74 6f 20 3c 63 6f 64 65 3e 2d 66 66 61 73 74 2d 6d 61 74 68 3c 2f 63 6f 64 65 3e 20 69 6e 20 47 to.<code>-ffast-math</code>.in.G
c0ee0 43 43 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 6c 3e 0a 20 20 CC..........</li>.......</ul>...
c0f00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 ....<p>.......The.floating.point
c0f20 20 6d 6f 64 65 20 69 73 20 69 6e 68 65 72 69 74 65 64 20 62 79 20 63 68 69 6c 64 20 73 63 6f 70 .mode.is.inherited.by.child.scop
c0f40 65 73 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 69 6e 20 61 6e 79 es,.and.can.be.overridden.in.any
c0f60 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 73 65 74 20 74 68 65 20 66 6c .scope........You.can.set.the.fl
c0f80 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 69 6e 20 61 20 73 74 72 75 63 74 20 6f 72 oating.point.mode.in.a.struct.or
c0fa0 20 6d 6f 64 75 6c 65 20 73 63 6f 70 65 20 62 79 20 75 73 69 6e 67 20 61 20 63 6f 6d 70 74 69 6d .module.scope.by.using.a.comptim
c0fc0 65 20 62 6c 6f 63 6b 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 e.block........</p>.......<p>See
c0fe0 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 46 6c 6f .also:</p><ul>.<li><a.href="#Flo
c1000 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 67 ating-Point-Operations">Floating
c1020 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 3c 2f 75 6c 3e .Point.Operations</a></li>.</ul>
c1040 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 52 75 6e 74 69 ................<h3.id="setRunti
c1060 6d 65 53 61 66 65 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 meSafety"><a.href="#toc-setRunti
c1080 6d 65 53 61 66 65 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 meSafety">@setRuntimeSafety</a>.
c10a0 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 52 75 6e 74 69 6d 65 <a.class="hdr".href="#setRuntime
c10c0 53 61 66 65 74 79 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 Safety">..</a></h3>........<pre>
c10e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
c1100 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 53 61 lass="tok-builtin">@setRuntimeSa
c1120 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 6b 77 22 fety</span>(<span.class="tok-kw"
c1140 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 6e 3a 20 3c 73 70 61 >comptime</span>.safety_on:.<spa
c1160 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 6e 3e 29 20 n.class="tok-type">bool</span>).
c1180 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
c11a0 6e 3e 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 n></span></code></pre>.......<p>
c11c0 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
c11e0 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
c1200 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
c1220 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
c1240 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.
c1260 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
c1280 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
c12a0 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 6c 69 6e 65 22 3e n><pre><code><span.class="line">
c12c0 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>
c12e0 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 73 65 .<span.class="tok-str">&quot;@se
c1300 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 tRuntimeSafety&quot;</span>.{</s
c1320 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
c1340 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 62 75 69 n.class="tok-comment">//.The.bui
c1360 6c 74 69 6e 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 73 63 6f 70 65 20 74 68 61 74 20 69 ltin.applies.to.the.scope.that.i
c1380 74 20 69 73 20 63 61 6c 6c 65 64 20 69 6e 2e 20 53 6f 20 68 65 72 65 2c 20 69 6e 74 65 67 65 72 t.is.called.in..So.here,.integer
c13a0 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .overflow</span></span>.<span.cl
c13c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
c13e0 63 6f 6d 6d 65 6e 74 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 comment">//.will.not.be.caught.i
c1400 6e 20 52 65 6c 65 61 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 n.ReleaseFast.and.ReleaseSmall.m
c1420 6f 64 65 73 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d odes:</span></span>.<span.class=
c1440 22 6c 69 6e 65 22 3e 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 "line">....<span.class="tok-comm
c1460 65 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 3c ent">//.var.x:.u8.=.255;</span><
c1480 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
c14a0 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 2b 3d 20 pan.class="tok-comment">//.x.+=.
c14c0 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 52 65 6c 65 1;.//.undefined.behavior.in.Rele
c14e0 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 3c 2f 73 70 61 aseFast/ReleaseSmall.modes.</spa
c1500 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 n></span>.<span.class="line">...
c1520 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
c1540 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">/
c1560 2f 20 48 6f 77 65 76 65 72 20 74 68 69 73 20 62 6c 6f 63 6b 20 68 61 73 20 73 61 66 65 74 79 20 /.However.this.block.has.safety.
c1580 65 6e 61 62 6c 65 64 2c 20 73 6f 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 20 68 61 70 70 65 6e enabled,.so.safety.checks.happen
c15a0 20 68 65 72 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .here,</span></span>.<span.class
c15c0 3d 22 6c 69 6e 65 22 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 ="line">........<span.class="tok
c15e0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 65 6e 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 -comment">//.even.in.ReleaseFast
c1600 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 3c .and.ReleaseSmall.modes.</span><
c1620 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
c1640 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 73 65 74 ..<span.class="tok-builtin">@set
c1660 52 75 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 RuntimeSafety</span>(<span.class
c1680 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 3c 2f 73 70 61 6e 3e ="tok-null">true</span>);</span>
c16a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 .<span.class="line">........<spa
c16c0 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 20 3c n.class="tok-kw">var</span>.x:.<
c16e0 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>.
c1700 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</
c1720 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
c1740 3e 20 20 20 20 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 2d 6e >........x.+=.<span.class="tok-n
c1760 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">1</span>;</span>.<span.cl
c1780 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
c17a0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 line">........{</span>.<span.cla
c17c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ss="line">............<span.clas
c17e0 73 3d 22 74 6f 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 s="tok-comment">//.The.value.can
c1800 20 62 65 20 6f 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 .be.overridden.at.any.scope..So.
c1820 68 65 72 65 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 70 here.integer.overflow</span></sp
c1840 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 an>.<span.class="line">.........
c1860 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">//.
c1880 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 64 would.not.be.caught.in.any.build
c18a0 20 6d 6f 64 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .mode.</span></span>.<span.class
c18c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="line">............<span.class=
c18e0 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 53 61 66 65 74 79 3c "tok-builtin">@setRuntimeSafety<
c1900 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 6c 6c 22 3e 66 61 /span>(<span.class="tok-null">fa
c1920 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lse</span>);</span>.<span.class=
c1940 22 6c 69 6e 65 22 3e 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 "line">............<span.class="
c1960 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 20 78 3a 20 75 38 20 3d 20 32 35 35 3b tok-comment">//.var.x:.u8.=.255;
c1980 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
c19a0 22 3e 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 63 ">............<span.class="tok-c
c19c0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 31 3b 20 2f 2f 20 75 6e 64 65 66 69 6e 65 64 20 omment">//.x.+=.1;.//.undefined.
c19e0 62 65 68 61 76 69 6f 72 20 69 6e 20 61 6c 6c 20 62 75 69 6c 64 20 6d 6f 64 65 73 2e 3c 2f 73 70 behavior.in.all.build.modes.</sp
c1a00 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
c1a20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ......}</span>.<span.class="line
c1a40 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ">....}</span>.<span.class="line
c1a60 22 3e 7d 3c 2f 73 70 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 ">}</span></code></pre></figure>
c1a80 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
c1aa0 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
c1ac0 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 65 74 52 75 6e 74 69 mp>$.<kbd>zig.test.test_setRunti
c1ae0 6d 65 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 meSafety_builtin.zig.-OReleaseFa
c1b00 73 74 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 st</kbd>.1/1.test.@setRuntimeSaf
c1b20 65 74 79 2e 2e 2e 20 74 68 72 65 61 64 20 32 34 35 35 34 38 36 20 70 61 6e 69 63 3a 20 69 6e 74 ety....thread.2455486.panic:.int
c1b40 65 67 65 72 20 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 eger.overflow./home/ci/actions-r
c1b60 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
c1b80 63 67 65 6e 5f 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 cgen_tmp/test_setRuntimeSafety_b
c1ba0 75 69 6c 74 69 6e 2e 7a 69 67 3a 31 31 3a 31 31 3a 20 30 78 32 30 62 64 36 31 20 69 6e 20 74 65 uiltin.zig:11:11:.0x20bd61.in.te
c1bc0 73 74 2e 40 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 st.@setRuntimeSafety.(test).....
c1be0 20 20 20 20 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 ....x.+=.1;...........^./home/ci
c1c00 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
c1c20 72 61 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 rap/out/host/lib/zig/test_runner
c1c40 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 32 30 63 62 66 62 20 69 6e 20 6d 61 69 6e 20 28 74 .zig:176:28:.0x20cbfb.in.main.(t
c1c60 65 73 74 29 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 est).........}.else.test_fn.func
c1c80 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 20 5e ();............................^
c1ca0 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
c1cc0 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
c1ce0 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 30 62 65 35 34 20 69 6e 20 d/start.zig:564:22:.0x20be54.in.
c1d00 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 20 20 20 posixCallMainAndExit.(test).....
c1d20 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();............
c1d40 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
c1d60 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
c1d80 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 /lib/zig/std/start.zig:243:5:.0x
c1da0 32 30 62 64 38 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 20bd81.in._start.(test).....asm.
c1dc0 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).{
c1de0 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.???.(???)
c1e00 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 61 .error:.the.following.test.comma
c1e20 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 73 2d 72 75 6e nd.crashed:./home/ci/actions-run
c1e40 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 7a 69 67 2d ner/_work/zig-bootstrap/out/zig-
c1e60 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 30 33 62 31 61 31 30 66 65 30 37 35 33 35 35 37 30 32 local-cache/o/03b1a10fe075355702
c1e80 34 36 34 64 31 65 36 39 62 66 31 66 61 39 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 464d1e69bf1fa9/test.</samp></pre
c1ea0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 3a 20 69 74 20 69 73 20 ></figure>.......<p>Note:.it.is.
c1ec0 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 69 67 6c <a.href="https://github.com/zigl
c1ee0 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 39 37 38 22 3e 70 6c 61 6e 6e 65 64 3c 2f 61 3e 20 ang/zig/issues/978">planned</a>.
c1f00 74 6f 20 72 65 70 6c 61 63 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 to.replace.......<code><span.cla
c1f20 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
c1f40 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 in">@setRuntimeSafety</span></sp
c1f60 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 3c 63 6f 64 65 3e 40 6f 70 74 69 6d 69 7a 65 46 an></code>.with.<code>@optimizeF
c1f80 6f 72 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 or</code></p>................<h3
c1fa0 20 69 64 3d 22 73 68 6c 45 78 61 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 6c .id="shlExact"><a.href="#toc-shl
c1fc0 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Exact">@shlExact</a>.<a.class="h
c1fe0 64 72 22 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e dr".href="#shlExact">..</a></h3>
c2000 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="
c2020 6c 69 6e 65 22 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 line"><span.class="tok-builtin">
c2040 40 73 68 6c 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 @shlExact</span>(value:.T,.shift
c2060 5f 61 6d 74 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 _amt:.Log2T).T</span></code></pr
c2080 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 74 68 65 20 e>.......<p>.......Performs.the.
c20a0 6c 65 66 74 20 73 68 69 66 74 20 6f 70 65 72 61 74 69 6f 6e 20 28 3c 63 6f 64 65 3e 3c 73 70 61 left.shift.operation.(<code><spa
c20c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 6c 74 3b 26 6c 74 3b 3c 2f 73 70 61 6e 3e 3c 2f n.class="line">&lt;&lt;</span></
c20e0 63 6f 64 65 3e 29 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 code>)........For.unsigned.integ
c2100 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 22 23 75 6e 64 ers,.the.result.is.<a.href="#und
c2120 65 66 69 6e 65 64 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 efined">undefined</a>.if.any.1.b
c2140 69 74 73 0a 20 20 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 its.......are.shifted.out..For.s
c2160 69 67 6e 65 64 20 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 igned.integers,.the.result.is.<a
c2180 20 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 .href="#undefined">undefined</a>
c21a0 20 69 66 0a 20 20 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 .if.......any.bits.that.disagree
c21c0 20 77 69 74 68 20 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 .with.the.resultant.sign.bit.are
c21e0 20 73 68 69 66 74 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 .shifted.out........</p>.......<
c2200 70 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 3c 73 70 61 6e p>.......The.type.of.<code><span
c2220 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 73 70 61 6e 3e 3c 2f .class="line">shift_amt</span></
c2240 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
c2260 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 h.<code><span.class="line">log2(
c2280 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
c22a0 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 29 3c 2f 73 70 61 6e 3e 3c 2f nfo</span>(T).Int.bits)</span></
c22c0 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 54 68 69 73 20 69 code>.bits................This.i
c22e0 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e s.because.<code><span.class="lin
c2300 65 22 3e 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">shift_amt.&gt;=.<span.class="
c2320 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 54 29 tok-builtin">@typeInfo</span>(T)
c2340 2e 49 6e 74 2e 62 69 74 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 .Int.bits</span></code>.is.undef
c2360 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 20 20 ined.behavior........</p>.......
c2380 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
c23a0 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 3c 2f 6c 69 3e 0a ="#shrExact">@shrExact</a></li>.
c23c0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 <li><a.href="#shlWithOverflow">@
c23e0 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a shlWithOverflow</a></li>.</ul>..
c2400 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 6c 57 69 74 68 4f 76 65 ..............<h3.id="shlWithOve
c2420 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 6c 57 69 74 68 4f 76 65 72 rflow"><a.href="#toc-shlWithOver
c2440 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 20 3c 61 20 63 6c flow">@shlWithOverflow</a>.<a.cl
c2460 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 ass="hdr".href="#shlWithOverflow
c2480 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>
c24a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
c24c0 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 2f 73 tok-builtin">@shlWithOverflow</s
c24e0 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 6e 79 pan>(a:.<span.class="tok-kw">any
c2500 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 20 3c type</span>,.shift_amt:.Log2T).<
c2520 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 6e span.class="tok-kw">struct</span
c2540 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 40 54 >.{.<span.class="tok-builtin">@T
c2560 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 74 6f ypeOf</span>(a),.<span.class="to
c2580 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 20 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-type">u1</span>.}</span></code
c25a0 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 65 72 66 6f 72 6d 73 ></pre>.......<p>.......Performs
c25c0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b .<code><span.class="line">a.&lt;
c25e0 26 6c 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 &lt;.b</span></code>.and.returns
c2600 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 70 .a.tuple.with.the.result.and.a.p
c2620 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 3e ossible.overflow.bit........</p>
c2640 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 6f .......<p>.......The.type.of.<co
c2660 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 3c de><span.class="line">shift_amt<
c2680 2f 73 70 61 6e 3e 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 /span></code>.is.an.unsigned.int
c26a0 65 67 65 72 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 6c 69 6e eger.with.<code><span.class="lin
c26c0 65 22 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 69 6c 74 69 6e e">log2(<span.class="tok-builtin
c26e0 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 61 73 73 3d 22 ">@typeInfo</span>(<span.class="
c2700 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 29 29 2e tok-builtin">@TypeOf</span>(a)).
c2720 49 6e 74 2e 62 69 74 73 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 Int.bits)</span></code>.bits....
c2740 20 20 20 20 20 20 20 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 ............This.is.because.<cod
c2760 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 20 26 e><span.class="line">shift_amt.&
c2780 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 40 gt;=.<span.class="tok-builtin">@
c27a0 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
c27c0 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 29 29 2e 49 6e 74 -builtin">@TypeOf</span>(a)).Int
c27e0 2e 62 69 74 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 .bits</span></code>.is.undefined
c2800 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 3e 53 .behavior........</p>.......<p>S
c2820 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 73 ee.also:</p><ul>.<li><a.href="#s
c2840 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 3e 0a 3c 6c 69 3e hlExact">@shlExact</a></li>.<li>
c2860 3c 61 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 <a.href="#shrExact">@shrExact</a
c2880 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.
c28a0 69 64 3d 22 73 68 72 45 78 61 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 72 45 id="shrExact"><a.href="#toc-shrE
c28c0 78 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 xact">@shrExact</a>.<a.class="hd
c28e0 72 22 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a r".href="#shrExact">..</a></h3>.
c2900 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 6c .......<pre><code><span.class="l
c2920 69 6e 65 22 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 ine"><span.class="tok-builtin">@
c2940 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_
c2960 61 6d 74 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 amt:.Log2T).T</span></code></pre
c2980 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 74 68 65 20 72 >.......<p>.......Performs.the.r
c29a0 69 67 68 74 20 73 68 69 66 74 20 6f 70 65 72 61 74 69 6f 6e 20 28 3c 63 6f 64 65 3e 3c 73 70 61 ight.shift.operation.(<code><spa
c29c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f n.class="line">&gt;&gt;</span></
c29e0 63 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 code>)..Caller.guarantees.......
c2a00 74 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 that.the.shift.will.not.shift.an
c2a20 79 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 y.1.bits.out........</p>.......<
c2a40 70 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 3c 73 70 61 6e p>.......The.type.of.<code><span
c2a60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 73 70 61 6e 3e 3c 2f .class="line">shift_amt</span></
c2a80 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
c2aa0 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 h.<code><span.class="line">log2(
c2ac0 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
c2ae0 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 29 3c 2f 73 70 61 6e 3e 3c 2f nfo</span>(T).Int.bits)</span></
c2b00 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 54 68 69 73 20 69 code>.bits................This.i
c2b20 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e s.because.<code><span.class="lin
c2b40 65 22 3e 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">shift_amt.&gt;=.<span.class="
c2b60 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 54 29 tok-builtin">@typeInfo</span>(T)
c2b80 2e 49 6e 74 2e 62 69 74 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 .Int.bits</span></code>.is.undef
c2ba0 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 20 20 ined.behavior........</p>.......
c2bc0 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
c2be0 3d 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 3c 2f 6c 69 3e 0a ="#shlExact">@shlExact</a></li>.
c2c00 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 <li><a.href="#shlWithOverflow">@
c2c20 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a shlWithOverflow</a></li>.</ul>..
c2c40 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 75 66 66 6c 65 22 3e 3c ..............<h3.id="shuffle"><
c2c60 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f a.href="#toc-shuffle">@shuffle</
c2c80 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 75 66 66 6c 65 a>.<a.class="hdr".href="#shuffle
c2ca0 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>
c2cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
c2ce0 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
c2d00 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
c2d20 3e 20 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 >.E:.<span.class="tok-type">type
c2d40 3c 2f 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 </span>,.a:.<span.class="tok-bui
c2d60 6c 74 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 ltin">@Vector</span>(a_len,.E),.
c2d80 62 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 b:.<span.class="tok-builtin">@Ve
c2da0 63 74 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 ctor</span>(b_len,.E),.<span.cla
c2dc0 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 6d 61 73 6b ss="tok-kw">comptime</span>.mask
c2de0 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 63 :.<span.class="tok-builtin">@Vec
c2e00 74 6f 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 tor</span>(mask_len,.<span.class
c2e20 3d 22 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 ="tok-type">i32</span>)).<span.c
c2e40 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
c2e60 3e 28 6d 61 73 6b 5f 6c 65 6e 2c 20 45 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 >(mask_len,.E)</span></code></pr
c2e80 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 73 74 72 75 63 74 73 20 61 20 e>.......<p>.......Constructs.a.
c2ea0 6e 65 77 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 new.<a.href="#Vectors">vector</a
c2ec0 3e 20 62 79 20 73 65 6c 65 63 74 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 3c 63 6f >.by.selecting.elements.from.<co
c2ee0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">a</span></
c2f00 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 code>.and.......<code><span.clas
c2f20 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 61 73 65 64 20 6f s="line">b</span></code>.based.o
c2f40 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 73 6b 3c n.<code><span.class="line">mask<
c2f60 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 20 /span></code>........</p>.......
c2f80 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 6e 20 3c 63 6f 64 65 3e <p>.......Each.element.in.<code>
c2fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 73 6b 3c 2f 73 70 61 6e 3e 3c 2f <span.class="line">mask</span></
c2fc0 63 6f 64 65 3e 20 73 65 6c 65 63 74 73 20 61 6e 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 69 code>.selects.an.element.from.ei
c2fe0 74 68 65 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c ther.<code><span.class="line">a<
c3000 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 /span></code>.or.......<code><sp
c3020 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e an.class="line">b</span></code>.
c3040 20 50 6f 73 69 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 .Positive.numbers.select.from.<c
c3060 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c ode><span.class="line">a</span><
c3080 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 61 /code>.starting.at.0........Nega
c30a0 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 3c 73 tive.values.select.from.<code><s
c30c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">b</span></code>
c30e0 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ,.starting.at.<code><span.class=
c3100 22 6c 69 6e 65 22 3e 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 "line">-<span.class="tok-number"
c3120 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 67 6f 69 6e >1</span></span></code>.and.goin
c3140 67 20 64 6f 77 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 g.down........It.is.recommended.
c3160 74 6f 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 6c 69 to.use.the.<code><span.class="li
c3180 6e 65 22 3e 7e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 66 6f 72 ne">~</span></code>.operator.for
c31a0 20 69 6e 64 65 78 65 73 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .indexes.from.<code><span.class=
c31c0 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 73 6f 20 "line">b</span></code>.......so.
c31e0 74 68 61 74 20 62 6f 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 that.both.indexes.can.start.from
c3200 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
c3220 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 73 70 61 class="tok-number">0</span></spa
c3240 6e 3e 3c 2f 63 6f 64 65 3e 20 28 69 2e 65 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 n></code>.(i.e..<code><span.clas
c3260 73 3d 22 6c 69 6e 65 22 3e 7e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 s="line">~<span.class="tok-built
c3280 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-
c32a0 74 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 type">i32</span>,.<span.class="t
c32c0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-number">0</span>)</span></cod
c32e0 65 3e 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 22 6c e>.is.......<code><span.class="l
c3300 69 6e 65 22 3e 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 ine">-<span.class="tok-number">1
c3320 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 3c 2f </span></span></code>)........</
c3340 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 61 63 68 20 65 6c 65 6d p>.......<p>.......For.each.elem
c3360 65 6e 74 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ent.of.<code><span.class="line">
c3380 6d 61 73 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 66 20 69 74 20 6f 72 20 74 68 65 mask</span></code>,.if.it.or.the
c33a0 20 73 65 6c 65 63 74 65 64 20 76 61 6c 75 65 20 66 72 6f 6d 0a 20 20 20 20 20 20 3c 63 6f 64 65 .selected.value.from.......<code
c33c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">a</span></co
c33e0 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 6c 69 6e 65 22 3e de>.or.<code><span.class="line">
c3400 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 b</span></code>.is.<code><span.c
c3420 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c lass="line"><span.class="tok-nul
c3440 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 l">undefined</span></span></code
c3460 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 6c 65 6d >,.......then.the.resulting.elem
c3480 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 6c 69 6e 65 22 3e ent.is.<code><span.class="line">
c34a0 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 64 <span.class="tok-null">undefined
c34c0 3c 2f 73 70 61 6e 3e 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 </span></span></code>........</p
c34e0 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 6c >.......<p>.......<code><span.cl
c3500 61 73 73 3d 22 6c 69 6e 65 22 3e 61 5f 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 ass="line">a_len</span></code>.a
c3520 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 5f 6c 65 nd.<code><span.class="line">b_le
c3540 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 6c 65 n</span></code>.may.differ.in.le
c3560 6e 67 74 68 2e 20 4f 75 74 2d 6f 66 2d 62 6f 75 6e 64 73 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 ngth..Out-of-bounds.element.....
c3580 20 20 69 6e 64 65 78 65 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ..indexes.in.<code><span.class="
c35a0 6c 69 6e 65 22 3e 6d 61 73 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 20 line">mask</span></code>.result.
c35c0 69 6e 20 63 6f 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 in.compile.errors........</p>...
c35e0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ....<p>.......If.<code><span.cla
c3600 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f ss="line">a</span></code>.or.<co
c3620 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">b</span></
c3640 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 6c 69 6e 65 code>.is.<code><span.class="line
c3660 22 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 66 69 6e "><span.class="tok-null">undefin
c3680 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 74 0a 20 20 20 20 ed</span></span></code>,.it.....
c36a0 20 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 76 65 63 74 6f 72 20 6f 66 20 61 ..is.equivalent.to.a.vector.of.a
c36c0 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ll.<code><span.class="line"><spa
c36e0 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 2f 73 70 n.class="tok-null">undefined</sp
c3700 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 an></span></code>.with.the.same.
c3720 6c 65 6e 67 74 68 20 61 73 20 74 68 65 20 6f 74 68 65 72 20 76 65 63 74 6f 72 2e 0a 20 20 20 20 length.as.the.other.vector......
c3740 20 20 49 66 20 62 6f 74 68 20 76 65 63 74 6f 72 73 20 61 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 ..If.both.vectors.are.<code><spa
c3760 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
c3780 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 null">undefined</span></span></c
c37a0 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 6c 69 6e 65 22 3e 3c ode>,.<code><span.class="line"><
c37c0 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 75 66 66 6c span.class="tok-builtin">@shuffl
c37e0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 0a 20 e</span></span></code>.returns..
c3800 20 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 .....a.vector.with.all.elements.
c3820 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
c3840 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 6e 3e lass="tok-null">undefined</span>
c3860 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>......
c3880 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 6c 69 .<p>.......<code><span.class="li
c38a0 6e 65 22 3e 45 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 3c ne">E</span></code>.must.be.an.<
c38c0 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 72 3c 2f 61 3e 2c 20 a.href="#Integers">integer</a>,.
c38e0 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 3c 2f 61 3e 2c 0a 20 20 20 <a.href="#Floats">float</a>,....
c3900 20 20 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 2f ...<a.href="#Pointers">pointer</
c3920 61 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 6c 69 6e 65 22 3e a>,.or.<code><span.class="line">
c3940 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
c3960 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 6d 61 73 6b 20 6d 61 79 20 62 n></span></code>..The.mask.may.b
c3980 65 20 61 6e 79 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 2c 20 61 6e 64 20 69 74 73 0a 20 20 20 e.any.vector.length,.and.its....
c39a0 20 20 20 6c 65 6e 67 74 68 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 ...length.determines.the.result.
c39c0 6c 65 6e 67 74 68 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 length........</p>.......<figure
c39e0 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
c3a00 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 68 75 66 66 6c 65 5f 62 75 69 te.class="file">test_shuffle_bui
c3a20 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
c3a40 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
c3a60 63 6c 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.
c3a80 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
c3aa0 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"
c3ac0 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 3c 2f 73 70 61 6e 3e >&quot;std&quot;</span>);</span>
c3ae0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
c3b00 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
c3b20 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 td.testing.expect;</span>.<span.
c3b40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
c3b60 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">tes
c3b80 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">&
c3ba0 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 68 75 66 66 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e quot;vector.@shuffle&quot;</span
c3bc0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
c3be0 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
c3c00 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 62 75 69 6c 74 69 6e an>.a.=.<span.class="tok-builtin
c3c20 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 3d 22 74 6f ">@Vector</span>(<span.class="to
c3c40 6b 2d 6e 75 6d 62 65 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 k-number">7</span>,.<span.class=
c3c60 22 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 "tok-type">u8</span>){.<span.cla
c3c80 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ss="tok-str">'o'</span>,.<span.c
c3ca0 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
c3cc0 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 20 3c 73 70 .class="tok-str">'h'</span>,.<sp
c3ce0 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 3e 2c 20 3c an.class="tok-str">'e'</span>,.<
c3d00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 72 27 3c 2f 73 70 61 6e 3e 2c span.class="tok-str">'r'</span>,
c3d20 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 27 3c 2f 73 70 61 6e .<span.class="tok-str">'z'</span
c3d40 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 77 27 3c 2f 73 70 >,.<span.class="tok-str">'w'</sp
c3d60 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>.};</span>.<span.class="line"
c3d80 3e 20 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<
c3da0 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 6c /span>.b.=.<span.class="tok-buil
c3dc0 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 3d tin">@Vector</span>(<span.class=
c3de0 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 61 "tok-number">4</span>,.<span.cla
c3e00 73 73 3d 22 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 ss="tok-type">u8</span>){.<span.
c3e20 63 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 2c 20 3c 73 70 61 class="tok-str">'w'</span>,.<spa
c3e40 6e 20 63 6c 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 n.class="tok-str">'d'</span>,.<s
c3e60 70 61 6e 20 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 pan.class="tok-str">'!'</span>,.
c3e80 3c 73 70 61 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 <span.class="tok-str">'x'</span>
c3ea0 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f .};</span>.<span.class="line"></
c3ec0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
c3ee0 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 73 68 75 an.class="tok-comment">//.To.shu
c3f00 66 66 6c 65 20 77 69 74 68 69 6e 20 61 20 73 69 6e 67 6c 65 20 76 65 63 74 6f 72 2c 20 70 61 73 ffle.within.a.single.vector,.pas
c3f20 73 20 75 6e 64 65 66 69 6e 65 64 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 s.undefined.as.the.second.argume
c3f40 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nt.</span></span>.<span.class="l
c3f60 69 6e 65 22 3e 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 ine">....<span.class="tok-commen
c3f80 74 22 3e 2f 2f 20 4e 6f 74 69 63 65 20 74 68 61 74 20 77 65 20 63 61 6e 20 72 65 2d 6f 72 64 65 t">//.Notice.that.we.can.re-orde
c3fa0 72 2c 20 64 75 70 6c 69 63 61 74 65 2c 20 6f 72 20 6f 6d 69 74 20 65 6c 65 6d 65 6e 74 73 20 6f r,.duplicate,.or.omit.elements.o
c3fc0 66 20 74 68 65 20 69 6e 70 75 74 20 76 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e f.the.input.vector</span></span>
c3fe0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
c4000 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 61 73 6b 31 20 ass="tok-kw">const</span>.mask1.
c4020 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 65 63 =.<span.class="tok-builtin">@Vec
c4040 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 62 tor</span>(<span.class="tok-numb
c4060 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 74 er">5</span>,.<span.class="tok-t
c4080 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 22 74 ype">i32</span>){.<span.class="t
c40a0 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 61 73 73 ok-number">2</span>,.<span.class
c40c0 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 20 63 6c ="tok-number">3</span>,.<span.cl
c40e0 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 70 61 6e ass="tok-number">1</span>,.<span
c4100 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
c4120 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 20 pan.class="tok-number">0</span>.
c4140 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 };</span>.<span.class="line">...
c4160 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
c4180 6e 3e 20 72 65 73 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 n>.res1:.<span.class="tok-builti
c41a0 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 3d 22 74 n">@Vector</span>(<span.class="t
c41c0 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 73 73 ok-number">5</span>,.<span.class
c41e0 3d 22 74 6f 6b 2d 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 ="tok-type">u8</span>).=.<span.c
c4200 6c 61 73 73 3d 22 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 lass="tok-builtin">@shuffle</spa
c4220 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
c4240 61 6e 3e 2c 20 61 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 an>,.a,.<span.class="tok-null">u
c4260 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 2c 20 6d 61 73 6b 31 29 3b 3c 2f 73 70 61 6e 3e 0a ndefined</span>,.mask1);</span>.
c4280 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
c42a0 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
c42c0 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"
c42e0 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
c4300 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
c4320 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
c4340 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)
c4360 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
c4380 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e llo&quot;</span>));</span>.<span
c43a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
c43c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
c43e0 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 62 69 6e 69 6e 67 20 74 77 6f 20 76 65 63 74 6f 72 73 3c mment">//.Combining.two.vectors<
c4400 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
c4420 3e 20 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<
c4440 2f 73 70 61 6e 3e 20 6d 61 73 6b 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.mask2.=.<span.class="tok-
c4460 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 6c builtin">@Vector</span>(<span.cl
c4480 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 73 70 61 6e ass="tok-number">6</span>,.<span
c44a0 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 7b 20 2d .class="tok-type">i32</span>){.-
c44c0 3c 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
c44e0 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 73 >,.<span.class="tok-number">0</s
c4500 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 34 pan>,.<span.class="tok-number">4
c4520 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
c4540 22 3e 31 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 ">1</span>,.-<span.class="tok-nu
c4560 6d 62 65 72 22 3e 32 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 mber">2</span>,.-<span.class="to
c4580 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">3</span>.};</span>.<sp
c45a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
c45c0 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 32 3a 20 3c 73 70 61 "tok-kw">const</span>.res2:.<spa
c45e0 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 2f 73 n.class="tok-builtin">@Vector</s
c4600 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 36 3c pan>(<span.class="tok-number">6<
c4620 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 3e 75 /span>,.<span.class="tok-type">u
c4640 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 74 6f 6b 2d 62 75 69 8</span>).=.<span.class="tok-bui
c4660 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 20 63 6c 61 73 ltin">@shuffle</span>(<span.clas
c4680 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 2c 20 62 2c 20 6d 61 s="tok-type">u8</span>,.a,.b,.ma
c46a0 73 6b 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e sk2);</span>.<span.class="line">
c46c0 20 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
c46e0 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 6c 61 an>.expect(std.mem.eql(<span.cla
c4700 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 26 61 6d 70 3b 3c 73 ss="tok-type">u8</span>,.&amp;<s
c4720 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
c4740 6e 3e 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 n>([<span.class="tok-number">6</
c4760 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 38 3c span>]<span.class="tok-type">u8<
c4780 2f 73 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 /span>,.res2),.<span.class="tok-
c47a0 73 74 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 str">&quot;world!&quot;</span>))
c47c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
c47e0 70 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 pan></code></pre></figure><figur
c4800 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">
c4820 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>$.<
c4840 6b 62 64 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 kbd>zig.test.test_shuffle_builti
c4860 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 76 65 63 74 6f 72 20 40 73 68 75 n.zig</kbd>.1/1.test.vector.@shu
c4880 66 66 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 65 64 2e 0a 3c ffle....OK.All.1.tests.passed..<
c48a0 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 53 /samp></pre></figure>.......<p>S
c48c0 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 56 ee.also:</p><ul>.<li><a.href="#V
c48e0 65 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 2f 75 6c 3e 0a 0a ectors">Vectors</a></li>.</ul>..
c4900 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 69 7a 65 4f 66 22 3e 3c 61 ..............<h3.id="sizeOf"><a
c4920 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 .href="#toc-sizeOf">@sizeOf</a>.
c4940 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e c2 a7 <a.class="hdr".href="#sizeOf">..
c4960 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
c4980 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
c49a0 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 70 61 6e 20 63 6c builtin">@sizeOf</span>(<span.cl
c49c0 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:.
c49e0 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
c4a00 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 63 6f 6d 70 74 n>).<span.class="tok-type">compt
c4a20 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ime_int</span></span></code></pr
c4a40 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 6f 6e e>.......<p>.......This.function
c4a60 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 69 74 20 .returns.the.number.of.bytes.it.
c4a80 74 61 6b 65 73 20 74 6f 20 73 74 6f 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 takes.to.store.<code><span.class
c4aa0 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 ="line">T</span></code>.in.memor
c4ac0 79 2e 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 y........The.result.is.a.target-
c4ae0 73 70 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 specific.compile.time.constant..
c4b00 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.
c4b20 73 69 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 size.may.contain.padding.bytes..
c4b40 49 66 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 If.there.were.two.consecutive.T.
c4b60 69 6e 20 6d 65 6d 6f 72 79 2c 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 74 68 65 20 6f 66 66 in.memory,.this.would.be.the.off
c4b80 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 65 6c 65 6d 65 set.......in.bytes.between.eleme
c4ba0 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 6e 74 20 61 74 nt.at.index.0.and.the.element.at
c4bc0 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 65 67 65 72 73 .index.1..For.<a.href="#Integers
c4be0 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 65 72 20 77 68 ">integer</a>,.......consider.wh
c4c00 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 3e 3c 73 70 61 ether.you.want.to.use.<code><spa
c4c20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
c4c40 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 3c 2f 73 70 61 6e builtin">@sizeOf</span>(T)</span
c4c60 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ></code>.or.......<code><span.cl
c4c80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
c4ca0 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
c4cc0 73 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 s</span></code>........</p>.....
c4ce0 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 73 75 72 ..<p>.......This.function.measur
c4d00 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 79 70 65 es.the.size.at.runtime..For.type
c4d20 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 69 6d 65 s.that.are.disallowed.at.runtime
c4d40 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 6c 61 73 ,.such.as.......<code><span.clas
c4d60 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e s="line"><span.class="tok-type">
c4d80 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 comptime_int</span></span></code
c4da0 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c >.and.<code><span.class="line"><
c4dc0 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
c4de0 3e 3c 2f 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 ></span></code>,.the.result.is.<
c4e00 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
c4e20 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 73 70 61 6e 3e ass="tok-number">0</span></span>
c4e40 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 53 65 65 </code>........</p>.......<p>See
c4e60 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 62 69 74 .also:</p><ul>.<li><a.href="#bit
c4e80 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 6c 69 3e SizeOf">@bitSizeOf</a></li>.<li>
c4ea0 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 3c 2f 61 <a.href="#typeInfo">@typeInfo</a
c4ec0 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.
c4ee0 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 74 22 3e id="splat"><a.href="#toc-splat">
c4f00 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 66 3d 22 @splat</a>.<a.class="hdr".href="
c4f20 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 72 65 3e #splat">..</a></h3>........<pre>
c4f40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
c4f60 6c 61 73 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 lass="tok-builtin">@splat</span>
c4f80 28 73 63 61 6c 61 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 (scalar:.<span.class="tok-kw">an
c4fa0 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 6b ytype</span>).<span.class="tok-k
c4fc0 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c w">anytype</span></span></code><
c4fe0 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 64 75 63 65 73 20 61 /pre>.......<p>.......Produces.a
c5000 20 76 65 63 74 6f 72 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 68 .vector.where.each.element.is.th
c5020 65 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 e.value.<code><span.class="line"
c5040 3e 73 63 61 6c 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 0a 20 20 20 20 20 20 54 68 >scalar</span></code>.........Th
c5060 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 61 6e 64 20 74 68 75 73 20 74 68 65 20 6c 65 6e 67 74 e.return.type.and.thus.the.lengt
c5080 68 20 6f 66 20 74 68 65 20 76 65 63 74 6f 72 20 69 73 20 69 6e 66 65 72 72 65 64 2e 0a 20 20 20 h.of.the.vector.is.inferred.....
c50a0 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
c50c0 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
c50e0 69 6c 65 22 3e 74 65 73 74 5f 73 70 6c 61 74 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 69 74 ile">test_splat_builtin.zig</cit
c5100 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.
c5120 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
c5140 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
c5160 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
c5180 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
c51a0 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
c51c0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
c51e0 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
c5200 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pect;</span>.<span.class="line">
c5220 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
c5240 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
c5260 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 65 63 74 6f 72 20 40 n.class="tok-str">&quot;vector.@
c5280 73 70 6c 61 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 splat&quot;</span>.{</span>.<spa
c52a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
c52c0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 63 61 6c 61 72 3a 20 3c 73 70 tok-kw">const</span>.scalar:.<sp
c52e0 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>.=
c5300 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
c5320 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>;</span>.<span.class="line">..
c5340 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
c5360 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 74 6f 6b 2d 62 75 69 an>.result:.<span.class="tok-bui
c5380 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
c53a0 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
c53c0 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 20 3d 20 3c 73 70 ass="tok-type">u32</span>).=.<sp
c53e0 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 6c 61 74 3c 2f 73 an.class="tok-builtin">@splat</s
c5400 70 61 6e 3e 28 73 63 61 6c 61 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 pan>(scalar);</span>.<span.class
c5420 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
c5440 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 65 71 6c 28 3c >try</span>.expect(std.mem.eql(<
c5460 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>
c5480 2c 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 ,.&amp;<span.class="tok-builtin"
c54a0 3e 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 >@as</span>([<span.class="tok-nu
c54c0 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 73 3d 22 74 6f 6b 2d mber">4</span>]<span.class="tok-
c54e0 74 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 type">u32</span>,.result),.&amp;
c5500 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 33 32 3c 2f 73 [_]<span.class="tok-type">u32</s
c5520 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 35 pan>{.<span.class="tok-number">5
c5540 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
c5560 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 75 6d ">5</span>,.<span.class="tok-num
c5580 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-
c55a0 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 number">5</span>.}));</span>.<sp
c55c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
c55e0 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
c5600 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
c5620 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
c5640 20 74 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 .test_splat_builtin.zig</kbd>.1/
c5660 31 20 74 65 73 74 2e 76 65 63 74 6f 72 20 40 73 70 6c 61 74 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 1.test.vector.@splat....OK.All.1
c5680 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
c56a0 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 3c 73 70 61 gure>.......<p>.......<code><spa
c56c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 63 61 6c 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f n.class="line">scalar</span></co
c56e0 64 65 3e 20 6d 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 de>.must.be.an.<a.href="#Integer
c5700 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 s">integer</a>,.<a.href="#Primit
c5720 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 3c 61 20 68 72 ive-Types">bool</a>,.......<a.hr
c5740 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 ef="#Floats">float</a>,.or.<a.hr
c5760 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 0a 20 20 20 20 ef="#Pointers">pointer</a>......
c5780 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
c57a0 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 73 >.<li><a.href="#Vectors">Vectors
c57c0 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 75 66 66 6c 65 22 </a></li>.<li><a.href="#shuffle"
c57e0 3e 40 73 68 75 66 66 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 >@shuffle</a></li>.</ul>........
c5800 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 72 65 64 75 63 65 22 3e 3c 61 20 68 72 65 66 3d ........<h3.id="reduce"><a.href=
c5820 22 23 74 6f 63 2d 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 "#toc-reduce">@reduce</a>.<a.cla
c5840 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 65 64 75 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f ss="hdr".href="#reduce">..</a></
c5860 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
c5880 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 s="line"><span.class="tok-builti
c58a0 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 73 3d 22 74 n">@reduce</span>(<span.class="t
c58c0 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 74 64 2e 62 ok-kw">comptime</span>.op:.std.b
c58e0 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 6e 20 63 6c uiltin.ReduceOp,.value:.<span.cl
c5900 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 45 3c 2f ass="tok-kw">anytype</span>).E</
c5920 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>....
c5940 20 20 20 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 ...Transforms.a.<a.href="#Vector
c5960 73 22 3e 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 s">vector</a>.into.a.scalar.valu
c5980 65 20 28 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 e.(of.type.<code>E</code>)......
c59a0 20 62 79 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 .by.performing.a.sequential.hori
c59c0 7a 6f 6e 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 zontal.reduction.of.its.elements
c59e0 20 75 73 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 .using.the.......specified.opera
c5a00 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 3c tor.<code><span.class="line">op<
c5a20 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 20 /span></code>........</p>.......
c5a40 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 69 73 20 <p>.......Not.every.operator.is.
c5a60 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 65 6d 65 available.for.every.vector.eleme
c5a80 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 3e 0a 20 nt.type:.......</p>.......<ul>..
c5aa0 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 73 20 61 .........<li>Every.operator.is.a
c5ac0 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 72 73 22 vailable.for.<a.href="#Integers"
c5ae0 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 20 20 20 >integer</a>.vectors.</li>......
c5b00 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 6c 69 6e 65 .....<li><code><span.class="line
c5b20 22 3e 2e 41 6e 64 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 ">.And</span></code>,.<code><spa
c5b40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e n.class="line">.Or</span></code>
c5b60 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 63 6c 61 73 73 3d ,.............<code><span.class=
c5b80 22 6c 69 6e 65 22 3e 2e 58 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 61 64 "line">.Xor</span></code>.are.ad
c5ba0 64 69 74 69 6f 6e 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 0a 20 20 20 20 20 20 20 ditionally.available.for........
c5bc0 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .....<code><span.class="line"><s
c5be0 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 6e 3e pan.class="tok-type">bool</span>
c5c00 3c 2f 73 70 61 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 </span></code>.vectors,</li>....
c5c20 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 6c 69 .......<li><code><span.class="li
c5c40 6e 65 22 3e 2e 4d 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 ne">.Min</span></code>,.<code><s
c5c60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 61 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="line">.Max</span></co
c5c80 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 63 6c 61 de>,.............<code><span.cla
c5ca0 73 73 3d 22 6c 69 6e 65 22 3e 2e 41 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 ss="line">.Add</span></code>,.<c
c5cc0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 75 6c 3c 2f 73 70 61 ode><span.class="line">.Mul</spa
c5ce0 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 64 64 69 74 69 n></code>.are.............additi
c5d00 6f 6e 61 6c 6c 79 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 46 onally.available.for.<a.href="#F
c5d20 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 3c 2f 61 3e 20 76 65 63 74 6f 72 loats">floating.point</a>.vector
c5d40 73 2c 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 s,</li>.......</ul>.......<p>...
c5d60 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 20 63 6c 61 73 73 3d ....Note.that.<code><span.class=
c5d80 22 6c 69 6e 65 22 3e 2e 41 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 "line">.Add</span></code>.and.<c
c5da0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 75 6c 3c 2f 73 70 61 ode><span.class="line">.Mul</spa
c5dc0 6e 3e 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 n></code>.......reductions.on.in
c5de0 74 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 tegral.types.are.wrapping;.when.
c5e00 61 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 applied.on.floating.point.......
c5e20 74 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 types.the.operation.associativit
c5e40 79 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 y.is.preserved,.unless.the.float
c5e60 20 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 3c 73 70 61 .mode.is.......set.to.<code><spa
c5e80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 3c n.class="line">Optimized</span><
c5ea0 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
c5ec0 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
c5ee0 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 5f 62 75 69 6c te.class="file">test_reduce_buil
c5f00 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 3e tin.zig</cite></figcaption><pre>
c5f20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
c5f40 6c 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.=
c5f60 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
c5f80 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">
c5fa0 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 73 70 61 6e 3e 0a &quot;std&quot;</span>);</span>.
c5fc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
c5fe0 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
c6000 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 d.testing.expect;</span>.<span.c
c6020 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
c6040 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">test
c6060 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
c6080 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 61 6e 3e 20 uot;vector.@reduce&quot;</span>.
c60a0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
c60c0 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
c60e0 3e 20 56 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 >.V.=.<span.class="tok-builtin">
c6100 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 2d @Vector</span>(<span.class="tok-
c6120 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 74 number">4</span>,.<span.class="t
c6140 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-type">i32</span>);</span>.<sp
c6160 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
c6180 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 20 3d 20 56 7b "tok-kw">const</span>.value.=.V{
c61a0 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
c61c0 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 65 72 22 3e 31 3c n>,.-<span.class="tok-number">1<
c61e0 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"
c6200 3e 31 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 >1</span>,.-<span.class="tok-num
c6220 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">1</span>.};</span>.<span.cl
c6240 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
c6260 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 76 61 6c 75 65 20 kw">const</span>.result.=.value.
c6280 26 67 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 &gt;.<span.class="tok-builtin">@
c62a0 61 73 3c 2f 73 70 61 6e 3e 28 56 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 as</span>(V,.<span.class="tok-bu
c62c0 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 iltin">@splat</span>(<span.class
c62e0 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 3c 2f 73 70 61 6e 3e ="tok-number">0</span>));</span>
c6300 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
c6320 61 73 73 3d 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 ass="tok-comment">//.result.is.{
c6340 20 74 72 75 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 .true,.false,.true,.false.};</sp
c6360 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 an></span>.<span.class="line">..
c6380 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
c63a0 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 3c >.<span.class="tok-kw">comptime<
c63c0 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 62 /span>.expect(<span.class="tok-b
c63e0 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 20 3d uiltin">@TypeOf</span>(result).=
c6400 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 65 63 =.<span.class="tok-builtin">@Vec
c6420 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 62 tor</span>(<span.class="tok-numb
c6440 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 74 er">4</span>,.<span.class="tok-t
c6460 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ype">bool</span>));</span>.<span
c6480 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
c64a0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 61 6c 6c 5f 74 72 75 65 20 ok-kw">const</span>.is_all_true.
c64c0 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 72 65 64 =.<span.class="tok-builtin">@red
c64e0 75 63 65 3c 2f 73 70 61 6e 3e 28 2e 41 6e 64 2c 20 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e uce</span>(.And,.result);</span>
c6500 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
c6520 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
c6540 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
c6560 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 54 ect(<span.class="tok-builtin">@T
c6580 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 69 73 5f 61 6c 6c 5f 74 72 75 65 29 20 3d 3d 20 3c 73 70 ypeOf</span>(is_all_true).==.<sp
c65a0 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 6e 3e 29 an.class="tok-type">bool</span>)
c65c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
c65e0 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>.
c6600 65 78 70 65 63 74 28 69 73 5f 61 6c 6c 5f 74 72 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 expect(is_all_true.==.<span.clas
c6620 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 3c 2f 73 70 61 s="tok-null">false</span>);</spa
c6640 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
c6660 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
c6680 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<
c66a0 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
c66c0 67 20 74 65 73 74 20 74 65 73 74 5f 72 65 64 75 63 65 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f g.test.test_reduce_builtin.zig</
c66e0 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 76 65 63 74 6f 72 20 40 72 65 64 75 63 65 2e 2e 2e 20 kbd>.1/1.test.vector.@reduce....
c6700 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></
c6720 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:
c6740 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 63 74 6f 72 73 22 3e </p><ul>.<li><a.href="#Vectors">
c6760 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 72 65 66 3d 22 23 73 Vectors</a></li>.<li><a.href="#s
c6780 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 65 3c 2f 61 3e 3c 2f etFloatMode">@setFloatMode</a></
c67a0 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 64 3d li>.</ul>................<h3.id=
c67c0 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 40 73 72 63 3c 2f 61 "src"><a.href="#toc-src">@src</a
c67e0 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 72 63 22 3e c2 a7 3c >.<a.class="hdr".href="#src">..<
c6800 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
c6820 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
c6840 75 69 6c 74 69 6e 22 3e 40 73 72 63 3c 2f 73 70 61 6e 3e 28 29 20 73 74 64 2e 62 75 69 6c 74 69 uiltin">@src</span>().std.builti
c6860 6e 2e 53 6f 75 72 63 65 4c 6f 63 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.SourceLocation</span></code></
c6880 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 61 20 3c pre>.......<p>.......Returns.a.<
c68a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 6f 75 72 63 65 4c 6f code><span.class="line">SourceLo
c68c0 63 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 72 65 70 72 cation</span></code>.struct.repr
c68e0 65 73 65 6e 74 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 6e 61 6d 65 20 61 6e 64 esenting.the.function's.name.and
c6900 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 54 68 .location.in.the.source.code..Th
c6920 69 73 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e 2e is.must.be.called.in.a.function.
c6940 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
c6960 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
c6980 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 72 63 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 s="file">test_src_builtin.zig</c
c69a0 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
c69c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
c69e0 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
c6a00 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>(
c6a20 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&
c6a40 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>);</span>.<span.clas
c6a60 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
c6a80 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.
c6aa0 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 expect;</span>.<span.class="line
c6ac0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
c6ae0 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
c6b00 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 73 72 63 26 71 pan.class="tok-str">&quot;@src&q
c6b20 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>.{</span>.<span.class
c6b40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
c6b60 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a >try</span>.doTheTest();</span>.
c6b80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
c6ba0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
c6bc0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
c6be0 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
c6c00 54 68 65 54 65 73 74 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 TheTest</span>().!<span.class="t
c6c20 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
c6c40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
c6c60 3d 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 3c 73 70 ="tok-kw">const</span>.src.=.<sp
c6c80 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 3c 2f 73 70 61 an.class="tok-builtin">@src</spa
c6ca0 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>();</span>.<span.class="line">
c6cc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
c6ce0 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
c6d00 78 70 65 63 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 xpect(src.line.==.<span.class="t
c6d20 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">9</span>);</span>.<sp
c6d40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
c6d60 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 2e 63 "tok-kw">try</span>.expect(src.c
c6d80 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 65 72 olumn.==.<span.class="tok-number
c6da0 22 3e 31 37 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">17</span>);</span>.<span.class
c6dc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
c6de0 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 65 6e 64 73 57 >try</span>.expect(std.mem.endsW
c6e00 69 74 68 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 ith(<span.class="tok-type">u8</s
c6e20 70 61 6e 3e 2c 20 73 72 63 2e 66 6e 5f 6e 61 6d 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>,.src.fn_name,.<span.class="
c6e40 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 54 68 65 54 65 73 74 26 71 75 6f 74 3b 3c 2f tok-str">&quot;doTheTest&quot;</
c6e60 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>));</span>.<span.class="lin
c6e80 65 22 3e 20 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 e">....<span.class="tok-kw">try<
c6ea0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 6e 64 73 57 69 74 68 28 3c /span>.expect(std.mem.endsWith(<
c6ec0 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>,
c6ee0 20 73 72 63 2e 66 69 6c 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 .src.file,.<span.class="tok-str"
c6f00 3e 26 71 75 6f 74 3b 74 65 73 74 5f 73 72 63 5f 62 75 69 6c 74 69 6e 2e 7a 69 67 26 71 75 6f 74 >&quot;test_src_builtin.zig&quot
c6f20 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;</span>));</span>.<span.class="
c6f40 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
c6f60 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
c6f80 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
c6fa0 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 72 63 5f ><samp>$.<kbd>zig.test.test_src_
c6fc0 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 2e 40 73 72 63 2e builtin.zig</kbd>.1/1.test.@src.
c6fe0 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
c7000 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 68 ></pre></figure>..............<h
c7020 33 20 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 3.id="sqrt"><a.href="#toc-sqrt">
c7040 40 73 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 @sqrt</a>.<a.class="hdr".href="#
c7060 73 71 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 sqrt">..</a></h3>........<pre><c
c7080 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
c70a0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 71 72 74 3c 2f 73 70 61 6e 3e 28 76 61 ss="tok-builtin">@sqrt</span>(va
c70c0 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 70 lue:.<span.class="tok-kw">anytyp
c70e0 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 74 e</span>).<span.class="tok-built
c7100 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 73 70 61 6e 3e in">@TypeOf</span>(value)</span>
c7120 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 65 </code></pre>.......<p>.......Pe
c7140 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 66 6c 6f 61 rforms.the.square.root.of.a.floa
c7160 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 64 69 63 61 ting.point.number..Uses.a.dedica
c7180 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 20 20 20 77 ted.hardware.instruction.......w
c71a0 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>.......
c71c0 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
c71e0 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
c7200 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....
c7220 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 73 69 ....</p>..............<h3.id="si
c7240 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 61 3e 20 3c n"><a.href="#toc-sin">@sin</a>.<
c7260 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 3c 2f 61 3e a.class="hdr".href="#sin">..</a>
c7280 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
c72a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
c72c0 74 69 6e 22 3e 40 73 69 6e 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c tin">@sin</span>(value:.<span.cl
c72e0 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
c7300 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</
c7320 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e span>(value)</span></code></pre>
c7340 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 69 6e 65 20 74 72 69 67 6f 6e 6f 6d 65 74 .......<p>.......Sine.trigonomet
c7360 72 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 ric.function.on.a.floating.point
c7380 20 6e 75 6d 62 65 72 20 69 6e 20 72 61 64 69 61 6e 73 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 .number.in.radians..Uses.a.dedic
c73a0 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 20 20 20 ated.hardware.instruction.......
c73c0 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 20 when.available........</p>......
c73e0 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 6c .<p>.......Supports.<a.href="#Fl
c7400 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 56 oats">Floats</a>.and.<a.href="#V
c7420 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 20 ectors">Vectors</a>.of.floats...
c7440 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="
c7460 63 6f 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 73 22 3e 40 63 6f 73 3c 2f 61 3e cos"><a.href="#toc-cos">@cos</a>
c7480 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 73 22 3e c2 a7 3c 2f .<a.class="hdr".href="#cos">..</
c74a0 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.
c74c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
c74e0 69 6c 74 69 6e 22 3e 40 63 6f 73 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 iltin">@cos</span>(value:.<span.
c7500 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 3c class="tok-kw">anytype</span>).<
c7520 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 66 span.class="tok-builtin">@TypeOf
c7540 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 </span>(value)</span></code></pr
c7560 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 73 69 6e 65 20 74 72 69 67 6f 6e e>.......<p>.......Cosine.trigon
c7580 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 74 69 6e 67 20 70 ometric.function.on.a.floating.p
c75a0 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 65 73 20 61 20 64 oint.number.in.radians..Uses.a.d
c75c0 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...
c75e0 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>..
c7600 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=
c7620 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
c7640 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
c7660 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 20 s........</p>...............<h3.
c7680 69 64 3d 22 74 61 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 61 6e 22 3e 40 74 61 6e id="tan"><a.href="#toc-tan">@tan
c76a0 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 61 6e 22 3e </a>.<a.class="hdr".href="#tan">
c76c0 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
c76e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
c7700 6b 2d 62 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 k-builtin">@tan</span>(value:.<s
c7720 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
c7740 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 79 >).<span.class="tok-builtin">@Ty
c7760 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e peOf</span>(value)</span></code>
c7780 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 61 6e 67 65 6e 74 20 74 </pre>.......<p>.......Tangent.t
c77a0 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 74 rigonometric.function.on.a.float
c77c0 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 0a 20 20 20 ing.point.number.in.radians.....
c77e0 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 72 65 20 69 6e 73 ...Uses.a.dedicated.hardware.ins
c7800 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 20 20 20 20 20 3c truction.when.available........<
c7820 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 20 /p>.......<p>.......Supports.<a.
c7840 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 61 href="#Floats">Floats</a>.and.<a
c7860 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 20 .href="#Vectors">Vectors</a>.of.
c7880 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 20 floats........</p>..............
c78a0 20 3c 68 33 20 69 64 3d 22 65 78 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 70 22 .<h3.id="exp"><a.href="#toc-exp"
c78c0 3e 40 65 78 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 >@exp</a>.<a.class="hdr".href="#
c78e0 65 78 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 exp">..</a></h3>........<pre><co
c7900 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
c7920 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 61 6c 75 s="tok-builtin">@exp</span>(valu
c7940 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<
c7960 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
c7980 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 73 70 61 6e 3e 3c 2f ">@TypeOf</span>(value)</span></
c79a0 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 42 61 73 65 code></pre>.......<p>.......Base
c79c0 2d 65 20 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 -e.exponential.function.on.a.flo
c79e0 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 64 69 63 ating.point.number..Uses.a.dedic
c7a00 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 20 20 20 ated.hardware.instruction.......
c7a20 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 20 when.available........</p>......
c7a40 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 6c .<p>.......Supports.<a.href="#Fl
c7a60 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 56 oats">Floats</a>.and.<a.href="#V
c7a80 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 20 ectors">Vectors</a>.of.floats...
c7aa0 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 65 .....</p>..............<h3.id="e
c7ac0 78 70 32 22 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 xp2"><a.href="#toc-exp2">@exp2</
c7ae0 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 70 32 22 3e c2 a>.<a.class="hdr".href="#exp2">.
c7b00 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
c7b20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
c7b40 2d 62 75 69 6c 74 69 6e 22 3e 40 65 78 70 32 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 -builtin">@exp2</span>(value:.<s
c7b60 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
c7b80 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 79 >).<span.class="tok-builtin">@Ty
c7ba0 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e peOf</span>(value)</span></code>
c7bc0 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 65 78 </pre>.......<p>.......Base-2.ex
c7be0 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 67 ponential.function.on.a.floating
c7c00 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.
c7c20 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.
c7c40 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>.
c7c60 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"
c7c80 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
c7ca0 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........
c7cc0 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 3e 3c </p>..............<h3.id="log"><
c7ce0 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 63 6c a.href="#toc-log">@log</a>.<a.cl
c7d00 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 68 33 ass="hdr".href="#log">..</a></h3
c7d20 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=
c7d40 22 6c 69 6e 65 22 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 "line"><span.class="tok-builtin"
c7d60 3e 40 6c 6f 67 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 >@log</span>(value:.<span.class=
c7d80 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
c7da0 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
c7dc0 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 >(value)</span></code></pre>....
c7de0 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 6e 61 74 75 72 61 6c ...<p>.......Returns.the.natural
c7e00 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e .logarithm.of.a.floating.point.n
c7e20 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
c7e40 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
c7e60 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
c7e80 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<
c7ea0 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
c7ec0 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>....
c7ee0 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 32 22 3e 3c 61 20 68 72 65 66 3d ..........<h3.id="log2"><a.href=
c7f00 22 23 74 6f 63 2d 6c 6f 67 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 "#toc-log2">@log2</a>.<a.class="
c7f20 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 32 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 hdr".href="#log2">..</a></h3>...
c7f40 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 6c 69 6e .....<pre><code><span.class="lin
c7f60 65 22 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 6f e"><span.class="tok-builtin">@lo
c7f80 67 32 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 g2</span>(value:.<span.class="to
c7fa0 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
c7fc0 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
c7fe0 61 6c 75 65 29 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 alue)</span></code></pre>.......
c8000 3c 70 3e 0a 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 <p>.......Returns.the.logarithm.
c8020 74 6f 20 74 68 65 20 62 61 73 65 20 32 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e to.the.base.2.of.a.floating.poin
c8040 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 68 61 72 64 77 t.number..Uses.a.dedicated.hardw
c8060 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 61 76 61 69 6c are.instruction.......when.avail
c8080 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 20 20 20 20 20 able........</p>.......<p>......
c80a0 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 3e 46 6c 6f 61 .Supports.<a.href="#Floats">Floa
c80c0 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 73 22 3e 56 65 ts</a>.and.<a.href="#Vectors">Ve
c80e0 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 3c 2f 70 3e 0a ctors</a>.of.floats........</p>.
c8100 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 31 30 22 3e 3c 61 20 68 .............<h3.id="log10"><a.h
c8120 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 31 30 22 3e 40 6c 6f 67 31 30 3c 2f 61 3e 20 3c 61 20 63 ref="#toc-log10">@log10</a>.<a.c
c8140 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 31 30 22 3e c2 a7 3c 2f 61 3e 3c lass="hdr".href="#log10">..</a><
c8160 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
c8180 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
c81a0 69 6e 22 3e 40 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 in">@log10</span>(value:.<span.c
c81c0 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
c81e0 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<
c8200 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 /span>(value)</span></code></pre
c8220 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 20 6c 6f >.......<p>.......Returns.the.lo
c8240 67 61 72 69 74 68 6d 20 74 6f 20 74 68 65 20 62 61 73 65 20 31 30 20 6f 66 20 61 20 66 6c 6f 61 garithm.to.the.base.10.of.a.floa
c8260 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 64 69 63 61 ting.point.number..Uses.a.dedica
c8280 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 20 20 20 77 ted.hardware.instruction.......w
c82a0 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>.......
c82c0 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
c82e0 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
c8300 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....
c8320 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 66 61 ....</p>..............<h3.id="fa
c8340 62 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 61 62 73 22 3e 40 66 61 62 73 3c 2f 61 bs"><a.href="#toc-fabs">@fabs</a
c8360 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 61 62 73 22 3e c2 a7 >.<a.class="hdr".href="#fabs">..
c8380 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
c83a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
c83c0 62 75 69 6c 74 69 6e 22 3e 40 66 61 62 73 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 builtin">@fabs</span>(value:.<sp
c83e0 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>
c8400 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 79 70 ).<span.class="tok-builtin">@Typ
c8420 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c eOf</span>(value)</span></code><
c8440 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 68 /pre>.......<p>.......Returns.th
c8460 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 e.absolute.value.of.a.floating.p
c8480 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 68 61 oint.number..Uses.a.dedicated.ha
c84a0 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 61 76 rdware.instruction.......when.av
c84c0 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 20 20 ailable........</p>.......<p>...
c84e0 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 3e 46 ....Supports.<a.href="#Floats">F
c8500 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 73 22 loats</a>.and.<a.href="#Vectors"
c8520 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 3c 2f >Vectors</a>.of.floats........</
c8540 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 6f 72 22 3e 3c p>..............<h3.id="floor"><
c8560 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 2f 61 3e 20 3c a.href="#toc-floor">@floor</a>.<
c8580 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 3e c2 a7 3c 2f a.class="hdr".href="#floor">..</
c85a0 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.
c85c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
c85e0 69 6c 74 69 6e 22 3e 40 66 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 iltin">@floor</span>(value:.<spa
c8600 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>)
c8620 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 79 70 65 .<span.class="tok-builtin">@Type
c8640 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f Of</span>(value)</span></code></
c8660 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
c8680 20 6c 61 72 67 65 73 74 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 20 6e 6f 74 20 67 72 65 61 .largest.integral.value.not.grea
c86a0 74 65 72 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e ter.than.the.given.floating.poin
c86c0 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 64 69 63 61 74 65 64 t.number........Uses.a.dedicated
c86e0 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 6e 20 61 76 61 69 6c .hardware.instruction.when.avail
c8700 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 20 20 20 20 20 able........</p>.......<p>......
c8720 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 3e 46 6c 6f 61 .Supports.<a.href="#Floats">Floa
c8740 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 73 22 3e 56 65 ts</a>.and.<a.href="#Vectors">Ve
c8760 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 3c 2f 70 3e 0a ctors</a>.of.floats........</p>.
c8780 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 65 69 6c 22 3e 3c 61 20 68 72 .............<h3.id="ceil"><a.hr
c87a0 65 66 3d 22 23 74 6f 63 2d 63 65 69 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 ef="#toc-ceil">@ceil</a>.<a.clas
c87c0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 65 69 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e s="hdr".href="#ceil">..</a></h3>
c87e0 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="
c8800 6c 69 6e 65 22 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 line"><span.class="tok-builtin">
c8820 40 63 65 69 6c 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 @ceil</span>(value:.<span.class=
c8840 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
c8860 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
c8880 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 >(value)</span></code></pre>....
c88a0 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 73 6d 61 6c 6c 65 73 ...<p>.......Returns.the.smalles
c88c0 74 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 20 6e 6f 74 20 6c 65 73 73 20 74 68 61 6e 20 74 t.integral.value.not.less.than.t
c88e0 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 75 6d 62 65 72 2e 0a he.given.floating.point.number..
c8900 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 72 65 20 ......Uses.a.dedicated.hardware.
c8920 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 20 20 20 instruction.when.available......
c8940 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 74 73 20 ..</p>.......<p>.......Supports.
c8960 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 61 6e 64 <a.href="#Floats">Floats</a>.and
c8980 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 61 3e 20 .<a.href="#Vectors">Vectors</a>.
c89a0 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 20 20 20 of.floats........</p>...........
c89c0 20 20 20 3c 68 33 20 69 64 3d 22 74 72 75 6e 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d ...<h3.id="trunc"><a.href="#toc-
c89e0 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 trunc">@trunc</a>.<a.class="hdr"
c8a00 20 68 72 65 66 3d 22 23 74 72 75 6e 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 .href="#trunc">..</a></h3>......
c8a20 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 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
c8a40 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
c8a60 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 2d </span>(value:.<span.class="tok-
c8a80 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 3d kw">anytype</span>).<span.class=
c8aa0 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 6c "tok-builtin">@TypeOf</span>(val
c8ac0 75 65 29 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 ue)</span></code></pre>.......<p
c8ae0 3e 0a 20 20 20 20 20 20 52 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e >.......Rounds.the.given.floatin
c8b00 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 74 6f g.point.number.to.an.integer,.to
c8b20 77 61 72 64 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 wards.zero........Uses.a.dedicat
c8b40 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 6e 20 61 76 61 ed.hardware.instruction.when.ava
c8b60 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 20 20 20 ilable........</p>.......<p>....
c8b80 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 3e 46 6c ...Supports.<a.href="#Floats">Fl
c8ba0 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 73 22 3e oats</a>.and.<a.href="#Vectors">
c8bc0 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 3c 2f 70 Vectors</a>.of.floats........</p
c8be0 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 72 6f 75 6e 64 22 3e 3c 61 >..............<h3.id="round"><a
c8c00 20 68 72 65 66 3d 22 23 74 6f 63 2d 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e 20 3c 61 .href="#toc-round">@round</a>.<a
c8c20 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 6f 75 6e 64 22 3e c2 a7 3c 2f 61 .class="hdr".href="#round">..</a
c8c40 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
c8c60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
c8c80 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 73 70 61 6e ltin">@round</span>(value:.<span
c8ca0 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>).
c8cc0 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
c8ce0 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 f</span>(value)</span></code></p
c8d00 72 65 3e 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 re>.......<p>.......Rounds.the.g
c8d20 69 76 65 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 iven.floating.point.number.to.an
c8d40 20 69 6e 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 .integer,.away.from.zero..Uses.a
c8d60 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 0a .dedicated.hardware.instruction.
c8d80 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 3c 2f 70 3e ......when.available........</p>
c8da0 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 20 68 72 65 .......<p>.......Supports.<a.hre
c8dc0 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 61 20 68 72 f="#Floats">Floats</a>.and.<a.hr
c8de0 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 20 66 6c 6f ef="#Vectors">Vectors</a>.of.flo
c8e00 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 20 20 3c 68 ats........</p>...............<h
c8e20 33 20 69 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 3.id="subWithOverflow"><a.href="
c8e40 23 74 6f 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 #toc-subWithOverflow">@subWithOv
c8e60 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 66 3d 22 erflow</a>.<a.class="hdr".href="
c8e80 23 73 75 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 #subWithOverflow">..</a></h3>...
c8ea0 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 6c 69 6e .....<pre><code><span.class="lin
c8ec0 65 22 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 75 e"><span.class="tok-builtin">@su
c8ee0 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c bWithOverflow</span>(a:.<span.cl
c8f00 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 62 3a 20 ass="tok-kw">anytype</span>,.b:.
c8f20 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
c8f40 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 73 74 72 75 63 74 an>).<span.class="tok-kw">struct
c8f60 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 62 75 69 6c 74 </span>.{.<span.class="tok-built
c8f80 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 2c 20 3c 73 70 61 6e 20 in">@TypeOf</span>(a,.b),.<span.
c8fa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 20 7d 3c 2f 73 70 class="tok-type">u1</span>.}</sp
c8fc0 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 20 20 an></code></pre>.......<p>......
c8fe0 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .Performs.<code><span.class="lin
c9000 65 22 3e 61 20 2d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 e">a.-.b</span></code>.and.retur
c9020 6e 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 ns.a.tuple.with.the.result.and.a
c9040 20 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 .possible.overflow.bit........</
c9060 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 74 61 67 4e 61 6d 65 p>...............<h3.id="tagName
c9080 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d "><a.href="#toc-tagName">@tagNam
c90a0 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 74 61 67 4e e</a>.<a.class="hdr".href="#tagN
c90c0 61 6d 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 6f ame">..</a></h3>........<pre><co
c90e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
c9100 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 6e 3e 28 s="tok-builtin">@tagName</span>(
c9120 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
c9140 79 70 65 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 2d 6e ype</span>).[:<span.class="tok-n
c9160 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
c9180 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
c91a0 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ok-type">u8</span></span></code>
c91c0 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 74 73 20 </pre>.......<p>.......Converts.
c91e0 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 20 6f 72 20 75 6e 69 6f 6e 20 76 61 6c 75 65 20 74 6f 20 an.enum.value.or.union.value.to.
c9200 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 a.string.literal.representing.th
c9220 65 20 6e 61 6d 65 2e 3c 2f 70 3e 3c 70 3e 49 66 20 74 68 65 20 65 6e 75 6d 20 69 73 20 6e 6f 6e e.name.</p><p>If.the.enum.is.non
c9240 2d 65 78 68 61 75 73 74 69 76 65 20 61 6e 64 20 74 68 65 20 74 61 67 20 76 61 6c 75 65 20 64 6f -exhaustive.and.the.tag.value.do
c9260 65 73 20 6e 6f 74 20 6d 61 70 20 74 6f 20 61 20 6e 61 6d 65 2c 20 69 74 20 69 6e 76 6f 6b 65 73 es.not.map.to.a.name,.it.invokes
c9280 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 64 65 66 69 .safety-checked.<a.href="#Undefi
c92a0 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
c92c0 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>...............<
c92e0 68 33 20 69 64 3d 22 54 68 69 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 69 73 22 h3.id="This"><a.href="#toc-This"
c9300 3e 40 54 68 69 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 >@This</a>.<a.class="hdr".href="
c9320 23 54 68 69 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 #This">..</a></h3>........<pre><
c9340 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
c9360 61 73 73 3d 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 ass="tok-builtin">@This</span>()
c9380 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
c93a0 61 6e 3e 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 an></span></code></pre>.......<p
c93c0 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 73 74 >.......Returns.the.innermost.st
c93e0 72 75 63 74 2c 20 65 6e 75 6d 2c 20 6f 72 20 75 6e 69 6f 6e 20 74 68 61 74 20 74 68 69 73 20 66 ruct,.enum,.or.union.that.this.f
c9400 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 69 73 20 69 6e 73 69 64 65 2e 0a 20 20 20 20 20 20 54 68 unction.call.is.inside........Th
c9420 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 is.can.be.useful.for.an.anonymou
c9440 73 20 73 74 72 75 63 74 20 74 68 61 74 20 6e 65 65 64 73 20 74 6f 20 72 65 66 65 72 20 74 6f 20 s.struct.that.needs.to.refer.to.
c9460 69 74 73 65 6c 66 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 itself:.......</p>.......<figure
c9480 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
c94a0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 68 69 73 5f 62 75 69 6c 74 69 te.class="file">test_this_builti
c94c0 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 63 n.zig</cite></figcaption><pre><c
c94e0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
c9500 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.=.<
c9520 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
c9540 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
c9560 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 uot;std&quot;</span>);</span>.<s
c9580 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
c95a0 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.
c95c0 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 testing.expect;</span>.<span.cla
c95e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
c9600 69 6e 65 22 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 ine"><span.class="tok-kw">test</
c9620 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
c9640 74 3b 40 54 68 69 73 28 29 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a t;@This()&quot;</span>.{</span>.
c9660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
c9680 73 73 3d 22 74 6f 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 ss="tok-kw">var</span>.items.=.[
c96a0 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
c96c0 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<
c96e0 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"
c9700 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
c9720 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
c9740 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">4</span>.};</span>.<span.
c9760 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
c9780 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(<
c97a0 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>
c97c0 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
c97e0 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 3c 2f 73 70 61 6e 3e ok-number">0</span>..].};</span>
c9800 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
c9820 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 6c ass="tok-kw">try</span>.expect(l
c9840 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 73 3d 22 74 6f 6b ist.length().==.<span.class="tok
c9860 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">4</span>);</span>.<span
c9880 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
c98a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
c98c0 69 6e 65 22 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 2f 73 70 ine"><span.class="tok-kw">fn</sp
c98e0 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 3c 2f 73 an>.<span.class="tok-fn">List</s
c9900 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
c9920 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 79 me</span>.T:.<span.class="tok-ty
c9940 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 22 74 6f pe">type</span>).<span.class="to
c9960 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-type">type</span>.{</span>.<sp
c9980 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
c99a0 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
c99c0 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 3c 2f 73 70 61 ss="tok-kw">struct</span>.{</spa
c99e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 n>.<span.class="line">........<s
c9a00 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>.
c9a20 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 74 69 6e 22 Self.=.<span.class="tok-builtin"
c9a40 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >@This</span>();</span>.<span.cl
c9a60 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
c9a80 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 74 65 6d 73 3a 20 5b 5d 54 2c 3c 2f 73 70 61 6e 3e line">........items:.[]T,</span>
c9aa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
c9ac0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 n.class="line">........<span.cla
c9ae0 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
c9b00 73 3d 22 74 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 s="tok-fn">length</span>(self:.S
c9b20 65 6c 66 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 elf).<span.class="tok-type">usiz
c9b40 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e</span>.{</span>.<span.class="l
c9b60 69 6e 65 22 3e 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 ine">............<span.class="to
c9b80 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 2e 6c k-kw">return</span>.self.items.l
c9ba0 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 en;</span>.<span.class="line">..
c9bc0 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ......}</span>.<span.class="line
c9be0 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....};</span>.<span.class="lin
c9c00 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 e">}</span></code></pre></figure
c9c20 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
c9c40 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
c9c60 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 68 69 73 5f 62 75 amp>$.<kbd>zig.test.test_this_bu
c9c80 69 6c 74 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 40 54 68 69 73 28 29 iltin.zig</kbd>.1/1.test.@This()
c9ca0 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
c9cc0 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>.....
c9ce0 20 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 6c 69 6e 65 22 3e ..When.<code><span.class="line">
c9d00 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 68 69 73 3c <span.class="tok-builtin">@This<
c9d20 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 73 65 64 20 61 /span>()</span></code>.is.used.a
c9d40 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 72 65 66 65 72 t.file.scope,.it.returns.a.refer
c9d60 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 61 74 20 63 6f ence.to.the.......struct.that.co
c9d80 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 6c 65 2e 0a 20 rresponds.to.the.current.file...
c9da0 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="
c9dc0 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 74 72 61 70 3c trap"><a.href="#toc-trap">@trap<
c9de0 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 72 61 70 22 3e /a>.<a.class="hdr".href="#trap">
c9e00 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
c9e20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
c9e40 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 61 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 k-builtin">@trap</span>().<span.
c9e60 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>
c9e80 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 20 </span></code></pre>.......<p>..
c9ea0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 65 72 74 73 20 61 20 70 6c 61 .....This.function.inserts.a.pla
c9ec0 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63 20 74 72 61 70 2f 6a 61 6d 20 69 6e 73 74 72 75 63 74 tform-specific.trap/jam.instruct
c9ee0 69 6f 6e 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 65 78 69 74 20 74 68 ion.which.can.be.used.to.exit.th
c9f00 65 20 70 72 6f 67 72 61 6d 20 61 62 6e 6f 72 6d 61 6c 6c 79 2e 0a 20 20 20 20 20 20 54 68 69 73 e.program.abnormally........This
c9f20 20 6d 61 79 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 65 78 70 6c 69 63 69 74 6c .may.be.implemented.by.explicitl
c9f40 79 20 65 6d 69 74 74 69 6e 67 20 61 6e 20 69 6e 76 61 6c 69 64 20 69 6e 73 74 72 75 63 74 69 6f y.emitting.an.invalid.instructio
c9f60 6e 20 77 68 69 63 68 20 6d 61 79 20 63 61 75 73 65 20 61 6e 20 69 6c 6c 65 67 61 6c 20 69 6e 73 n.which.may.cause.an.illegal.ins
c9f80 74 72 75 63 74 69 6f 6e 20 65 78 63 65 70 74 69 6f 6e 20 6f 66 20 73 6f 6d 65 20 73 6f 72 74 2e truction.exception.of.some.sort.
c9fa0 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 61 6e 20 63 6c .......Unlike.for.<code><span.cl
c9fc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ass="line"><span.class="tok-buil
c9fe0 74 69 6e 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e tin">@breakpoint</span>()</span>
ca000 3c 2f 63 6f 64 65 3e 2c 20 65 78 65 63 75 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 </code>,.execution.does.not.cont
ca020 69 6e 75 65 20 61 66 74 65 72 20 74 68 69 73 20 70 6f 69 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 inue.after.this.point........</p
ca040 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 75 74 73 69 64 65 20 66 75 6e 63 74 69 >.......<p>.......Outside.functi
ca060 6f 6e 20 73 63 6f 70 65 2c 20 74 68 69 73 20 62 75 69 6c 74 69 6e 20 63 61 75 73 65 73 20 61 20 on.scope,.this.builtin.causes.a.
ca080 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 compile.error........</p>.......
ca0a0 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
ca0c0 3d 22 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 2f ="#breakpoint">@breakpoint</a></
ca0e0 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 64 3d li>.</ul>................<h3.id=
ca100 22 74 72 75 6e 63 61 74 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 75 6e 63 61 74 "truncate"><a.href="#toc-truncat
ca120 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 e">@truncate</a>.<a.class="hdr".
ca140 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 href="#truncate">..</a></h3>....
ca160 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 6c 69 6e 65 ....<pre><code><span.class="line
ca180 22 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 75 "><span.class="tok-builtin">@tru
ca1a0 6e 63 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 ncate</span>(integer:.<span.clas
ca1c0 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 61 6e s="tok-kw">anytype</span>).<span
ca1e0 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 2f .class="tok-kw">anytype</span></
ca200 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>....
ca220 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 72 75 6e 63 61 74 65 73 20 62 69 74 73 20 ...This.function.truncates.bits.
ca240 66 72 6f 6d 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 2c 20 72 65 73 75 6c 74 69 6e 67 20 from.an.integer.type,.resulting.
ca260 69 6e 20 61 20 73 6d 61 6c 6c 65 72 0a 20 20 20 20 20 20 6f 72 20 73 61 6d 65 2d 73 69 7a 65 64 in.a.smaller.......or.same-sized
ca280 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 20 54 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 .integer.type..The.return.type.i
ca2a0 73 20 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 s.the.inferred.result.type......
ca2c0 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
ca2e0 74 69 6f 6e 20 61 6c 77 61 79 73 20 74 72 75 6e 63 61 74 65 73 20 74 68 65 20 73 69 67 6e 69 66 tion.always.truncates.the.signif
ca300 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 2c 20 72 65 67 61 72 icant.bits.of.the.integer,.regar
ca320 64 6c 65 73 73 0a 20 20 20 20 20 20 6f 66 20 65 6e 64 69 61 6e 6e 65 73 73 20 6f 6e 20 74 68 65 dless.......of.endianness.on.the
ca340 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .target.platform........</p>....
ca360 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 6c 6c 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ...<p>.......Calling.<code><span
ca380 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
ca3a0 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 73 70 61 6e 3e 3c uiltin">@truncate</span></span><
ca3c0 2f 63 6f 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 /code>.on.a.number.out.of.range.
ca3e0 6f 66 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 77 65 6c 6c 20 of.the.destination.type.is.well.
ca400 64 65 66 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 defined.and.working.code:.......
ca420 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
ca440 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
ca460 22 3e 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 3c 2f 63 69 74 ">test_truncate_builtin.zig</cit
ca480 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.
ca4a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
ca4c0 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
ca4e0 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
ca500 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
ca520 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
ca540 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
ca560 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
ca580 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pect;</span>.<span.class="line">
ca5a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
ca5c0 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
ca5e0 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 6e 74 65 67 65 72 20 n.class="tok-str">&quot;integer.
ca600 74 72 75 6e 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e truncation&quot;</span>.{</span>
ca620 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
ca640 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
ca660 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 20 3d 20 3c .class="tok-type">u16</span>.=.<
ca680 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 63 64 3c 2f span.class="tok-number">0xabcd</
ca6a0 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
ca6c0 3e 20 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
ca6e0 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
ca700 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 62 75 69 6c 8</span>.=.<span.class="tok-buil
ca720 74 69 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e 3e 28 61 29 3b 3c 2f 73 70 61 6e 3e tin">@truncate</span>(a);</span>
ca740 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
ca760 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 62 ass="tok-kw">try</span>.expect(b
ca780 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 78 63 .==.<span.class="tok-number">0xc
ca7a0 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>);</span>.<span.class="l
ca7c0 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
ca7e0 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
ca800 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>
ca820 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 72 75 6e 63 <samp>$.<kbd>zig.test.test_trunc
ca840 61 74 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 2e 69 ate_builtin.zig</kbd>.1/1.test.i
ca860 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 6c 6c 20 31 20 74 65 nteger.truncation....OK.All.1.te
ca880 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
ca8a0 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 20 68 72 65 66 3d 22 e>.......<p>.......Use.<a.href="
ca8c0 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 20 63 6f 6e 76 65 72 #intCast">@intCast</a>.to.conver
ca8e0 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 69 74 20 74 68 65 20 t.numbers.guaranteed.to.fit.the.
ca900 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 2f 70 3e 0a 20 20 20 destination.type........</p>....
ca920 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 3c 61 20 68 72 65 66 ...........<h3.id="Type"><a.href
ca940 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 20 63 6c 61 73 73 3d ="#toc-Type">@Type</a>.<a.class=
ca960 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 3c 2f 68 33 3e 0a 0a "hdr".href="#Type">..</a></h3>..
ca980 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 6c 69 ......<pre><code><span.class="li
ca9a0 6e 65 22 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 ne"><span.class="tok-builtin">@T
ca9c0 79 70 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 ype</span>(<span.class="tok-kw">
ca9e0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 69 6e 66 6f 3a 20 73 74 64 2e 62 75 69 6c 74 69 comptime</span>.info:.std.builti
caa00 6e 2e 54 79 70 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 74 n.Type).<span.class="tok-type">t
caa20 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 ype</span></span></code></pre>..
caa40 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 73 20 .....<p>.......This.function.is.
caa60 74 68 65 20 69 6e 76 65 72 73 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 the.inverse.of.<a.href="#typeInf
caa80 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 2e 20 49 74 20 72 65 69 66 69 65 73 20 74 79 70 o">@typeInfo</a>..It.reifies.typ
caaa0 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 74 6f 20 61 20 3c 63 6f 64 65 e.information.......into.a.<code
caac0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
caae0 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-type">type</span></span></c
cab00 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 0a 20 20 20 20 20 ode>........</p>.......<p>......
cab20 20 49 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 .It.is.available.for.the.followi
cab40 6e 67 20 74 79 70 65 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 ng.types:.......</p>.......<ul>.
cab60 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=
cab80 22 6c 69 6e 65 22 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 "line"><span.class="tok-type">ty
caba0 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 pe</span></span></code></li>....
cabc0 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 6c 69 .......<li><code><span.class="li
cabe0 6e 65 22 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 ne"><span.class="tok-type">noret
cac00 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 urn</span></span></code></li>...
cac20 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 6c ........<li><code><span.class="l
cac40 69 6e 65 22 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 ine"><span.class="tok-type">void
cac60 3c 2f 73 70 61 6e 3e 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 </span></span></code></li>......
cac80 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 6c 69 6e 65 .....<li><code><span.class="line
caca0 22 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 3c 2f 73 "><span.class="tok-type">bool</s
cacc0 70 61 6e 3e 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 pan></span></code></li>.........
cace0 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 65 ..<li><a.href="#Integers">Intege
cad00 72 73 3c 2f 61 3e 20 2d 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 62 69 74 20 63 6f 75 6e 74 20 66 rs</a>.-.The.maximum.bit.count.f
cad20 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 or.an.integer.type.is.<code><spa
cad40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
cad60 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 number">65535</span></span></cod
cad80 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 65 66 3d 22 e>.</li>...........<li><a.href="
cada0 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 20 20 #Floats">Floats</a></li>........
cadc0 20 20 20 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 6e 74 ...<li><a.href="#Pointers">Point
cade0 65 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 63 6f 64 65 ers</a></li>...........<li><code
cae00 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
cae20 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></
cae40 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 3e span></code></li>...........<li>
cae60 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
cae80 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 2f lass="tok-type">comptime_float</
caea0 73 70 61 6e 3e 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 span></span></code></li>........
caec0 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 6c 69 6e 65 22 3e ...<li><code><span.class="line">
caee0 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
caf00 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 6e 75 6c 6c 22 3e f</span>(<span.class="tok-null">
caf20 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c undefined</span>)</span></code><
caf40 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 63 /li>...........<li><code><span.c
caf60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
caf80 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
cafa0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c ="tok-null">null</span>)</span><
cafc0 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 61 20 68 72 65 /code></li>...........<li><a.hre
cafe0 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 20 20 20 20 f="#Arrays">Arrays</a></li>.....
cb000 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
cb020 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 3c 6c 69 3e ptionals</a></li>...........<li>
cb040 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 72 6f 72 20 <a.href="#Error-Set-Type">Error.
cb060 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e Set.Type</a></li>...........<li>
cb080 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 45 72 72 6f <a.href="#Error-Union-Type">Erro
cb0a0 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 r.Union.Type</a></li>...........
cb0c0 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 73 3c 2f <li><a.href="#Vectors">Vectors</
cb0e0 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 22 23 a></li>...........<li><a.href="#
cb100 6f 70 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 opaque">opaque</a></li>.........
cb120 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 6c 69 6e 65 22 3e 3c ..<li><code><span.class="line"><
cb140 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 span.class="tok-kw">anyframe</sp
cb160 61 6e 3e 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 an></span></code></li>..........
cb180 20 3c 6c 69 3e 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 61 .<li><a.href="#struct">struct</a
cb1a0 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 22 23 65 ></li>...........<li><a.href="#e
cb1c0 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 num">enum</a></li>...........<li
cb1e0 3e 3c 61 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c ><a.href="#Enum-Literals">Enum.L
cb200 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 3c 6c 69 3e 3c iterals</a></li>...........<li><
cb220 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 20 a.href="#union">union</a></li>..
cb240 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 .........<li><a.href="#Functions
cb260 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 3c 2f 75 6c 3e ">Functions</a></li>.......</ul>
cb280 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 79 70 65 49 6e 66 6f 22 3e ..............<h3.id="typeInfo">
cb2a0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 <a.href="#toc-typeInfo">@typeInf
cb2c0 6f 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 79 70 65 o</a>.<a.class="hdr".href="#type
cb2e0 49 6e 66 6f 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 Info">..</a></h3>........<pre><c
cb300 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
cb320 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 6e ss="tok-builtin">@typeInfo</span
cb340 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 65 3c >(<span.class="tok-kw">comptime<
cb360 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 79 70 65 22 /span>.T:.<span.class="tok-type"
cb380 3e 74 79 70 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 >type</span>).std.builtin.Type</
cb3a0 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>....
cb3c0 20 20 20 50 72 6f 76 69 64 65 73 20 74 79 70 65 20 72 65 66 6c 65 63 74 69 6f 6e 2e 0a 20 20 20 ...Provides.type.reflection.....
cb3e0 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 79 70 65 20 69 6e 66 ...</p>.......<p>.......Type.inf
cb400 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 ormation.of.<a.href="#struct">st
cb420 72 75 63 74 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 69 6f ructs</a>,.<a.href="#union">unio
cb440 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 73 3c 2f 61 ns</a>,.<a.href="#enum">enums</a
cb460 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 >,.and.......<a.href="#Error-Set
cb480 2d 54 79 70 65 22 3e 65 72 72 6f 72 20 73 65 74 73 3c 2f 61 3e 20 68 61 73 20 66 69 65 6c 64 73 -Type">error.sets</a>.has.fields
cb4a0 20 77 68 69 63 68 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 69 6e 20 74 .which.are.guaranteed.to.be.in.t
cb4c0 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 6f 72 64 65 72 20 61 73 20 61 70 70 65 61 72 61 6e 63 he.same.......order.as.appearanc
cb4e0 65 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e e.in.the.source.file........</p>
cb500 0a 20 20 20 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 .......<p>.......Type.informatio
cb520 6e 20 6f 66 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 n.of.<a.href="#struct">structs</
cb540 61 3e 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 a>,.<a.href="#union">unions</a>,
cb560 20 3c 61 20 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 .<a.href="#enum">enums</a>,.and.
cb580 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 73 3c ......<a.href="#opaque">opaques<
cb5a0 2f 61 3e 20 68 61 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 77 68 69 63 68 20 61 72 65 20 /a>.has.declarations,.which.are.
cb5c0 61 6c 73 6f 20 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 also.guaranteed.to.be.in.the.sam
cb5e0 65 0a 20 20 20 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 e.......order.as.appearance.in.t
cb600 68 65 20 73 6f 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 he.source.file........</p>......
cb620 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 79 70 65 4e 61 6d 65 22 3e 3c 61 20 68 72 .........<h3.id="typeName"><a.hr
cb640 65 66 3d 22 23 74 6f 63 2d 74 79 70 65 4e 61 6d 65 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 61 3e ef="#toc-typeName">@typeName</a>
cb660 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 4e 61 6d 65 22 .<a.class="hdr".href="#typeName"
cb680 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><
cb6a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
cb6c0 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 3a 20 ok-builtin">@typeName</span>(T:.
cb6e0 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
cb700 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 74 3c n>).*<span.class="tok-kw">const<
cb720 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 62 65 /span>.[N:<span.class="tok-numbe
cb740 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 79 70 r">0</span>]<span.class="tok-typ
cb760 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e e">u8</span></span></code></pre>
cb780 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 72 .......<p>.......This.function.r
cb7a0 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 6e eturns.the.string.representation
cb7c0 20 6f 66 20 61 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 .of.a.type,.as.......an.array..I
cb7e0 74 20 69 73 20 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 t.is.equivalent.to.a.string.lite
cb800 72 61 6c 20 6f 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 ral.of.the.type.name........The.
cb820 72 65 74 75 72 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 returned.type.name.is.fully.qual
cb840 69 66 69 65 64 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 ified.with.the.parent.namespace.
cb860 69 6e 63 6c 75 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 included.......as.part.of.the.ty
cb880 70 65 20 6e 61 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 pe.name.with.a.series.of.dots...
cb8a0 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="
cb8c0 54 79 70 65 4f 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 TypeOf"><a.href="#toc-TypeOf">@T
cb8e0 79 70 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 23 ypeOf</a>.<a.class="hdr".href="#
cb900 54 79 70 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 70 72 65 3e TypeOf">..</a></h3>........<pre>
cb920 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
cb940 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
cb960 3e 28 2e 2e 2e 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 79 >(...).<span.class="tok-type">ty
cb980 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 pe</span></span></code></pre>...
cb9a0 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 3d ....<p>.......<code><span.class=
cb9c0 22 6c 69 6e 65 22 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 "line"><span.class="tok-builtin"
cb9e0 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 >@TypeOf</span></span></code>.is
cba00 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 6f 6e 20 74 68 61 74 .a.special.builtin.function.that
cba20 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 65 72 20 6f 66 20 65 .takes.any.(nonzero).number.of.e
cba40 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 65 74 65 72 73 20 61 xpressions.......as.parameters.a
cba60 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 65 20 72 65 73 75 6c nd.returns.the.type.of.the.resul
cba80 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 79 70 65 2d 52 65 73 t,.using.<a.href="#Peer-Type-Res
cbaa0 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
cbac0 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 68 >........</p>.......<p>.......Th
cbae0 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 65 64 2c 20 68 6f 77 e.expressions.are.evaluated,.how
cbb00 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 74 6f 20 68 61 76 65 ever.they.are.guaranteed.to.have
cbb20 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 2d 65 66 66 65 63 74 .no.<em>runtime</em>.side-effect
cbb40 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
cbb60 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
cbb80 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 69 6c 74 69 6e 2e 7a ass="file">test_TypeOf_builtin.z
cbba0 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
cbbc0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
cbbe0 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
cbc00 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
cbc20 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
cbc40 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ;std&quot;</span>);</span>.<span
cbc60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
cbc80 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
cbca0 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ting.expect;</span>.<span.class=
cbcc0 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
cbce0 22 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 "><span.class="tok-kw">test</spa
cbd00 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
cbd20 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 74 3b 3c 2f 73 70 o.runtime.side.effects&quot;</sp
cbd40 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
cbd60 20 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
cbd80 61 6e 3e 20 64 61 74 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 an>.data:.<span.class="tok-type"
cbda0 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
cbdc0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c umber">0</span>;</span>.<span.cl
cbde0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
cbe00 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 73 kw">const</span>.T.=.<span.class
cbe20 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 66 6f ="tok-builtin">@TypeOf</span>(fo
cbe40 6f 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 o(<span.class="tok-type">i32</sp
cbe60 61 6e 3e 2c 20 26 61 6d 70 3b 64 61 74 61 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an>,.&amp;data));</span>.<span.c
cbe80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
cbea0 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 6b -kw">try</span>.<span.class="tok
cbec0 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 54 20 3d 3d -kw">comptime</span>.expect(T.==
cbee0 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
cbf00 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
cbf20 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
cbf40 6e 3e 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 n>.expect(data.==.<span.class="t
cbf60 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">0</span>);</span>.<sp
cbf80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
cbfa0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
cbfc0 22 6c 69 6e 65 22 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 2f "line"><span.class="tok-kw">fn</
cbfe0 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</
cc000 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
cc020 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
cc040 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 29 20 54 20 7b 3c 2f ype">type</span>,.ptr:.*T).T.{</
cc060 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 span>.<span.class="line">....ptr
cc080 2e 2a 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 31 .*.+=.<span.class="tok-number">1
cc0a0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
cc0c0 65 22 3e 20 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 e">....<span.class="tok-kw">retu
cc0e0 72 6e 3c 2f 73 70 61 6e 3e 20 70 74 72 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rn</span>.ptr.*;</span>.<span.cl
cc100 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
cc120 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
cc140 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
cc160 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
cc180 5f 54 79 70 65 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 _TypeOf_builtin.zig</kbd>.1/1.te
cc1a0 73 74 2e 6e 6f 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 2e 2e 20 4f 4b st.no.runtime.side.effects....OK
cc1c0 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
cc1e0 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
cc200 3d 22 75 6e 69 6f 6e 49 6e 69 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 69 6f 6e ="unionInit"><a.href="#toc-union
cc220 49 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Init">@unionInit</a>.<a.class="h
cc240 64 72 22 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 49 6e 69 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 dr".href="#unionInit">..</a></h3
cc260 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=
cc280 22 6c 69 6e 65 22 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 "line"><span.class="tok-builtin"
cc2a0 3e 40 75 6e 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 >@unionInit</span>(<span.class="
cc2c0 74 6f 6b 2d 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 tok-kw">comptime</span>.Union:.<
cc2e0 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
cc300 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 65 >,.<span.class="tok-kw">comptime
cc320 3c 2f 73 70 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 </span>.active_field_name:.[]<sp
cc340 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>.<
cc360 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>,
cc380 20 69 6e 69 74 5f 65 78 70 72 29 20 55 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c .init_expr).Union</span></code><
cc3a0 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 69 73 20 74 68 /pre>.......<p>.......This.is.th
cc3c0 65 20 73 61 6d 65 20 74 68 69 6e 67 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 e.same.thing.as.<a.href="#union"
cc3e0 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 79 6e 74 61 78 >union</a>.initialization.syntax
cc400 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 69 73 20 ,.except.that.the.field.name.is.
cc420 61 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 6d 70 a.......<a.href="#comptime">comp
cc440 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 72 61 74 68 65 72 20 74 68 61 6e time</a>-known.value.rather.than
cc460 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 74 6f 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .an.identifier.token........</p>
cc480 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 6c 61 .......<p>.......<code><span.cla
cc4a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ss="line"><span.class="tok-built
cc4c0 69 6e 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f in">@unionInit</span></span></co
cc4e0 64 65 3e 20 66 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 de>.forwards.its.<a.href="#Resul
cc500 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 20 6c 6f 63 t-Location-Semantics">result.loc
cc520 61 74 69 6f 6e 3c 2f 61 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ation</a>.to.<code><span.class="
cc540 6c 69 6e 65 22 3e 69 6e 69 74 5f 65 78 70 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 line">init_expr</span></code>...
cc560 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 3d .....</p>................<h3.id=
cc580 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 40 "Vector"><a.href="#toc-Vector">@
cc5a0 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 22 Vector</a>.<a.class="hdr".href="
cc5c0 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 65 #Vector">..</a></h3>........<pre
cc5e0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
cc600 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 2f 73 70 61 class="tok-builtin">@Vector</spa
cc620 6e 3e 28 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 63 n>(len:.<span.class="tok-type">c
cc640 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 2c 20 45 6c 65 6d 65 6e 74 3a 20 3c 73 70 omptime_int</span>,.Element:.<sp
cc660 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 29 an.class="tok-type">type</span>)
cc680 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
cc6a0 61 6e 3e 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 an></span></code></pre>.......<p
cc6c0 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 73 22 3e 56 65 63 74 >Creates.<a.href="#Vectors">Vect
cc6e0 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 20 20 3c 68 33 20 69 ors</a>.</p>...............<h3.i
cc700 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 22 23 74 6f 63 2d 76 d="volatileCast"><a.href="#toc-v
cc720 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 3e 20 3c olatileCast">@volatileCast</a>.<
cc740 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 74 69 6c 65 43 61 73 a.class="hdr".href="#volatileCas
cc760 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
cc780 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
cc7a0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 76 6f 6c 61 74 69 6c 65 43 61 73 74 3c 2f 73 70 61 "tok-builtin">@volatileCast</spa
cc7c0 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 3e 61 n>(value:.<span.class="tok-kw">a
cc7e0 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 73 70 61 6e 3e 3c 2f nytype</span>).DestType</span></
cc800 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 6d 6f code></pre>.......<p>.......Remo
cc820 76 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ve.<code><span.class="line"><spa
cc840 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>
cc860 3c 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 </span></code>.qualifier.from.a.
cc880 70 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 pointer........</p>.............
cc8a0 20 20 3c 68 33 20 69 64 3d 22 77 6f 72 6b 47 72 6f 75 70 49 64 22 3e 3c 61 20 68 72 65 66 3d 22 ..<h3.id="workGroupId"><a.href="
cc8c0 23 74 6f 63 2d 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 #toc-workGroupId">@workGroupId</
cc8e0 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 6f 72 6b 47 72 6f a>.<a.class="hdr".href="#workGro
cc900 75 70 49 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 upId">..</a></h3>........<pre><c
cc920 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
cc940 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
cc960 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
cc980 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
cc9a0 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
cc9c0 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 73 70 61 6e 3e ass="tok-type">u32</span></span>
cc9e0 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
cca00 74 75 72 6e 73 20 74 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 turns.the.index.of.the.work.grou
cca20 70 20 69 6e 20 74 68 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 p.in.the.current.kernel.invocati
cca40 6f 6e 20 69 6e 20 64 69 6d 65 6e 73 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 on.in.dimension.<code><span.clas
cca60 73 3d 22 6c 69 6e 65 22 3e 64 69 6d 65 6e 73 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e s="line">dimension</span></code>
cca80 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
ccaa0 64 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 d="workGroupSize"><a.href="#toc-
ccac0 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
ccae0 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 6f 72 6b 47 72 6f 75 >.<a.class="hdr".href="#workGrou
ccb00 70 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 pSize">..</a></h3>........<pre><
ccb20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
ccb40 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 53 69 7a 65 ass="tok-builtin">@workGroupSize
ccb60 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
ccb80 70 74 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 ptime</span>.dimension:.<span.cl
ccba0 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 20 3c 73 70 61 6e ass="tok-type">u32</span>).<span
ccbc0 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 73 70 .class="tok-type">u32</span></sp
ccbe0 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 20 20 an></code></pre>.......<p>......
ccc00 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 20 69 74 65 6d .Returns.the.number.of.work.item
ccc20 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 64 69 6d 65 6e s.that.a.work.group.has.in.dimen
ccc40 73 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 69 sion.<code><span.class="line">di
ccc60 6d 65 6e 73 69 6f 6e 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 mension</span></code>........</p
ccc80 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 6b 49 74 65 6d >...............<h3.id="workItem
ccca0 49 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 6f 72 6b 49 74 65 6d 49 64 22 3e 40 77 Id"><a.href="#toc-workItemId">@w
cccc0 6f 72 6b 49 74 65 6d 49 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 orkItemId</a>.<a.class="hdr".hre
ccce0 66 3d 22 23 77 6f 72 6b 49 74 65 6d 49 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 f="#workItemId">..</a></h3>.....
ccd00 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 6c 69 6e 65 22 ...<pre><code><span.class="line"
ccd20 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 6f 72 6b ><span.class="tok-builtin">@work
ccd40 49 74 65 6d 49 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 ItemId</span>(<span.class="tok-k
ccd60 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 6f 6e 3a 20 3c 73 w">comptime</span>.dimension:.<s
ccd80 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 29 pan.class="tok-type">u32</span>)
ccda0 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
ccdc0 6e 3e 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 n></span></code></pre>.......<p>
ccde0 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 .......Returns.the.index.of.the.
cce00 77 6f 72 6b 20 69 74 65 6d 20 69 6e 20 74 68 65 20 77 6f 72 6b 20 67 72 6f 75 70 20 69 6e 20 64 work.item.in.the.work.group.in.d
cce20 69 6d 65 6e 73 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 imension.<code><span.class="line
cce40 22 3e 64 69 6d 65 6e 73 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 ">dimension</span></code>..This.
cce60 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 76 61 6c 75 65 73 20 62 65 74 77 65 65 6e 20 function.returns.values.between.
cce80 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
ccea0 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 73 70 61 6e lass="tok-number">0</span></span
ccec0 3e 3c 2f 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 ></code>.(inclusive).and.<code><
ccee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
ccf00 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 6f 72 6b 47 72 6f 75 70 53 69 7a 65 3c 2f 73 70 61 6e ok-builtin">@workGroupSize</span
ccf20 3e 28 64 69 6d 65 6e 73 69 6f 6e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 65 78 63 6c >(dimension)</span></code>.(excl
ccf40 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 20 20 20 usive)........</p>..............
ccf60 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 3c 61 20 .........<h2.id="Build-Mode"><a.
ccf80 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 4d 6f 64 href="#toc-Build-Mode">Build.Mod
ccfa0 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 75 69 6c e</a>.<a.class="hdr".href="#Buil
ccfc0 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 3e 0a 20 d-Mode">..</a></h2>........<p>..
ccfe0 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 3a 0a 20 .....Zig.has.four.build.modes:..
cd000 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 3c 6c 69 .....</p>.......<ul>.........<li
cd020 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 64 65 66 ><a.href="#Debug">Debug</a>.(def
cd040 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 66 3d 22 ault)</li>.........<li><a.href="
cd060 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 3c 2f 6c #ReleaseFast">ReleaseFast</a></l
cd080 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 61 73 65 i>.........<li><a.href="#Release
cd0a0 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 20 20 20 Safe">ReleaseSafe</a></li>......
cd0c0 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 22 3e 52 ...<li><a.href="#ReleaseSmall">R
cd0e0 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 75 6c 3e eleaseSmall</a></li>.......</ul>
cd100 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 61 72 64 .......<p>.......To.add.standard
cd120 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 73 73 3d .build.options.to.a.<code.class=
cd140 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 0a 20 20 "file">build.zig</code>.file:...
cd160 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
cd180 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="
cd1a0 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 70 74 69 file">build.zig</cite></figcapti
cd1c0 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 6c 69 6e 65 22 on><pre><code><span.class="line"
cd1e0 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
cd200 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
cd220 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
cd240 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>);
cd260 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
cd280 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
cd2a0 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
cd2c0 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
cd2e0 3d 22 74 6f 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 ="tok-fn">build</span>(b:.*std.B
cd300 75 69 6c 64 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 uild).<span.class="tok-type">voi
cd320 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
cd340 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">co
cd360 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 72 64 nst</span>.optimize.=.b.standard
cd380 4f 70 74 69 6d 69 7a 65 4f 70 74 69 6f 6e 28 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 OptimizeOption(.{});</span>.<spa
cd3a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
cd3c0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 tok-kw">const</span>.exe.=.b.add
cd3e0 45 78 65 63 75 74 61 62 6c 65 28 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 Executable(.{</span>.<span.class
cd400 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c ="line">.........name.=.<span.cl
cd420 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 6c 65 26 71 75 6f 74 ass="tok-str">&quot;example&quot
cd440 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ;</span>,</span>.<span.class="li
cd460 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 6f 6f 74 5f 73 6f 75 72 63 65 5f 66 69 6c 65 20 3d 20 ne">.........root_source_file.=.
cd480 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 73 74 72 22 .{..path.=.<span.class="tok-str"
cd4a0 3e 26 71 75 6f 74 3b 65 78 61 6d 70 6c 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 >&quot;example.zig&quot;</span>.
cd4c0 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 },</span>.<span.class="line">...
cd4e0 20 20 20 20 20 2e 6f 70 74 69 6d 69 7a 65 20 3d 20 6f 70 74 69 6d 69 7a 65 2c 3c 2f 73 70 61 6e ......optimize.=.optimize,</span
cd500 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 >.<span.class="line">....});</sp
cd520 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 2e 64 65 66 an>.<span.class="line">....b.def
cd540 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 65 2e 73 74 65 70 ault_step.dependOn(&amp;exe.step
cd560 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
cd580 73 70 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 0a 20 20 20 20 span></code></pre></figure>.....
cd5a0 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 73 65 20 6f 70 ..<p>.......This.causes.these.op
cd5c0 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 20 20 3c 2f 70 tions.to.be.available:.......</p
cd5e0 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 62 64 3e 2d 44 >.......<dl>.........<dt><kbd>-D
cd600 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 64 3e 4f 70 74 optimize=Debug</kbd></dt><dd>Opt
cd620 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 6e 20 28 64 65 imizations.off.and.safety.on.(de
cd640 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 64 3e 2d 44 6f fault)</dd>.........<dt><kbd>-Do
cd660 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 64 74 3e 3c 64 ptimize=ReleaseSafe</kbd></dt><d
cd680 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 74 79 20 6f 6e d>Optimizations.on.and.safety.on
cd6a0 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
cd6c0 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 3e 4f 70 74 69 e=ReleaseFast</kbd></dt><dd>Opti
cd6e0 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 3c 2f 64 64 3e mizations.on.and.safety.off</dd>
cd700 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 65 3d 52 65 6c .........<dt><kbd>-Doptimize=Rel
cd720 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 65 20 6f 70 74 easeSmall</kbd></dt><dd>Size.opt
cd740 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 3c 2f 64 64 imizations.on.and.safety.off</dd
cd760 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 22 44 65 62 75 >.......</dl>.......<h3.id="Debu
cd780 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 75 67 3c 2f 61 g"><a.href="#toc-Debug">Debug</a
cd7a0 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 75 67 22 3e c2 >.<a.class="hdr".href="#Debug">.
cd7c0 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 66 69 67 63 61 .</a></h3>........<figure><figca
cd7e0 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
cd800 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.
cd820 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 0a 3c 2f 73 61 build-exe.example.zig</kbd>.</sa
cd840 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 6c 3e 0a 20 20 mp></pre></figure>.......<ul>...
cd860 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 73 70 65 65 64 ......<li>Fast.compilation.speed
cd880 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.
cd8a0 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 6f 77 20 72 75 enabled</li>.........<li>Slow.ru
cd8c0 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 20 20 20 20 3c ntime.performance</li>.........<
cd8e0 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 20 20 20 20 20 li>Large.binary.size</li>.......
cd900 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 20 72 65 71 75 ..<li>No.reproducible.build.requ
cd920 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 20 20 20 20 0a irement</li>.......</ul>........
cd940 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 3c 61 20 68 72 ......<h3.id="ReleaseFast"><a.hr
cd960 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 73 65 46 61 73 ef="#toc-ReleaseFast">ReleaseFas
cd980 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 52 65 6c 65 t</a>.<a.class="hdr".href="#Rele
cd9a0 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 20 3c 66 69 67 aseFast">..</a></h3>........<fig
cd9c0 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
cd9e0 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>$
cda00 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.
cda20 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
cda40 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 3c e></figure>.......<ul>.........<
cda60 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 3c 2f 6c 69 3e li>Fast.runtime.performance</li>
cda80 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 73 61 62 .........<li>Safety.checks.disab
cdaa0 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 70 69 6c led</li>.........<li>Slow.compil
cdac0 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 4c 61 72 ation.speed</li>.........<li>Lar
cdae0 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 20 3c 6c 69 3e ge.binary.size</li>.........<li>
cdb00 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 20 3c 2f Reproducible.build</li>.......</
cdb20 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 6c 65 61 73 65 ul>..............<h3.id="Release
cdb40 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 53 61 66 65 22 Safe"><a.href="#toc-ReleaseSafe"
cdb60 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 68 64 72 22 20 >ReleaseSafe</a>.<a.class="hdr".
cdb80 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 2f 68 33 3e 0a href="#ReleaseSafe">..</a></h3>.
cdba0 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
cdbc0 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><
cdbe0 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 65 pre><samp>$.<kbd>zig.build-exe.e
cdc00 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 6b 62 64 3e 0a xample.zig.-O.ReleaseSafe</kbd>.
cdc20 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 6c </samp></pre></figure>.......<ul
cdc40 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 65 20 70 65 72 >.........<li>Medium.runtime.per
cdc60 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 61 66 65 74 79 formance</li>.........<li>Safety
cdc80 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 20 20 3c 6c 69 .checks.enabled</li>.........<li
cdca0 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 3e 0a 20 20 20 >Slow.compilation.speed</li>....
cdcc0 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 2f 6c 69 3e 0a .....<li>Large.binary.size</li>.
cdce0 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 69 6c 64 3c 2f ........<li>Reproducible.build</
cdd00 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
cdd20 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 22 23 74 6f 63 .id="ReleaseSmall"><a.href="#toc
cdd40 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 3c 2f 61 3e 20 -ReleaseSmall">ReleaseSmall</a>.
cdd60 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 73 65 53 6d 61 <a.class="hdr".href="#ReleaseSma
cdd80 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 75 72 65 3e 3c ll">..</a></h3>........<figure><
cdda0 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
cddc0 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
cdde0 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 2d 4f 20 52 65 >zig.build-exe.example.zig.-O.Re
cde00 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 72 65 3e 3c 2f leaseSmall</kbd>.</samp></pre></
cde20 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 3c 6c 69 3e 4d figure>.......<ul>.........<li>M
cde40 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 6c 69 3e 0a 20 edium.runtime.performance</li>..
cde60 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 73 61 62 6c 65 .......<li>Safety.checks.disable
cde80 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 70 69 6c 61 74 d</li>.........<li>Slow.compilat
cdea0 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 53 6d 61 6c 6c ion.speed</li>.........<li>Small
cdec0 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 6c 69 3e 52 65 .binary.size</li>.........<li>Re
cdee0 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 20 3c 2f 75 6c producible.build</li>.......</ul
cdf00 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 3c 2f 70 3e 3c >..............<p>See.also:</p><
cdf20 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 61 72 69 61 62 ul>.<li><a.href="#Compile-Variab
cdf40 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 2f 6c 69 3e 0a les">Compile.Variables</a></li>.
cdf60 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 74 65 6d 22 3e <li><a.href="#Zig-Build-System">
cdf80 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 6c 69 3e 3c 61 Zig.Build.System</a></li>.<li><a
cdfa0 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 65 .href="#Undefined-Behavior">Unde
cdfc0 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 6c 3e 0a 0a 20 fined.Behavior</a></li>.</ul>...
cdfe0 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 2d 54 68 72 65 .............<h2.id="Single-Thre
ce000 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 53 69 6e 67 6c aded-Builds"><a.href="#toc-Singl
ce020 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 68 72 65 61 64 e-Threaded-Builds">Single.Thread
ce040 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 22 20 68 72 65 ed.Builds</a>.<a.class="hdr".hre
ce060 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 3e c2 a7 3c 2f f="#Single-Threaded-Builds">..</
ce080 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 20 63 6f 6d 70 a></h2>........<p>Zig.has.a.comp
ce0a0 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 72 65 61 64 65 ile.option.<kbd>-fsingle-threade
ce0c0 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 77 69 6e 67 20 d</kbd>.which.has.the.following.
ce0e0 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 20 20 20 20 20 effects:</p>.......<ul>.........
ce100 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 63 61 6c 2d 56 <li>All.<a.href="#Thread-Local-V
ce120 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 61 62 6c 65 73 ariables">Thread.Local.Variables
ce140 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 20 3c 61 20 68 </a>.are.treated.as.regular.<a.h
ce160 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 6c 65 73 22 ref="#Container-Level-Variables"
ce180 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 2f 61 3e 2e 3c >Container.Level.Variables</a>.<
ce1a0 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 61 64 20 6f 66 /li>.........<li>The.overhead.of
ce1c0 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 3e 41 73 79 6e .<a.href="#Async-Functions">Asyn
ce1e0 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 69 76 61 6c 65 c.Functions</a>.becomes.equivale
ce200 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 64 2e 3c 2f 6c nt.to.function.call.overhead.</l
ce220 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 70 61 6e 20 63 i>.........<li>The.<code><span.c
ce240 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
ce260 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
ce280 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;</
ce2a0 73 70 61 6e 3e 29 2e 73 69 6e 67 6c 65 5f 74 68 72 65 61 64 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 span>).single_threaded</span></c
ce2c0 6f 64 65 3e 20 62 65 63 6f 6d 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ode>.becomes.<code><span.class="
ce2e0 6c 69 6e 65 22 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 line"><span.class="tok-null">tru
ce300 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 e</span></span></code>..........
ce320 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 76 61 72 69 6f 75 73 20 75 73 65 72 6c 61 6e 64 20 .and.therefore.various.userland.
ce340 41 50 49 73 20 77 68 69 63 68 20 72 65 61 64 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 62 65 APIs.which.read.this.variable.be
ce360 63 6f 6d 65 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 46 come.more.efficient............F
ce380 6f 72 20 65 78 61 6d 70 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 or.example.<code><span.class="li
ce3a0 6e 65 22 3e 73 74 64 2e 4d 75 74 65 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 63 6f ne">std.Mutex</span></code>.beco
ce3c0 6d 65 73 0a 20 20 20 20 20 20 20 20 20 20 61 6e 20 65 6d 70 74 79 20 64 61 74 61 20 73 74 72 75 mes...........an.empty.data.stru
ce3e0 63 74 75 72 65 20 61 6e 64 20 61 6c 6c 20 6f 66 20 69 74 73 20 66 75 6e 63 74 69 6f 6e 73 20 62 cture.and.all.of.its.functions.b
ce400 65 63 6f 6d 65 20 6e 6f 2d 6f 70 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ecome.no-ops.</li>.......</ul>..
ce420 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 55 6e 64 65 66 69 6e 65 64 2d 42 .............<h2.id="Undefined-B
ce440 65 68 61 76 69 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 ehavior"><a.href="#toc-Undefined
ce460 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 2f 61 -Behavior">Undefined.Behavior</a
ce480 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 >.<a.class="hdr".href="#Undefine
ce4a0 64 2d 42 65 68 61 76 69 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c d-Behavior">..</a></h2>........<
ce4c0 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 6d 61 6e 79 20 69 6e 73 74 61 6e 63 65 73 20 p>.......Zig.has.many.instances.
ce4e0 6f 66 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 20 49 66 20 75 6e 64 65 66 69 of.undefined.behavior..If.undefi
ce500 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 73 0a 20 20 20 20 20 20 64 65 74 65 63 74 65 64 20 61 ned.behavior.is.......detected.a
ce520 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 5a 69 67 20 65 6d 69 74 73 20 61 20 63 6f 6d 70 t.compile-time,.Zig.emits.a.comp
ce540 69 6c 65 20 65 72 72 6f 72 20 61 6e 64 20 72 65 66 75 73 65 73 20 74 6f 20 63 6f 6e 74 69 6e 75 ile.error.and.refuses.to.continu
ce560 65 2e 0a 20 20 20 20 20 20 4d 6f 73 74 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 e........Most.undefined.behavior
ce580 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f 6d 70 .that.cannot.be.detected.at.comp
ce5a0 69 6c 65 2d 74 69 6d 65 20 63 61 6e 20 62 65 20 64 65 74 65 63 74 65 64 0a 20 20 20 20 20 20 61 ile-time.can.be.detected.......a
ce5c0 74 20 72 75 6e 74 69 6d 65 2e 20 49 6e 20 74 68 65 73 65 20 63 61 73 65 73 2c 20 5a 69 67 20 68 t.runtime..In.these.cases,.Zig.h
ce5e0 61 73 20 73 61 66 65 74 79 20 63 68 65 63 6b 73 2e 20 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 as.safety.checks..Safety.checks.
ce600 63 61 6e 20 62 65 20 64 69 73 61 62 6c 65 64 0a 20 20 20 20 20 20 6f 6e 20 61 20 70 65 72 2d 62 can.be.disabled.......on.a.per-b
ce620 6c 6f 63 6b 20 62 61 73 69 73 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e lock.basis.with.<a.href="#setRun
ce640 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 66 65 74 79 3c 2f 61 timeSafety">@setRuntimeSafety</a
ce660 3e 2e 20 54 68 65 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 65 >..The.<a.href="#ReleaseFast">Re
ce680 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d leaseFast</a>.......and.<a.href=
ce6a0 22 23 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 3c 2f 61 3e "#ReleaseSmall">ReleaseSmall</a>
ce6c0 20 62 75 69 6c 64 20 6d 6f 64 65 73 20 64 69 73 61 62 6c 65 20 61 6c 6c 20 73 61 66 65 74 79 20 .build.modes.disable.all.safety.
ce6e0 63 68 65 63 6b 73 20 28 65 78 63 65 70 74 20 77 68 65 72 65 20 6f 76 65 72 72 69 64 64 65 6e 0a checks.(except.where.overridden.
ce700 20 20 20 20 20 20 62 79 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 ......by.<a.href="#setRuntimeSaf
ce720 65 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 29 20 69 6e 20 6f ety">@setRuntimeSafety</a>).in.o
ce740 72 64 65 72 20 74 6f 20 66 61 63 69 6c 69 74 61 74 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 rder.to.facilitate.optimizations
ce760 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
ce780 6e 20 61 20 73 61 66 65 74 79 20 63 68 65 63 6b 20 66 61 69 6c 73 2c 20 5a 69 67 20 63 72 61 73 n.a.safety.check.fails,.Zig.cras
ce7a0 68 65 73 20 77 69 74 68 20 61 20 73 74 61 63 6b 20 74 72 61 63 65 2c 20 6c 69 6b 65 20 74 68 69 hes.with.a.stack.trace,.like.thi
ce7c0 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
ce7e0 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
ce800 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 64 65 66 69 6e 65 64 5f 62 65 68 61 76 69 ass="file">test_undefined_behavi
ce820 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 3c or.zig</cite></figcaption><pre><
ce840 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
ce860 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
ce880 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 63 68 65 63 lass="tok-str">&quot;safety.chec
ce8a0 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c k&quot;</span>.{</span>.<span.cl
ce8c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
ce8e0 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c kw">unreachable</span>;</span>.<
ce900 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">}</span></code
ce920 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
ce940 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
ce960 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
ce980 73 74 20 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 st.test_undefined_behavior.zig</
ce9a0 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 73 61 66 65 74 79 20 63 68 65 63 6b 2e 2e 2e 20 74 68 kbd>.1/1.test.safety.check....th
ce9c0 72 65 61 64 20 32 34 35 35 37 32 38 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 read.2455728.panic:.reached.unre
ce9e0 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
cea00 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
cea20 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.
cea40 7a 69 67 3a 32 3a 35 3a 20 30 78 32 32 34 31 36 35 20 69 6e 20 74 65 73 74 2e 73 61 66 65 74 79 zig:2:5:.0x224165.in.test.safety
cea60 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 20 .check.(test).....unreachable;..
cea80 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
ceaa0 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
ceac0 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 31 37 36 3a 32 38 3a 20 30 78 32 32 64 33 g/test_runner.zig:176:28:.0x22d3
ceae0 37 39 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 20 20 20 79.in.mainTerminal.(test).......
ceb00 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 20 20 20 20 ..}.else.test_fn.func();........
ceb20 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
ceb40 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
ceb60 70 2f 6f 75 74 2f 68 6f 73 74 2f 6c 69 62 2f 7a 69 67 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a p/out/host/lib/zig/test_runner.z
ceb80 69 67 3a 33 36 3a 32 38 3a 20 30 78 32 32 35 31 63 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 ig:36:28:.0x2251ca.in.main.(test
ceba0 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();
cebc0 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
cebe0 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-
cec00 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
cec20 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 32 34 36 61 32 20 69 6e 20 70 6f 73 tart.zig:564:22:.0x2246a2.in.pos
cec40 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 20 ixCallMainAndExit.(test)........
cec60 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();...............
cec80 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
ceca0 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
cecc0 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 32 34 b/zig/std/start.zig:243:5:.0x224
cece0 31 66 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 6f 6c 1f1.in._start.(test).....asm.vol
ced00 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).{...
ced20 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 65 72 ..^.???:?:?:.0x0.in.???.(???).er
ced40 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 64 20 ror:.the.following.test.command.
ced60 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 65 72 crashed:./home/ci/actions-runner
ced80 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 6f 63 /_work/zig-bootstrap/out/zig-loc
ceda0 61 6c 2d 63 61 63 68 65 2f 6f 2f 37 64 37 66 33 61 38 35 62 65 30 61 31 64 65 62 33 63 62 34 63 al-cache/o/7d7f3a85be0a1deb3cb4c
cedc0 39 33 66 30 34 64 66 33 64 63 35 2f 74 65 73 74 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 93f04df3dc5/test.</samp></pre></
cede0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 61 63 68 69 6e 67 2d 55 figure>.......<h3.id="Reaching-U
cee00 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 nreachable-Code"><a.href="#toc-R
cee20 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 52 65 61 63 68 69 eaching-Unreachable-Code">Reachi
cee40 6e 67 20 55 6e 72 65 61 63 68 61 62 6c 65 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ng.Unreachable.Code</a>.<a.class
cee60 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 ="hdr".href="#Reaching-Unreachab
cee80 6c 65 2d 43 6f 64 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 41 le-Code">..</a></h3>........<p>A
ceea0 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 67 75 72 t.compile-time:</p>.......<figur
ceec0 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
ceee0 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 72 ite.class="file">test_comptime_r
cef00 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 65 3e 3c 2f eaching_unreachable.zig</cite></
cef20 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
cef40 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
cef60 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mptime</span>.{</span>.<span.cla
cef80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 ss="line">....assert(<span.class
cefa0 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 3c 2f 73 70 61 6e ="tok-null">false</span>);</span
cefc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 >.<span.class="line">}</span>.<s
cefe0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
cf000 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
cf020 2d 66 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 -fn">assert</span>(ok:.<span.cla
cf040 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 20 3c 73 70 61 6e ss="tok-type">bool</span>).<span
cf060 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 3c .class="tok-type">void</span>.{<
cf080 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
cf0a0 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 21 6f pan.class="tok-kw">if</span>.(!o
cf0c0 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 61 63 68 61 k).<span.class="tok-kw">unreacha
cf0e0 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 2d 63 6f 6d ble</span>;.<span.class="tok-com
cf100 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 73 70 61 6e ment">//.assertion.failure</span
cf120 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ></span>.<span.class="line">}</s
cf140 70 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 pan></code></pre></figure><figur
cf160 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">
cf180 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>$.<
cf1a0 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 72 65 61 63 68 kbd>zig.test.test_comptime_reach
cf1c0 69 6e 67 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 ing_unreachable.zig</kbd>.<span.
cf1e0 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
cf200 6f 6d 70 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 2e 7a 69 67 omptime_reaching_unreachable.zig
cf220 3a 35 3a 31 34 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 :5:14:.</span><span.class="sgr-3
cf240 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
cf260 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 65 20 63 6f 64 65 0a gr-1m">reached.unreachable.code.
cf280 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 63 68 61 62 6c 65 3b </span>....if.(!ok).unreachable;
cf2a0 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 20 .//.assertion.failure...........
cf2c0 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">^~~~~~~
cf2e0 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 22 ~~~~.</span><span.class="sgr-1m"
cf300 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 72 65 61 63 68 69 >docgen_tmp/test_comptime_reachi
cf320 6e 67 5f 75 6e 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 ng_unreachable.zig:2:11:.</span>
cf340 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
cf360 61 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 6c 6c 65 64 20 66 an><span.class="sgr-1m">called.f
cf380 72 6f 6d 20 68 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 rom.here.</span>....assert(false
cf3a0 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 7e 7e 7e );.....<span.class="sgr-32m">~~~
cf3c0 7e 7e 7e 5e 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 ~~~^~~~~~~.</span>.</samp></pre>
cf3e0 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 3c 2f </figure>.......<p>At.runtime:</
cf400 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
cf420 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">
cf440 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 2e 7a 69 67 runtime_reaching_unreachable.zig
cf460 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><
cf480 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
cf4a0 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.
cf4c0 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
cf4e0 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
cf500 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 td&quot;</span>);</span>.<span.c
cf520 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
cf540 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">pub<
cf560 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</
cf580 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<
cf5a0 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">
cf5c0 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 void</span>.{</span>.<span.class
cf5e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 3c 73 70 ="line">....std.debug.assert(<sp
cf600 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>
cf620 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f );</span>.<span.class="line">}</
cf640 73 70 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 span></code></pre></figure><figu
cf660 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"
cf680 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>$.
cf6a0 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 72 65 61 63 68 <kbd>zig.build-exe.runtime_reach
cf6c0 69 6e 67 5f 75 6e 72 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 ing_unreachable.zig</kbd>.$.<kbd
cf6e0 3e 2e 2f 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 3c >./runtime_reaching_unreachable<
cf700 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 34 35 35 37 36 38 20 70 61 6e 69 63 3a 20 72 65 61 63 /kbd>.thread.2455768.panic:.reac
cf720 68 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 hed.unreachable.code./home/ci/ac
cf740 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
cf760 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 67 2e 7a 69 67 3a /out/host/lib/zig/std/debug.zig:
cf780 33 34 33 3a 31 34 3a 20 30 78 32 31 66 65 31 32 20 69 6e 20 61 73 73 65 72 74 20 28 72 75 6e 74 343:14:.0x21fe12.in.assert.(runt
cf7a0 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 20 20 20 20 69 66 ime_reaching_unreachable).....if
cf7c0 20 28 21 6f 6b 29 20 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 .(!ok).unreachable;.//.assertion
cf7e0 20 66 61 69 6c 75 72 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 .failure..............^./home/ci
cf800 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
cf820 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 72 65 61 63 68 rap/zig/docgen_tmp/runtime_reach
cf840 69 6e 67 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3a 34 3a 32 31 3a 20 30 78 32 31 65 36 ing_unreachable.zig:4:21:.0x21e6
cf860 34 61 20 69 6e 20 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 4a.in.main.(runtime_reaching_unr
cf880 65 61 63 68 61 62 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 eachable).....std.debug.assert(f
cf8a0 61 6c 73 65 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 68 6f alse);.....................^./ho
cf8c0 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
cf8e0 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 74 ootstrap/out/host/lib/zig/std/st
cf900 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 31 64 65 66 32 20 69 6e 20 70 6f 73 69 art.zig:564:22:.0x21def2.in.posi
cf920 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 72 65 61 63 68 69 xCallMainAndExit.(runtime_reachi
cf940 6e 67 5f 75 6e 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 ng_unreachable).............root
cf960 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();......................^.
cf980 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
cf9a0 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
cf9c0 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 61 34 31 20 69 6e 20 5f 73 /start.zig:243:5:.0x21da41.in._s
cf9e0 74 61 72 74 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 tart.(runtime_reaching_unreachab
cfa00 6c 65 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 le).....asm.volatile.(switch.(na
cfa20 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 20 tive_arch).{.....^.???:?:?:.0x0.
cfa40 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 64 in.???.(???).(process.terminated
cfa60 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 72 .by.signal).</samp></pre></figur
cfa80 65 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 64 65 78 2d 6f 75 e>..............<h3.id="Index-ou
cfaa0 74 2d 6f 66 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 t-of-Bounds"><a.href="#toc-Index
cfac0 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
cfae0 6e 64 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 nds</a>.<a.class="hdr".href="#In
cfb00 64 65 78 2d 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 dex-out-of-Bounds">..</a></h3>..
cfb20 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>...
cfb40 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
cfb60 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_
cfb80 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 67 comptime_index_out_of_bounds.zig
cfba0 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><
cfbc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
cfbe0 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ok-kw">comptime</span>.{</span>.
cfc00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
cfc20 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 3a 20 ss="tok-kw">const</span>.array:.
cfc40 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 2f 73 70 61 [<span.class="tok-number">5</spa
cfc60 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 70 n>]<span.class="tok-type">u8</sp
cfc80 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 6f an>.=.<span.class="tok-str">&quo
cfca0 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c t;hello&quot;</span>.*;</span>.<
cfcc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
cfce0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 67 61 72 62 61 67 65 20 s="tok-kw">const</span>.garbage.
cfd00 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 6d 62 65 72 22 =.array[<span.class="tok-number"
cfd20 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >5</span>];</span>.<span.class="
cfd40 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 67 61 72 62 61 67 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 line">...._.=.garbage;</span>.<s
cfd60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
cfd80 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
cfda0 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
cfdc0 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
cfde0 74 20 74 65 73 74 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 t.test_comptime_index_out_of_bou
cfe00 6e 64 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 nds.zig</kbd>.<span.class="sgr-1
cfe20 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 64 65 m">docgen_tmp/test_comptime_inde
cfe40 78 5f 6f 75 74 5f 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 x_out_of_bounds.zig:3:27:.</span
cfe60 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 2f ><span.class="sgr-31m">error:.</
cfe80 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 69 6e 64 65 78 20 span><span.class="sgr-1m">index.
cfea0 35 20 6f 75 74 73 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 5.outside.array.of.length.5.</sp
cfec0 61 6e 3e 20 20 20 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 an>....const.garbage.=.array[5];
cfee0 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 3c 73 70 61 6e ...........................<span
cff00 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 61 6d .class="sgr-32m">^.</span>.</sam
cff20 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
cff40 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
cff60 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
cff80 3d 22 66 69 6c 65 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 ="file">runtime_index_out_of_bou
cffa0 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 6e 3e 3c 70 72 65 3e nds.zig</cite></figcaption><pre>
cffc0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
cffe0 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
d0000 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
d0020 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
d0040 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 3c .class="tok-type">void</span>.{<
d0060 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
d0080 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 20 pan.class="tok-kw">var</span>.x.
d00a0 3d 20 66 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 =.foo(<span.class="tok-str">&quo
d00c0 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 t;hello&quot;</span>);</span>.<s
d00e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 78 3b 3c 2f 73 70 61 pan.class="line">...._.=.x;</spa
d0100 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c n>.<span.class="line">}</span>.<
d0120 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
d0140 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
d0160 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"
d0180 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 61 73 73 3d 22 74 6f >foo</span>(x:.[]<span.class="to
d01a0 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="
d01c0 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
d01e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-type">u8</span>.{</span>.<
d0200 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
d0220 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 5b 3c 73 70 61 6e s="tok-kw">return</span>.x[<span
d0240 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 3c 2f .class="tok-number">5</span>];</
d0260 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
d0280 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 3e 3c ></code></pre></figure><figure><
d02a0 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
d02c0 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
d02e0 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 64 65 78 5f 6f 75 74 >zig.build-exe.runtime_index_out
d0300 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 _of_bounds.zig</kbd>.$.<kbd>./ru
d0320 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 3c 2f 6b 62 64 3e 0a ntime_index_out_of_bounds</kbd>.
d0340 74 68 72 65 61 64 20 32 34 35 35 38 30 38 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 20 6f 75 74 20 thread.2455808.panic:.index.out.
d0360 6f 66 20 62 6f 75 6e 64 73 3a 20 69 6e 64 65 78 20 35 2c 20 6c 65 6e 20 35 0a 2f 68 6f 6d 65 2f of.bounds:.index.5,.len.5./home/
d0380 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
d03a0 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 64 strap/zig/docgen_tmp/runtime_ind
d03c0 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 2e 7a 69 67 3a 37 3a 31 33 3a 20 30 78 32 32 30 ex_out_of_bounds.zig:7:13:.0x220
d03e0 32 62 39 20 69 6e 20 66 6f 6f 20 28 72 75 6e 74 69 6d 65 5f 69 6e 64 65 78 5f 6f 75 74 5f 6f 66 2b9.in.foo.(runtime_index_out_of
d0400 5f 62 6f 75 6e 64 73 29 0a 20 20 20 20 72 65 74 75 72 6e 20 78 5b 35 5d 3b 0a 20 20 20 20 20 20 _bounds).....return.x[5];.......
d0420 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/
d0440 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
d0460 6d 70 2f 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 mp/runtime_index_out_of_bounds.z
d0480 69 67 3a 32 3a 31 36 3a 20 30 78 32 31 65 36 38 62 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 ig:2:16:.0x21e68b.in.main.(runti
d04a0 6d 65 5f 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 76 61 72 20 me_index_out_of_bounds).....var.
d04c0 78 20 3d 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 x.=.foo(&quot;hello&quot;);.....
d04e0 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
d0500 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
d0520 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 36 34 3a 32 32 3a 20 t/lib/zig/std/start.zig:564:22:.
d0540 30 78 32 31 64 66 32 32 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 0x21df22.in.posixCallMainAndExit
d0560 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 6e 64 73 29 0a 20 .(runtime_index_out_of_bounds)..
d0580 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();.........
d05a0 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-
d05c0 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
d05e0 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 34 33 3a 35 3a ost/lib/zig/std/start.zig:243:5:
d0600 20 30 78 32 31 64 61 37 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 64 .0x21da71.in._start.(runtime_ind
d0620 65 78 5f 6f 75 74 5f 6f 66 5f 62 6f 75 6e 64 73 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 ex_out_of_bounds).....asm.volati
d0640 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).{.....^
d0660 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 72 6f 63 .???:?:?:.0x0.in.???.(???).(proc
d0680 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 61 6d 70 ess.terminated.by.signal).</samp
d06a0 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 68 ></pre></figure>..............<h
d06c0 33 20 69 64 3d 22 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 3.id="Cast-Negative-Number-to-Un
d06e0 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 signed-Integer"><a.href="#toc-Ca
d0700 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
d0720 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 65 72 20 74 6f 20 nteger">Cast.Negative.Number.to.
d0740 55 6e 73 69 67 6e 65 64 20 49 6e 74 65 67 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Unsigned.Integer</a>.<a.class="h
d0760 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d dr".href="#Cast-Negative-Number-
d0780 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e to-Unsigned-Integer">..</a></h3>
d07a0 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>.
d07c0 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=
d07e0 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
d0800 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3c 2f 63 69 74 t_comptime_invalid_cast.zig</cit
d0820 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.
d0840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
d0860 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">comptime</span>.{</span>.<span
d0880 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
d08a0 6f 6b 2d 6b 77 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 ok-kw">var</span>.value:.<span.c
d08c0 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 2d 3c 73 lass="tok-type">i32</span>.=.-<s
d08e0 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>;
d0900 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
d0920 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>
d0940 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 6f 6b 2d 74 79 70 65 .unsigned:.<span.class="tok-type
d0960 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 2d ">u32</span>.=.<span.class="tok-
d0980 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 76 61 6c 75 65 29 3b builtin">@intCast</span>(value);
d09a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f </span>.<span.class="line">...._
d09c0 20 3d 20 75 6e 73 69 67 6e 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .=.unsigned;</span>.<span.class=
d09e0 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
d0a00 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="
d0a20 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
d0a40 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 6d e><samp>$.<kbd>zig.test.test_com
d0a60 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 ptime_invalid_cast.zig</kbd>.<sp
d0a80 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
d0aa0 74 5f 63 6f 6d 70 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 2e 7a 69 67 3a 33 3a 33 36 t_comptime_invalid_cast.zig:3:36
d0ac0 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
d0ae0 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
d0b00 22 3e 74 79 70 65 20 27 75 33 32 27 20 63 61 6e 6e 6f 74 20 72 65 70 72 65 73 65 6e 74 20 69 6e ">type.'u32'.cannot.represent.in
d0b20 74 65 67 65 72 20 76 61 6c 75 65 20 27 2d 31 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 teger.value.'-1'.</span>....cons
d0b40 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 76 61 6c 75 65 t.unsigned:.u32.=.@intCast(value
d0b60 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 );..............................
d0b80 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">^~~~
d0ba0 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 3e ~.</span>.</samp></pre></figure>
d0bc0 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 20 .......<p>At.runtime:</p>.......
d0be0 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
d0c00 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 69 ap"><cite.class="file">runtime_i
d0c20 6e 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 nvalid_cast.zig</cite></figcapti
d0c40 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 6c 69 6e 65 22 on><pre><code><span.class="line"
d0c60 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
d0c80 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
d0ca0 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
d0cc0 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>);
d0ce0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
d0d00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
d0d20 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
d0d40 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
d0d60 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
d0d80 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 3c 2f 73 70 ass="tok-type">void</span>.{</sp
d0da0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
d0dc0 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 6c 75 65 .class="tok-kw">var</span>.value
d0de0 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
d0e00 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 65 72 22 3e an>.=.-<span.class="tok-number">
d0e20 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 1</span>;</span>.<span.class="li
d0e40 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">var
d0e60 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
d0e80 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
d0ea0 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>(
d0ec0 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 value);</span>.<span.class="line
d0ee0 22 3e 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 ">....std.debug.print(<span.clas
d0f00 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 75 s="tok-str">&quot;value:.{}\n&qu
d0f20 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 3c 2f 73 70 61 6e 3e ot;</span>,..{unsigned});</span>
d0f40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
d0f60 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
d0f80 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
d0fa0 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.
d0fc0 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 61 73 74 2e 7a build-exe.runtime_invalid_cast.z
d0fe0 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 76 61 6c 69 ig</kbd>.$.<kbd>./runtime_invali
d1000 64 5f 63 61 73 74 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 34 35 35 38 34 38 20 70 61 6e 69 d_cast</kbd>.thread.2455848.pani
d1020 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 76 61 6c 75 c:.attempt.to.cast.negative.valu
d1040 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 63 69 2f 61 e.to.unsigned.integer./home/ci/a
d1060 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
d1080 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 61 6c 69 64 p/zig/docgen_tmp/runtime_invalid
d10a0 5f 63 61 73 74 2e 7a 69 67 3a 35 3a 32 35 3a 20 30 78 32 31 65 38 32 61 20 69 6e 20 6d 61 69 6e _cast.zig:5:25:.0x21e82a.in.main
d10c0 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 20 76 61 72 20 .(runtime_invalid_cast).....var.
d10e0 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 76 61 6c 75 65 29 3b unsigned:.u32.=.@intCast(value);
d1100 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
d1120 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
d1140 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
d1160 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 31 65 30 38 32 20 69 6e 20 70 6f 73 69 78 43 t.zig:564:22:.0x21e082.in.posixC
d1180 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 76 61 6c 69 64 5f allMainAndExit.(runtime_invalid_
d11a0 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();..
d11c0 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
d11e0 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
d1200 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
d1220 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 62 64 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 :243:5:.0x21dbd1.in._start.(runt
d1240 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 63 61 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 ime_invalid_cast).....asm.volati
d1260 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).{.....^
d1280 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 72 6f 63 .???:?:?:.0x0.in.???.(???).(proc
d12a0 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 61 6d 70 ess.terminated.by.signal).</samp
d12c0 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>......
d12e0 20 54 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 .To.obtain.the.maximum.value.of.
d1300 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c an.unsigned.integer,.use.<code><
d1320 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e span.class="line">std.math.maxIn
d1340 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 20 20 20 20 t</span></code>........</p>.....
d1360 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d .........<h3.id="Cast-Truncates-
d1380 44 61 74 61 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 Data"><a.href="#toc-Cast-Truncat
d13a0 65 73 2d 44 61 74 61 22 3e 43 61 73 74 20 54 72 75 6e 63 61 74 65 73 20 44 61 74 61 3c 2f 61 3e es-Data">Cast.Truncates.Data</a>
d13c0 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 2d 54 72 75 6e .<a.class="hdr".href="#Cast-Trun
d13e0 63 61 74 65 73 2d 44 61 74 61 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c cates-Data">..</a></h3>........<
d1400 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
d1420 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"
d1440 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
d1460 65 5f 69 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 63 69 74 e_invalid_cast_truncate.zig</cit
d1480 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.
d14a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
d14c0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">comptime</span>.{</span>.<span
d14e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
d1500 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 63 6f 75 6e ok-kw">const</span>.spartan_coun
d1520 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
d1540 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">
d1560 33 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 300</span>;</span>.<span.class="
d1580 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">c
d15a0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 onst</span>.byte:.<span.class="t
d15c0 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
d15e0 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 73 ="tok-builtin">@intCast</span>(s
d1600 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 partan_count);</span>.<span.clas
d1620 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 79 74 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 s="line">...._.=.byte;</span>.<s
d1640 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
d1660 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
d1680 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
d16a0 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
d16c0 74 20 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 74 72 75 t.test_comptime_invalid_cast_tru
d16e0 6e 63 61 74 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 72 ncate.zig</kbd>.<span.class="sgr
d1700 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
d1720 76 61 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e 63 61 74 65 2e 7a 69 67 3a 33 3a 33 31 3a 20 3c 2f valid_cast_truncate.zig:3:31:.</
d1740 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
d1760 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 79 :.</span><span.class="sgr-1m">ty
d1780 70 65 20 27 75 38 27 20 63 61 6e 6e 6f 74 20 72 65 70 72 65 73 65 6e 74 20 69 6e 74 65 67 65 72 pe.'u8'.cannot.represent.integer
d17a0 20 76 61 6c 75 65 20 27 33 30 30 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 62 79 .value.'300'.</span>....const.by
d17c0 74 65 3a 20 75 38 20 3d 20 40 69 6e 74 43 61 73 74 28 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 te:.u8.=.@intCast(spartan_count)
d17e0 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 ;...............................
d1800 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 7e 7e <span.class="sgr-32m">^~~~~~~~~~
d1820 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
d1840 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>.....
d1860 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
d1880 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
d18a0 5f 69 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 63 69 74 65 _invalid_cast_truncate.zig</cite
d18c0 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
d18e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
d1900 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=
d1920 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
d1940 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
d1960 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
d1980 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
d19a0 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 3e ><span.class="tok-kw">pub</span>
d19c0 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>.
d19e0 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>
d1a00 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</
d1a20 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
d1a40 22 3e 20 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</
d1a60 73 70 61 6e 3e 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 span>.spartan_count:.<span.class
d1a80 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 20 63 ="tok-type">u16</span>.=.<span.c
d1aa0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 lass="tok-number">300</span>;</s
d1ac0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
d1ae0 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 79 n.class="tok-kw">const</span>.by
d1b00 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
d1b20 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 22 pan>.=.<span.class="tok-builtin"
d1b40 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 29 3b >@intCast</span>(spartan_count);
d1b60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 </span>.<span.class="line">....s
d1b80 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-
d1ba0 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
d1bc0 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 an>,..{byte});</span>.<span.clas
d1be0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
d1c00 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
d1c20 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><
d1c40 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
d1c60 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 2e 7a 69 67 untime_invalid_cast_truncate.zig
d1c80 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 76 61 6c 69 64 5f </kbd>.$.<kbd>./runtime_invalid_
d1ca0 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 64 20 32 34 35 35 38 cast_truncate</kbd>.thread.24558
d1cc0 38 38 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 63 61 73 74 20 74 72 75 6e 63 61 74 65 64 88.panic:.integer.cast.truncated
d1ce0 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 6e 65 72 2f 5f 77 .bits./home/ci/actions-runner/_w
d1d00 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
d1d20 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 63 61 74 65 2e 7a /runtime_invalid_cast_truncate.z
d1d40 69 67 3a 35 3a 32 32 3a 20 30 78 32 31 65 38 66 31 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 ig:5:22:.0x21e8f1.in.main.(runti
d1d60 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 63 6f me_invalid_cast_truncate).....co
d1d80 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 70 61 72 74 61 6e 5f nst.byte:.u8.=.@intCast(spartan_
d1da0 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 20 20 20 20 5e 0a 2f count);......................^./
d1dc0 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
d1de0 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/
d1e00 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 31 65 31 34 32 20 69 6e 20 70 6f start.zig:564:22:.0x21e142.in.po
d1e20 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 76 61 sixCallMainAndExit.(runtime_inva
d1e40 6c 69 64 5f 63 61 73 74 5f 74 72 75 6e 63 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 lid_cast_truncate).............r
d1e60 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();.....................
d1e80 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
d1ea0 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/
d1ec0 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 63 39 31 20 69 6e std/start.zig:243:5:.0x21dc91.in
d1ee0 20 5f 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 5f 74 72 ._start.(runtime_invalid_cast_tr
d1f00 75 6e 63 61 74 65 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 uncate).....asm.volatile.(switch
d1f20 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 20 .(native_arch).{.....^.???:?:?:.
d1f40 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 6e 0x0.in.???.(???).(process.termin
d1f60 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 66 ated.by.signal).</samp></pre></f
d1f80 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 6e 63 61 igure>.......<p>.......To.trunca
d1fa0 74 65 20 62 69 74 73 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 te.bits,.use.<a.href="#truncate"
d1fc0 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 20 20 20 20 >@truncate</a>........</p>......
d1fe0 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 ........<h3.id="Integer-Overflow
d2000 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 "><a.href="#toc-Integer-Overflow
d2020 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ">Integer.Overflow</a>.<a.class=
d2040 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 "hdr".href="#Integer-Overflow">.
d2060 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 44 65 66 61 75 6c .</a></h3>........<h4.id="Defaul
d2080 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 44 65 66 61 t-Operations"><a.href="#toc-Defa
d20a0 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 44 65 66 61 75 6c 74 20 4f 70 65 72 61 74 69 6f ult-Operations">Default.Operatio
d20c0 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 44 65 66 ns</a>.<a.class="hdr".href="#Def
d20e0 61 75 6c 74 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 ault-Operations">..</a></h4>....
d2100 20 20 20 20 3c 70 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 65 72 61 74 6f 72 73 20 63 ....<p>The.following.operators.c
d2120 61 6e 20 63 61 75 73 65 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3a 3c 2f 70 3e 0a 20 an.cause.integer.overflow:</p>..
d2140 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 .....<ul>...........<li><code><s
d2160 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">+</span></code>
d2180 20 28 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 .(addition)</li>...........<li><
d21a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 2f 73 70 61 6e 3e code><span.class="line">-</span>
d21c0 3c 2f 63 6f 64 65 3e 20 28 73 75 62 74 72 61 63 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 </code>.(subtraction)</li>......
d21e0 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 6c 69 6e 65 .....<li><code><span.class="line
d2200 22 3e 2d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 6e 65 67 61 74 69 6f 6e 29 3c 2f 6c 69 ">-</span></code>.(negation)</li
d2220 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
d2240 73 3d 22 6c 69 6e 65 22 3e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 6d 75 6c 74 69 70 s="line">*</span></code>.(multip
d2260 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 6f lication)</li>...........<li><co
d2280 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">/</span></
d22a0 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 20 20 20 20 20 3c 6c code>.(division)</li>.........<l
d22c0 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 76 54 72 75 6e 63 3c i><a.href="#divTrunc">@divTrunc<
d22e0 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 20 3c 6c 69 3e /a>.(division)</li>.........<li>
d2300 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 6c 6f 6f 72 3c 2f 61 <a.href="#divFloor">@divFloor</a
d2320 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 20 3c 6c 69 3e 3c 61 >.(division)</li>.........<li><a
d2340 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 3c 2f 61 3e 20 .href="#divExact">@divExact</a>.
d2360 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 6c 3e 0a 20 20 20 20 (division)</li>.......</ul>.....
d2380 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 6e 20 61 74 20 63 6f ..<p>Example.with.addition.at.co
d23a0 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 66 mpile-time:</p>.......<figure><f
d23c0 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.
d23e0 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 6f 76 65 72 66 class="file">test_comptime_overf
d2400 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 65 3e low.zig</cite></figcaption><pre>
d2420 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
d2440 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 3c lass="tok-kw">comptime</span>.{<
d2460 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
d2480 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
d24a0 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
d24c0 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">
d24e0 32 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 255</span>;</span>.<span.class="
d2500 6c 69 6e 65 22 3e 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 line">....byte.+=.<span.class="t
d2520 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">1</span>;</span>.<spa
d2540 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
d2560 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
d2580 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
d25a0 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.
d25c0 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 3c 2f 6b 62 64 3e test_comptime_overflow.zig</kbd>
d25e0 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 70 .<span.class="sgr-1m">docgen_tmp
d2600 2f 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 /test_comptime_overflow.zig:3:10
d2620 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
d2640 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
d2660 22 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 ">overflow.of.integer.type.'u8'.
d2680 77 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 with.value.'256'.</span>....byte
d26a0 20 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 .+=.1;.....<span.class="sgr-32m"
d26c0 3e 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 >~~~~~^~~~.</span>.</samp></pre>
d26e0 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 3c 2f </figure>.......<p>At.runtime:</
d2700 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
d2720 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">
d2740 72 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 runtime_overflow.zig</cite></fig
d2760 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="
d2780 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
d27a0 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
d27c0 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
d27e0 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
d2800 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>);</span>.<span.class="line">
d2820 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
d2840 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
d2860 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.
d2880 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
d28a0 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>.
d28c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
d28e0 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>.
d2900 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<
d2920 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
d2940 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">255</span>;</span>.<span.class
d2960 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 79 74 65 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ="line">....byte.+=.<span.class=
d2980 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-number">1</span>;</span>.<s
d29a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 pan.class="line">....std.debug.p
d29c0 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
d29e0 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 62 79 74 ;value:.{}\n&quot;</span>,..{byt
d2a00 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d e});</span>.<span.class="line">}
d2a20 3c 2f 73 70 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 </span></code></pre></figure><fi
d2a40 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
d2a60 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>
d2a80 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 6f 76 65 $.<kbd>zig.build-exe.runtime_ove
d2aa0 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 6e 74 69 6d 65 rflow.zig</kbd>.$.<kbd>./runtime
d2ac0 5f 6f 76 65 72 66 6c 6f 77 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 34 35 35 39 32 38 20 70 _overflow</kbd>.thread.2455928.p
d2ae0 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 0a 2f 68 6f 6d 65 2f 63 69 2f anic:.integer.overflow./home/ci/
d2b00 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
d2b20 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 6f 76 65 72 66 6c ap/zig/docgen_tmp/runtime_overfl
d2b40 6f 77 2e 7a 69 67 3a 35 3a 31 30 3a 20 30 78 32 31 65 38 63 65 20 69 6e 20 6d 61 69 6e 20 28 72 ow.zig:5:10:.0x21e8ce.in.main.(r
d2b60 75 6e 74 69 6d 65 5f 6f 76 65 72 66 6c 6f 77 29 0a 20 20 20 20 62 79 74 65 20 2b 3d 20 31 3b 0a untime_overflow).....byte.+=.1;.
d2b80 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
d2ba0 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/
d2bc0 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 lib/zig/std/start.zig:564:22:.0x
d2be0 32 31 65 31 34 32 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 21e142.in.posixCallMainAndExit.(
d2c00 72 75 6e 74 69 6d 65 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 runtime_overflow).............ro
d2c20 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 20 ot.main();......................
d2c40 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/
d2c60 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
d2c80 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 63 39 31 20 69 6e 20 td/start.zig:243:5:.0x21dc91.in.
d2ca0 5f 73 74 61 72 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 61 73 _start.(runtime_overflow).....as
d2cc0 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 68 29 m.volatile.(switch.(native_arch)
d2ce0 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 3f 3f .{.....^.???:?:?:.0x0.in.???.(??
d2d00 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 61 6c ?).(process.terminated.by.signal
d2d20 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 20 0a ).</samp></pre></figure>........
d2d40 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d ......<h4.id="Standard-Library-M
d2d60 61 74 68 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 53 74 61 ath-Functions"><a.href="#toc-Sta
d2d80 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 3e 53 74 ndard-Library-Math-Functions">St
d2da0 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 4d 61 74 68 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 andard.Library.Math.Functions</a
d2dc0 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 61 6e 64 61 72 64 >.<a.class="hdr".href="#Standard
d2de0 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 c2 a7 3c 2f 61 3e 3c -Library-Math-Functions">..</a><
d2e00 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 70 /h4>........<p>These.functions.p
d2e20 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 rovided.by.the.standard.library.
d2e40 72 65 74 75 72 6e 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 73 2e 3c 2f 70 3e 0a 20 20 20 20 return.possible.errors.</p>.....
d2e60 20 20 3c 75 6c 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 ..<ul>...........<li><code><span
d2e80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
d2ea0 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
d2ec0 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
d2ee0 61 6e 3e 29 2e 6d 61 74 68 2e 61 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e an>).math.add</span></code></li>
d2f00 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
d2f20 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-builtin
d2f40 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
d2f60 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 6d k-str">&quot;std&quot;</span>).m
d2f80 61 74 68 2e 73 75 62 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 ath.sub</span></code></li>......
d2fa0 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 6c 69 6e 65 .....<li><code><span.class="line
d2fc0 22 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 "><span.class="tok-builtin">@imp
d2fe0 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"
d3000 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 2e 6d 75 >&quot;std&quot;</span>).math.mu
d3020 6c 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 l</span></code></li>...........<
d3040 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 li><code><span.class="line"><spa
d3060 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
d3080 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
d30a0 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 54 72 75 6e 63 ;std&quot;</span>).math.divTrunc
d30c0 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
d30e0 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e i><code><span.class="line"><span
d3100 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
d3120 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;
d3140 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 46 6c 6f 6f 72 3c std&quot;</span>).math.divFloor<
d3160 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
d3180 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
d31a0 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
d31c0 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
d31e0 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 61 63 74 3c 2f td&quot;</span>).math.divExact</
d3200 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 3e span></code></li>...........<li>
d3220 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
d3240 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
d3260 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
d3280 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 73 68 6c 3c 2f 73 70 61 6e 3e 3c d&quot;</span>).math.shl</span><
d32a0 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 70 /code></li>.......</ul>.......<p
d32c0 3e 45 78 61 6d 70 6c 65 20 6f 66 20 63 61 74 63 68 69 6e 67 20 61 6e 20 6f 76 65 72 66 6c 6f 77 >Example.of.catching.an.overflow
d32e0 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 .for.addition:</p>.......<figure
d3300 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
d3320 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 5f 61 64 64 2e 7a 69 67 3c 2f 63 69 te.class="file">math_add.zig</ci
d3340 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
d3360 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
d3380 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 6c 61 w">const</span>.math.=.<span.cla
d33a0 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>(
d33c0 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&
d33e0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e quot;</span>).math;</span>.<span
d3400 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
d3420 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
d3440 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>
d3460 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
d3480 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 3c 2f 73 70 61 &quot;</span>).debug.print;</spa
d34a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
d34c0 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
d34e0 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
d3500 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 73 70 61 6e 20 63 ="tok-fn">main</span>().!<span.c
d3520 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 3c 2f 73 lass="tok-type">void</span>.{</s
d3540 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
d3560 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 74 65 n.class="tok-kw">var</span>.byte
d3580 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
d35a0 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
d35c0 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 5</span>;</span>.<span.class="li
d35e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ne"></span>.<span.class="line">.
d3600 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
d3620 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="
d3640 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
d3660 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>)).|
d3680 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-
d36a0 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c kw">else</span>.|err|.{</span>.<
d36c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 span.class="line">........print(
d36e0 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 61 62 <span.class="tok-str">&quot;unab
d3700 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 3c 2f 73 70 61 6e le.to.add.one:.{s}\n&quot;</span
d3720 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 74 69 6e 22 3e 40 >,..{<span.class="tok-builtin">@
d3740 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a errorName</span>(err)});</span>.
d3760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e <span.class="line">........<span
d3780 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 72 .class="tok-kw">return</span>.er
d37a0 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 r;</span>.<span.class="line">...
d37c0 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f .};</span>.<span.class="line"></
d37e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 span>.<span.class="line">....pri
d3800 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 72 nt(<span.class="tok-str">&quot;r
d3820 65 73 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 esult:.{}\n&quot;</span>,..{byte
d3840 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c });</span>.<span.class="line">}<
d3860 2f 73 70 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 /span></code></pre></figure><fig
d3880 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
d38a0 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>$
d38c0 20 3c 6b 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 .<kbd>zig.build-exe.math_add.zig
d38e0 3c 2f 6b 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 </kbd>.$.<kbd>./math_add</kbd>.u
d3900 6e 61 62 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 nable.to.add.one:.Overflow.error
d3920 3a 20 4f 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 :.Overflow./home/ci/actions-runn
d3940 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/
d3960 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 6d 61 74 68 2e 7a 69 67 3a 34 37 35 3a 32 31 3a 20 30 78 32 lib/zig/std/math.zig:475:21:.0x2
d3980 31 65 36 66 35 20 69 6e 20 61 64 64 5f 5f 61 6e 6f 6e 5f 33 30 36 30 20 28 6d 61 74 68 5f 61 64 1e6f5.in.add__anon_3060.(math_ad
d39a0 64 29 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 d).....if.(ov[1].!=.0).return.er
d39c0 72 6f 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 ror.Overflow;...................
d39e0 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
d3a00 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 6d k/zig-bootstrap/zig/docgen_tmp/m
d3a20 61 74 68 5f 61 64 64 2e 7a 69 67 3a 38 3a 39 3a 20 30 78 32 31 65 36 38 64 20 69 6e 20 6d 61 69 ath_add.zig:8:9:.0x21e68d.in.mai
d3a40 6e 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 n.(math_add).........return.err;
d3a60 0a 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 .........^.</samp></pre></figure
d3a80 3e 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 >..............<h4.id="Builtin-O
d3aa0 76 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 verflow-Functions"><a.href="#toc
d3ac0 2d 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 -Builtin-Overflow-Functions">Bui
d3ae0 6c 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 ltin.Overflow.Functions</a>.<a.c
d3b00 6c 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 lass="hdr".href="#Builtin-Overfl
d3b20 6f 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 ow-Functions">..</a></h4>.......
d3b40 20 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 .<p>.......These.builtins.return
d3b60 20 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 .a.tuple.containing.whether.ther
d3b80 65 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 e.was.an.overflow.......(as.a.<c
d3ba0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
d3bc0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ss="tok-type">u1</span></span></
d3be0 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 72 66 6c 6f 77 code>).and.the.possibly.overflow
d3c00 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 20 20 20 20 20 ed.bits.of.the.operation:.......
d3c20 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 3c 61 </p>.......<ul>...........<li><a
d3c40 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 64 64 57 69 74 .href="#addWithOverflow">@addWit
d3c60 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 20 20 3c 6c 69 hOverflow</a></li>...........<li
d3c80 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 3e 40 73 75 62 ><a.href="#subWithOverflow">@sub
d3ca0 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 20 20 WithOverflow</a></li>...........
d3cc0 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 6f 77 22 3e 40 <li><a.href="#mulWithOverflow">@
d3ce0 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 20 20 20 20 20 mulWithOverflow</a></li>........
d3d00 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 72 66 6c 6f 77 ...<li><a.href="#shlWithOverflow
d3d20 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 0a 20 20 20 20 ">@shlWithOverflow</a></li>.....
d3d40 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 6d 70 6c 65 20 ..</ul>.......<p>.......Example.
d3d60 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 77 22 3e 40 61 of.<a.href="#addWithOverflow">@a
d3d80 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 2f 70 3e 0a 20 ddWithOverflow</a>:.......</p>..
d3da0 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="
d3dc0 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 61 64 64 57 zig-cap"><cite.class="file">addW
d3de0 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 74 65 3e 3c 2f ithOverflow_builtin.zig</cite></
d3e00 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
d3e20 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f s="line"><span.class="tok-kw">co
d3e40 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 73 73 3d 22 nst</span>.print.=.<span.class="
d3e60 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
d3e80 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
d3ea0 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ;</span>).debug.print;</span>.<s
d3ec0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
d3ee0 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
d3f00 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
d3f20 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 3d 22 -fn">main</span>().<span.class="
d3f40 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-type">void</span>.{</span>.<
d3f60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
d3f80 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 70 61 s="tok-kw">var</span>.byte:.<spa
d3fa0 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>.=.<
d3fc0 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
d3fe0 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f n>;</span>.<span.class="line"></
d4000 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
d4020 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
d4040 76 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 61 v.=.<span.class="tok-builtin">@a
d4060 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 62 79 74 65 2c 20 3c 73 70 61 ddWithOverflow</span>(byte,.<spa
d4080 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 3b n.class="tok-number">10</span>);
d40a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
d40c0 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 6f span.class="tok-kw">if</span>.(o
d40e0 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 73 70 v[<span.class="tok-number">1</sp
d4100 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 72 22 an>].!=.<span.class="tok-number"
d4120 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >0</span>).{</span>.<span.class=
d4140 22 6c 69 6e 65 22 3e 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 "line">........print(<span.class
d4160 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 76 65 72 66 6c 6f 77 65 64 20 72 65 73 75 ="tok-str">&quot;overflowed.resu
d4180 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 6f 76 5b 3c 73 70 61 lt:.{}\n&quot;</span>,..{ov[<spa
d41a0 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 7d 29 n.class="tok-number">0</span>]})
d41c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
d41e0 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
d4200 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
d4220 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
d4240 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 2f 73 70 61 r">&quot;result:.{}\n&quot;</spa
d4260 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 6d 62 65 72 n>,..{ov[<span.class="tok-number
d4280 22 3e 30 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">0</span>]});</span>.<span.clas
d42a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">....}</span>.<span.clas
d42c0 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
d42e0 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
d4300 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><
d4320 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 61 pre><samp>$.<kbd>zig.build-exe.a
d4340 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 6b 62 64 3e ddWithOverflow_builtin.zig</kbd>
d4360 0a 24 20 3c 6b 62 64 3e 2e 2f 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 5f 62 75 69 6c 74 69 .$.<kbd>./addWithOverflow_builti
d4380 6e 3c 2f 6b 62 64 3e 0a 6f 76 65 72 66 6c 6f 77 65 64 20 72 65 73 75 6c 74 3a 20 39 0a 3c 2f 73 n</kbd>.overflowed.result:.9.</s
d43a0 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>.............
d43c0 20 3c 68 34 20 69 64 3d 22 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 .<h4.id="Wrapping-Operations"><a
d43e0 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 .href="#toc-Wrapping-Operations"
d4400 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 >Wrapping.Operations</a>.<a.clas
d4420 73 3d 22 68 64 72 22 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 s="hdr".href="#Wrapping-Operatio
d4440 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 0a 20 20 20 20 20 ns">..</a></h4>........<p>......
d4460 20 54 68 65 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 .These.operations.have.guarantee
d4480 64 20 77 72 61 70 61 72 6f 75 6e 64 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f d.wraparound.semantics........</
d44a0 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 3c 63 6f 64 p>.......<ul>...........<li><cod
d44c0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 25 3c 2f 73 70 61 6e 3e 3c 2f e><span.class="line">+%</span></
d44e0 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 29 3c 2f 6c 69 3e code>.(wraparound.addition)</li>
d4500 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
d4520 3d 22 6c 69 6e 65 22 3e 2d 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 ="line">-%</span></code>.(wrapar
d4540 6f 75 6e 64 20 73 75 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 ound.subtraction)</li>..........
d4560 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 .<li><code><span.class="line">-%
d4580 3c 2f 73 70 61 6e 3e 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 </span></code>.(wraparound.negat
d45a0 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 3c 73 ion)</li>...........<li><code><s
d45c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 pan.class="line">*%</span></code
d45e0 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 6c >.(wraparound.multiplication)</l
d4600 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 69 i>.......</ul>.......<figure><fi
d4620 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
d4640 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 61 lass="file">test_wraparound_sema
d4660 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 72 ntics.zig</cite></figcaption><pr
d4680 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
d46a0 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
d46c0 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
d46e0 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
d4700 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 3c 2f 73 70 61 6e ">&quot;std&quot;</span>);</span
d4720 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
d4740 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.=.
d4760 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e std.testing.expect;</span>.<span
d4780 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
d47a0 77 22 3e 63 6f 6e 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 w">const</span>.minInt.=.std.mat
d47c0 68 2e 6d 69 6e 49 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 h.minInt;</span>.<span.class="li
d47e0 6e 65 22 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 ne"><span.class="tok-kw">const</
d4800 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 3c span>.maxInt.=.std.math.maxInt;<
d4820 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
d4840 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
d4860 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
d4880 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 s="tok-str">&quot;wraparound.add
d48a0 69 74 69 6f 6e 20 61 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 ition.and.subtraction&quot;</spa
d48c0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
d48e0 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
d4900 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 3e 69 pan>.x:.<span.class="tok-type">i
d4920 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 32</span>.=.maxInt(<span.class="
d4940 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-type">i32</span>);</span>.<s
d4960 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
d4980 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 69 6e 5f 76 61 6c 20 3d ="tok-kw">const</span>.min_val.=
d49a0 20 78 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 .x.+%.<span.class="tok-number">1
d49c0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
d49e0 65 22 3e 20 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 e">....<span.class="tok-kw">try<
d4a00 2f 73 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 /span>.expect(min_val.==.minInt(
d4a20 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
d4a40 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >));</span>.<span.class="line">.
d4a60 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
d4a80 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 70 61 6e 20 pan>.max_val.=.min_val.-%.<span.
d4aa0 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 3c 2f 73 70 class="tok-number">1</span>;</sp
d4ac0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
d4ae0 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
d4b00 74 28 6d 61 78 5f 76 61 6c 20 3d 3d 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d t(max_val.==.maxInt(<span.class=
d4b20 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a "tok-type">i32</span>));</span>.
d4b40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">}</span></cod
d4b60 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
d4b80 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
d4ba0 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
d4bc0 65 73 74 20 74 65 73 74 5f 77 72 61 70 61 72 6f 75 6e 64 5f 73 65 6d 61 6e 74 69 63 73 2e 7a 69 est.test_wraparound_semantics.zi
d4be0 67 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 g</kbd>.1/1.test.wraparound.addi
d4c00 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 6c 20 31 tion.and.subtraction....OK.All.1
d4c20 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
d4c40 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 20 69 64 gure>.....................<h3.id
d4c60 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 3c 61 20 ="Exact-Left-Shift-Overflow"><a.
d4c80 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 76 65 72 href="#toc-Exact-Left-Shift-Over
d4ca0 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 6f 77 3c flow">Exact.Left.Shift.Overflow<
d4cc0 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 63 74 2d /a>.<a.class="hdr".href="#Exact-
d4ce0 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 68 33 3e Left-Shift-Overflow">..</a></h3>
d4d00 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>.
d4d20 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=
d4d40 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
d4d60 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 7a 69 67 t_comptime_shlExact_overwlow.zig
d4d80 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><
d4da0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
d4dc0 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ok-kw">comptime</span>.{</span>.
d4de0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
d4e00 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
d4e20 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 78 61 63 74 an.class="tok-builtin">@shlExact
d4e40 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
d4e60 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
d4e80 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-
d4ea0 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 31 30 31 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 number">0b01010101</span>),.<spa
d4ec0 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 3b 3c n.class="tok-number">2</span>);<
d4ee0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 /span>.<span.class="line">...._.
d4f00 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d =.x;</span>.<span.class="line">}
d4f20 3c 2f 73 70 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 </span></code></pre></figure><fi
d4f40 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
d4f60 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>
d4f80 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 73 68 $.<kbd>zig.test.test_comptime_sh
d4fa0 6c 45 78 61 63 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 lExact_overwlow.zig</kbd>.<span.
d4fc0 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
d4fe0 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 7a 69 67 3a 32 3a omptime_shlExact_overwlow.zig:2:
d5000 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 31 6d 22 15:.</span><span.class="sgr-31m"
d5020 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-
d5040 31 6d 22 3e 6f 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 1m">operation.caused.overflow.</
d5060 73 70 61 6e 3e 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 span>....const.x.=.@shlExact(@as
d5080 28 75 38 2c 20 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 (u8,.0b01010101),.2);...........
d50a0 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">^~~~~~
d50c0 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 73 70 ~~~~~~~~~~~~~~~~~~~~~~~~~~~.</sp
d50e0 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 20 an>.</samp></pre></figure>......
d5100 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 67 75 72 .<p>At.runtime:</p>.......<figur
d5120 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
d5140 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 73 68 6c 45 78 61 63 ite.class="file">runtime_shlExac
d5160 74 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 t_overflow.zig</cite></figcaptio
d5180 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 6c 69 6e 65 22 3e n><pre><code><span.class="line">
d51a0 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
d51c0 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
d51e0 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
d5200 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 3c k-str">&quot;std&quot;</span>);<
d5220 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
d5240 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
d5260 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
d5280 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=
d52a0 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
d52c0 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 3c 2f 73 70 61 ss="tok-type">void</span>.{</spa
d52e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
d5300 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 70 class="tok-kw">var</span>.x:.<sp
d5320 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 20 an.class="tok-type">u8</span>.=.
d5340 3c 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 31 30 <span.class="tok-number">0b01010
d5360 31 30 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 101</span>;</span>.<span.class="
d5380 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">v
d53a0 61 72 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 62 ar</span>.y.=.<span.class="tok-b
d53c0 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 3c 73 70 61 uiltin">@shlExact</span>(x,.<spa
d53e0 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 3b 3c n.class="tok-number">2</span>);<
d5400 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 /span>.<span.class="line">....st
d5420 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 73 d.debug.print(<span.class="tok-s
d5440 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 61 tr">&quot;value:.{}\n&quot;</spa
d5460 6e 3e 2c 20 2e 7b 79 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n>,..{y});</span>.<span.class="l
d5480 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 ine">}</span></code></pre></figu
d54a0 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
d54c0 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>
d54e0 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
d5500 6d 65 5f 73 68 6c 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 24 me_shlExact_overflow.zig</kbd>.$
d5520 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f .<kbd>./runtime_shlExact_overflo
d5540 77 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 34 35 36 30 35 31 20 70 61 6e 69 63 3a 20 6c 65 w</kbd>.thread.2456051.panic:.le
d5560 66 74 20 73 68 69 66 74 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 0a 2f 68 6f 6d 65 2f 63 ft.shift.overflowed.bits./home/c
d5580 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
d55a0 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 73 68 6c 45 trap/zig/docgen_tmp/runtime_shlE
d55c0 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 35 3a 35 3a 20 30 78 32 31 65 39 31 35 20 xact_overflow.zig:5:5:.0x21e915.
d55e0 69 6e 20 6d 61 69 6e 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 in.main.(runtime_shlExact_overfl
d5600 6f 77 29 0a 20 20 20 20 76 61 72 20 79 20 3d 20 40 73 68 6c 45 78 61 63 74 28 78 2c 20 32 29 3b ow).....var.y.=.@shlExact(x,.2);
d5620 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 5f .....^./home/ci/actions-runner/_
d5640 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/
d5660 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 31 65 31 zig/std/start.zig:564:22:.0x21e1
d5680 36 32 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 62.in.posixCallMainAndExit.(runt
d56a0 69 6d 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 20 20 20 20 20 ime_shlExact_overflow)..........
d56c0 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 20 20 ...root.main();.................
d56e0 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/_
d5700 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/
d5720 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 63 62 zig/std/start.zig:243:5:.0x21dcb
d5740 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 73 68 6c 45 78 61 63 74 5f 6f 76 1.in._start.(runtime_shlExact_ov
d5760 65 72 66 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 erflow).....asm.volatile.(switch
d5780 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 20 .(native_arch).{.....^.???:?:?:.
d57a0 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 6e 0x0.in.???.(???).(process.termin
d57c0 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 66 ated.by.signal).</samp></pre></f
d57e0 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 45 78 61 63 igure>..............<h3.id="Exac
d5800 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d t-Right-Shift-Overflow"><a.href=
d5820 22 23 74 6f 63 2d 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 "#toc-Exact-Right-Shift-Overflow
d5840 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 3e ">Exact.Right.Shift.Overflow</a>
d5860 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 63 74 2d 52 69 67 .<a.class="hdr".href="#Exact-Rig
d5880 68 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 68 33 3e 0a 0a ht-Shift-Overflow">..</a></h3>..
d58a0 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>...
d58c0 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
d58e0 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_
d5900 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 3c 2f comptime_shrExact_overflow.zig</
d5920 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
d5940 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
d5960 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 -kw">comptime</span>.{</span>.<s
d5980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
d59a0 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
d59c0 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</
d59e0 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">
d5a00 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
d5a20 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
d5a40 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.
d5a60 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 3c 2f 73 class="tok-number">2</span>);</s
d5a80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 pan>.<span.class="line">...._.=.
d5aa0 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f x;</span>.<span.class="line">}</
d5ac0 73 70 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 span></code></pre></figure><figu
d5ae0 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"
d5b00 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>$.
d5b20 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 73 68 72 45 <kbd>zig.test.test_comptime_shrE
d5b40 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 61 6e 20 63 6c xact_overflow.zig</kbd>.<span.cl
d5b60 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 6d ass="sgr-1m">docgen_tmp/test_com
d5b80 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 3a 32 3a 31 35 ptime_shrExact_overflow.zig:2:15
d5ba0 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
d5bc0 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
d5be0 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 20 62 69 74 73 ">exact.shift.shifted.out.1.bits
d5c00 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 78 61 63 74 28 .</span>....const.x.=.@shrExact(
d5c20 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 20 20 20 20 20 @as(u8,.0b10101010),.2);........
d5c40 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">^~~
d5c60 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 0a 3c ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.<
d5c80 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>...
d5ca0 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
d5cc0 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"
d5ce0 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 73 68 72 45 ><cite.class="file">runtime_shrE
d5d00 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 69 67 63 61 70 xact_overflow.zig</cite></figcap
d5d20 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 6c 69 6e tion><pre><code><span.class="lin
d5d40 65 22 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 e"><span.class="tok-kw">const</s
d5d60 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
d5d80 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=
d5da0 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>
d5dc0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 );</span>.<span.class="line"></s
d5de0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
d5e00 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
d5e20 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
d5e40 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 20 ss="tok-fn">main</span>().<span.
d5e60 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 3c 2f class="tok-type">void</span>.{</
d5e80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
d5ea0 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 20 an.class="tok-kw">var</span>.x:.
d5ec0 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>
d5ee0 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 62 31 30 .=.<span.class="tok-number">0b10
d5f00 31 30 31 30 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 101010</span>;</span>.<span.clas
d5f20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
d5f40 22 3e 76 61 72 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 ">var</span>.y.=.<span.class="to
d5f60 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 78 2c 20 3c k-builtin">@shrExact</span>(x,.<
d5f80 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>
d5fa0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
d5fc0 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
d5fe0 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;</
d6000 73 70 61 6e 3e 2c 20 2e 7b 79 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 span>,..{y});</span>.<span.class
d6020 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
d6040 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=
d6060 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
d6080 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
d60a0 6e 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 3c 2f 6b 62 64 ntime_shrExact_overflow.zig</kbd
d60c0 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 65 72 >.$.<kbd>./runtime_shrExact_over
d60e0 66 6c 6f 77 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 34 35 36 30 39 31 20 70 61 6e 69 63 3a flow</kbd>.thread.2456091.panic:
d6100 20 72 69 67 68 74 20 73 68 69 66 74 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 0a 2f 68 6f .right.shift.overflowed.bits./ho
d6120 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
d6140 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 65 5f ootstrap/zig/docgen_tmp/runtime_
d6160 73 68 72 45 78 61 63 74 5f 6f 76 65 72 66 6c 6f 77 2e 7a 69 67 3a 35 3a 35 3a 20 30 78 32 31 65 shrExact_overflow.zig:5:5:.0x21e
d6180 39 30 65 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 74 5f 6f 76 90e.in.main.(runtime_shrExact_ov
d61a0 65 72 66 6c 6f 77 29 0a 20 20 20 20 76 61 72 20 79 20 3d 20 40 73 68 72 45 78 61 63 74 28 78 2c erflow).....var.y.=.@shrExact(x,
d61c0 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 6e 73 2d 72 75 6e 6e .2);.....^./home/ci/actions-runn
d61e0 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/
d6200 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 lib/zig/std/start.zig:564:22:.0x
d6220 32 31 65 31 36 32 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 21e162.in.posixCallMainAndExit.(
d6240 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 20 runtime_shrExact_overflow)......
d6260 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();.............
d6280 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
d62a0 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/
d62c0 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 lib/zig/std/start.zig:243:5:.0x2
d62e0 31 64 63 62 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 73 68 72 45 78 61 63 1dcb1.in._start.(runtime_shrExac
d6300 74 5f 6f 76 65 72 66 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 t_overflow).....asm.volatile.(sw
d6320 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).{.....^.???:?
d6340 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 73 20 74 65 :?:.0x0.in.???.(???).(process.te
d6360 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 2f 70 72 65 rminated.by.signal).</samp></pre
d6380 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 69 64 3d 22 ></figure>..............<h3.id="
d63a0 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d Division-by-Zero"><a.href="#toc-
d63c0 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 79 20 5a 65 Division-by-Zero">Division.by.Ze
d63e0 72 6f 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 69 76 ro</a>.<a.class="hdr".href="#Div
d6400 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 0a 0a 20 20 20 20 ision-by-Zero">..</a></h3>......
d6420 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>.......
d6440 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
d6460 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
d6480 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 63 69 74 65 3e time_division_by_zero.zig</cite>
d64a0 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
d64c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
d64e0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 comptime</span>.{</span>.<span.c
d6500 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
d6520 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
d6540 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
d6560 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 3c 2f 73 70 61 lass="tok-number">1</span>;</spa
d6580 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
d65a0 63 6c 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 20 3c class="tok-kw">const</span>.b:.<
d65c0 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>
d65e0 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
d6600 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
d6620 20 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</
d6640 73 70 61 6e 3e 20 63 20 3d 20 61 20 2f 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c span>.c.=.a./.b;</span>.<span.cl
d6660 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ass="line">...._.=.c;</span>.<sp
d6680 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c an.class="line">}</span></code><
d66a0 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
d66c0 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
d66e0 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
d6700 20 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 65 72 6f 2e .test_comptime_division_by_zero.
d6720 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
d6740 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 69 76 69 73 69 6f 6e ocgen_tmp/test_comptime_division
d6760 5f 62 79 5f 7a 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 _by_zero.zig:4:19:.</span><span.
d6780 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 73 class="sgr-31m">error:.</span><s
d67a0 70 61 6e 20 63 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 pan.class="sgr-1m">division.by.z
d67c0 65 72 6f 20 68 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 ero.here.causes.undefined.behavi
d67e0 6f 72 0a 3c 2f 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 or.</span>....const.c.=.a./.b;..
d6800 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
d6820 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 65 3e 3c 2f r-32m">^.</span>.</samp></pre></
d6840 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 3e figure>.......<p>At.runtime:</p>
d6860 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
d6880 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 75 ="zig-cap"><cite.class="file">ru
d68a0 6e 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 63 69 74 65 ntime_division_by_zero.zig</cite
d68c0 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
d68e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
d6900 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=
d6920 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
d6940 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
d6960 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>);</span>.<span.class="
d6980 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
d69a0 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 3e ><span.class="tok-kw">pub</span>
d69c0 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>.
d69e0 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>
d6a00 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</
d6a20 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
d6a40 22 3e 20 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</
d6a60 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 2d 74 79 70 65 22 3e span>.a:.<span.class="tok-type">
d6a80 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 75 u32</span>.=.<span.class="tok-nu
d6aa0 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">1</span>;</span>.<span.cla
d6ac0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
d6ae0 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
d6b00 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
d6b20 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-number">0</span>;</span>.<
d6b40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
d6b60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2f 20 62 3b s="tok-kw">var</span>.c.=.a./.b;
d6b80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 </span>.<span.class="line">....s
d6ba0 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-
d6bc0 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
d6be0 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>,..{c});</span>.<span.class="
d6c00 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
d6c20 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
d6c40 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
d6c60 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 6e 74 ><samp>$.<kbd>zig.build-exe.runt
d6c80 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 6b 62 64 3e 0a 24 ime_division_by_zero.zig</kbd>.$
d6ca0 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f .<kbd>./runtime_division_by_zero
d6cc0 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 34 35 36 31 33 31 20 70 61 6e 69 63 3a 20 64 69 76 </kbd>.thread.2456131.panic:.div
d6ce0 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 0a 2f 68 6f 6d 65 2f 63 69 2f 61 63 74 69 6f 6e 73 2d 72 ision.by.zero./home/ci/actions-r
d6d00 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
d6d20 63 67 65 6e 5f 74 6d 70 2f 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 cgen_tmp/runtime_division_by_zer
d6d40 6f 2e 7a 69 67 3a 36 3a 31 35 3a 20 30 78 32 31 65 38 33 65 20 69 6e 20 6d 61 69 6e 20 28 72 75 o.zig:6:15:.0x21e83e.in.main.(ru
d6d60 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 76 61 72 20 ntime_division_by_zero).....var.
d6d80 63 20 3d 20 61 20 2f 20 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 0a 2f 68 6f 6d 65 c.=.a./.b;...............^./home
d6da0 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
d6dc0 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
d6de0 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 31 65 30 38 32 20 69 6e 20 70 6f 73 69 78 43 t.zig:564:22:.0x21e082.in.posixC
d6e00 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 72 75 6e 74 69 6d 65 5f 64 69 76 69 73 69 6f 6e allMainAndExit.(runtime_division
d6e20 5f 62 79 5f 7a 65 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 _by_zero).............root.main(
d6e40 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 2f );......................^./home/
d6e60 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
d6e80 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
d6ea0 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 62 64 31 20 69 6e 20 5f 73 74 61 72 74 20 28 .zig:243:5:.0x21dbd1.in._start.(
d6ec0 72 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 61 73 runtime_division_by_zero).....as
d6ee0 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 68 29 m.volatile.(switch.(native_arch)
d6f00 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 3f 3f .{.....^.???:?:?:.0x0.in.???.(??
d6f20 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 61 6c ?).(process.terminated.by.signal
d6f40 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 20 0a ).</samp></pre></figure>........
d6f60 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e ......<h3.id="Remainder-Division
d6f80 2d 62 79 2d 5a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6d 61 69 6e 64 65 -by-Zero"><a.href="#toc-Remainde
d6fa0 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 20 44 69 r-Division-by-Zero">Remainder.Di
d6fc0 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 vision.by.Zero</a>.<a.class="hdr
d6fe0 22 20 68 72 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 ".href="#Remainder-Division-by-Z
d7000 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 6f ero">..</a></h3>........<p>At.co
d7020 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 66 mpile-time:</p>.......<figure><f
d7040 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.
d7060 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 72 65 6d 61 69 class="file">test_comptime_remai
d7080 6e 64 65 72 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 nder_division_by_zero.zig</cite>
d70a0 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
d70c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
d70e0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 comptime</span>.{</span>.<span.c
d7100 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
d7120 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
d7140 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
d7160 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 3c 2f 73 70 lass="tok-number">10</span>;</sp
d7180 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
d71a0 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 20 .class="tok-kw">const</span>.b:.
d71c0 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
d71e0 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</
d7200 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
d7220 3e 20 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<
d7240 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 25 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 /span>.c.=.a.%.b;</span>.<span.c
d7260 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 lass="line">...._.=.c;</span>.<s
d7280 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
d72a0 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
d72c0 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
d72e0 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
d7300 74 20 74 65 73 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 t.test_comptime_remainder_divisi
d7320 6f 6e 5f 62 79 5f 7a 65 72 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 on_by_zero.zig</kbd>.<span.class
d7340 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
d7360 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 69 me_remainder_division_by_zero.zi
d7380 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 3d 22 73 67 72 2d g:4:19:.</span><span.class="sgr-
d73a0 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 22 31m">error:.</span><span.class="
d73c0 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 65 72 65 20 63 61 sgr-1m">division.by.zero.here.ca
d73e0 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 73 70 61 6e 3e 20 uses.undefined.behavior.</span>.
d7400 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 20 20 20 20 ...const.c.=.a.%.b;.............
d7420 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 2f ......<span.class="sgr-32m">^.</
d7440 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>....
d7460 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 67 ...<p>At.runtime:</p>.......<fig
d7480 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">
d74a0 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 72 65 6d 61 69 <cite.class="file">runtime_remai
d74c0 6e 64 65 72 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 nder_division_by_zero.zig</cite>
d74e0 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
d7500 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
d7520 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="
d7540 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
d7560 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
d7580 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
d75a0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
d75c0 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>.
d75e0 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>.<
d7600 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>(
d7620 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
d7640 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>.{</span>.<span.class="line"
d7660 3e 20 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
d7680 70 61 6e 3e 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 pan>.a:.<span.class="tok-type">u
d76a0 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
d76c0 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">10</span>;</span>.<span.cla
d76e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
d7700 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
d7720 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
d7740 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-number">0</span>;</span>.<
d7760 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
d7780 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 25 20 62 3b s="tok-kw">var</span>.c.=.a.%.b;
d77a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 </span>.<span.class="line">....s
d77c0 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-
d77e0 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
d7800 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>,..{c});</span>.<span.class="
d7820 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
d7840 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
d7860 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
d7880 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 6e 74 ><samp>$.<kbd>zig.build-exe.runt
d78a0 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
d78c0 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 61 69 6e ig</kbd>.$.<kbd>./runtime_remain
d78e0 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 72 65 61 der_division_by_zero</kbd>.threa
d7900 64 20 32 34 35 36 31 37 33 20 70 61 6e 69 63 3a 20 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 d.2456173.panic:.division.by.zer
d7920 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 6b 2f o./home/ci/actions-runner/_work/
d7940 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
d7960 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 6f 2e time_remainder_division_by_zero.
d7980 7a 69 67 3a 36 3a 31 35 3a 20 30 78 32 31 65 38 33 65 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 zig:6:15:.0x21e83e.in.main.(runt
d79a0 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 29 0a ime_remainder_division_by_zero).
d79c0 20 20 20 20 76 61 72 20 63 20 3d 20 61 20 25 20 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....var.c.=.a.%.b;..............
d79e0 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
d7a00 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/
d7a20 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 31 65 30 38 32 20 69 std/start.zig:564:22:.0x21e082.i
d7a40 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 65 5f n.posixCallMainAndExit.(runtime_
d7a60 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 20 20 20 remainder_division_by_zero).....
d7a80 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();............
d7aa0 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
d7ac0 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
d7ae0 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 /lib/zig/std/start.zig:243:5:.0x
d7b00 32 31 64 62 64 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 72 65 6d 61 69 6e 21dbd1.in._start.(runtime_remain
d7b20 64 65 72 5f 64 69 76 69 73 69 6f 6e 5f 62 79 5f 7a 65 72 6f 29 0a 20 20 20 20 61 73 6d 20 76 6f der_division_by_zero).....asm.vo
d7b40 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 20 latile.(switch.(native_arch).{..
d7b60 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 28 ...^.???:?:?:.0x0.in.???.(???).(
d7b80 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 2f process.terminated.by.signal).</
d7ba0 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>............
d7bc0 20 20 3c 68 33 20 69 64 3d 22 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 ..<h3.id="Exact-Division-Remaind
d7be0 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e er"><a.href="#toc-Exact-Division
d7c00 2d 52 65 6d 61 69 6e 64 65 72 22 3e 45 78 61 63 74 20 44 69 76 69 73 69 6f 6e 20 52 65 6d 61 69 -Remainder">Exact.Division.Remai
d7c20 6e 64 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 45 nder</a>.<a.class="hdr".href="#E
d7c40 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 c2 a7 3c 2f 61 3e 3c xact-Division-Remainder">..</a><
d7c60 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 3c /h3>........<p>At.compile-time:<
d7c80 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
d7ca0 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"
d7cc0 3e 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 61 69 6e 64 65 >test_comptime_divExact_remainde
d7ce0 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 3c 63 r.zig</cite></figcaption><pre><c
d7d00 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
d7d20 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 3c 2f 73 ss="tok-kw">comptime</span>.{</s
d7d40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
d7d60 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:
d7d80 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
d7da0 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
d7dc0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
d7de0 65 22 3e 20 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 e">....<span.class="tok-kw">cons
d7e00 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
d7e20 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
d7e40 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">3</span>;</span>.<span.
d7e60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
d7e80 6b 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 k-kw">const</span>.c.=.<span.cla
d7ea0 73 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 ss="tok-builtin">@divExact</span
d7ec0 3e 28 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >(a,.b);</span>.<span.class="lin
d7ee0 65 22 3e 20 20 20 20 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 e">...._.=.c;</span>.<span.class
d7f00 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
d7f20 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=
d7f40 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
d7f60 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
d7f80 6d 70 74 69 6d 65 5f 64 69 76 45 78 61 63 74 5f 72 65 6d 61 69 6e 64 65 72 2e 7a 69 67 3c 2f 6b mptime_divExact_remainder.zig</k
d7fa0 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_
d7fc0 74 6d 70 2f 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 61 69 tmp/test_comptime_divExact_remai
d7fe0 6e 64 65 72 2e 7a 69 67 3a 34 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 nder.zig:4:15:.</span><span.clas
d8000 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.
d8020 63 6c 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 78 61 63 74 20 64 69 76 69 73 69 6f 6e 20 70 72 class="sgr-1m">exact.division.pr
d8040 6f 64 75 63 65 64 20 72 65 6d 61 69 6e 64 65 72 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 oduced.remainder.</span>....cons
d8060 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 20 20 20 20 20 t.c.=.@divExact(a,.b);..........
d8080 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 7e .....<span.class="sgr-32m">^~~~~
d80a0 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 65 3e ~~~~~~~~~~.</span>.</samp></pre>
d80c0 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 3c 2f </figure>.......<p>At.runtime:</
d80e0 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
d8100 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">
d8120 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 2e 7a 69 67 3c 2f runtime_divExact_remainder.zig</
d8140 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
d8160 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
d8180 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
d81a0 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>
d81c0 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
d81e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;</span>);</span>.<span.cla
d8200 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
d8220 69 6e 65 22 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 ine"><span.class="tok-kw">pub</s
d8240 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
d8260 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
d8280 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
d82a0 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 id</span>.{</span>.<span.class="
d82c0 6c 69 6e 65 22 3e 20 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 line">....<span.class="tok-kw">v
d82e0 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 2d 74 79 ar</span>.a:.<span.class="tok-ty
d8300 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
d8320 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">10</span>;</span>.<spa
d8340 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
d8360 74 6f 6b 2d 6b 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 tok-kw">var</span>.b:.<span.clas
d8380 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.
d83a0 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 3c 2f 73 70 class="tok-number">3</span>;</sp
d83c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
d83e0 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 20 3d 20 3c .class="tok-kw">var</span>.c.=.<
d8400 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
d8420 63 74 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ct</span>(a,.b);</span>.<span.cl
d8440 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c ass="line">....std.debug.print(<
d8460 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 65 span.class="tok-str">&quot;value
d8480 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 3c 2f 73 70 61 :.{}\n&quot;</span>,..{c});</spa
d84a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
d84c0 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
d84e0 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<
d8500 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
d8520 67 20 62 75 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 g.build-exe.runtime_divExact_rem
d8540 61 69 6e 64 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 ainder.zig</kbd>.$.<kbd>./runtim
d8560 65 5f 64 69 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 e_divExact_remainder</kbd>.threa
d8580 64 20 32 34 35 36 32 31 33 20 70 61 6e 69 63 3a 20 65 78 61 63 74 20 64 69 76 69 73 69 6f 6e 20 d.2456213.panic:.exact.division.
d85a0 70 72 6f 64 75 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 produced.remainder./home/ci/acti
d85c0 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
d85e0 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 45 78 61 63 74 5f 72 ig/docgen_tmp/runtime_divExact_r
d8600 65 6d 61 69 6e 64 65 72 2e 7a 69 67 3a 36 3a 31 33 3a 20 30 78 32 31 65 38 39 38 20 69 6e 20 6d emainder.zig:6:13:.0x21e898.in.m
d8620 61 69 6e 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 ain.(runtime_divExact_remainder)
d8640 0a 20 20 20 20 76 61 72 20 63 20 3d 20 40 64 69 76 45 78 61 63 74 28 61 2c 20 62 29 3b 0a 20 20 .....var.c.=.@divExact(a,.b);...
d8660 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
d8680 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
d86a0 2f 6c 69 62 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 /lib/zig/std/start.zig:564:22:.0
d86c0 78 32 31 65 30 61 32 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 x21e0a2.in.posixCallMainAndExit.
d86e0 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)....
d8700 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();...........
d8720 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
d8740 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
d8760 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 34 33 3a 35 3a 20 30 t/lib/zig/std/start.zig:243:5:.0
d8780 78 32 31 64 62 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 45 78 x21dbf1.in._start.(runtime_divEx
d87a0 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 65 20 act_remainder).....asm.volatile.
d87c0 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 3f (switch.(native_arch).{.....^.??
d87e0 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 73 ?:?:?:.0x0.in.???.(???).(process
d8800 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 2f .terminated.by.signal).</samp></
d8820 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 69 pre></figure>..............<h3.i
d8840 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 68 72 d="Attempt-to-Unwrap-Null"><a.hr
d8860 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 6c 22 ef="#toc-Attempt-to-Unwrap-Null"
d8880 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 20 63 >Attempt.to.Unwrap.Null</a>.<a.c
d88a0 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 6e 77 lass="hdr".href="#Attempt-to-Unw
d88c0 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 70 3e rap-Null">..</a></h3>........<p>
d88e0 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 67 75 At.compile-time:</p>.......<figu
d8900 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"><
d8920 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 65 5f cite.class="file">test_comptime_
d8940 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 74 69 unwrap_null.zig</cite></figcapti
d8960 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 6c 69 6e 65 22 on><pre><code><span.class="line"
d8980 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</
d89a0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
d89c0 22 3e 20 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
d89e0 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 61 6e 20 </span>.optional_number:.?<span.
d8a00 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
d8a20 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 3e pan.class="tok-null">null</span>
d8a40 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
d8a60 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
d8a80 3e 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 3c 2f 73 >.number.=.optional_number.?;</s
d8aa0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 pan>.<span.class="line">...._.=.
d8ac0 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 number;</span>.<span.class="line
d8ae0 22 3e 7d 3c 2f 73 70 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 ">}</span></code></pre></figure>
d8b00 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
d8b20 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
d8b40 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
d8b60 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
d8b80 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
d8ba0 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
d8bc0 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:.<
d8be0 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
d8c00 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
d8c20 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.?;...
d8c40 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
d8c60 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>
d8c80 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
d8ca0 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><
d8cc0 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
d8ce0 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
d8d00 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
d8d20 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
d8d40 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.=.<
d8d60 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
d8d80 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
d8da0 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 uot;std&quot;</span>);</span>.<s
d8dc0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
d8de0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
d8e00 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"
d8e20 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">
d8e40 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
d8e60 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">void</span>.{</span>.<span.
d8e80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
d8ea0 6b 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 k-kw">var</span>.optional_number
d8ec0 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
d8ee0 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
d8f00 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ll</span>;</span>.<span.class="l
d8f20 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">va
d8f40 72 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 6e 75 6d 62 65 r</span>.number.=.optional_numbe
d8f60 72 2e 3f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 r.?;</span>.<span.class="line">.
d8f80 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="
d8fa0 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;
d8fc0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 </span>,..{number});</span>.<spa
d8fe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
d9000 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
d9020 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
d9040 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
d9060 2d 65 78 65 20 72 75 6e 74 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 2e 7a 69 67 3c 2f 6b 62 -exe.runtime_unwrap_null.zig</kb
d9080 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 6e 75 6c 6c 3c d>.$.<kbd>./runtime_unwrap_null<
d90a0 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 34 35 36 32 35 33 20 70 61 6e 69 63 3a 20 61 74 74 65 /kbd>.thread.2456253.panic:.atte
d90c0 6d 70 74 20 74 6f 20 75 73 65 20 6e 75 6c 6c 20 76 61 6c 75 65 0a 2f 68 6f 6d 65 2f 63 69 2f 61 mpt.to.use.null.value./home/ci/a
d90e0 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
d9100 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 75 6e 77 72 61 70 5f p/zig/docgen_tmp/runtime_unwrap_
d9120 6e 75 6c 6c 2e 7a 69 67 3a 35 3a 33 33 3a 20 30 78 32 31 65 38 66 61 20 69 6e 20 6d 61 69 6e 20 null.zig:5:33:.0x21e8fa.in.main.
d9140 28 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 76 61 72 20 6e 75 (runtime_unwrap_null).....var.nu
d9160 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 20 20 20 20 mber.=.optional_number.?;.......
d9180 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
d91a0 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
d91c0 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
d91e0 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 31 65 31 35 32 20 69 6e 20 70 6f 73 69 78 rt.zig:564:22:.0x21e152.in.posix
d9200 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 75 6e 77 72 61 70 5f CallMainAndExit.(runtime_unwrap_
d9220 6e 75 6c 6c 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 null).............root.main();..
d9240 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
d9260 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
d9280 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
d92a0 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 63 61 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 :243:5:.0x21dca1.in._start.(runt
d92c0 69 6d 65 5f 75 6e 77 72 61 70 5f 6e 75 6c 6c 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 74 69 6c ime_unwrap_null).....asm.volatil
d92e0 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).{.....^.
d9300 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
d9320 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>
d9340 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 6e 65 20 77 61 79 </pre></figure>.......<p>One.way
d9360 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 72 61 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 .to.avoid.this.crash.is.to.test.
d9380 66 6f 72 20 6e 75 6c 6c 20 69 6e 73 74 65 61 64 20 6f 66 20 61 73 73 75 6d 69 6e 67 20 6e 6f 6e for.null.instead.of.assuming.non
d93a0 2d 6e 75 6c 6c 2c 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 -null,.with.......the.<code><spa
d93c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
d93e0 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 kw">if</span></span></code>.expr
d9400 65 73 73 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 ession:</p>.......<figure><figca
d9420 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
d9440 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 6e 75 6c 6c 5f 77 69 74 68 5f 69 66 2e 7a 69 s="file">testing_null_with_if.zi
d9460 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>
d9480 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
d94a0 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 73 70 tok-kw">const</span>.print.=.<sp
d94c0 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</
d94e0 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
d9500 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 74 3b t;std&quot;</span>).debug.print;
d9520 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
d9540 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
d9560 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.
d9580 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
d95a0 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>.
d95c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
d95e0 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
d9600 3e 20 6f 70 74 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 >.optional_number:.?<span.class=
d9620 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 6c "tok-type">i32</span>.=.<span.cl
d9640 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 3c 2f 73 70 61 ass="tok-null">null</span>;</spa
d9660 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
d9680 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
d96a0 3d 22 74 6f 6b 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 ="tok-kw">if</span>.(optional_nu
d96c0 6d 62 65 72 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber).|number|.{</span>.<span.cl
d96e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 ass="line">........print(<span.c
d9700 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 3a lass="tok-str">&quot;got.number:
d9720 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 3c .{}\n&quot;</span>,..{number});<
d9740 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 /span>.<span.class="line">....}.
d9760 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>
d9780 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
d97a0 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 22 .....print(<span.class="tok-str"
d97c0 3e 26 71 75 6f 74 3b 69 74 27 73 20 6e 75 6c 6c 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c >&quot;it's.null\n&quot;</span>,
d97e0 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..{});</span>.<span.class="line"
d9800 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
d9820 3e 7d 3c 2f 73 70 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 >}</span></code></pre></figure><
d9840 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-
d9860 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
d9880 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 69 6e 67 5f 6e p>$.<kbd>zig.build-exe.testing_n
d98a0 75 6c 6c 5f 77 69 74 68 5f 69 66 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 74 ull_with_if.zig</kbd>.$.<kbd>./t
d98c0 65 73 74 69 6e 67 5f 6e 75 6c 6c 5f 77 69 74 68 5f 69 66 3c 2f 6b 62 64 3e 0a 69 74 27 73 20 6e esting_null_with_if</kbd>.it's.n
d98e0 75 6c 6c 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 ull.</samp></pre></figure>......
d9900 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
d9920 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 69 f="#Optionals">Optionals</a></li
d9940 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 41 74 >.</ul>...............<h3.id="At
d9960 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 tempt-to-Unwrap-Error"><a.href="
d9980 23 74 6f 63 2d 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 #toc-Attempt-to-Unwrap-Error">At
d99a0 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 tempt.to.Unwrap.Error</a>.<a.cla
d99c0 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 6e 77 72 61 ss="hdr".href="#Attempt-to-Unwra
d99e0 70 2d 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 3e 41 p-Error">..</a></h3>........<p>A
d9a00 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 67 75 72 t.compile-time:</p>.......<figur
d9a20 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
d9a40 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 75 ite.class="file">test_comptime_u
d9a60 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 nwrap_error.zig</cite></figcapti
d9a80 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 6c 69 6e 65 22 on><pre><code><span.class="line"
d9aa0 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</
d9ac0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
d9ae0 22 3e 20 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
d9b00 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 6c </span>.number.=.getNumberOrFail
d9b20 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 73 ().<span.class="tok-kw">catch</s
d9b40 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 63 pan>.<span.class="tok-kw">unreac
d9b60 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 hable</span>;</span>.<span.class
d9b80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c ="line">...._.=.number;</span>.<
d9ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e span.class="line">}</span>.<span
d9bc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
d9be0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e s="line"><span.class="tok-kw">fn
d9c00 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 74 </span>.<span.class="tok-fn">get
d9c20 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 61 NumberOrFail</span>().!<span.cla
d9c40 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 3c 2f 73 70 61 6e ss="tok-type">i32</span>.{</span
d9c60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
d9c80 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
d9ca0 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 55 6e n.class="tok-kw">error</span>.Un
d9cc0 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ableToReturnNumber;</span>.<span
d9ce0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 .class="line">}</span></code></p
d9d00 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.
d9d20 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
d9d40 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
d9d60 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 2f 6b est_comptime_unwrap_error.zig</k
d9d80 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_
d9da0 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 2e 7a tmp/test_comptime_unwrap_error.z
d9dc0 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 67 72 ig:2:44:.</span><span.class="sgr
d9de0 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=
d9e00 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 6f 72 "sgr-1m">caught.unexpected.error
d9e20 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 3e 20 .'UnableToReturnNumber'.</span>.
d9e40 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 61 69 ...const.number.=.getNumberOrFai
d9e60 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 20 20 l().catch.unreachable;..........
d9e80 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 ................................
d9ea0 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 7e ..<span.class="sgr-32m">^~~~~~~~
d9ec0 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
d9ee0 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>.....
d9f00 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
d9f20 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
d9f40 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 _unwrap_error.zig</cite></figcap
d9f60 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 6c 69 6e tion><pre><code><span.class="lin
d9f80 65 22 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 e"><span.class="tok-kw">const</s
d9fa0 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
d9fc0 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=
d9fe0 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>
da000 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 );</span>.<span.class="line"></s
da020 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c pan>.<span.class="line"><span.cl
da040 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
da060 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
da080 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 20 ss="tok-fn">main</span>().<span.
da0a0 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 3c 2f class="tok-type">void</span>.{</
da0c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
da0e0 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
da100 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 20 3c 73 70 61 6e 20 umber.=.getNumberOrFail().<span.
da120 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 70 61 class="tok-kw">catch</span>.<spa
da140 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 73 70 n.class="tok-kw">unreachable</sp
da160 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>;</span>.<span.class="line">.
da180 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="
da1a0 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;
da1c0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 </span>,..{number});</span>.<spa
da1e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n.class="line">}</span>.<span.cl
da200 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
da220 6c 69 6e 65 22 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 2f 73 line"><span.class="tok-kw">fn</s
da240 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
da260 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=
da280 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c "tok-type">i32</span>.{</span>.<
da2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
da2c0 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
da2e0 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 55 6e 61 62 6c lass="tok-kw">error</span>.Unabl
da300 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c eToReturnNumber;</span>.<span.cl
da320 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
da340 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
da360 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
da380 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
da3a0 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 3c 2f 6b 62 64 3e 0a .runtime_unwrap_error.zig</kbd>.
da3c0 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 72 72 6f 72 3c 2f 6b $.<kbd>./runtime_unwrap_error</k
da3e0 62 64 3e 0a 74 68 72 65 61 64 20 32 34 35 36 33 32 30 20 70 61 6e 69 63 3a 20 61 74 74 65 6d 70 bd>.thread.2456320.panic:.attemp
da400 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 6f 52 65 74 75 72 t.to.unwrap.error:.UnableToRetur
da420 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 75 6e 6e 65 72 2f nNumber./home/ci/actions-runner/
da440 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
da460 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 39 3a 35 3a mp/runtime_unwrap_error.zig:9:5:
da480 20 30 78 32 32 30 35 33 66 20 69 6e 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 20 28 72 75 .0x22053f.in.getNumberOrFail.(ru
da4a0 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 65 74 75 72 6e 20 65 ntime_unwrap_error).....return.e
da4c0 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 3b 0a 20 20 20 20 5e rror.UnableToReturnNumber;.....^
da4e0 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
da500 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
da520 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 3a 20 30 78 32 31 65 ime_unwrap_error.zig:4:44:.0x21e
da540 39 34 31 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 65 72 72 6f 941.in.main.(runtime_unwrap_erro
da560 72 29 0a 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 r).....const.number.=.getNumberO
da580 72 46 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 rFail().catch.unreachable;......
da5a0 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 ................................
da5c0 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/
da5e0 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
da600 2f 7a 69 67 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 31 65 /zig/std/start.zig:564:22:.0x21e
da620 31 38 32 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 182.in.posixCallMainAndExit.(run
da640 74 69 6d 65 5f 75 6e 77 72 61 70 5f 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 time_unwrap_error).............r
da660 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();.....................
da680 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
da6a0 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/
da6c0 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 63 64 31 20 69 6e std/start.zig:243:5:.0x21dcd1.in
da6e0 20 5f 73 74 61 72 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 ._start.(runtime_unwrap_error)..
da700 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_
da720 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.??
da740 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
da760 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>...
da780 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 72 61 ....<p>One.way.to.avoid.this.cra
da7a0 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 20 69 6e 73 74 65 sh.is.to.test.for.an.error.inste
da7c0 61 64 20 6f 66 20 61 73 73 75 6d 69 6e 67 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 72 65 73 75 ad.of.assuming.a.successful.resu
da7e0 6c 74 2c 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 lt,.with.......the.<code><span.c
da800 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
da820 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 >if</span></span></code>.express
da840 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 70 74 69 ion:</p>.......<figure><figcapti
da860 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="
da880 66 69 6c 65 22 3e 74 65 73 74 69 6e 67 5f 65 72 72 6f 72 5f 77 69 74 68 5f 69 66 2e 7a 69 67 3c file">testing_error_with_if.zig<
da8a0 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
da8c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
da8e0 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 6e k-kw">const</span>.print.=.<span
da900 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
da920 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;
da940 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 3c 2f std&quot;</span>).debug.print;</
da960 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
da980 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
da9a0 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=
da9c0 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="
da9e0 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 73 tok-fn">main</span>().<span.clas
daa00 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 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
daa20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
daa40 6c 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 lass="tok-kw">const</span>.resul
daa60 74 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 t.=.getNumberOrFail();</span>.<s
daa80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
daaa0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
daac0 2d 6b 77 22 3e 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 -kw">if</span>.(result).|number|
daae0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
dab00 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 22 .....print(<span.class="tok-str"
dab20 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 73 >&quot;got.number:.{}\n&quot;</s
dab40 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan>,..{number});</span>.<span.c
dab60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 lass="line">....}.<span.class="t
dab80 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 3c 2f 73 70 61 6e ok-kw">else</span>.|err|.{</span
daba0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 >.<span.class="line">........pri
dabc0 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 67 nt(<span.class="tok-str">&quot;g
dabe0 6f 74 20 65 72 72 6f 72 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b ot.error:.{s}\n&quot;</span>,..{
dac00 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
dac20 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e Name</span>(err)});</span>.<span
dac40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .class="line">....}</span>.<span
dac60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">}</span>.<span.cla
dac80 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
daca0 69 6e 65 22 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 2f 73 70 ine"><span.class="tok-kw">fn</sp
dacc0 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 62 an>.<span.class="tok-fn">getNumb
dace0 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 22 erOrFail</span>().!<span.class="
dad00 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-type">i32</span>.{</span>.<s
dad20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
dad40 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
dad60 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 55 6e 61 62 6c 65 ass="tok-kw">error</span>.Unable
dad80 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ToReturnNumber;</span>.<span.cla
dada0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c ss="line">}</span></code></pre><
dadc0 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
dade0 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>
dae00 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 20 <pre><samp>$.<kbd>zig.build-exe.
dae20 74 65 73 74 69 6e 67 5f 65 72 72 6f 72 5f 77 69 74 68 5f 69 66 2e 7a 69 67 3c 2f 6b 62 64 3e 0a testing_error_with_if.zig</kbd>.
dae40 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 69 6e 67 5f 65 72 72 6f 72 5f 77 69 74 68 5f 69 66 3c 2f $.<kbd>./testing_error_with_if</
dae60 6b 62 64 3e 0a 67 6f 74 20 65 72 72 6f 72 3a 20 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 kbd>.got.error:.UnableToReturnNu
dae80 6d 62 65 72 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 mber.</samp></pre></figure>.....
daea0 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
daec0 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 6c 69 3e 0a 3c 2f 75 ef="#Errors">Errors</a></li>.</u
daee0 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 6e 76 61 6c 69 64 l>...............<h3.id="Invalid
daf00 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 76 61 6c -Error-Code"><a.href="#toc-Inval
daf20 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 64 id-Error-Code">Invalid.Error.Cod
daf40 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 49 6e 76 61 e</a>.<a.class="hdr".href="#Inva
daf60 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 lid-Error-Code">..</a></h3>.....
daf80 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 20 20 20 ...<p>At.compile-time:</p>......
dafa0 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-
dafc0 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 6d cap"><cite.class="file">test_com
dafe0 70 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 63 69 ptime_invalid_error_code.zig</ci
db000 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
db020 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
db040 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 w">comptime</span>.{</span>.<spa
db060 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
db080 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 20 3c 73 70 61 6e tok-kw">const</span>.err.=.<span
db0a0 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 41 6e 45 .class="tok-kw">error</span>.AnE
db0c0 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e rror;</span>.<span.class="line">
db0e0 20 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</
db100 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 6f 6b 2d span>.number.=.<span.class="tok-
db120 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 28 65 72 builtin">@intFromError</span>(er
db140 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 3e 31 30 r).+.<span.class="tok-number">10
db160 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
db180 65 22 3e 20 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 e">....<span.class="tok-kw">cons
db1a0 74 3c 2f 73 70 61 6e 3e 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 t</span>.invalid_err.=.<span.cla
db1c0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 3c 2f ss="tok-builtin">@errorFromInt</
db1e0 73 70 61 6e 3e 28 6e 75 6d 62 65 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 span>(number);</span>.<span.clas
db200 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 69 6e 76 61 6c 69 64 5f 65 72 72 3b 3c 2f 73 s="line">...._.=.invalid_err;</s
db220 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
db240 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
db260 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
db280 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>
db2a0 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 5f 65 zig.test.test_comptime_invalid_e
db2c0 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rror_code.zig</kbd>.<span.class=
db2e0 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
db300 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 67 3a 34 3a 33 39 3a 20 3c e_invalid_error_code.zig:4:39:.<
db320 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
db340 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 69 r:.</span><span.class="sgr-1m">i
db360 6e 74 65 67 65 72 20 76 61 6c 75 65 20 27 31 31 27 20 72 65 70 72 65 73 65 6e 74 73 20 6e 6f 20 nteger.value.'11'.represents.no.
db380 65 72 72 6f 72 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 69 6e 76 61 6c 69 64 5f 65 error.</span>....const.invalid_e
db3a0 72 72 20 3d 20 40 65 72 72 6f 72 46 72 6f 6d 49 6e 74 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 rr.=.@errorFromInt(number);.....
db3c0 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 ................................
db3e0 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 0a 3c ..<span.class="sgr-32m">^~~~~~.<
db400 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>...
db420 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
db440 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"
db460 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 69 6e 76 61 ><cite.class="file">runtime_inva
db480 6c 69 64 5f 65 72 72 6f 72 5f 63 6f 64 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 lid_error_code.zig</cite></figca
db4a0 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 6c 69 ption><pre><code><span.class="li
db4c0 6e 65 22 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 ne"><span.class="tok-kw">const</
db4e0 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
db500 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
db520 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
db540 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >);</span>.<span.class="line"></
db560 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
db580 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
db5a0 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
db5c0 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
db5e0 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 3c .class="tok-type">void</span>.{<
db600 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
db620 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 65 72 pan.class="tok-kw">var</span>.er
db640 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 72 72 6f 72 3c 2f r.=.<span.class="tok-kw">error</
db660 73 70 61 6e 3e 2e 41 6e 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 span>.AnError;</span>.<span.clas
db680 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
db6a0 22 3e 76 61 72 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 ">var</span>.number.=.<span.clas
db6c0 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 72 72 6f 72 3c 2f 73 s="tok-builtin">@intFromError</s
db6e0 70 61 6e 3e 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 pan>(err).+.<span.class="tok-num
db700 62 65 72 22 3e 35 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">500</span>;</span>.<span.cl
db720 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
db740 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 3c 73 70 kw">var</span>.invalid_err.=.<sp
db760 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 46 72 6f an.class="tok-builtin">@errorFro
db780 6d 49 6e 74 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 mInt</span>(number);</span>.<spa
db7a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 n.class="line">....std.debug.pri
db7c0 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
db7e0 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 69 6e 76 61 6c alue:.{}\n&quot;</span>,..{inval
db800 69 64 5f 65 72 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 id_err});</span>.<span.class="li
db820 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
db840 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
db860 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><
db880 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 6d samp>$.<kbd>zig.build-exe.runtim
db8a0 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 3e 0a 24 e_invalid_error_code.zig</kbd>.$
db8c0 20 3c 6b 62 64 3e 2e 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 .<kbd>./runtime_invalid_error_co
db8e0 64 65 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 34 35 36 33 38 37 20 70 61 6e 69 63 3a 20 69 de</kbd>.thread.2456387.panic:.i
db900 6e 76 61 6c 69 64 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 nvalid.error.code./home/ci/actio
db920 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
db940 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 65 72 72 g/docgen_tmp/runtime_invalid_err
db960 6f 72 5f 63 6f 64 65 2e 7a 69 67 3a 36 3a 35 3a 20 30 78 32 31 65 38 63 39 20 69 6e 20 6d 61 69 or_code.zig:6:5:.0x21e8c9.in.mai
db980 6e 20 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 n.(runtime_invalid_error_code)..
db9a0 20 20 20 76 61 72 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 ...var.invalid_err.=.@errorFromI
db9c0 6e 74 28 6e 75 6d 62 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 nt(number);.....^./home/ci/actio
db9e0 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
dba00 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 36 34 t/host/lib/zig/std/start.zig:564
dba20 3a 32 32 3a 20 30 78 32 31 65 31 30 32 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e :22:.0x21e102.in.posixCallMainAn
dba40 64 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 63 6f 64 dExit.(runtime_invalid_error_cod
dba60 65 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 e).............root.main();.....
dba80 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
dbaa0 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
dbac0 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 34 ut/host/lib/zig/std/start.zig:24
dbae0 33 3a 35 3a 20 30 78 32 31 64 63 35 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 3:5:.0x21dc51.in._start.(runtime
dbb00 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 61 73 6d 20 76 6f 6c _invalid_error_code).....asm.vol
dbb20 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).{...
dbb40 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
dbb60 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
dbb80 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>.............
dbba0 20 3c 68 33 20 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 .<h3.id="Invalid-Enum-Cast"><a.h
dbbc0 72 65 66 3d 22 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 ref="#toc-Invalid-Enum-Cast">Inv
dbbe0 61 6c 69 64 20 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 alid.Enum.Cast</a>.<a.class="hdr
dbc00 22 20 68 72 65 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 ".href="#Invalid-Enum-Cast">..</
dbc20 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 6d a></h3>........<p>At.compile-tim
dbc40 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
dbc60 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
dbc80 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 65 6e 75 6d 5f 63 le">test_comptime_invalid_enum_c
dbca0 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 6e 3e 3c 70 72 65 3e ast.zig</cite></figcaption><pre>
dbcc0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
dbce0 6c 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.=
dbd00 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 61 6e .<span.class="tok-kw">enum</span
dbd20 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
dbd40 20 20 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..a,</span>.<span.class="line">.
dbd60 20 20 20 62 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...b,</span>.<span.class="line">
dbd80 20 20 20 20 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....c,</span>.<span.class="line"
dbda0 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >};</span>.<span.class="line"><s
dbdc0 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
dbde0 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
dbe00 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
dbe20 70 61 6e 3e 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 pan>.a:.<span.class="tok-type">u
dbe40 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
dbe60 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">3</span>;</span>.<span.class
dbe80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
dbea0 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 63 6c 61 >const</span>.b:.Foo.=.<span.cla
dbec0 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 3c 2f 73 ss="tok-builtin">@enumFromInt</s
dbee0 70 61 6e 3e 28 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e pan>(a);</span>.<span.class="lin
dbf00 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 e">...._.=.b;</span>.<span.class
dbf20 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
dbf40 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=
dbf60 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
dbf80 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
dbfa0 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 3c 2f 6b 62 mptime_invalid_enum_cast.zig</kb
dbfc0 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
dbfe0 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 6e 75 6d 5f 63 61 mp/test_comptime_invalid_enum_ca
dc000 73 74 2e 7a 69 67 3a 38 3a 32 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:8:20:.</span><span.class=
dc020 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
dc040 61 73 73 3d 22 73 67 72 2d 31 6d 22 3e 65 6e 75 6d 20 27 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 ass="sgr-1m">enum.'test_comptime
dc060 5f 69 6e 76 61 6c 69 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 46 6f 6f 27 20 68 61 73 20 6e 6f 20 74 _invalid_enum_cast.Foo'.has.no.t
dc080 61 67 20 77 69 74 68 20 76 61 6c 75 65 20 27 33 27 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 63 6f 6e ag.with.value.'3'.</span>....con
dc0a0 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 20 20 st.b:.Foo.=.@enumFromInt(a);....
dc0c0 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
dc0e0 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 3c 73 70 -32m">^~~~~~~~~~~~~~~.</span><sp
dc100 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
dc120 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 69 67 t_comptime_invalid_enum_cast.zig
dc140 3a 31 3a 31 33 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 :1:13:.</span><span.class="sgr-3
dc160 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
dc180 72 2d 31 6d 22 3e 65 6e 75 6d 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 0a 3c 2f 73 70 61 6e 3e r-1m">enum.declared.here.</span>
dc1a0 63 6f 6e 73 74 20 46 6f 6f 20 3d 20 65 6e 75 6d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c const.Foo.=.enum.{.............<
dc1c0 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 0a 3c 2f 73 70 61 6e span.class="sgr-32m">^~~~.</span
dc1e0 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 20 3c >.</samp></pre></figure>.......<
dc200 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 67 75 72 65 3e p>At.runtime:</p>.......<figure>
dc220 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
dc240 65 20 63 6c 61 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 65 e.class="file">runtime_invalid_e
dc260 6e 75 6d 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 6e 3e num_cast.zig</cite></figcaption>
dc280 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 <pre><code><span.class="line"><s
dc2a0 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>.
dc2c0 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">
dc2e0 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-
dc300 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 3c 2f 73 str">&quot;std&quot;</span>);</s
dc320 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
dc340 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
dc360 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 61 6e tok-kw">const</span>.Foo.=.<span
dc380 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 3c 2f 73 .class="tok-kw">enum</span>.{</s
dc3a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 2c 3c 2f pan>.<span.class="line">....a,</
dc3c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 2c 3c span>.<span.class="line">....b,<
dc3e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 2c /span>.<span.class="line">....c,
dc400 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 </span>.<span.class="line">};</s
dc420 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
dc440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
dc460 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="
dc480 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
dc4a0 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
dc4c0 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 3c 2f 73 70 61 6e 3e ="tok-type">void</span>.{</span>
dc4e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
dc500 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
dc520 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 20 3d 20 3c 73 .class="tok-type">u2</span>.=.<s
dc540 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>;
dc560 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
dc580 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 62 span.class="tok-kw">var</span>.b
dc5a0 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 6e :.Foo.=.<span.class="tok-builtin
dc5c0 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 3c 2f 73 70 61 6e 3e ">@enumFromInt</span>(a);</span>
dc5e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 .<span.class="line">....std.debu
dc600 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
dc620 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e uot;value:.{s}\n&quot;</span>,..
dc640 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 61 67 4e {<span.class="tok-builtin">@tagN
dc660 61 6d 65 3c 2f 73 70 61 6e 3e 28 62 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ame</span>(b)});</span>.<span.cl
dc680 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e ass="line">}</span></code></pre>
dc6a0 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
dc6c0 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
dc6e0 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
dc700 20 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 7a 69 67 3c 2f .runtime_invalid_enum_cast.zig</
dc720 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 72 75 6e 74 69 6d 65 5f 69 6e 76 61 6c 69 64 5f 65 6e kbd>.$.<kbd>./runtime_invalid_en
dc740 75 6d 5f 63 61 73 74 3c 2f 6b 62 64 3e 0a 74 68 72 65 61 64 20 32 34 35 36 34 32 37 20 70 61 6e um_cast</kbd>.thread.2456427.pan
dc760 69 63 3a 20 69 6e 76 61 6c 69 64 20 65 6e 75 6d 20 76 61 6c 75 65 0a 2f 68 6f 6d 65 2f 63 69 2f ic:.invalid.enum.value./home/ci/
dc780 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
dc7a0 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 61 6c 69 ap/zig/docgen_tmp/runtime_invali
dc7c0 64 5f 65 6e 75 6d 5f 63 61 73 74 2e 7a 69 67 3a 31 31 3a 31 38 3a 20 30 78 32 31 65 38 37 66 20 d_enum_cast.zig:11:18:.0x21e87f.
dc7e0 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 65 6e 75 6d 5f 63 61 in.main.(runtime_invalid_enum_ca
dc800 73 74 29 0a 20 20 20 20 76 61 72 20 62 3a 20 46 6f 6f 20 3d 20 40 65 6e 75 6d 46 72 6f 6d 49 6e st).....var.b:.Foo.=.@enumFromIn
dc820 74 28 61 29 3b 0a 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 t(a);..................^./home/c
dc840 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
dc860 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.
dc880 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 31 65 30 64 32 20 69 6e 20 70 6f 73 69 78 43 61 6c zig:564:22:.0x21e0d2.in.posixCal
dc8a0 6c 4d 61 69 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 lMainAndExit.(runtime_invalid_en
dc8c0 75 6d 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 um_cast).............root.main()
dc8e0 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
dc900 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
dc920 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.
dc940 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 63 32 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 zig:243:5:.0x21dc21.in._start.(r
dc960 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 61 73 untime_invalid_enum_cast).....as
dc980 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 68 29 m.volatile.(switch.(native_arch)
dc9a0 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 3f 3f .{.....^.???:?:?:.0x0.in.???.(??
dc9c0 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 61 6c ?).(process.terminated.by.signal
dc9e0 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 20 0a ).</samp></pre></figure>........
dca00 0a 20 20 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 .......<h3.id="Invalid-Error-Set
dca20 2d 43 61 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 -Cast"><a.href="#toc-Invalid-Err
dca40 6f 72 2d 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 or-Set-Cast">Invalid.Error.Set.C
dca60 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 23 49 6e ast</a>.<a.class="hdr".href="#In
dca80 76 61 6c 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 valid-Error-Set-Cast">..</a></h3
dcaa0 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 3e >........<p>At.compile-time:</p>
dcac0 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
dcae0 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
dcb00 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 73 65 74 5f 63 61 st_comptime_invalid_error_set_ca
dcb20 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><
dcb40 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
dcb60 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 65 74 31 20 3d ass="tok-kw">const</span>.Set1.=
dcb80 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
dcba0 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>{</span>.<span.class="line">..
dcbc0 20 20 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..A,</span>.<span.class="line">.
dcbe0 20 20 20 42 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...B,</span>.<span.class="line">
dcc00 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 };</span>.<span.class="line"><sp
dcc20 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
dcc40 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 6f 72 et2.=.<span.class="tok-kw">error
dcc60 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>{</span>.<span.class="lin
dcc80 65 22 3e 20 20 20 20 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e">....A,</span>.<span.class="li
dcca0 6e 65 22 3e 20 20 20 20 43 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ne">....C,</span>.<span.class="l
dccc0 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ine">};</span>.<span.class="line
dcce0 22 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 "><span.class="tok-kw">comptime<
dcd00 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
dcd20 65 22 3e 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 e">...._.=.<span.class="tok-buil
dcd40 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
dcd60 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 73 70 61 s="tok-builtin">@errSetCast</spa
dcd80 6e 3e 28 53 65 74 31 2e 42 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>(Set1.B));</span>.<span.class=
dcda0 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
dcdc0 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="
dcde0 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
dce00 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 6d e><samp>$.<kbd>zig.test.test_com
dce20 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 7a 69 67 ptime_invalid_error_set_cast.zig
dce40 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
dce60 65 6e 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 en_tmp/test_comptime_invalid_err
dce80 6f 72 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 or_set_cast.zig:10:19:.</span><s
dcea0 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
dcec0 6e 3e 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 n><span.class="sgr-1m">'error.B'
dcee0 20 6e 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 .not.a.member.of.error.set.'erro
dcf00 72 7b 43 2c 41 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 r{C,A}'.</span>...._.=.@as(Set2,
dcf20 20 40 65 72 72 53 65 74 43 61 73 74 28 53 65 74 31 2e 42 29 29 3b 0a 20 20 20 20 20 20 20 20 20 .@errSetCast(Set1.B));..........
dcf40 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">^
dcf60 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 2f 73 61 6d ~~~~~~~~~~~~~~~~~~.</span>.</sam
dcf80 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
dcfa0 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
dcfc0 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
dcfe0 3d 22 66 69 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 ="file">runtime_invalid_error_se
dd000 74 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 6e 3e 3c 70 t_cast.zig</cite></figcaption><p
dd020 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
dd040 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
dd060 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
dd080 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
dd0a0 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 3c 2f 73 70 61 r">&quot;std&quot;</span>);</spa
dd0c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
dd0e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
dd100 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 74 31 20 3d 20 3c 73 70 61 6e 20 k-kw">const</span>.Set1.=.<span.
dd120 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 3c 2f 73 70 class="tok-kw">error</span>{</sp
dd140 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 2c 3c 2f 73 an>.<span.class="line">....A,</s
dd160 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 42 2c 3c 2f pan>.<span.class="line">....B,</
dd180 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 span>.<span.class="line">};</spa
dd1a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
dd1c0 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 65 74 32 20 3d 20 3c s="tok-kw">const</span>.Set2.=.<
dd1e0 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>
dd200 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
dd220 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 A,</span>.<span.class="line">...
dd240 20 43 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b .C,</span>.<span.class="line">};
dd260 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
dd280 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
dd2a0 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.
dd2c0 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
dd2e0 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>.
dd300 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
dd320 66 6f 6f 28 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d foo(Set1.B);</span>.<span.class=
dd340 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e "line">}</span>.<span.class="lin
dd360 65 22 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 2f 73 70 61 6e e"><span.class="tok-kw">fn</span
dd380 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 6e >.<span.class="tok-fn">foo</span
dd3a0 3e 28 73 65 74 31 3a 20 53 65 74 31 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >(set1:.Set1).<span.class="tok-t
dd3c0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ype">void</span>.{</span>.<span.
dd3e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
dd400 6b 2d 6b 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 k-kw">const</span>.x:.Set2.=.<sp
dd420 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 53 65 74 43 61 an.class="tok-builtin">@errSetCa
dd440 73 74 3c 2f 73 70 61 6e 3e 28 73 65 74 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c st</span>(set1);</span>.<span.cl
dd460 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c ass="line">....std.debug.print(<
dd480 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 65 span.class="tok-str">&quot;value
dd4a0 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 3c 2f 73 70 61 :.{}\n&quot;</span>,..{x});</spa
dd4c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
dd4e0 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
dd500 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<
dd520 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
dd540 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 6f g.build-exe.runtime_invalid_erro
dd560 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 75 r_set_cast.zig</kbd>.$.<kbd>./ru
dd580 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 62 ntime_invalid_error_set_cast</kb
dd5a0 64 3e 0a 74 68 72 65 61 64 20 32 34 35 36 34 36 37 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 64 d>.thread.2456467.panic:.invalid
dd5c0 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
dd5e0 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
dd600 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
dd620 5f 63 61 73 74 2e 7a 69 67 3a 31 35 3a 32 31 3a 20 30 78 32 32 30 34 64 63 20 69 6e 20 66 6f 6f _cast.zig:15:21:.0x2204dc.in.foo
dd640 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 74 .(runtime_invalid_error_set_cast
dd660 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 53 65 74 43 61 73 ).....const.x:.Set2.=.@errSetCas
dd680 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);.....................^./
dd6a0 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
dd6c0 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
dd6e0 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:
dd700 38 3a 20 30 78 32 31 65 38 38 64 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 76 8:.0x21e88d.in.main.(runtime_inv
dd720 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 74 alid_error_set_cast).....foo(Set
dd740 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 2d 1.B);........^./home/ci/actions-
dd760 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
dd780 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 36 34 3a 32 32 ost/lib/zig/std/start.zig:564:22
dd7a0 3a 20 30 78 32 31 65 31 33 32 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 :.0x21e132.in.posixCallMainAndEx
dd7c0 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 63 61 it.(runtime_invalid_error_set_ca
dd7e0 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 20 st).............root.main();....
dd800 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
dd820 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/
dd840 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
dd860 34 33 3a 35 3a 20 30 78 32 31 64 63 38 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 43:5:.0x21dc81.in._start.(runtim
dd880 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 20 61 73 e_invalid_error_set_cast).....as
dd8a0 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 68 29 m.volatile.(switch.(native_arch)
dd8c0 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 3f 3f .{.....^.???:?:?:.0x0.in.???.(??
dd8e0 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 61 6c ?).(process.terminated.by.signal
dd900 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 20 0a ).</samp></pre></figure>........
dd920 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 74 65 72 .......<h3.id="Incorrect-Pointer
dd940 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 6f 72 72 -Alignment"><a.href="#toc-Incorr
dd960 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 65 63 74 ect-Pointer-Alignment">Incorrect
dd980 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 73 73 3d .Pointer.Alignment</a>.<a.class=
dd9a0 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 72 2d 41 "hdr".href="#Incorrect-Pointer-A
dd9c0 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 3c 70 3e lignment">..</a></h3>........<p>
dd9e0 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 67 75 At.compile-time:</p>.......<figu
dda00 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"><
dda20 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 65 5f cite.class="file">test_comptime_
dda40 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<
dda60 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
dda80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
ddaa0 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c k-kw">comptime</span>.{</span>.<
ddac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
ddae0 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
ddb00 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>(
ddb20 3c 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
ddb40 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
ddb60 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 22 pan>.=.<span.class="tok-builtin"
ddb80 3e 40 70 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 >@ptrFromInt</span>(<span.class=
ddba0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e "tok-number">0x1</span>);</span>
ddbc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
ddbe0 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 69 67 6e 65 ass="tok-kw">const</span>.aligne
ddc00 64 3a 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 6e 3c 2f d:.*<span.class="tok-kw">align</
ddc20 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
ddc40 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">
ddc60 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 62 75 i32</span>.=.<span.class="tok-bu
ddc80 69 6c 74 69 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 3c 2f iltin">@alignCast</span>(ptr);</
ddca0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d span>.<span.class="line">...._.=
ddcc0 20 61 6c 69 67 6e 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .aligned;</span>.<span.class="li
ddce0 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 ne">}</span></code></pre></figur
ddd00 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
ddd20 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><
ddd40 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
ddd60 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
ddd80 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
ddda0 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 74 cgen_tmp/test_comptime_incorrect
dddc0 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 73 _pointer_alignment.zig:3:47:.</s
ddde0 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:
dde00 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 69 .</span><span.class="sgr-1m">poi
dde20 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 20 nter.address.0x1.is.not.aligned.
dde40 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 67 to.4.bytes.</span>....const.alig
dde60 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 28 ned:.*align(4).i32.=.@alignCast(
dde80 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 20 ptr);...........................
ddea0 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=
ddec0 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 70 "sgr-32m">^~~.</span>.</samp></p
ddee0 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 65 re></figure>.......<p>At.runtime
ddf00 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.
ddf20 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
ddf40 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 69 e">runtime_incorrect_pointer_ali
ddf60 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 70 gnment.zig</cite></figcaption><p
ddf80 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
ddfa0 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 6d 65 n.class="tok-kw">const</span>.me
ddfc0 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 6e 22 3e 40 69 m.=.<span.class="tok-builtin">@i
ddfe0 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
de000 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 65 6d 3b 3c r">&quot;std&quot;</span>).mem;<
de020 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
de040 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.
de060 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
de080 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 73 70 lass="tok-fn">main</span>().!<sp
de0a0 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>.
de0c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
de0e0 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>.
de100 61 72 72 61 79 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 array.<span.class="tok-kw">align
de120 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"
de140 3e 34 3c 2f 73 70 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 >4</span>).=.[_]<span.class="tok
de160 2d 74 79 70 65 22 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 -type">u32</span>{.<span.class="
de180 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 61 6e 3e 2c 20 3c tok-number">0x11111111</span>,.<
de1a0 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 31 31 31 31 31 span.class="tok-number">0x111111
de1c0 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 11</span>.};</span>.<span.class=
de1e0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
de200 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
de220 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
de240 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ber">0</span>..]);</span>.<span.
de260 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
de280 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 29 20 21 3d 20 3c k-kw">if</span>.(foo(bytes).!=.<
de2a0 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 31 31 31 31 31 span.class="tok-number">0x111111
de2c0 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 6b 2d 6b 77 22 3e 11</span>).<span.class="tok-kw">
de2e0 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 6b return</span>.<span.class="tok-k
de300 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 57 72 6f 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 w">error</span>.Wrong;</span>.<s
de320 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan.class="line">}</span>.<span.
de340 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
de360 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"
de380 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 62 79 74 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 >foo</span>(bytes:.[]<span.class
de3a0 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 61 ="tok-type">u8</span>).<span.cla
de3c0 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 3c 2f 73 70 61 6e ss="tok-type">u32</span>.{</span
de3e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
de400 6c 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 6c 69 63 65 lass="tok-kw">const</span>.slice
de420 34 20 3d 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 4.=.bytes[<span.class="tok-numbe
de440 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
de460 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">5</span>];</span>.<span.cl
de480 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
de4a0 6b 77 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 kw">const</span>.int_slice.=.mem
de4c0 2e 62 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 .bytesAsSlice(<span.class="tok-t
de4e0 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
de500 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 73 70 61 6e 20 63 6c k-builtin">@as</span>([]<span.cl
de520 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 20 ass="tok-kw">align</span>(<span.
de540 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 3c 73 70 class="tok-number">4</span>).<sp
de560 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>,.<
de580 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 43 span.class="tok-builtin">@alignC
de5a0 61 73 74 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 34 29 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ast</span>(slice4)));</span>.<sp
de5c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
de5e0 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 69 63 65 "tok-kw">return</span>.int_slice
de600 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
de620 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d n>];</span>.<span.class="line">}
de640 3c 2f 73 70 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 </span></code></pre></figure><fi
de660 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
de680 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>
de6a0 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 69 6e 63 $.<kbd>zig.build-exe.runtime_inc
de6c0 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 2f 6b 62 orrect_pointer_alignment.zig</kb
de6e0 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 5f 70 6f d>.$.<kbd>./runtime_incorrect_po
de700 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 32 34 35 inter_alignment</kbd>.thread.245
de720 36 35 30 37 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 74 0a 6507.panic:.incorrect.alignment.
de740 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
de760 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 69 g-bootstrap/zig/docgen_tmp/runti
de780 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
de7a0 69 67 3a 39 3a 36 34 3a 20 30 78 32 31 65 34 33 66 20 69 6e 20 66 6f 6f 20 28 72 75 6e 74 69 6d ig:9:64:.0x21e43f.in.foo.(runtim
de7c0 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 29 0a 20 e_incorrect_pointer_alignment)..
de7e0 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 73 41 73 ...const.int_slice.=.mem.bytesAs
de800 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 20 40 61 Slice(u32,.@as([]align(4).u8,.@a
de820 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 20 20 20 lignCast(slice4)));.............
de840 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 ................................
de860 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
de880 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
de8a0 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 72 65 63 /zig/docgen_tmp/runtime_incorrec
de8c0 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 20 30 78 t_pointer_alignment.zig:5:12:.0x
de8e0 32 31 65 33 33 66 20 69 6e 20 6d 61 69 6e 20 28 72 75 6e 74 69 6d 65 5f 69 6e 63 6f 72 72 65 63 21e33f.in.main.(runtime_incorrec
de900 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 28 66 6f 6f t_pointer_alignment).....if.(foo
de920 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 6e 20 65 72 (bytes).!=.0x11111111).return.er
de940 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 65 2f 63 69 ror.Wrong;............^./home/ci
de960 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
de980 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
de9a0 69 67 3a 35 37 34 3a 33 37 3a 20 30 78 32 31 65 32 34 65 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c ig:574:37:.0x21e24e.in.posixCall
de9c0 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 65 63 74 5f 70 MainAndExit.(runtime_incorrect_p
de9e0 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 20 20 20 63 6f ointer_alignment).............co
dea00 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 74 63 68 20 7c nst.result.=.root.main().catch.|
dea20 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 20 20 20 20 20 err|.{..........................
dea40 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
dea60 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
dea80 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 34 33 3a 35 3a 20 30 t/lib/zig/std/start.zig:243:5:.0
deaa0 78 32 31 64 64 33 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 6d 65 5f 69 6e 63 6f 72 x21dd31.in._start.(runtime_incor
deac0 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 61 73 6d 20 rect_pointer_alignment).....asm.
deae0 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).{
deb00 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.???.(???)
deb20 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).
deb40 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 20 </samp></pre></figure>..........
deb60 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 65 6c 64 2d 41 63 ....<h3.id="Wrong-Union-Field-Ac
deb80 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 55 6e 69 6f 6e 2d cess"><a.href="#toc-Wrong-Union-
deba0 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 46 69 65 6c 64 20 Field-Access">Wrong.Union.Field.
debc0 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 68 72 65 66 3d 22 Access</a>.<a.class="hdr".href="
debe0 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 3e c2 a7 3c 2f 61 #Wrong-Union-Field-Access">..</a
dec00 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
dec20 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.
dec40 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
dec60 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 6f 6e 5f 66 69 65 e">test_comptime_wrong_union_fie
dec80 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 61 70 74 69 6f 6e ld_access.zig</cite></figcaption
deca0 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 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
decc0 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
dece0 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
ded00 20 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
ded20 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=
ded40 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 3c 2f 73 70 61 6e 3e "tok-number">42</span>.};</span>
ded60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 .<span.class="line">....f.float.
ded80 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 2e 33 34 =.<span.class="tok-number">12.34
deda0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
dedc0 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c e">}</span>.<span.class="line"><
dede0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
dee00 63 6c 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.
dee20 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
dee40 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
dee60 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 74 79 70 65 ....float:.<span.class="tok-type
dee80 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">f32</span>,</span>.<span.class
deea0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ="line">....int:.<span.class="to
deec0 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-type">u32</span>,</span>.<span
deee0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f .class="line">};</span></code></
def00 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
def20 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
def40 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.
def60 74 65 73 74 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 test_comptime_wrong_union_field_
def80 61 63 63 65 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 access.zig</kbd>.<span.class="sg
defa0 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 77 r-1m">docgen_tmp/test_comptime_w
defc0 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 3a 33 3a 36 3a rong_union_field_access.zig:3:6:
defe0 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
df000 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"
df020 3e 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 20 77 >access.of.union.field.'float'.w
df040 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 3c 2f 73 70 61 hile.field.'int'.is.active.</spa
df060 6e 3e 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 3c 73 70 61 6e n>....f.float.=.12.34;.....<span
df080 20 63 6c 61 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 .class="sgr-32m">~^~~~~~.</span>
df0a0 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/
df0c0 74 65 73 74 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 test_comptime_wrong_union_field_
df0e0 61 63 63 65 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 access.zig:6:13:.</span><span.cl
df100 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 6e ass="sgr-36m">note:.</span><span
df120 20 63 6c 61 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 .class="sgr-1m">union.declared.h
df140 65 72 65 0a 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 ere.</span>const.Foo.=.union.{..
df160 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"
df180 3e 5e 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 >^~~~~.</span>.</samp></pre></fi
df1a0 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 3e 0a 20 gure>.......<p>At.runtime:</p>..
df1c0 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="
df1e0 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 75 6e 74 zig-cap"><cite.class="file">runt
df200 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 69 67 ime_wrong_union_field_access.zig
df220 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><
df240 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
df260 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.
df280 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
df2a0 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
df2c0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 td&quot;</span>);</span>.<span.c
df2e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
df300 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
df320 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 74 6f 6b 2d t</span>.Foo.=.<span.class="tok-
df340 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 kw">union</span>.{</span>.<span.
df360 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c class="line">....float:.<span.cl
df380 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 3c 2f 73 70 61 6e ass="tok-type">f32</span>,</span
df3a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 >.<span.class="line">....int:.<s
df3c0 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>,
df3e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 </span>.<span.class="line">};</s
df400 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
df420 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
df440 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="
df460 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
df480 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
df4a0 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 3c 2f 73 70 61 6e 3e ="tok-type">void</span>.{</span>
df4c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
df4e0 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 20 46 6f 6f 7b ass="tok-kw">var</span>.f.=.Foo{
df500 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 6d 62 65 72 22 ..int.=.<span.class="tok-number"
df520 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >42</span>.};</span>.<span.class
df540 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 61 6e 3e 0a ="line">....bar(&amp;f);</span>.
df560 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 <span.class="line">}</span>.<spa
df580 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
df5a0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
df5c0 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 61 n</span>.<span.class="tok-fn">ba
df5e0 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 73 3d 22 74 r</span>(f:.*Foo).<span.class="t
df600 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
df620 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c pan.class="line">....f.float.=.<
df640 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 73 span.class="tok-number">12.34</s
df660 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>;</span>.<span.class="line">
df680 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 3d ....std.debug.print(<span.class=
df6a0 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 75 6f 74 "tok-str">&quot;value:.{}\n&quot
df6c0 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ;</span>,..{f.float});</span>.<s
df6e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">}</span></code>
df700 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
df720 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
df740 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
df760 6c 64 2d 65 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 ld-exe.runtime_wrong_union_field
df780 5f 61 63 63 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 _access.zig</kbd>.$.<kbd>./runti
df7a0 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 3c 2f 6b 62 64 me_wrong_union_field_access</kbd
df7c0 3e 0a 74 68 72 65 61 64 20 32 34 35 36 35 34 37 20 70 61 6e 69 63 3a 20 61 63 63 65 73 73 20 6f >.thread.2456547.panic:.access.o
df7e0 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 20 66 69 65 6c f.union.field.'float'.while.fiel
df800 64 20 27 69 6e 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 d.'int'.is.active./home/ci/actio
df820 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
df840 67 2f 64 6f 63 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 g/docgen_tmp/runtime_wrong_union
df860 5f 66 69 65 6c 64 5f 61 63 63 65 73 73 2e 7a 69 67 3a 31 34 3a 36 3a 20 30 78 32 33 34 63 63 30 _field_access.zig:14:6:.0x234cc0
df880 20 69 6e 20 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 .in.bar.(runtime_wrong_union_fie
df8a0 6c 64 5f 61 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 ld_access).....f.float.=.12.34;.
df8c0 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/_
df8e0 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
df900 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 64 5f 61 63 63 65 p/runtime_wrong_union_field_acce
df920 73 73 2e 7a 69 67 3a 31 30 3a 38 3a 20 30 78 32 33 33 30 38 63 20 69 6e 20 6d 61 69 6e 20 28 72 ss.zig:10:8:.0x23308c.in.main.(r
df940 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 65 73 73 29 untime_wrong_union_field_access)
df960 0a 20 20 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 .....bar(&amp;f);........^./home
df980 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
df9a0 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
df9c0 74 2e 7a 69 67 3a 35 36 34 3a 32 32 3a 20 30 78 32 33 32 39 32 32 20 69 6e 20 70 6f 73 69 78 43 t.zig:564:22:.0x232922.in.posixC
df9e0 61 6c 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 allMainAndExit.(runtime_wrong_un
dfa00 69 6f 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 ion_field_access).............ro
dfa20 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 20 ot.main();......................
dfa40 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/
dfa60 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
dfa80 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 33 32 34 37 31 20 69 6e 20 td/start.zig:243:5:.0x232471.in.
dfaa0 5f 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 _start.(runtime_wrong_union_fiel
dfac0 64 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 d_access).....asm.volatile.(swit
dfae0 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).{.....^.???:?:?
dfb00 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
dfb20 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><
dfb40 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 69 73 20 73 61 /figure>.......<p>.......This.sa
dfb60 66 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 fety.is.not.available.for.<code>
dfb80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
dfba0 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-kw">extern</span></span></co
dfbc0 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 6c 69 6e 65 22 3e de>.or.<code><span.class="line">
dfbe0 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
dfc00 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 75 6e 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c n></span></code>.unions........<
dfc20 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 63 68 61 6e 67 65 20 74 68 /p>.......<p>.......To.change.th
dfc40 65 20 61 63 74 69 76 65 20 66 69 65 6c 64 20 6f 66 20 61 20 75 6e 69 6f 6e 2c 20 61 73 73 69 67 e.active.field.of.a.union,.assig
dfc60 6e 20 74 68 65 20 65 6e 74 69 72 65 20 75 6e 69 6f 6e 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 n.the.entire.union,.like.this:..
dfc80 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
dfca0 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=
dfcc0 22 66 69 6c 65 22 3e 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 "file">change_active_union_field
dfce0 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
dfd00 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
dfd20 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
dfd40 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<
dfd60 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
dfd80 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ot;std&quot;</span>);</span>.<sp
dfda0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
dfdc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
dfde0 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="
dfe00 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-kw">union</span>.{</span>.<s
dfe20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 pan.class="line">....float:.<spa
dfe40 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 3c 2f n.class="tok-type">f32</span>,</
dfe60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 span>.<span.class="line">....int
dfe80 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
dfea0 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d an>,</span>.<span.class="line">}
dfec0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
dfee0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
dff00 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
dff20 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
dff40 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 20 63 s="tok-fn">main</span>().<span.c
dff60 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 3c 2f 73 lass="tok-type">void</span>.{</s
dff80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
dffa0 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 20 n.class="tok-kw">var</span>.f.=.
dffc0 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 6d Foo{..int.=.<span.class="tok-num
dffe0 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">42</span>.};</span>.<span.c
e0000 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 lass="line">....bar(&amp;f);</sp
e0020 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
e0040 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
e0060 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
e0080 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
e00a0 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
e00c0 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 3c 2f 73 70 61 6e s="tok-type">void</span>.{</span
e00e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 2a 20 3d 20 46 >.<span.class="line">....f.*.=.F
e0100 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 74 6f 6b 2d 6e 75 oo{..float.=.<span.class="tok-nu
e0120 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 mber">12.34</span>.};</span>.<sp
e0140 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 an.class="line">....std.debug.pr
e0160 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;
e0180 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 66 2e 66 6c value:.{}\n&quot;</span>,..{f.fl
e01a0 6f 61 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 oat});</span>.<span.class="line"
e01c0 3e 7d 3c 2f 73 70 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 >}</span></code></pre></figure><
e01e0 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-
e0200 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
e0220 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 68 61 6e 67 65 5f 61 63 p>$.<kbd>zig.build-exe.change_ac
e0240 74 69 76 65 5f 75 6e 69 6f 6e 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 tive_union_field.zig</kbd>.$.<kb
e0260 64 3e 2e 2f 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 3c 2f 6b d>./change_active_union_field</k
e0280 62 64 3e 0a 76 61 6c 75 65 3a 20 31 2e 32 33 34 30 30 30 30 31 65 2b 30 31 0a 3c 2f 73 61 6d 70 bd>.value:.1.23400001e+01.</samp
e02a0 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>......
e02c0 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 6f 66 20 61 .To.change.the.active.field.of.a
e02e0 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 75 65 20 66 .union.when.a.meaningful.value.f
e0300 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 20 20 20 20 or.the.field.is.not.known,......
e0320 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 64 65 66 69 .use.<a.href="#undefined">undefi
e0340 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 70 3e 0a 20 ned</a>,.like.this:.......</p>..
e0360 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="
e0380 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 75 6e 64 65 zig-cap"><cite.class="file">unde
e03a0 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 3c 2f 63 69 fined_active_union_field.zig</ci
e03c0 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
e03e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
e0400 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
e0420 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>(<
e0440 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
e0460 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 uot;</span>);</span>.<span.class
e0480 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
e04a0 65 22 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 e"><span.class="tok-kw">const</s
e04c0 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">
e04e0 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 union</span>.{</span>.<span.clas
e0500 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d s="line">....float:.<span.class=
e0520 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-type">f32</span>,</span>.<s
e0540 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 pan.class="line">....int:.<span.
e0560 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 3c 2f 73 70 class="tok-type">u32</span>,</sp
e0580 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e an>.<span.class="line">};</span>
e05a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
e05c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
e05e0 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-
e0600 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
e0620 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
e0640 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-type">void</span>.{</span>.<sp
e0660 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
e0680 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 6e "tok-kw">var</span>.f.=.Foo{..in
e06a0 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 3c t.=.<span.class="tok-number">42<
e06c0 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.};</span>.<span.class="li
e06e0 6e 65 22 3e 20 20 20 20 66 20 3d 20 46 6f 6f 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 ne">....f.=.Foo{..float.=.<span.
e0700 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 6e class="tok-null">undefined</span
e0720 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >.};</span>.<span.class="line">.
e0740 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ...bar(&amp;f);</span>.<span.cla
e0760 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 ss="line">....std.debug.print(<s
e0780 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:
e07a0 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b .{}\n&quot;</span>,..{f.float});
e07c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
e07e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
e0800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
e0820 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
e0840 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 73 70 61 6e 20 k-fn">bar</span>(f:.*Foo).<span.
e0860 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 3c 2f class="tok-type">void</span>.{</
e0880 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 span>.<span.class="line">....f.f
e08a0 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 72 22 3e loat.=.<span.class="tok-number">
e08c0 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 12.34</span>;</span>.<span.class
e08e0 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
e0900 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=
e0920 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
e0940 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 75 6e re><samp>$.<kbd>zig.build-exe.un
e0960 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 3c 2f defined_active_union_field.zig</
e0980 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 75 6e 64 65 66 69 6e 65 64 5f 61 63 74 69 76 65 5f 75 kbd>.$.<kbd>./undefined_active_u
e09a0 6e 69 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 30 30 30 nion_field</kbd>.value:.1.234000
e09c0 30 31 65 2b 30 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 01e+01.</samp></pre></figure>...
e09e0 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.
e0a00 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 3c 6c 69 href="#union">union</a></li>.<li
e0a20 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 72 6e 20 ><a.href="#extern-union">extern.
e0a40 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 0a 20 20 union</a></li>.</ul>............
e0a60 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 61 74 2d ....<h3.id="Out-of-Bounds-Float-
e0a80 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 63 2d 4f to-Integer-Cast"><a.href="#toc-O
e0aa0 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 43 61 ut-of-Bounds-Float-to-Integer-Ca
e0ac0 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 74 65 67 st">Out.of.Bounds.Float.to.Integ
e0ae0 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 65 66 3d er.Cast</a>.<a.class="hdr".href=
e0b00 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 67 65 72 "#Out-of-Bounds-Float-to-Integer
e0b20 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 0a 20 20 -Cast">..</a></h3>........<p>...
e0b40 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.
e0b60 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 20 66 6c float.to.an.integer.where.the.fl
e0b80 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 20 20 20 oat.has.a.value.outside.the.....
e0ba0 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 20 3c 2f ..integer.type's.range........</
e0bc0 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 2f 70 3e p>.......<p>At.compile-time:</p>
e0be0 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
e0c00 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
e0c20 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 61 74 5f st_comptime_out_of_bounds_float_
e0c40 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 69 67 63 to_integer_cast.zig</cite></figc
e0c60 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 6c aption><pre><code><span.class="l
e0c80 69 6e 65 22 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 ine"><span.class="tok-kw">compti
e0ca0 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 me</span>.{</span>.<span.class="
e0cc0 6c 69 6e 65 22 3e 09 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 line">.<span.class="tok-kw">cons
e0ce0 74 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 22 74 6f 6b t</span>.float:.<span.class="tok
e0d00 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 73 3d -type">f32</span>.=.<span.class=
e0d20 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 6e 3e 3b 3c "tok-number">4294967296</span>;<
e0d40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 09 3c 73 70 61 6e /span>.<span.class="line">.<span
e0d60 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 74 .class="tok-kw">const</span>.int
e0d80 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
e0da0 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 22 3e an>.=.<span.class="tok-builtin">
e0dc0 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 3c 2f 73 70 @intFromFloat</span>(float);</sp
e0de0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 09 5f 20 3d 20 69 6e 74 3b an>.<span.class="line">._.=.int;
e0e00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
e0e20 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
e0e40 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
e0e60 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
e0e80 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 6f 75 74 5f 6f 66 bd>zig.test.test_comptime_out_of
e0ea0 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 7a 69 _bounds_float_to_integer_cast.zi
e0ec0 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
e0ee0 67 65 6e 5f 74 6d 70 2f 74 65 73 74 5f 63 6f 6d 70 74 69 6d 65 5f 6f 75 74 5f 6f 66 5f 62 6f 75 gen_tmp/test_comptime_out_of_bou
e0f00 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 7a 69 67 3a 33 3a nds_float_to_integer_cast.zig:3:
e0f20 33 33 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 33:.</span><span.class="sgr-31m"
e0f40 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-
e0f60 31 6d 22 3e 66 6c 6f 61 74 20 76 61 6c 75 65 20 27 34 32 39 34 39 36 37 32 39 36 27 20 63 61 6e 1m">float.value.'4294967296'.can
e0f80 6e 6f 74 20 62 65 20 73 74 6f 72 65 64 20 69 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 27 69 not.be.stored.in.integer.type.'i
e0fa0 33 32 27 0a 3c 2f 73 70 61 6e 3e 20 63 6f 6e 73 74 20 69 6e 74 3a 20 69 33 32 20 3d 20 40 69 6e 32'.</span>.const.int:.i32.=.@in
e0fc0 74 46 72 6f 6d 46 6c 6f 61 74 28 66 6c 6f 61 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 tFromFloat(float);..............
e0fe0 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 22 ...................<span.class="
e1000 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 61 6d 70 3e 3c 2f sgr-32m">^~~~~.</span>.</samp></
e1020 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
e1040 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
e1060 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
e1080 6c 65 22 3e 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 le">runtime_out_of_bounds_float_
e10a0 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 69 67 63 to_integer_cast.zig</cite></figc
e10c0 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 6c aption><pre><code><span.class="l
e10e0 69 6e 65 22 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 ine"><span.class="tok-kw">pub</s
e1100 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
e1120 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
e1140 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
e1160 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 id</span>.{</span>.<span.class="
e1180 6c 69 6e 65 22 3e 09 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 line">.<span.class="tok-kw">var<
e11a0 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 22 74 6f 6b 2d 74 /span>.float:.<span.class="tok-t
e11c0 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 73 3d 22 74 ype">f32</span>.=.<span.class="t
e11e0 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 6e 3e 3b 3c 2f 73 ok-number">4294967296</span>;</s
e1200 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 09 3c 73 70 61 6e 20 63 pan>.<span.class="line">.<span.c
e1220 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 6e 74 3a 20 3c 73 lass="tok-kw">var</span>.int:.<s
e1240 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>.
e1260 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 6e 74 =.<span.class="tok-builtin">@int
e1280 46 72 6f 6d 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 66 6c 6f 61 74 29 3b 3c 2f 73 70 61 6e 3e 0a FromFloat</span>(float);</span>.
e12a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 09 5f 20 3d 20 69 6e 74 3b 3c 2f 73 70 <span.class="line">._.=.int;</sp
e12c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
e12e0 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
e1300 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
e1320 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
e1340 69 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 ig.build-exe.runtime_out_of_boun
e1360 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 7a 69 67 3c 2f 6b 62 ds_float_to_integer_cast.zig</kb
e1380 64 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 d>.$.<kbd>./runtime_out_of_bound
e13a0 73 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 s_float_to_integer_cast</kbd>.th
e13c0 72 65 61 64 20 32 34 35 36 36 34 31 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 70 61 72 74 read.2456641.panic:.integer.part
e13e0 20 6f 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 .of.floating.point.value.out.of.
e1400 62 6f 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 bounds./home/ci/actions-runner/_
e1420 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
e1440 70 2f 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 p/runtime_out_of_bounds_float_to
e1460 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 2e 7a 69 67 3a 33 3a 31 37 3a 20 30 78 32 31 65 37 30 65 _integer_cast.zig:3:17:.0x21e70e
e1480 20 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 .in.main.(runtime_out_of_bounds_
e14a0 66 6c 6f 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 29 0a 20 76 61 72 20 69 6e 74 3a float_to_integer_cast)..var.int:
e14c0 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 20 20 20 .i32.=.@intFromFloat(float);....
e14e0 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-
e1500 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
e1520 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 36 34 3a 32 32 ost/lib/zig/std/start.zig:564:22
e1540 3a 20 30 78 32 31 64 66 34 32 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 :.0x21df42.in.posixCallMainAndEx
e1560 69 74 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 6c 6f 61 74 5f it.(runtime_out_of_bounds_float_
e1580 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f to_integer_cast).............roo
e15a0 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();......................^
e15c0 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
e15e0 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
e1600 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 35 3a 20 30 78 32 31 64 61 39 31 20 69 6e 20 5f d/start.zig:243:5:.0x21da91.in._
e1620 73 74 61 72 74 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 6c 6f start.(runtime_out_of_bounds_flo
e1640 61 74 5f 74 6f 5f 69 6e 74 65 67 65 72 5f 63 61 73 74 29 0a 20 20 20 20 61 73 6d 20 76 6f 6c 61 at_to_integer_cast).....asm.vola
e1660 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 20 tile.(switch.(native_arch).{....
e1680 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 72 .^.???:?:?:.0x0.in.???.(???).(pr
e16a0 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 61 ocess.terminated.by.signal).</sa
e16c0 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>..............
e16e0 20 3c 68 33 20 69 64 3d 22 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 .<h3.id="Pointer-Cast-Invalid-Nu
e1700 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 ll"><a.href="#toc-Pointer-Cast-I
e1720 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
e1740 64 20 4e 75 6c 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 d.Null</a>.<a.class="hdr".href="
e1760 23 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 3e c2 a7 3c 2f #Pointer-Cast-Invalid-Null">..</
e1780 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 68 69 73 20 68 61 a></h3>........<p>.......This.ha
e17a0 70 70 65 6e 73 20 77 68 65 6e 20 63 61 73 74 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 ppens.when.casting.a.pointer.wit
e17c0 68 20 74 68 65 20 61 64 64 72 65 73 73 20 30 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 77 68 69 h.the.address.0.to.a.pointer.whi
e17e0 63 68 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 61 64 64 72 65 73 73 20 30 2e 0a 20 ch.may.not.have.the.address.0...
e1800 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f .....For.example,.<a.href="#C-Po
e1820 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d inters">C.Pointers</a>,.<a.href=
e1840 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 6c 20 50 6f "#Optional-Pointers">Optional.Po
e1860 69 6e 74 65 72 73 3c 2f 61 3e 2c 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 6c 6f 77 7a inters</a>,.and.<a.href="#allowz
e1880 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 20 70 6f 69 6e 74 65 72 73 0a 20 20 20 20 ero">allowzero</a>.pointers.....
e18a0 20 20 61 6c 6c 6f 77 20 61 64 64 72 65 73 73 20 7a 65 72 6f 2c 20 62 75 74 20 6e 6f 72 6d 61 6c ..allow.address.zero,.but.normal
e18c0 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 3c 2f 61 .<a.href="#Pointers">Pointers</a
e18e0 3e 20 64 6f 20 6e 6f 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 >.do.not........</p>.......<p>At
e1900 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
e1920 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
e1940 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
e1960 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 3c 2f 63 69 74 valid_null_pointer_cast.zig</cit
e1980 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.
e19a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
e19c0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">comptime</span>.{</span>.<span
e19e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
e1a00 6f 6b 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 ok-kw">const</span>.opt_ptr:.?*<
e1a20 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>
e1a40 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</
e1a60 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
e1a80 3e 20 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<
e1aa0 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
e1ac0 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
e1ae0 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
e1b00 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 tr);</span>.<span.class="line">.
e1b20 20 20 20 5f 20 3d 20 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ..._.=.ptr;</span>.<span.class="
e1b40 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 line">}</span></code></pre></fig
e1b60 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
e1b80 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
e1ba0 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
e1bc0 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 74 2e 7a time_invalid_null_pointer_cast.z
e1be0 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
e1c00 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 76 61 6c 69 64 5f 6e cgen_tmp/test_comptime_invalid_n
e1c20 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 3a 33 3a 33 32 3a 20 3c 2f 73 70 61 ull_pointer_cast.zig:3:32:.</spa
e1c40 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:.<
e1c60 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 6e 75 6c 6c 20 /span><span.class="sgr-1m">null.
e1c80 70 6f 69 6e 74 65 72 20 63 61 73 74 65 64 20 74 6f 20 74 79 70 65 20 27 2a 69 33 32 27 0a 3c 2f pointer.casted.to.type.'*i32'.</
e1ca0 73 70 61 6e 3e 20 20 20 20 63 6f 6e 73 74 20 70 74 72 3a 20 2a 69 33 32 20 3d 20 40 70 74 72 43 span>....const.ptr:.*i32.=.@ptrC
e1cc0 61 73 74 28 6f 70 74 5f 70 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ast(opt_ptr);...................
e1ce0 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 32 .............<span.class="sgr-32
e1d00 6d 22 3e 5e 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 m">^~~~~~~.</span>.</samp></pre>
e1d20 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 3c 2f </figure>.......<p>At.runtime:</
e1d40 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
e1d60 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">
e1d80 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
e1da0 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
e1dc0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
e1de0 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
e1e00 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
e1e20 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 20 63 s="tok-fn">main</span>().<span.c
e1e40 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 3c 2f 73 lass="tok-type">void</span>.{</s
e1e60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
e1e80 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 6f 70 74 5f n.class="tok-kw">var</span>.opt_
e1ea0 70 74 72 3a 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 ptr:.?*<span.class="tok-type">i3
e1ec0 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 6c 6c 2</span>.=.<span.class="tok-null
e1ee0 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">null</span>;</span>.<span.clas
e1f00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
e1f20 22 3e 76 61 72 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 ">var</span>.ptr:.*<span.class="
e1f40 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 6c 61 tok-type">i32</span>.=.<span.cla
e1f60 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>
e1f80 28 6f 70 74 5f 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c (opt_ptr);</span>.<span.class="l
e1fa0 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ine">...._.=.ptr;</span>.<span.c
e1fc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
e1fe0 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
e2000 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
e2020 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
e2040 65 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 e.runtime_invalid_null_pointer_c
e2060 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
e2080 6e 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 nvalid_null_pointer_cast</kbd>.t
e20a0 68 72 65 61 64 20 32 34 35 36 36 38 31 20 70 61 6e 69 63 3a 20 63 61 73 74 20 63 61 75 73 65 73 hread.2456681.panic:.cast.causes
e20c0 20 70 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 .pointer.to.be.null./home/ci/act
e20e0 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/
e2100 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 61 6c 69 64 5f 6e zig/docgen_tmp/runtime_invalid_n
e2120 75 6c 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 2e 7a 69 67 3a 33 3a 32 31 3a 20 30 78 32 31 65 ull_pointer_cast.zig:3:21:.0x21e
e2140 36 39 31 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 691.in.main.(runtime_invalid_nul
e2160 6c 5f 70 6f 69 6e 74 65 72 5f 63 61 73 74 29 0a 20 20 20 20 76 61 72 20 70 74 72 3a 20 2a 69 33 l_pointer_cast).....var.ptr:.*i3
e2180 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);..........
e21a0 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
e21c0 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
e21e0 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 36 34 3a 32 32 3a 20 t/lib/zig/std/start.zig:564:22:.
e2200 30 78 32 31 64 65 66 32 20 69 6e 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 0x21def2.in.posixCallMainAndExit
e2220 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 65 72 5f 63 .(runtime_invalid_null_pointer_c
e2240 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();...
e2260 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
e2280 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
e22a0 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:
e22c0 32 34 33 3a 35 3a 20 30 78 32 31 64 61 34 31 20 69 6e 20 5f 73 74 61 72 74 20 28 72 75 6e 74 69 243:5:.0x21da41.in._start.(runti
e22e0 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 74 29 0a 20 20 me_invalid_null_pointer_cast)...
e2300 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
e2320 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.???
e2340 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
e2360 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>....
e2380 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 65 6d 6f 72 79 ..................<h2.id="Memory
e23a0 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 6f 72 79 3c 2f "><a.href="#toc-Memory">Memory</
e23c0 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 6d 6f 72 79 22 a>.<a.class="hdr".href="#Memory"
e23e0 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 54 68 >..</a></h2>........<p>.......Th
e2400 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 6d 65 6d 6f 72 e.Zig.language.performs.no.memor
e2420 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 68 65 20 70 72 y.management.on.behalf.of.the.pr
e2440 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 20 5a 69 67 20 ogrammer..This.is.......why.Zig.
e2460 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 20 63 6f 64 65 has.no.runtime,.and.why.Zig.code
e2480 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 79 20 65 6e 76 .works.seamlessly.in.so.many.env
e24a0 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 72 65 61 6c 2d ironments,.......including.real-
e24c0 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 73 74 65 6d 20 time.software,.operating.system.
e24e0 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 61 6e 64 0a 20 kernels,.embedded.devices,.and..
e2500 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 73 20 61 20 63 .....low.latency.servers..As.a.c
e2520 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 20 6d 75 73 74 onsequence,.Zig.programmers.must
e2540 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 20 20 20 20 20 .always.be.able.to.answer.......
e2560 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 20 20 20 20 3c the.question:.......</p>.......<
e2580 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 79 74 65 73 22 p><a.href="#Where-are-the-bytes"
e25a0 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 70 3e 0a 20 20 >Where.are.the.bytes?</a></p>...
e25c0 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 20 43 20 70 72 ....<p>.......Like.Zig,.the.C.pr
e25e0 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 61 6c 20 6d 65 ogramming.language.has.manual.me
e2600 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 6e 6c 69 6b 65 mory.management..However,.unlike
e2620 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 20 61 6c 6c 6f .Zig,.......C.has.a.default.allo
e2640 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 2c 20 3c 63 6f cator.-.<code>malloc</code>,.<co
e2660 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 65 3e 66 72 65 de>realloc</code>,.and.<code>fre
e2680 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 67 20 61 67 61 e</code>........When.linking.aga
e26a0 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 20 61 6c 6c 6f inst.libc,.Zig.exposes.this.allo
e26c0 63 61 74 6f 72 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 6c 69 cator.with.<code><span.class="li
e26e0 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 63 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c ne">std.heap.c_allocator</span><
e2700 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 62 79 20 63 6f 6e 76 65 6e /code>........However,.by.conven
e2720 74 69 6f 6e 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 65 66 61 75 6c 74 20 61 6c 6c 6f 63 61 tion,.there.is.no.default.alloca
e2740 74 6f 72 20 69 6e 20 5a 69 67 2e 20 49 6e 73 74 65 61 64 2c 20 66 75 6e 63 74 69 6f 6e 73 20 77 tor.in.Zig..Instead,.functions.w
e2760 68 69 63 68 20 6e 65 65 64 20 74 6f 0a 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 20 61 63 63 65 hich.need.to.......allocate.acce
e2780 70 74 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 pt.an.<code><span.class="line">A
e27a0 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 llocator</span></code>.parameter
e27c0 2e 20 4c 69 6b 65 77 69 73 65 2c 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 73 75 63 68 ..Likewise,.data.structures.such
e27e0 20 61 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 22 6c 69 6e .as.......<code><span.class="lin
e2800 65 22 3e 73 74 64 2e 41 72 72 61 79 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 e">std.ArrayList</span></code>.a
e2820 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ccept.an.<code><span.class="line
e2840 22 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 ">Allocator</span></code>.parame
e2860 74 65 72 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 ter.in.......their.initializatio
e2880 6e 20 66 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 n.functions:.......</p>.......<f
e28a0 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
e28c0 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 6c 6c 6f 63 61 "><cite.class="file">test_alloca
e28e0 74 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 tor.zig</cite></figcaption><pre>
e2900 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
e2920 6c 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.=
e2940 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
e2960 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">
e2980 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 73 70 61 6e 3e 0a &quot;std&quot;</span>);</span>.
e29a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
e29c0 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 6f 72 20 3d tok-kw">const</span>.Allocator.=
e29e0 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .std.mem.Allocator;</span>.<span
e2a00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
e2a20 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
e2a40 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ting.expect;</span>.<span.class=
e2a60 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
e2a80 22 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 "><span.class="tok-kw">test</spa
e2aa0 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 75 n>.<span.class="tok-str">&quot;u
e2ac0 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 20 7b sing.an.allocator&quot;</span>.{
e2ae0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
e2b00 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 62 span.class="tok-kw">var</span>.b
e2b20 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 62 65 72 22 uffer:.[<span.class="tok-number"
e2b40 3e 31 30 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 79 70 >100</span>]<span.class="tok-typ
e2b60 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 6b 2d e">u8</span>.=.<span.class="tok-
e2b80 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c null">undefined</span>;</span>.<
e2ba0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
e2bc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 62 61 20 3d 20 73 74 64 2e s="tok-kw">var</span>.fba.=.std.
e2be0 68 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 26 heap.FixedBufferAllocator.init(&
e2c00 61 6d 70 3b 62 75 66 66 65 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d amp;buffer);</span>.<span.class=
e2c20 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
e2c40 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 66 62 61 2e 61 6c 6c const</span>.allocator.=.fba.all
e2c60 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ocator();</span>.<span.class="li
e2c80 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">con
e2ca0 73 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 st</span>.result.=.<span.class="
e2cc0 74 6f 6b 2d 6b 77 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 tok-kw">try</span>.concat(alloca
e2ce0 74 6f 72 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 tor,.<span.class="tok-str">&quot
e2d00 3b 66 6f 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 22 ;foo&quot;</span>,.<span.class="
e2d20 74 6f 6b 2d 73 74 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 tok-str">&quot;bar&quot;</span>)
e2d40 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e2d60 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>.
e2d80 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="
e2da0 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
e2dc0 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
e2de0 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pan>,.result));</span>.<span.cla
e2e00 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
e2e20 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
e2e40 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 2f 73 70 61 6e 3e 20 ><span.class="tok-kw">fn</span>.
e2e60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 6f 6e 63 61 74 3c 2f 73 70 61 <span.class="tok-fn">concat</spa
e2e80 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 61 3a 20 5b 5d 3c 73 n>(allocator:.Allocator,.a:.[]<s
e2ea0 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>.
e2ec0 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>
e2ee0 2c 20 62 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 ,.b:.[]<span.class="tok-kw">cons
e2f00 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">
e2f20 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 u8</span>).![]<span.class="tok-t
e2f40 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ype">u8</span>.{</span>.<span.cl
e2f60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
e2f80 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 kw">const</span>.result.=.<span.
e2fa0 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
e2fc0 74 6f 72 2e 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 tor.alloc(<span.class="tok-type"
e2fe0 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 2e 6c 65 6e 20 2b 20 62 2e 6c 65 6e 29 3b 3c 2f 73 70 61 >u8</span>,.a.len.+.b.len);</spa
e3000 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6d 65 n>.<span.class="line">....std.me
e3020 6d 2e 63 6f 70 79 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 m.copy(<span.class="tok-type">u8
e3040 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 </span>,.result,.a);</span>.<spa
e3060 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6d 65 6d 2e 63 6f 70 79 28 n.class="line">....std.mem.copy(
e3080 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>
e30a0 2c 20 72 65 73 75 6c 74 5b 61 2e 6c 65 6e 2e 2e 5d 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ,.result[a.len..],.b);</span>.<s
e30c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
e30e0 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 3c ="tok-kw">return</span>.result;<
e3100 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
e3120 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 3e n></code></pre></figure><figure>
e3140 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
e3160 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
e3180 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 2e 7a 69 67 3c 2f 6b d>zig.test.test_allocator.zig</k
e31a0 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 75 73 69 6e 67 20 61 6e 20 61 6c 6c 6f 63 61 74 6f 72 2e bd>.1/1.test.using.an.allocator.
e31c0 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
e31e0 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>......
e3200 20 49 6e 20 74 68 65 20 61 62 6f 76 65 20 65 78 61 6d 70 6c 65 2c 20 31 30 30 20 62 79 74 65 73 .In.the.above.example,.100.bytes
e3220 20 6f 66 20 73 74 61 63 6b 20 6d 65 6d 6f 72 79 20 61 72 65 20 75 73 65 64 20 74 6f 20 69 6e 69 .of.stack.memory.are.used.to.ini
e3240 74 69 61 6c 69 7a 65 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 tialize.a.......<code><span.clas
e3260 73 3d 22 6c 69 6e 65 22 3e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 s="line">FixedBufferAllocator</s
e3280 70 61 6e 3e 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 pan></code>,.which.is.then.passe
e32a0 64 20 74 6f 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 d.to.a.function........As.a.conv
e32c0 65 6e 69 65 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 enience.there.is.a.global.<code>
e32e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 69 78 65 64 42 75 66 66 65 72 41 6c <span.class="line">FixedBufferAl
e3300 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 61 76 61 69 locator</span></code>.......avai
e3320 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 3e 3c lable.for.quick.tests.at.<code><
e3340 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c span.class="line">std.testing.al
e3360 6c 6f 63 61 74 6f 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 locator</span></code>,.......whi
e3380 63 68 20 77 69 6c 6c 20 61 6c 73 6f 20 70 65 72 66 6f 72 6d 20 62 61 73 69 63 20 6c 65 61 6b 20 ch.will.also.perform.basic.leak.
e33a0 64 65 74 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 detection........</p>.......<p>.
e33c0 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 61 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 ......Zig.has.a.general.purpose.
e33e0 61 6c 6c 6f 63 61 74 6f 72 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 62 65 20 69 6d 70 6f 72 74 allocator.available.to.be.import
e3400 65 64 0a 20 20 20 20 20 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ed.......with.<code><span.class=
e3420 22 6c 69 6e 65 22 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 "line">std.heap.GeneralPurposeAl
e3440 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 48 6f 77 65 76 65 72 2c 20 locator</span></code>..However,.
e3460 69 74 20 69 73 20 73 74 69 6c 6c 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 0a 20 20 20 20 20 it.is.still.recommended.to......
e3480 20 66 6f 6c 6c 6f 77 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 43 68 6f 6f 73 69 6e 67 2d 61 .follow.the.<a.href="#Choosing-a
e34a0 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 61 74 n-Allocator">Choosing.an.Allocat
e34c0 6f 72 3c 2f 61 3e 20 67 75 69 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 or</a>.guide........</p>........
e34e0 3c 68 33 20 69 64 3d 22 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 3c <h3.id="Choosing-an-Allocator"><
e3500 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 a.href="#toc-Choosing-an-Allocat
e3520 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 20 3c 61 or">Choosing.an.Allocator</a>.<a
e3540 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d .class="hdr".href="#Choosing-an-
e3560 41 6c 6c 6f 63 61 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 Allocator">..</a></h3>........<p
e3580 3e 57 68 61 74 20 61 6c 6c 6f 63 61 74 6f 72 20 74 6f 20 75 73 65 20 64 65 70 65 6e 64 73 20 6f >What.allocator.to.use.depends.o
e35a0 6e 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 66 61 63 74 6f 72 73 2e 20 48 65 72 65 20 69 73 20 61 n.a.number.of.factors..Here.is.a
e35c0 20 66 6c 6f 77 20 63 68 61 72 74 20 74 6f 20 68 65 6c 70 20 79 6f 75 20 64 65 63 69 64 65 3a 0a .flow.chart.to.help.you.decide:.
e35e0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 ......</p>.......<ol>...........
e3600 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 79 6f 75 20 6d 61 6b 69 6e <li>...............Are.you.makin
e3620 67 20 61 20 6c 69 62 72 61 72 79 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 62 65 73 74 20 g.a.library?.In.this.case,.best.
e3640 74 6f 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 to.accept.an.<code><span.class="
e3660 6c 69 6e 65 22 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 line">Allocator</span></code>...
e3680 20 20 20 20 20 20 20 20 20 20 20 20 61 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 61 ............as.a.parameter.and.a
e36a0 6c 6c 6f 77 20 79 6f 75 72 20 6c 69 62 72 61 72 79 27 73 20 75 73 65 72 73 20 74 6f 20 64 65 63 llow.your.library's.users.to.dec
e36c0 69 64 65 20 77 68 61 74 20 61 6c 6c 6f 63 61 74 6f 72 20 74 6f 20 75 73 65 2e 0a 20 20 20 20 20 ide.what.allocator.to.use.......
e36e0 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 41 72 65 20 79 6f 75 .....</li>...........<li>Are.you
e3700 20 6c 69 6e 6b 69 6e 67 20 6c 69 62 63 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 63 6f .linking.libc?.In.this.case,.<co
e3720 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 63 de><span.class="line">std.heap.c
e3740 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6c 69 6b 65 _allocator</span></code>.is.like
e3760 6c 79 0a 20 20 20 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 ly...............the.right.choic
e3780 65 2c 20 61 74 20 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 e,.at.least.for.your.main.alloca
e37a0 74 6f 72 2e 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 20 20 tor.</li>...........<li>........
e37c0 20 20 20 20 20 20 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 .......Is.the.maximum.number.of.
e37e0 62 79 74 65 73 20 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 bytes.that.you.will.need.bounded
e3800 20 62 79 20 61 20 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 .by.a.number.known.at...........
e3820 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 69 6d 65 ....<a.href="#comptime">comptime
e3840 3c 2f 61 3e 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 </a>?.In.this.case,.use.<code><s
e3860 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 46 69 78 65 64 42 pan.class="line">std.heap.FixedB
e3880 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a ufferAllocator</span></code>.or.
e38a0 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 3d ..............<code><span.class=
e38c0 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 54 68 72 65 61 64 53 61 66 65 46 69 78 65 64 42 "line">std.heap.ThreadSafeFixedB
e38e0 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 70 ufferAllocator</span></code>.dep
e3900 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 0a 20 20 20 20 20 ending.on.whether.you.need......
e3920 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 6e 6f 74 2e 0a 20 .........thread-safety.or.not...
e3940 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>...
e3960 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 6d 20 61 20 63 6f ............Is.your.program.a.co
e3980 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 63 68 20 72 75 6e mmand.line.application.which.run
e39a0 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 74 20 61 6e 79 20 s.from.start.to.end.without.any.
e39c0 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 63 79 63 6c 69 63 fundamental...............cyclic
e39e0 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 6f 20 67 61 6d 65 al.pattern.(such.as.a.video.game
e3a00 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 72 20 72 65 71 75 .main.loop,.or.a.web.server.requ
e3a20 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 20 20 73 75 63 68 est.handler),...............such
e3a40 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 74 6f 20 66 72 65 .that.it.would.make.sense.to.fre
e3a60 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 65 20 65 6e 64 3f e.everything.at.once.at.the.end?
e3a80 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 65 2c 20 69 74 20 ...............In.this.case,.it.
e3aa0 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 68 69 73 20 70 61 is.recommended.to.follow.this.pa
e3ac0 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 61 70 74 69 6f 6e ttern:.......<figure><figcaption
e3ae0 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
e3b00 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 74 65 3e 3c 2f 66 le">cli_allocation.zig</cite></f
e3b20 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
e3b40 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
e3b60 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
e3b80 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
e3ba0 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;</
e3bc0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
e3be0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 "></span>.<span.class="line"><sp
e3c00 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
e3c20 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
e3c40 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>().!
e3c60 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
e3c80 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>.{</span>.<span.class="line">.
e3ca0 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
e3cc0 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 6c 6f 63 61 74 n>.arena.=.std.heap.ArenaAllocat
e3ce0 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 61 74 6f 72 29 or.init(std.heap.page_allocator)
e3d00 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e3d20 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 73 70 61 6e <span.class="tok-kw">defer</span
e3d40 3e 20 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >.arena.deinit();</span>.<span.c
e3d60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
e3d80 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
e3da0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 61 72 65 6e 61 2e 61 const</span>.allocator.=.arena.a
e3dc0 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 llocator();</span>.<span.class="
e3de0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
e3e00 3e 20 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<
e3e20 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 2d 6b 77 /span>.ptr.=.<span.class="tok-kw
e3e40 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 73 ">try</span>.allocator.create(<s
e3e60 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>)
e3e80 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e3ea0 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
e3ec0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 74 72 3d 7b 2a 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 -str">&quot;ptr={*}\n&quot;</spa
e3ee0 6e 3e 2c 20 2e 7b 70 74 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>,..{ptr});</span>.<span.class=
e3f00 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 "line">}</span></code></pre></fi
e3f20 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="
e3f40 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
e3f60 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 6c 69 e><samp>$.<kbd>zig.build-exe.cli
e3f80 5f 61 6c 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 63 _allocation.zig</kbd>.$.<kbd>./c
e3fa0 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 3c 2f 6b 62 64 3e 0a 70 74 72 3d 69 33 32 40 37 66 31 62 li_allocation</kbd>.ptr=i32@7f1b
e3fc0 32 65 61 61 65 30 31 30 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 2eaae010.</samp></pre></figure>.
e3fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 6b 69 ..............When.using.this.ki
e4000 6e 64 20 6f 66 20 61 6c 6c 6f 63 61 74 6f 72 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 nd.of.allocator,.there.is.no.nee
e4020 64 20 74 6f 20 66 72 65 65 20 61 6e 79 74 68 69 6e 67 20 6d 61 6e 75 61 6c 6c 79 2e 20 45 76 65 d.to.free.anything.manually..Eve
e4040 72 79 74 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 73 20 66 72 65 65 64 rything...............gets.freed
e4060 20 61 74 20 6f 6e 63 65 20 77 69 74 68 20 74 68 65 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 3e .at.once.with.the.call.to.<code>
e4080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 <span.class="line">arena.deinit(
e40a0 29 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 3c 2f 6c 69 3e )</span></code>............</li>
e40c0 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 41 72 ...........<li>...............Ar
e40e0 65 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 20 70 61 72 74 20 6f 66 20 61 20 63 79 63 6c e.the.allocations.part.of.a.cycl
e4100 69 63 61 6c 20 70 61 74 74 65 72 6e 20 73 75 63 68 20 61 73 20 61 20 76 69 64 65 6f 20 67 61 6d ical.pattern.such.as.a.video.gam
e4120 65 20 6d 61 69 6e 20 6c 6f 6f 70 2c 20 6f 72 20 61 20 77 65 62 0a 20 20 20 20 20 20 20 20 20 20 e.main.loop,.or.a.web...........
e4140 20 20 20 20 73 65 72 76 65 72 20 72 65 71 75 65 73 74 20 68 61 6e 64 6c 65 72 3f 20 49 66 20 74 ....server.request.handler?.If.t
e4160 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 20 63 61 6e 20 61 6c 6c 20 62 65 20 66 72 65 65 64 20 he.allocations.can.all.be.freed.
e4180 61 74 20 6f 6e 63 65 2c 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 63 79 63 6c 65 at.once,.at.the.end.of.the.cycle
e41a0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 6f 6e 63 65 ,...............for.example.once
e41c0 20 74 68 65 20 76 69 64 65 6f 20 67 61 6d 65 20 66 72 61 6d 65 20 68 61 73 20 62 65 65 6e 20 66 .the.video.game.frame.has.been.f
e41e0 75 6c 6c 79 20 72 65 6e 64 65 72 65 64 2c 20 6f 72 20 74 68 65 20 77 65 62 20 73 65 72 76 65 72 ully.rendered,.or.the.web.server
e4200 20 72 65 71 75 65 73 74 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 65 6e 20 .request.has...............been.
e4220 73 65 72 76 65 64 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 served,.then.<code><span.class="
e4240 6c 69 6e 65 22 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 73 line">std.heap.ArenaAllocator</s
e4260 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 67 72 65 61 74 20 63 61 6e 64 69 64 61 74 65 pan></code>.is.a.great.candidate
e4280 2e 20 41 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 20 ..As...............demonstrated.
e42a0 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 62 75 6c 6c 65 74 20 70 6f 69 6e 74 2c 20 74 68 in.the.previous.bullet.point,.th
e42c0 69 73 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 66 72 65 65 20 65 6e 74 69 72 65 20 61 72 65 is.allows.you.to.free.entire.are
e42e0 6e 61 73 20 61 74 20 6f 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 nas.at.once................Note.
e4300 61 6c 73 6f 20 74 68 61 74 20 69 66 20 61 6e 20 75 70 70 65 72 20 62 6f 75 6e 64 20 6f 66 20 6d also.that.if.an.upper.bound.of.m
e4320 65 6d 6f 72 79 20 63 61 6e 20 62 65 20 65 73 74 61 62 6c 69 73 68 65 64 2c 20 74 68 65 6e 0a 20 emory.can.be.established,.then..
e4340 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 3d 22 .............<code><span.class="
e4360 6c 69 6e 65 22 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 61 line">std.heap.FixedBufferAlloca
e4380 74 6f 72 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 61 73 tor</span></code>.can.be.used.as
e43a0 20 61 20 66 75 72 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 .a.further.optimization.........
e43c0 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 20 20 20 ...</li>...........<li>.........
e43e0 20 20 20 20 20 20 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 ......Are.you.writing.a.test,.an
e4400 64 20 79 6f 75 20 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 d.you.want.to.make.sure.<code><s
e4420 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
e4440 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 65 6d 6f 72 79 3c 2f k-kw">error</span>.OutOfMemory</
e4460 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 20 69 73 20 68 61 span></code>...............is.ha
e4480 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
e44a0 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e se.<code><span.class="line">std.
e44c0 74 65 73 74 69 6e 67 2e 46 61 69 6c 69 6e 67 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c testing.FailingAllocator</span><
e44e0 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 20 /code>............</li>.........
e4500 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 6f 75 20 77 72 69 ..<li>...............Are.you.wri
e4520 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 20 75 73 65 20 3c ting.a.test?.In.this.case,.use.<
e4540 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 code><span.class="line">std.test
e4560 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 ing.allocator</span></code>.....
e4580 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>.....
e45a0 20 20 20 20 20 20 20 20 20 20 46 69 6e 61 6c 6c 79 2c 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 ..........Finally,.if.none.of.th
e45c0 65 20 61 62 6f 76 65 20 61 70 70 6c 79 2c 20 79 6f 75 20 6e 65 65 64 20 61 20 67 65 6e 65 72 61 e.above.apply,.you.need.a.genera
e45e0 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 l.purpose.allocator.............
e4600 20 20 20 5a 69 67 27 73 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 ...Zig's.general.purpose.allocat
e4620 6f 72 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 or.is.available.as.a.function.th
e4640 61 74 20 74 61 6b 65 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 at.takes.a.<a.href="#comptime">c
e4660 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 omptime</a>...............<a.hre
e4680 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 6f 66 20 63 6f 6e 66 69 67 f="#struct">struct</a>.of.config
e46a0 75 72 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 74 79 uration.options.and.returns.a.ty
e46c0 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 pe................Generally,.you
e46e0 20 77 69 6c 6c 20 73 65 74 20 75 70 20 6f 6e 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .will.set.up.one.<code><span.cla
e4700 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 ss="line">std.heap.GeneralPurpos
e4720 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 0a 20 20 20 20 eAllocator</span></code>.in.....
e4740 20 20 20 20 20 20 20 20 20 20 79 6f 75 72 20 6d 61 69 6e 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e ..........your.main.function,.an
e4760 64 20 74 68 65 6e 20 70 61 73 73 20 69 74 20 6f 72 20 73 75 62 2d 61 6c 6c 6f 63 61 74 6f 72 73 d.then.pass.it.or.sub-allocators
e4780 20 61 72 6f 75 6e 64 20 74 6f 20 76 61 72 69 6f 75 73 20 70 61 72 74 73 20 6f 66 20 79 6f 75 72 .around.to.various.parts.of.your
e47a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 ...............application......
e47c0 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>......
e47e0 20 20 20 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 63 6f 6e 73 69 64 65 72 20 3c .........You.can.also.consider.<
e4800 61 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 a.href="#Implementing-an-Allocat
e4820 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 2f 61 or">Implementing.an.Allocator</a
e4840 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 3c 2f 6f 6c 3e 0a 20 >............</li>.......</ol>..
e4860 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 68 65 72 65 2d 61 72 65 2d 74 .............<h3.id="Where-are-t
e4880 68 65 2d 62 79 74 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 68 65 72 65 2d 61 72 he-bytes"><a.href="#toc-Where-ar
e48a0 65 2d 74 68 65 2d 62 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 e-the-bytes">Where.are.the.bytes
e48c0 3f 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 57 68 65 72 ?</a>.<a.class="hdr".href="#Wher
e48e0 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 e-are-the-bytes">..</a></h3>....
e4900 20 20 20 20 3c 70 3e 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 73 75 63 68 20 61 73 20 3c ....<p>String.literals.such.as.<
e4920 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
e4940 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 75 6f 74 3b 3c 2f 73 ass="tok-str">&quot;foo&quot;</s
e4960 70 61 6e 3e 3c 2f 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 pan></span></code>.are.in.the.gl
e4980 6f 62 61 6c 20 63 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 obal.constant.data.section......
e49a0 20 20 54 68 69 73 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 ..This.is.why.it.is.an.error.to.
e49c0 70 61 73 73 20 61 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 pass.a.string.literal.to.a.mutab
e49e0 6c 65 20 73 6c 69 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 le.slice,.like.this:.......</p>.
e4a00 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=
e4a20 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
e4a40 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 63 t_string_literal_to_slice.zig</c
e4a60 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
e4a80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
e4aa0 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
e4ac0 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 63 6c 61 73 73 3d 22 n">foo</span>(s:.[]<span.class="
e4ae0 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
e4b00 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 3c 2f 73 70 61 6e 3e ="tok-type">void</span>.{</span>
e4b20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 3b 3c 2f .<span.class="line">...._.=.s;</
e4b40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e span>.<span.class="line">}</span
e4b60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
e4b80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
e4ba0 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
e4bc0 6b 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 k-str">&quot;string.literal.to.m
e4be0 75 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 3c 2f 73 70 61 utable.slice&quot;</span>.{</spa
e4c00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 n>.<span.class="line">....foo(<s
e4c20 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&
e4c40 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>);</span>.<span.clas
e4c60 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
e4c80 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
e4ca0 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><
e4cc0 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 73 pre><samp>$.<kbd>zig.test.test_s
e4ce0 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 6b 62 64 3e tring_literal_to_slice.zig</kbd>
e4d00 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 70 .<span.class="sgr-1m">docgen_tmp
e4d20 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 65 2e 7a 69 /test_string_literal_to_slice.zi
e4d40 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 2d 33 g:6:9:.</span><span.class="sgr-3
e4d60 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
e4d80 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 20 66 6f 75 gr-1m">expected.type.'[]u8',.fou
e4da0 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 20 20 20 66 nd.'*const.[5:0]u8'.</span>....f
e4dc0 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 20 20 20 3c oo(&quot;hello&quot;);.........<
e4de0 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 0a 3c 2f 73 span.class="sgr-32m">^~~~~~~.</s
e4e00 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 5f pan><span.class="sgr-1m">docgen_
e4e20 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 65 tmp/test_string_literal_to_slice
e4e40 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 67 .zig:6:9:.</span><span.class="sg
e4e60 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 3d r-36m">note:.</span><span.class=
e4e80 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 20 71 75 61 "sgr-1m">cast.discards.const.qua
e4ea0 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 67 72 2d 31 lifier.</span><span.class="sgr-1
e4ec0 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 74 65 72 61 m">docgen_tmp/test_string_litera
e4ee0 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 3c 73 70 61 l_to_slice.zig:1:11:.</span><spa
e4f00 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 3c n.class="sgr-36m">note:.</span><
e4f20 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 72 20 74 79 span.class="sgr-1m">parameter.ty
e4f40 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 6f 6f 28 73 pe.declared.here.</span>fn.foo(s
e4f60 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 61 6e 20 63 :.[]u8).void.{...........<span.c
e4f80 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 3c 2f 73 61 lass="sgr-32m">^~~~.</span>.</sa
e4fa0 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 48 6f 77 65 mp></pre></figure>.......<p>Howe
e4fc0 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 6e 73 74 61 ver.if.you.make.the.slice.consta
e4fe0 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 20 3c 66 69 nt,.then.it.works:</p>.......<fi
e5000 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"
e5020 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 6e 67 5f ><cite.class="file">test_string_
e5040 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 63 69 74 65 literal_to_const_slice.zig</cite
e5060 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
e5080 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
e50a0 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">
e50c0 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b foo</span>(s:.[]<span.class="tok
e50e0 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
e5100 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 3d ok-type">u8</span>).<span.class=
e5120 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a "tok-type">void</span>.{</span>.
e5140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 3b 3c 2f 73 <span.class="line">...._.=.s;</s
e5160 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
e5180 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
e51a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
e51c0 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
e51e0 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 63 6f -str">&quot;string.literal.to.co
e5200 6e 73 74 61 6e 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 nstant.slice&quot;</span>.{</spa
e5220 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 n>.<span.class="line">....foo(<s
e5240 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&
e5260 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 quot;</span>);</span>.<span.clas
e5280 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f s="line">}</span></code></pre></
e52a0 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
e52c0 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><
e52e0 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 73 pre><samp>$.<kbd>zig.test.test_s
e5300 74 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 7a 69 67 tring_literal_to_const_slice.zig
e5320 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 </kbd>.1/1.test.string.literal.t
e5340 6f 20 63 6f 6e 73 74 61 6e 74 20 73 6c 69 63 65 2e 2e 2e 20 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 o.constant.slice....OK.All.1.tes
e5360 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
e5380 3e 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 73 74 72 69 >.......<p>.......Just.like.stri
e53a0 6e 67 20 6c 69 74 65 72 61 6c 73 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ng.literals,.<code><span.class="
e53c0 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
e53e0 3c 2f 73 70 61 6e 3e 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 </span></span></code>.declaratio
e5400 6e 73 2c 20 77 68 65 6e 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 3c ns,.when.the.value.is.known.at.<
e5420 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 2c a.href="#comptime">comptime</a>,
e5440 0a 20 20 20 20 20 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 .......are.stored.in.the.global.
e5460 63 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 20 41 6c 73 6f 20 3c 61 20 68 constant.data.section..Also.<a.h
e5480 72 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 43 6f ref="#Compile-Time-Variables">Co
e54a0 6d 70 69 6c 65 20 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 61 72 65 20 73 74 6f mpile.Time.Variables</a>.are.sto
e54c0 72 65 64 0a 20 20 20 20 20 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 red.......in.the.global.constant
e54e0 20 64 61 74 61 20 73 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 .data.section........</p>.......
e5500 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 6c 69 6e <p>.......<code><span.class="lin
e5520 65 22 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 73 70 61 e"><span.class="tok-kw">var</spa
e5540 6e 3e 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 6e 73 20 69 6e n></span></code>.declarations.in
e5560 73 69 64 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 side.functions.are.stored.in.the
e5580 20 66 75 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 .function's.stack.frame..Once.a.
e55a0 66 75 6e 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 function.returns,.......any.<a.h
e55c0 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 20 74 6f 20 ref="#Pointers">Pointers</a>.to.
e55e0 76 61 72 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 variables.in.the.function's.stac
e5600 6b 20 66 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 k.frame.become.invalid.reference
e5620 73 2c 20 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 s,.and.......dereferencing.them.
e5640 62 65 63 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 becomes.unchecked.<a.href="#Unde
e5660 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
e5680 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 20 20 or</a>........</p>.......<p>....
e56a0 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ...<code><span.class="line"><spa
e56c0 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 3c 2f 73 70 61 n.class="tok-kw">var</span></spa
e56e0 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 20 74 6f n></code>.declarations.at.the.to
e5700 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 74 22 3e p.level.or.in.<a.href="#struct">
e5720 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 74 6f 72 struct</a>.declarations.are.stor
e5740 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 65 63 74 ed.in.the.global.......data.sect
e5760 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 20 ion........</p>.......<p>.......
e5780 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 74 65 64 The.location.of.memory.allocated
e57a0 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 6c 69 6e 65 22 3e 61 .with.<code><span.class="line">a
e57c0 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a llocator.alloc</span></code>.or.
e57e0 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 6c 69 6e 65 22 3e 61 ......<code><span.class="line">a
e5800 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 llocator.create</span></code>.is
e5820 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 61 6c 6c 6f 63 61 74 6f 72 27 73 20 69 .determined.by.the.allocator's.i
e5840 6d 70 6c 65 6d 65 6e 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 mplementation........</p>.......
e5860 3c 70 3e 54 4f 44 4f 3a 20 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3c <p>TODO:.thread.local.variables<
e5880 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 6d 70 6c 65 6d /p>...............<h3.id="Implem
e58a0 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 enting-an-Allocator"><a.href="#t
e58c0 6f 63 2d 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 49 6d oc-Implementing-an-Allocator">Im
e58e0 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 plementing.an.Allocator</a>.<a.c
e5900 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 69 6e 67 2d 61 lass="hdr".href="#Implementing-a
e5920 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 n-Allocator">..</a></h3>........
e5940 3c 70 3e 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 63 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 <p>Zig.programmers.can.implement
e5960 20 74 68 65 69 72 20 6f 77 6e 20 61 6c 6c 6f 63 61 74 6f 72 73 20 62 79 20 66 75 6c 66 69 6c 6c .their.own.allocators.by.fulfill
e5980 69 6e 67 20 74 68 65 20 41 6c 6c 6f 63 61 74 6f 72 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 ing.the.Allocator.interface.....
e59a0 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 64 6f 20 74 68 69 73 20 6f 6e 65 20 6d 75 73 74 20 ...In.order.to.do.this.one.must.
e59c0 72 65 61 64 20 63 61 72 65 66 75 6c 6c 79 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e read.carefully.the.documentation
e59e0 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 73 74 64 2f 6d 65 6d 2e 7a 69 67 20 61 6e 64 0a 20 20 20 .comments.in.std/mem.zig.and....
e5a00 20 20 20 74 68 65 6e 20 73 75 70 70 6c 79 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ...then.supply.a.<code><span.cla
e5a20 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 6c 6f 63 46 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ss="line">allocFn</span></code>.
e5a40 61 6e 64 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 and.a.<code><span.class="line">r
e5a60 65 73 69 7a 65 46 6e 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 esizeFn</span></code>........</p
e5a80 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 65 20 6d 61 6e 79 >.......<p>.......There.are.many
e5aa0 20 65 78 61 6d 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 .example.allocators.to.look.at.f
e5ac0 6f 72 20 69 6e 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 or.inspiration..Look.at.std/heap
e5ae0 2e 7a 69 67 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .zig.and.......<code><span.class
e5b00 3d 22 6c 69 6e 65 22 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 ="line">std.heap.GeneralPurposeA
e5b20 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f llocator</span></code>........</
e5b40 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 6c p>...............<h3.id="Heap-Al
e5b60 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 2d location-Failure"><a.href="#toc-
e5b80 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 6c Heap-Allocation-Failure">Heap.Al
e5ba0 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 68 location.Failure</a>.<a.class="h
e5bc0 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 75 dr".href="#Heap-Allocation-Failu
e5be0 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 20 re">..</a></h3>........<p>......
e5c00 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 6f .Many.programming.languages.choo
e5c20 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 20 se.to.handle.the.possibility.of.
e5c40 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 20 heap.allocation.failure.by......
e5c60 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 6f .unconditionally.crashing..By.co
e5c80 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 74 nvention,.Zig.programmers.do.not
e5ca0 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 74 .consider.this.to.be.a.......sat
e5cc0 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 6f isfactory.solution..Instead,.<co
e5ce0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
e5d00 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 65 6d s="tok-kw">error</span>.OutOfMem
e5d20 6f 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 70 72 65 73 65 6e 74 73 0a 20 20 20 ory</span></code>.represents....
e5d40 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 65 2c 20 61 6e 64 20 ...heap.allocation.failure,.and.
e5d60 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 20 65 72 72 6f 72 20 Zig.libraries.return.this.error.
e5d80 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 74 69 6f 6e 0a 20 20 code.whenever.heap.allocation...
e5da0 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 6f 70 65 72 61 74 69 ....failure.prevented.an.operati
e5dc0 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 73 66 75 6c 6c 79 2e on.from.completing.successfully.
e5de0 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 6f 6d 65 .......</p>.......<p>.......Some
e5e00 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 20 73 6f 6d 65 20 6f .have.argued.that.because.some.o
e5e20 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 4c 69 6e 75 78 20 68 perating.systems.such.as.Linux.h
e5e40 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 62 6c 65 64 20 62 79 ave.memory.overcommit.enabled.by
e5e60 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 6e 74 6c 65 73 73 20 .......default,.it.is.pointless.
e5e80 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 20 66 61 69 6c 75 72 to.handle.heap.allocation.failur
e5ea0 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 73 20 77 69 74 68 20 e..There.are.many.problems.with.
e5ec0 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 3e 0a 20 20 20 20 20 this.reasoning:.......</p>......
e5ee0 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 73 6f 6d 65 20 6f 70 .<ul>...........<li>Only.some.op
e5f00 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 76 65 72 63 6f 6d 6d erating.systems.have.an.overcomm
e5f20 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 20 3c 75 6c 3e 0a 20 it.feature................<ul>..
e5f40 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 78 20 68 61 73 20 69 .................<li>Linux.has.i
e5f60 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 20 69 74 20 69 73 20 t.enabled.by.default,.but.it.is.
e5f80 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 20 20 20 20 20 20 20 configurable.</li>..............
e5fa0 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 20 6f 76 65 72 63 6f .....<li>Windows.does.not.overco
e5fc0 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 20 20 20 20 3c 6c 69 mmit.</li>...................<li
e5fe0 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 68 61 76 65 20 6f 76 >Embedded.systems.do.not.have.ov
e6000 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 20 20 20 ercommit.</li>..................
e6020 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 65 6d 73 20 6d 61 79 .<li>Hobby.operating.systems.may
e6040 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 69 74 2e 3c 2f 6c 69 .or.may.not.have.overcommit.</li
e6060 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 20 20 20 20 20 20 20 >...............</ul>...........
e6080 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 20 20 20 20 20 20 </li>...........<li>............
e60a0 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 20 6e 6f 74 20 6f 6e ...For.real-time.systems,.not.on
e60c0 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 2c 20 62 75 74 20 74 ly.is.there.no.overcommit,.but.t
e60e0 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 6e 74 0a 20 20 20 20 ypically.the.maximum.amount.....
e6100 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 70 70 6c 69 63 61 74 ..........of.memory.per.applicat
e6120 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 66 20 74 69 6d 65 2e ion.is.determined.ahead.of.time.
e6140 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 6c 69 3e 0a ...........</li>...........<li>.
e6160 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 67 20 61 20 6c 69 62 ..............When.writing.a.lib
e6180 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 6c 73 20 69 73 20 63 rary,.one.of.the.main.goals.is.c
e61a0 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 20 68 61 6e 64 6c 65 ode.reuse..By.making.code.handle
e61c0 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 20 66 61 69 6c 75 72 ...............allocation.failur
e61e0 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 63 6f 6d 65 73 20 65 e.correctly,.a.library.becomes.e
e6200 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 20 20 20 20 20 20 20 ligible.to.be.reused.in.........
e6220 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 20 20 20 20 20 20 3c ......more.contexts............<
e6240 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 20 20 20 20 20 20 20 /li>...........<li>.............
e6260 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 68 61 73 20 67 72 6f ..Although.some.software.has.gro
e6280 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 74 20 62 65 69 6e 67 wn.to.depend.on.overcommit.being
e62a0 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 20 20 20 20 20 20 20 .enabled,.its.existence.........
e62c0 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 75 6e 74 6c 65 73 73 ......is.the.source.of.countless
e62e0 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 73 2e 20 57 68 65 6e .user.experience.disasters..When
e6300 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 20 65 6e 61 62 6c 65 .a.system.with.overcommit.enable
e6320 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 4c 69 6e 75 78 20 6f d,...............such.as.Linux.o
e6340 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 20 63 6c 6f 73 65 20 n.default.settings,.comes.close.
e6360 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 20 73 79 73 74 65 6d to.memory.exhaustion,.the.system
e6380 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 6e 64 20 62 65 63 6f .locks.up...............and.beco
e63a0 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 6e 74 2c 20 74 68 65 mes.unusable..At.this.point,.the
e63c0 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 70 6c 69 63 61 74 69 .OOM.Killer.selects.an.applicati
e63e0 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 62 61 73 65 64 20 6f on.to.kill...............based.o
e6400 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 74 65 72 6d 69 6e 69 n.heuristics..This.non-determini
e6420 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 74 73 20 69 6e 20 61 stic.decision.often.results.in.a
e6440 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 20 20 20 20 20 20 20 n.important.process.............
e6460 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 20 66 61 69 6c 73 20 ..being.killed,.and.often.fails.
e6480 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 20 74 6f 20 77 6f 72 to.return.the.system.back.to.wor
e64a0 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 69 3e 0a 20 20 20 20 king.order............</li>.....
e64c0 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 69 64 3d 22 52 65 ..</ul>...............<h3.id="Re
e64e0 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 63 75 72 73 69 6f 6e cursion"><a.href="#toc-Recursion
e6500 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 22 68 64 72 22 20 68 ">Recursion</a>.<a.class="hdr".h
e6520 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 68 33 3e 0a 0a 20 20 ref="#Recursion">..</a></h3>....
e6540 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 73 20 61 20 66 75 6e ....<p>.......Recursion.is.a.fun
e6560 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 20 73 6f 66 74 77 61 damental.tool.in.modeling.softwa
e6580 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 65 6e 2d 6f 76 65 72 re..However.it.has.an.often-over
e65a0 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 6f 75 6e 64 65 64 20 looked.problem:.......unbounded.
e65c0 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 3c 2f 70 3e 0a 20 20 memory.allocation........</p>...
e65e0 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 73 20 61 6e 20 61 72 ....<p>.......Recursion.is.an.ar
e6600 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 69 6f 6e 20 69 6e 20 ea.of.active.experimentation.in.
e6620 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 69 6f 6e 20 68 65 72 Zig.and.so.the.documentation.her
e6640 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 20 63 61 6e 20 72 65 e.is.not.final........You.can.re
e6660 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 3a 2f 2f 7a 69 67 6c ad.a.......<a.href="https://zigl
e6680 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 6c 65 61 73 65 2d 6e ang.org/download/0.3.0/release-n
e66a0 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 61 72 79 20 6f 66 20 otes.html#recursion">summary.of.
e66c0 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 2e 33 2e 30 20 72 65 recursion.status.in.the.0.3.0.re
e66e0 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 70 3e 0a 20 20 20 20 lease.notes</a>........</p>.....
e6700 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 6d 61 72 79 20 69 73 ..<p>.......The.short.summary.is
e6720 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 20 77 6f 72 6b 73 20 .that.currently.recursion.works.
e6740 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 65 63 74 2e 20 41 6c normally.as.you.would.expect..Al
e6760 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 6e 6f 74 20 79 65 74 though.Zig.code.......is.not.yet
e6780 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 72 66 6c 6f 77 2c 20 .protected.from.stack.overflow,.
e67a0 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 72 65 20 76 65 72 73 it.is.planned.that.a.future.vers
e67c0 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 20 20 20 20 20 73 75 ion.of.Zig.will.provide.......su
e67e0 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 64 65 67 72 65 65 20 ch.protection,.with.some.degree.
e6800 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 6f 64 65 20 72 65 71 of.cooperation.from.Zig.code.req
e6820 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 0a 20 20 20 20 20 20 uired........</p>...............
e6840 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 72 73 68 69 70 22 3e <h3.id="Lifetime-and-Ownership">
e6860 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 64 2d 4f 77 6e 65 72 <a.href="#toc-Lifetime-and-Owner
e6880 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 68 69 70 3c 2f 61 3e ship">Lifetime.and.Ownership</a>
e68a0 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 66 65 74 69 6d 65 2d .<a.class="hdr".href="#Lifetime-
e68c0 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 3e 0a 0a 20 20 20 20 and-Ownership">..</a></h3>......
e68e0 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 20 70 72 6f 67 72 61 ..<p>.......It.is.the.Zig.progra
e6900 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 65 6e 73 75 72 65 20 mmer's.responsibility.to.ensure.
e6920 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 22 3e 70 6f 69 6e 74 that.a.<a.href="#Pointers">point
e6940 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 73 65 64 20 77 68 65 er</a>.is.not.......accessed.whe
e6960 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 73 20 6e 6f 20 6c 6f n.the.memory.pointed.to.is.no.lo
e6980 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 20 61 20 3c 61 20 68 nger.available..Note.that.a.<a.h
e69a0 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 20 20 20 20 20 69 73 ref="#Slices">slice</a>.......is
e69c0 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 61 74 20 69 74 20 72 .a.form.of.pointer,.in.that.it.r
e69e0 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 20 20 20 20 20 3c 2f eferences.other.memory........</
e6a00 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 65 72 20 74 6f 20 70 p>.......<p>.......In.order.to.p
e6a20 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 6d 65 20 68 65 6c 70 revent.bugs,.there.are.some.help
e6a40 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 20 77 68 65 6e 20 64 ful.conventions.to.follow.when.d
e6a60 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 20 20 20 49 6e 20 67 ealing.with.pointers........In.g
e6a80 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 65 74 75 72 6e 73 20 eneral,.when.a.function.returns.
e6aa0 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 69 6f 6e 20 66 6f 72 a.pointer,.the.documentation.for
e6ac0 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 61 69 6e 0a 20 20 20 .the.function.should.explain....
e6ae0 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 2e 20 54 68 69 73 20 ...who."owns".the.pointer..This.
e6b00 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 6d 65 72 20 64 65 63 concept.helps.the.programmer.dec
e6b20 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 65 2c 20 69 66 20 65 ide.when.it.is.appropriate,.if.e
e6b40 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 69 6e 74 65 72 2e 0a ver,.......to.free.the.pointer..
e6b60 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
e6b80 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 63 75 6d 65 6e 74 61 xample,.the.function's.documenta
e6ba0 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 20 74 68 65 20 72 65 tion.may.say."caller.owns.the.re
e6bc0 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 63 61 73 65 0a 20 20 turned.memory",.in.which.case...
e6be0 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 68 65 20 66 75 6e 63 ....the.code.that.calls.the.func
e6c00 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 20 77 68 65 6e 20 74 tion.must.have.a.plan.for.when.t
e6c20 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 62 6c 79 20 69 6e 20 o.free.that.memory..Probably.in.
e6c40 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 20 66 75 6e 63 74 69 this.situation,.......the.functi
e6c60 6f 6e 20 77 69 6c 6c 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c on.will.accept.an.<code><span.cl
e6c80 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ass="line">Allocator</span></cod
e6ca0 65 3e 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 e>.parameter........</p>.......<
e6cc0 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 74 69 6d 65 73 20 74 68 65 20 6c 69 66 65 74 69 6d 65 20 p>.......Sometimes.the.lifetime.
e6ce0 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 6d 61 79 20 62 65 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 of.a.pointer.may.be.more.complic
e6d00 61 74 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f ated..For.example,.the.......<co
e6d20 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 41 72 72 61 79 4c de><span.class="line">std.ArrayL
e6d40 69 73 74 28 54 29 2e 69 74 65 6d 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 6c 69 63 65 ist(T).items</span></code>.slice
e6d60 20 68 61 73 20 61 20 6c 69 66 65 74 69 6d 65 20 74 68 61 74 20 72 65 6d 61 69 6e 73 0a 20 20 20 .has.a.lifetime.that.remains....
e6d80 20 20 20 76 61 6c 69 64 20 75 6e 74 69 6c 20 74 68 65 20 6e 65 78 74 20 74 69 6d 65 20 74 68 65 ...valid.until.the.next.time.the
e6da0 20 6c 69 73 74 20 69 73 20 72 65 73 69 7a 65 64 2c 20 73 75 63 68 20 61 73 20 62 79 20 61 70 70 .list.is.resized,.such.as.by.app
e6dc0 65 6e 64 69 6e 67 20 6e 65 77 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ending.new.elements........</p>.
e6de0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 41 50 49 20 64 6f 63 75 6d 65 6e 74 ......<p>.......The.API.document
e6e00 61 74 69 6f 6e 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 64 61 74 61 20 73 74 72 ation.for.functions.and.data.str
e6e20 75 63 74 75 72 65 73 20 73 68 6f 75 6c 64 20 74 61 6b 65 20 67 72 65 61 74 20 63 61 72 65 20 74 uctures.should.take.great.care.t
e6e40 6f 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 74 68 65 20 6f 77 6e 65 72 73 68 69 70 20 61 6e o.explain.......the.ownership.an
e6e60 64 20 6c 69 66 65 74 69 6d 65 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 70 6f 69 6e 74 65 72 73 d.lifetime.semantics.of.pointers
e6e80 2e 20 4f 77 6e 65 72 73 68 69 70 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 6f 73 65 20 72 65 73 ..Ownership.determines.whose.res
e6ea0 70 6f 6e 73 69 62 69 6c 69 74 79 20 69 74 0a 20 20 20 20 20 20 69 73 20 74 6f 20 66 72 65 65 20 ponsibility.it.......is.to.free.
e6ec0 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 70 6f 69 the.memory.referenced.by.the.poi
e6ee0 6e 74 65 72 2c 20 61 6e 64 20 6c 69 66 65 74 69 6d 65 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 nter,.and.lifetime.determines.th
e6f00 65 20 70 6f 69 6e 74 20 61 74 20 77 68 69 63 68 0a 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f 72 e.point.at.which.......the.memor
e6f20 79 20 62 65 63 6f 6d 65 73 20 69 6e 61 63 63 65 73 73 69 62 6c 65 20 28 6c 65 73 74 20 3c 61 20 y.becomes.inaccessible.(lest.<a.
e6f40 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 65 66 href="#Undefined-Behavior">Undef
e6f60 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 6f 63 63 75 72 29 2e 0a 20 20 20 20 20 20 ined.Behavior</a>.occur)........
e6f80 3c 2f 70 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 </p>......................<h2.id
e6fa0 3d 22 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ="Compile-Variables"><a.href="#t
e6fc0 6f 63 2d 43 6f 6d 70 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 oc-Compile-Variables">Compile.Va
e6fe0 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=
e7000 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e "#Compile-Variables">..</a></h2>
e7020 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 ........<p>.......Compile.variab
e7040 6c 65 73 20 61 72 65 20 61 63 63 65 73 73 69 62 6c 65 20 62 79 20 69 6d 70 6f 72 74 69 6e 67 20 les.are.accessible.by.importing.
e7060 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 the.<code><span.class="line"><sp
e7080 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
e70a0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 63 6b &quot;</span></span></code>.pack
e70c0 61 67 65 2c 0a 20 20 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 age,.......which.the.compiler.ma
e70e0 6b 65 73 20 61 76 61 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 kes.available.to.every.Zig.sourc
e7100 65 20 66 69 6c 65 2e 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 e.file..It.contains.......compil
e7120 65 2d 74 69 6d 65 20 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 e-time.constants.such.as.the.cur
e7140 72 65 6e 74 20 74 61 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 rent.target,.endianness,.and.rel
e7160 65 61 73 65 20 6d 6f 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 ease.mode........</p>.......<fig
e7180 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">
e71a0 3c 63 69 74 65 20 63 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 <cite.class="file">compile_varia
e71c0 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 3c 70 72 65 bles.zig</cite></figcaption><pre
e71e0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
e7200 63 6c 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 75 69 6c class="tok-kw">const</span>.buil
e7220 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 6c 74 69 6e 22 3e tin.=.<span.class="tok-builtin">
e7240 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-
e7260 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 70 61 6e 3e 29 str">&quot;builtin&quot;</span>)
e7280 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
e72a0 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 65 n.class="tok-kw">const</span>.se
e72c0 70 61 72 61 74 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 69 parator.=.<span.class="tok-kw">i
e72e0 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 20 3d 3d 20 2e 77 69 6e f</span>.(builtin.os.tag.==..win
e7300 64 6f 77 73 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 5c 27 dows).<span.class="tok-str">'\\'
e7320 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 6c 73 </span>.<span.class="tok-kw">els
e7340 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 22 3e 27 e</span>.<span.class="tok-str">'
e7360 2f 27 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f /'</span>;</span></code></pre></
e7380 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 6d 70 6c 65 20 figure>.......<p>.......Example.
e73a0 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 6f 64 65 3e 3c of.what.is.imported.with.<code><
e73c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
e73e0 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
e7400 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 26 71 .class="tok-str">&quot;builtin&q
e7420 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 uot;</span>)</span></code>:.....
e7440 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
e7460 20 63 6c 61 73 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 3e 40 69 6d 70 6f 72 74 28 22 .class="zig-cap"><cite>@import("
e7480 62 75 69 6c 74 69 6e 22 29 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 builtin")</cite></figcaption><pr
e74a0 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
e74c0 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
e74e0 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
e7500 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
e7520 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 3c 2f 73 70 61 6e ">&quot;std&quot;</span>);</span
e7540 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 >.<span.class="line"><span.class
e7560 3d 22 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 ="tok-comment">///.Zig.version..
e7580 57 68 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 When.writing.code.that.supports.
e75a0 6d 75 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 multiple.versions.of.Zig,.prefer
e75c0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
e75e0 22 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 20 "><span.class="tok-comment">///.
e7600 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 20 60 40 68 feature.detection.(i.e..with.`@h
e7620 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 20 76 65 72 asDecl`.or.`@hasField`).over.ver
e7640 73 69 6f 6e 20 63 68 65 63 6b 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e sion.checks.</span></span>.<span
e7660 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
e7680 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
e76a0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f 76 65 72 73 69 6f 6e 20 3d 20 73 74 w">const</span>.zig_version.=.st
e76c0 64 2e 53 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 2e 70 61 72 73 65 28 7a 69 67 5f 76 65 72 73 d.SemanticVersion.parse(zig_vers
e76e0 69 6f 6e 5f 73 74 72 69 6e 67 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ion_string).<span.class="tok-kw"
e7700 3e 63 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 6b >catch</span>.<span.class="tok-k
e7720 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 w">unreachable</span>;</span>.<s
e7740 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
e7760 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
e7780 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 72 73 69 6f 6e 5f 73 k-kw">const</span>.zig_version_s
e77a0 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 72 22 3e 26 71 tring.=.<span.class="tok-str">&q
e77c0 75 6f 74 3b 30 2e 31 31 2e 30 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a uot;0.11.0&quot;</span>;</span>.
e77e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
e7800 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="
e7820 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 62 61 63 6b 65 6e 64 tok-kw">const</span>.zig_backend
e7840 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 6f 6d 70 69 6c 65 72 42 61 63 6b 65 6e 64 2e 73 .=.std.builtin.CompilerBackend.s
e7860 74 61 67 65 32 5f 78 38 36 5f 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 tage2_x86_64;</span>.<span.class
e7880 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
e78a0 65 22 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 e"><span.class="tok-kw">pub</spa
e78c0 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
e78e0 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
e7900 75 74 70 75 74 4d 6f 64 65 2e 4f 62 6a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 utputMode.Obj;</span>.<span.clas
e7920 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 s="line"><span.class="tok-kw">pu
e7940 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
e7960 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 2e 62 75 69 6c 74 nst</span>.link_mode.=.std.built
e7980 69 6e 2e 4c 69 6e 6b 4d 6f 64 65 2e 53 74 61 74 69 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e in.LinkMode.Static;</span>.<span
e79a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
e79c0 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
e79e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 74 65 73 74 20 3d 20 3c 73 70 61 6e 20 w">const</span>.is_test.=.<span.
e7a00 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 3c 2f class="tok-null">false</span>;</
e7a20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
e7a40 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
e7a60 6c 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 69 6e 67 6c lass="tok-kw">const</span>.singl
e7a80 65 5f 74 68 72 65 61 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 e_threaded.=.<span.class="tok-nu
e7aa0 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ll">false</span>;</span>.<span.c
e7ac0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
e7ae0 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"
e7b00 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 62 69 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 41 >const</span>.abi.=.std.Target.A
e7b20 62 69 2e 67 6e 75 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 bi.gnu;</span>.<span.class="line
e7b40 22 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 "><span.class="tok-kw">pub</span
e7b60 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
e7b80 61 6e 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 3c 2f 73 70 an>.cpu:.std.Target.Cpu.=..{</sp
e7ba0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 72 63 68 an>.<span.class="line">.....arch
e7bc0 20 3d 20 2e 78 38 36 5f 36 34 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .=..x86_64,</span>.<span.class="
e7be0 6c 69 6e 65 22 3e 20 20 20 20 2e 6d 6f 64 65 6c 20 3d 20 26 61 6d 70 3b 73 74 64 2e 54 61 72 67 line">.....model.=.&amp;std.Targ
e7c00 65 74 2e 78 38 36 2e 63 70 75 2e 7a 6e 76 65 72 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 et.x86.cpu.znver2,</span>.<span.
e7c20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 66 65 61 74 75 72 65 73 20 3d 20 73 74 64 class="line">.....features.=.std
e7c40 2e 54 61 72 67 65 74 2e 78 38 36 2e 66 65 61 74 75 72 65 53 65 74 28 26 61 6d 70 3b 5b 5f 5d 73 .Target.x86.featureSet(&amp;[_]s
e7c60 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 46 65 61 74 75 72 65 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 td.Target.x86.Feature{</span>.<s
e7c80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 pan.class="line">.........@&quot
e7ca0 3b 36 34 62 69 74 26 71 75 6f 74 3b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ;64bit&quot;,</span>.<span.class
e7cc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 64 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ="line">.........adx,</span>.<sp
e7ce0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 65 73 2c 3c 2f 73 an.class="line">.........aes,</s
e7d00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
e7d20 2e 61 6c 6c 6f 77 5f 6c 69 67 68 74 5f 32 35 36 5f 62 69 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .allow_light_256_bit,</span>.<sp
e7d40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 76 78 2c 3c 2f 73 an.class="line">.........avx,</s
e7d60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
e7d80 2e 61 76 78 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .avx2,</span>.<span.class="line"
e7da0 3e 20 20 20 20 20 20 20 20 2e 62 6d 69 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >.........bmi,</span>.<span.clas
e7dc0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 62 6d 69 32 2c 3c 2f 73 70 61 6e 3e 0a 3c s="line">.........bmi2,</span>.<
e7de0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 62 72 61 6e 63 span.class="line">.........branc
e7e00 68 66 75 73 69 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e hfusion,</span>.<span.class="lin
e7e20 65 22 3e 20 20 20 20 20 20 20 20 2e 63 6c 66 6c 75 73 68 6f 70 74 2c 3c 2f 73 70 61 6e 3e 0a 3c e">.........clflushopt,</span>.<
e7e40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 6c 77 62 2c span.class="line">.........clwb,
e7e60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
e7e80 20 20 20 2e 63 6c 7a 65 72 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ....clzero,</span>.<span.class="
e7ea0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 6d 6f 76 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 line">.........cmov,</span>.<spa
e7ec0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 72 63 33 32 2c 3c 2f n.class="line">.........crc32,</
e7ee0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
e7f00 20 2e 63 78 31 36 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ..cx16,</span>.<span.class="line
e7f20 22 3e 20 20 20 20 20 20 20 20 2e 63 78 38 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">.........cx8,</span>.<span.cla
e7f40 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 31 36 63 2c 3c 2f 73 70 61 6e 3e 0a ss="line">.........f16c,</span>.
e7f60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 <span.class="line">.........fast
e7f80 5f 31 35 62 79 74 65 6e 6f 70 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 _15bytenop,</span>.<span.class="
e7fa0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 62 65 78 74 72 2c 3c 2f 73 70 61 6e line">.........fast_bextr,</span
e7fc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 >.<span.class="line">.........fa
e7fe0 73 74 5f 6c 7a 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 st_lzcnt,</span>.<span.class="li
e8000 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 6d 6f 76 62 65 2c 3c 2f 73 70 61 6e 3e 0a ne">.........fast_movbe,</span>.
e8020 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 <span.class="line">.........fast
e8040 5f 73 63 61 6c 61 72 5f 66 73 71 72 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 _scalar_fsqrt,</span>.<span.clas
e8060 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 73 63 61 6c 61 72 5f 73 68 s="line">.........fast_scalar_sh
e8080 69 66 74 5f 6d 61 73 6b 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ift_masks,</span>.<span.class="l
e80a0 69 6e 65 22 3e 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 ine">.........fast_variable_perl
e80c0 61 6e 65 5f 73 68 75 66 66 6c 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ane_shuffle,</span>.<span.class=
e80e0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 76 65 63 74 6f 72 5f 66 73 71 72 "line">.........fast_vector_fsqr
e8100 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 t,</span>.<span.class="line">...
e8120 20 20 20 20 20 2e 66 6d 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ......fma,</span>.<span.class="l
e8140 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 73 67 73 62 61 73 65 2c 3c 2f 73 70 61 6e 3e 0a 3c ine">.........fsgsbase,</span>.<
e8160 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 78 73 72 2c span.class="line">.........fxsr,
e8180 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
e81a0 20 20 20 2e 6c 7a 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ....lzcnt,</span>.<span.class="l
e81c0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6d 6d 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ine">.........mmx,</span>.<span.
e81e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6d 6f 76 62 65 2c 3c 2f 73 70 class="line">.........movbe,</sp
e8200 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e an>.<span.class="line">.........
e8220 6d 77 61 69 74 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 mwaitx,</span>.<span.class="line
e8240 22 3e 20 20 20 20 20 20 20 20 2e 6e 6f 70 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">.........nopl,</span>.<span.cl
e8260 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 63 6c 6d 75 6c 2c 3c 2f 73 70 61 ass="line">.........pclmul,</spa
e8280 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 n>.<span.class="line">.........p
e82a0 6f 70 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 opcnt,</span>.<span.class="line"
e82c0 3e 20 20 20 20 20 20 20 20 2e 70 72 66 63 68 77 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >.........prfchw,</span>.<span.c
e82e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 64 70 69 64 2c 3c 2f 73 70 61 lass="line">.........rdpid,</spa
e8300 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 n>.<span.class="line">.........r
e8320 64 70 72 75 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e dpru,</span>.<span.class="line">
e8340 20 20 20 20 20 20 20 20 2e 72 64 72 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .........rdrnd,</span>.<span.cla
e8360 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 64 73 65 65 64 2c 3c 2f 73 70 61 6e ss="line">.........rdseed,</span
e8380 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 61 >.<span.class="line">.........sa
e83a0 68 66 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 hf,</span>.<span.class="line">..
e83c0 20 20 20 20 20 20 2e 73 62 62 5f 64 65 70 5f 62 72 65 61 6b 69 6e 67 2c 3c 2f 73 70 61 6e 3e 0a .......sbb_dep_breaking,</span>.
e83e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 68 61 2c <span.class="line">.........sha,
e8400 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
e8420 20 20 20 2e 73 6c 6f 77 5f 73 68 6c 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ....slow_shld,</span>.<span.clas
e8440 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 s="line">.........sse,</span>.<s
e8460 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 32 2c 3c pan.class="line">.........sse2,<
e8480 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
e84a0 20 20 2e 73 73 65 33 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ...sse3,</span>.<span.class="lin
e84c0 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 34 5f 31 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e">.........sse4_1,</span>.<span
e84e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 34 5f 32 2c 3c 2f .class="line">.........sse4_2,</
e8500 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
e8520 20 2e 73 73 65 34 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ..sse4a,</span>.<span.class="lin
e8540 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 73 65 33 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e">.........ssse3,</span>.<span.
e8560 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 76 7a 65 72 6f 75 70 70 65 72 class="line">.........vzeroupper
e8580 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
e85a0 20 20 20 20 2e 77 62 6e 6f 69 6e 76 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .....wbnoinvd,</span>.<span.clas
e85c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 38 37 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 s="line">.........x87,</span>.<s
e85e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 2c pan.class="line">.........xsave,
e8600 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
e8620 20 20 20 2e 78 73 61 76 65 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ....xsavec,</span>.<span.class="
e8640 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 6f 70 74 2c 3c 2f 73 70 61 6e 3e 0a line">.........xsaveopt,</span>.
e8660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 <span.class="line">.........xsav
e8680 65 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 es,</span>.<span.class="line">..
e86a0 20 20 7d 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..}),</span>.<span.class="line">
e86c0 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 };</span>.<span.class="line"><sp
e86e0 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
e8700 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
e8720 73 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 4f 73 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s.=.std.Target.Os{</span>.<span.
e8740 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 74 61 67 20 3d 20 2e 6c 69 6e 75 78 2c 3c class="line">.....tag.=..linux,<
e8760 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 76 /span>.<span.class="line">.....v
e8780 65 72 73 69 6f 6e 5f 72 61 6e 67 65 20 3d 20 2e 7b 20 2e 6c 69 6e 75 78 20 3d 20 2e 7b 3c 2f 73 ersion_range.=..{..linux.=..{</s
e87a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
e87c0 2e 72 61 6e 67 65 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .range.=..{</span>.<span.class="
e87e0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 20 3d 20 2e 7b 3c 2f 73 70 61 line">.............min.=..{</spa
e8800 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
e8820 20 20 20 20 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 .......major.=.<span.class="tok-
e8840 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">5</span>,</span>.<span.c
e8860 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e lass="line">.................min
e8880 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 31 30 or.=.<span.class="tok-number">10
e88a0 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
e88c0 65 22 3e 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 70 61 e">.................patch.=.<spa
e88e0 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 3c 2f n.class="tok-number">0</span>,</
e8900 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
e8920 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .....},</span>.<span.class="line
e8940 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 78 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c ">.............max.=..{</span>.<
e8960 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span.class="line">..............
e8980 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
e89a0 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">5</span>,</span>.<span.class
e89c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 6f 72 20 3d ="line">.................minor.=
e89e0 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
e8a00 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>,</span>.<span.class="line">.
e8a20 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 70 61 6e 20 63 6c ................patch.=.<span.cl
e8a40 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 3c 2f 73 70 61 6e ass="tok-number">0</span>,</span
e8a60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 >.<span.class="line">...........
e8a80 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .},</span>.<span.class="line">..
e8aa0 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......},</span>.<span.class="lin
e8ac0 65 22 3e 20 20 20 20 20 20 20 20 2e 67 6c 69 62 63 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 e">.........glibc.=..{</span>.<s
e8ae0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 pan.class="line">.............ma
e8b00 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 65 72 22 3e 32 jor.=.<span.class="tok-number">2
e8b20 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>,</span>.<span.class="lin
e8b40 65 22 3e 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 6e 20 63 6c e">.............minor.=.<span.cl
e8b60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 39 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 ass="tok-number">19</span>,</spa
e8b80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 n>.<span.class="line">..........
e8ba0 20 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 2d 6e 75 6d 62 ...patch.=.<span.class="tok-numb
e8bc0 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">0</span>,</span>.<span.class
e8be0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ="line">........},</span>.<span.
e8c00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 class="line">....}},</span>.<spa
e8c20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n.class="line">};</span>.<span.c
e8c40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
e8c60 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"
e8c80 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 61 72 67 65 74 20 3d 20 73 74 64 2e 54 61 72 67 65 >const</span>.target.=.std.Targe
e8ca0 74 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 t{</span>.<span.class="line">...
e8cc0 20 2e 63 70 75 20 3d 20 63 70 75 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..cpu.=.cpu,</span>.<span.class=
e8ce0 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6f 73 20 3d 20 6f 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 "line">.....os.=.os,</span>.<spa
e8d00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 62 69 20 3d 20 61 62 69 2c 3c 2f n.class="line">.....abi.=.abi,</
e8d20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6f 66 span>.<span.class="line">.....of
e8d40 6d 74 20 3d 20 6f 62 6a 65 63 74 5f 66 6f 72 6d 61 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e mt.=.object_format,</span>.<span
e8d60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .class="line">};</span>.<span.cl
e8d80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
e8da0 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">
e8dc0 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 20 73 74 64 const</span>.object_format.=.std
e8de0 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 3c 2f 73 70 61 6e 3e .Target.ObjectFormat.elf;</span>
e8e00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
e8e20 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=
e8e40 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 20 3d 20 73 74 64 "tok-kw">const</span>.mode.=.std
e8e60 2e 62 75 69 6c 74 69 6e 2e 4d 6f 64 65 2e 44 65 62 75 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .builtin.Mode.Debug;</span>.<spa
e8e80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
e8ea0 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-
e8ec0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6c 69 62 63 20 3d 20 3c 73 70 kw">const</span>.link_libc.=.<sp
e8ee0 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>
e8f00 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
e8f20 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
e8f40 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 6c 69 n.class="tok-kw">const</span>.li
e8f60 6e 6b 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 nk_libcpp.=.<span.class="tok-nul
e8f80 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c l">false</span>;</span>.<span.cl
e8fa0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
e8fc0 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">
e8fe0 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 72 6e 5f 74 const</span>.have_error_return_t
e9000 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 6c 6c 22 3e racing.=.<span.class="tok-null">
e9020 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d true</span>;</span>.<span.class=
e9040 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">pub<
e9060 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
e9080 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 67 72 69 6e 64 5f 73 75 70 70 6f 72 74 20 3d 20 3c 73 70 61 t</span>.valgrind_support.=.<spa
e90a0 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 3b 3c n.class="tok-null">true</span>;<
e90c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
e90e0 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.
e9100 63 6c 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 61 6e 69 class="tok-kw">const</span>.sani
e9120 74 69 7a 65 5f 74 68 72 65 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e tize_thread.=.<span.class="tok-n
e9140 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ull">false</span>;</span>.<span.
e9160 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
e9180 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
e91a0 22 3e 63 6f 6e 73 74 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 ">const</span>.position_independ
e91c0 65 6e 74 5f 63 6f 64 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 ent_code.=.<span.class="tok-null
e91e0 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">false</span>;</span>.<span.cla
e9200 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 ss="line"><span.class="tok-kw">p
e9220 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
e9240 6f 6e 73 74 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 onst</span>.position_independent
e9260 5f 65 78 65 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 _executable.=.<span.class="tok-n
e9280 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ull">false</span>;</span>.<span.
e92a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
e92c0 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
e92e0 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 6f 20 ">const</span>.strip_debug_info.
e9300 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 3c 2f =.<span.class="tok-null">false</
e9320 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
e9340 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 3e ><span.class="tok-kw">pub</span>
e9360 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
e9380 6e 3e 20 63 6f 64 65 5f 6d 6f 64 65 6c 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 6f 64 65 n>.code_model.=.std.builtin.Code
e93a0 4d 6f 64 65 6c 2e 64 65 66 61 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 Model.default;</span>.<span.clas
e93c0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 s="line"><span.class="tok-kw">pu
e93e0 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
e9400 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6d 69 74 5f 66 72 61 6d 65 5f 70 6f 69 6e 74 65 72 20 3d 20 nst</span>.omit_frame_pointer.=.
e9420 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
e9440 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 an>;</span></code></pre></figure
e9460 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
e9480 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 20 4d 6f 64 ><a.href="#Build-Mode">Build.Mod
e94a0 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 20 20 20 20 20 20 3c e</a></li>.</ul>...............<
e94c0 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 3c 61 20 68 72 65 66 h2.id="Root-Source-File"><a.href
e94e0 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 52 6f 6f 74 20 53 6f ="#toc-Root-Source-File">Root.So
e9500 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 64 72 22 20 68 72 65 urce.File</a>.<a.class="hdr".hre
e9520 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 2f 61 3e 3c 2f 68 32 f="#Root-Source-File">..</a></h2
e9540 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 20 68 6f 77 20 72 6f >........<p>TODO:.explain.how.ro
e9560 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 72 20 66 69 6c 65 73 ot.source.file.finds.other.files
e9580 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 20 6d 61 69 6e 3c </p>.......<p>TODO:.pub.fn.main<
e95a0 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 20 70 61 6e 69 63 3c /p>.......<p>TODO:.pub.fn.panic<
e95c0 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 6b 69 6e 67 20 77 69 /p>.......<p>TODO:.if.linking.wi
e95e0 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 74 20 66 6e 20 6d 61 th.libc.you.can.use.export.fn.ma
e9600 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 65 72 20 69 6e 64 65 in</p>.......<p>TODO:.order.inde
e9620 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 74 69 6f 6e 73 3c 2f pendent.top.level.declarations</
e9640 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 61 6c 79 73 69 73 3c p>.......<p>TODO:.lazy.analysis<
e9660 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 63 6f 6d 70 74 69 6d /p>.......<p>TODO:.using.comptim
e9680 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 20 20 20 20 20 0a 20 e.{._.=.@import().}</p>.........
e96a0 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 73 74 65 6d 22 3e 3c .....<h2.id="Zig-Build-System"><
e96c0 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 73 74 65 6d 22 3e 5a a.href="#toc-Zig-Build-System">Z
e96e0 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 61 73 73 3d 22 68 64 ig.Build.System</a>.<a.class="hd
e9700 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 6d 22 3e c2 a7 3c 2f r".href="#Zig-Build-System">..</
e9720 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 54 68 65 20 5a 69 67 a></h2>........<p>.......The.Zig
e9740 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 63 72 6f 73 73 2d 70 .Build.System.provides.a.cross-p
e9760 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 77 61 79 20 74 6f 20 latform,.dependency-free.way.to.
e9780 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 65 71 75 69 72 65 64 declare.......the.logic.required
e97a0 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 20 74 68 69 73 20 73 .to.build.a.project..With.this.s
e97c0 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 0a 20 20 20 20 20 20 ystem,.the.logic.to.build.......
e97e0 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 20 62 75 69 6c 64 2e a.project.is.written.in.a.build.
e9800 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 75 69 6c 64 20 53 79 zig.file,.using.the.Zig.Build.Sy
e9820 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 20 61 6e 64 20 63 6f stem.API.to.......declare.and.co
e9840 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 6e 64 20 6f 74 68 65 nfigure.build.artifacts.and.othe
e9860 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 20 3c 70 3e 0a 20 20 r.tasks........</p>.......<p>...
e9880 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 73 20 74 68 65 20 62 ....Some.examples.of.tasks.the.b
e98a0 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 3a 0a 20 20 20 20 20 uild.system.can.help.with:......
e98c0 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 72 65 .</p>.......<ul>.........<li>Cre
e98e0 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 74 69 ating.build.artifacts.by.executi
e9900 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 75 64 ng.the.Zig.compiler..This.includ
e9920 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 63 65 es...........building.Zig.source
e9940 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 72 63 .code.as.well.as.C.and.C++.sourc
e9960 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 72 69 e.code.</li>.........<li>Capturi
e9980 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 20 75 ng.user-configured.options.and.u
e99a0 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 65 0a sing.those.options.to.configure.
e99c0 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 20 20 ..........the.build.</li>.......
e99e0 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 61 74 ..<li>Surfacing.build.configurat
e9a00 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 70 74 ion.as.<a.href="#comptime">compt
e9a20 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 20 20 ime</a>.values.by.providing.a...
e9a40 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 65 66 ........file.that.can.be.<a.href
e9a60 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 20 63 ="#import">imported</a>.by.Zig.c
e9a80 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 62 75 ode.</li>.........<li>Caching.bu
e9aa0 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 73 61 ild.artifacts.to.avoid.unnecessa
e9ac0 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 20 20 rily.repeating.steps.</li>......
e9ae0 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 74 73 ...<li>Executing.build.artifacts
e9b00 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 69 3e .or.system-installed.tools.</li>
e9b20 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 20 76 .........<li>Running.tests.and.v
e9b40 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 6e 67 erifying.the.output.of.executing
e9b60 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 20 20 .a.build.artifact.matches.......
e9b80 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 20 20 ..the.expected.value.</li>......
e9ba0 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 63 6f ...<li>Running.<code>zig.fmt</co
e9bc0 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 6f 66 de>.on.a.codebase.or.a.subset.of
e9be0 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 61 73 .it.</li>.........<li>Custom.tas
e9c00 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 0a 20 ks.</li>.......</ul>.......<p>..
e9c20 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 72 75 .....To.use.the.build.system,.ru
e9c40 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 20 20 n.<kbd>zig.build.--help</kbd>...
e9c60 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 65 20 ....to.see.a.command-line.usage.
e9c80 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 72 6f help.menu..This.will.include.pro
e9ca0 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 61 74 ject-specific.......options.that
e9cc0 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 67 20 .were.declared.in.the.build.zig.
e9ce0 73 63 72 69 70 74 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 script........</p>........<h3.id
e9d00 3d 22 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 3e 3c 61 20 68 72 65 ="Building-an-Executable"><a.hre
e9d20 66 3d 22 23 74 6f 63 2d 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 3e f="#toc-Building-an-Executable">
e9d40 42 75 69 6c 64 69 6e 67 20 61 6e 20 45 78 65 63 75 74 61 62 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c Building.an.Executable</a>.<a.cl
e9d60 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 ass="hdr".href="#Building-an-Exe
e9d80 63 75 74 61 62 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 3e 54 cutable">..</a></h3>........<p>T
e9da0 68 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 his.<code.class="file">build.zig
e9dc0 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 </code>.file.is.automatically.ge
e9de0 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 20 20 62 79 20 3c 6b 62 64 3e 7a 69 67 20 69 6e 69 74 nerated.........by.<kbd>zig.init
e9e00 2d 65 78 65 3c 2f 6b 62 64 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 -exe</kbd>.</p>.......<figure><f
e9e20 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.
e9e40 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 5f 65 78 65 63 75 74 61 62 6c 65 2e 7a 69 class="file">build_executable.zi
e9e60 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>
e9e80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
e9ea0 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
e9ec0 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
e9ee0 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;
e9f00 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 std&quot;</span>);</span>.<span.
e9f20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
e9f40 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">pub
e9f60 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<
e9f80 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 75 69 6c /span>.<span.class="tok-fn">buil
e9fa0 64 3c 2f 73 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 d</span>(b:.*std.Build).<span.cl
e9fc0 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 3c 2f 73 70 ass="tok-type">void</span>.{</sp
e9fe0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
ea000 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 61 6e 64 61 72 64 .class="tok-comment">//.Standard
ea020 20 74 61 72 67 65 74 20 6f 70 74 69 6f 6e 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 70 65 72 73 6f .target.options.allows.the.perso
ea040 6e 20 72 75 6e 6e 69 6e 67 20 60 7a 69 67 20 62 75 69 6c 64 60 20 74 6f 20 63 68 6f 6f 73 65 3c n.running.`zig.build`.to.choose<
ea060 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
ea080 3e 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">/
ea0a0 2f 20 77 68 61 74 20 74 61 72 67 65 74 20 74 6f 20 62 75 69 6c 64 20 66 6f 72 2e 20 48 65 72 65 /.what.target.to.build.for..Here
ea0c0 20 77 65 20 64 6f 20 6e 6f 74 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 64 65 66 61 75 6c 74 73 .we.do.not.override.the.defaults
ea0e0 2c 20 77 68 69 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ,.which</span></span>.<span.clas
ea100 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
ea120 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 65 61 6e 73 20 61 6e 79 20 74 61 72 67 65 74 20 69 73 20 61 6c mment">//.means.any.target.is.al
ea140 6c 6f 77 65 64 2c 20 61 6e 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 6e 61 74 69 76 65 lowed,.and.the.default.is.native
ea160 2e 20 4f 74 68 65 72 20 6f 70 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ..Other.options</span></span>.<s
ea180 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
ea1a0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 6f 72 20 72 65 73 74 72 69 63 74 69 6e ="tok-comment">//.for.restrictin
ea1c0 67 20 73 75 70 70 6f 72 74 65 64 20 74 61 72 67 65 74 20 73 65 74 20 61 72 65 20 61 76 61 69 6c g.supported.target.set.are.avail
ea1e0 61 62 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d able.</span></span>.<span.class=
ea200 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
ea220 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 61 72 67 65 74 20 3d 20 62 2e 73 74 61 6e 64 61 72 64 const</span>.target.=.b.standard
ea240 54 61 72 67 65 74 4f 70 74 69 6f 6e 73 28 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e TargetOptions(.{});</span>.<span
ea260 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
ea280 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s="line">....<span.class="tok-co
ea2a0 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 61 6e 64 61 72 64 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 mment">//.Standard.optimization.
ea2c0 6f 70 74 69 6f 6e 73 20 61 6c 6c 6f 77 20 74 68 65 20 70 65 72 73 6f 6e 20 72 75 6e 6e 69 6e 67 options.allow.the.person.running
ea2e0 20 60 7a 69 67 20 62 75 69 6c 64 60 20 74 6f 20 73 65 6c 65 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 .`zig.build`.to.select</span></s
ea300 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
ea320 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 65 74 77 65 65 6e n.class="tok-comment">//.between
ea340 20 44 65 62 75 67 2c 20 52 65 6c 65 61 73 65 53 61 66 65 2c 20 52 65 6c 65 61 73 65 46 61 73 74 .Debug,.ReleaseSafe,.ReleaseFast
ea360 2c 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 2e 20 48 65 72 65 20 77 65 20 64 6f 20 6e ,.and.ReleaseSmall..Here.we.do.n
ea380 6f 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ot</span></span>.<span.class="li
ea3a0 6e 65 22 3e 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 ne">....<span.class="tok-comment
ea3c0 22 3e 2f 2f 20 73 65 74 20 61 20 70 72 65 66 65 72 72 65 64 20 72 65 6c 65 61 73 65 20 6d 6f 64 ">//.set.a.preferred.release.mod
ea3e0 65 2c 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 75 73 65 72 20 74 6f 20 64 65 63 69 64 65 20 68 e,.allowing.the.user.to.decide.h
ea400 6f 77 20 74 6f 20 6f 70 74 69 6d 69 7a 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ow.to.optimize.</span></span>.<s
ea420 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
ea440 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 69 6d 69 7a 65 20 ="tok-kw">const</span>.optimize.
ea460 3d 20 62 2e 73 74 61 6e 64 61 72 64 4f 70 74 69 6d 69 7a 65 4f 70 74 69 6f 6e 28 2e 7b 7d 29 3b =.b.standardOptimizeOption(.{});
ea480 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
ea4a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
ea4c0 63 6c 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 20 class="tok-kw">const</span>.exe.
ea4e0 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 =.b.addExecutable(.{</span>.<spa
ea500 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c n.class="line">.........name.=.<
ea520 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
ea540 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c le&quot;</span>,</span>.<span.cl
ea560 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 6f 6f 74 5f 73 6f 75 72 63 65 5f ass="line">.........root_source_
ea580 66 69 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 file.=..{..path.=.<span.class="t
ea5a0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 26 71 75 6f 74 3b ok-str">&quot;src/main.zig&quot;
ea5c0 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>.},</span>.<span.class="l
ea5e0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 74 61 72 67 65 74 20 3d 20 74 61 72 67 65 74 2c 3c 2f ine">.........target.=.target,</
ea600 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 span>.<span.class="line">.......
ea620 20 2e 6f 70 74 69 6d 69 7a 65 20 3d 20 6f 70 74 69 6d 69 7a 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ..optimize.=.optimize,</span>.<s
ea640 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a pan.class="line">....});</span>.
ea660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 69 6e 73 74 61 <span.class="line">....exe.insta
ea680 6c 6c 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ll();</span>.<span.class="line">
ea6a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
ea6c0 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>
ea6e0 20 72 75 6e 5f 63 6d 64 20 3d 20 65 78 65 2e 72 75 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .run_cmd.=.exe.run();</span>.<sp
ea700 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 75 6e 5f 63 6d 64 2e 73 74 65 70 an.class="line">....run_cmd.step
ea720 2e 64 65 70 65 6e 64 4f 6e 28 62 2e 67 65 74 49 6e 73 74 61 6c 6c 53 74 65 70 28 29 29 3b 3c 2f .dependOn(b.getInstallStep());</
ea740 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
ea760 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 62 2e 61 an.class="tok-kw">if</span>.(b.a
ea780 72 67 73 29 20 7c 61 72 67 73 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 rgs).|args|.{</span>.<span.class
ea7a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 72 75 6e 5f 63 6d 64 2e 61 64 64 41 72 67 73 28 ="line">........run_cmd.addArgs(
ea7c0 61 72 67 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 args);</span>.<span.class="line"
ea7e0 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
ea800 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
ea820 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
ea840 3e 20 72 75 6e 5f 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 >.run_step.=.b.step(<span.class=
ea860 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 75 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;run&quot;</span>
ea880 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 52 75 ,.<span.class="tok-str">&quot;Ru
ea8a0 6e 20 74 68 65 20 61 70 70 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a n.the.app&quot;</span>);</span>.
ea8c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 75 6e 5f 73 74 65 70 2e <span.class="line">....run_step.
ea8e0 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 70 29 3b 3c 2f 73 70 dependOn(&amp;run_cmd.step);</sp
ea900 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c an>.<span.class="line">}</span><
ea920 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 20 /code></pre></figure>...........
ea940 20 20 20 20 3c 68 33 20 69 64 3d 22 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 72 79 22 3e ....<h3.id="Building-a-Library">
ea960 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 72 79 <a.href="#toc-Building-a-Library
ea980 22 3e 42 75 69 6c 64 69 6e 67 20 61 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 ">Building.a.Library</a>.<a.clas
ea9a0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 72 s="hdr".href="#Building-a-Librar
ea9c0 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 3c 63 y">..</a></h3>........<p>This.<c
ea9e0 6f 64 65 20 63 6c 61 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 ode.class="file">build.zig</code
eaa00 3e 20 66 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 >.file.is.automatically.generate
eaa20 64 0a 20 20 20 20 20 20 20 20 62 79 20 3c 6b 62 64 3e 7a 69 67 20 69 6e 69 74 2d 6c 69 62 3c 2f d.........by.<kbd>zig.init-lib</
eaa40 6b 62 64 3e 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 kbd>.</p>.......<figure><figcapt
eaa60 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=
eaa80 22 66 69 6c 65 22 3e 62 75 69 6c 64 5f 6c 69 62 72 61 72 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c "file">build_library.zig</cite><
eaaa0 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
eaac0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
eaae0 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
eab00 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
eab20 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;
eab40 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </span>);</span>.<span.class="li
eab60 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ne"></span>.<span.class="line"><
eab80 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>.<
eaba0 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
eabc0 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>(
eabe0 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-
eac00 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type">void</span>.{</span>.<span
eac20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
eac40 6f 6b 2d 6b 77 22 3e 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 ok-kw">const</span>.optimize.=.b
eac60 2e 73 74 61 6e 64 61 72 64 4f 70 74 69 6d 69 7a 65 4f 70 74 69 6f 6e 28 2e 7b 7d 29 3b 3c 2f 73 .standardOptimizeOption(.{});</s
eac80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
eaca0 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 6c 69 n.class="tok-kw">const</span>.li
eacc0 62 20 3d 20 62 2e 61 64 64 53 74 61 74 69 63 4c 69 62 72 61 72 79 28 2e 7b 3c 2f 73 70 61 6e 3e b.=.b.addStaticLibrary(.{</span>
eace0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 61 6d .<span.class="line">.........nam
ead00 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;
ead20 65 78 61 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 example&quot;</span>,</span>.<sp
ead40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 6f 6f 74 5f 73 6f an.class="line">.........root_so
ead60 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 6e 20 63 6c 61 urce_file.=..{..path.=.<span.cla
ead80 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 26 ss="tok-str">&quot;src/main.zig&
eada0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 quot;</span>.},</span>.<span.cla
eadc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 70 74 69 6d 69 7a 65 20 3d 20 6f 70 ss="line">.........optimize.=.op
eade0 74 69 6d 69 7a 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 timize,</span>.<span.class="line
eae00 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ">....});</span>.<span.class="li
eae20 6e 65 22 3e 20 20 20 20 6c 69 62 2e 69 6e 73 74 61 6c 6c 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">....lib.install();</span>.<s
eae40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
eae60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
eae80 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 69 6e 5f 74 65 73 74 73 20 3d 20 62 -kw">const</span>.main_tests.=.b
eaea0 2e 61 64 64 54 65 73 74 28 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .addTest(.{</span>.<span.class="
eaec0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 6f 6f 74 5f 73 6f 75 72 63 65 5f 66 69 6c 65 20 line">.........root_source_file.
eaee0 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 73 74 =..{..path.=.<span.class="tok-st
eaf00 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 r">&quot;src/main.zig&quot;</spa
eaf20 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>.},</span>.<span.class="line">
eaf40 20 20 20 20 20 20 20 20 2e 6f 70 74 69 6d 69 7a 65 20 3d 20 6f 70 74 69 6d 69 7a 65 2c 3c 2f 73 .........optimize.=.optimize,</s
eaf60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c pan>.<span.class="line">....});<
eaf80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
eafa0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
eafc0 6c 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_
eafe0 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
eb000 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
eb020 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 52 75 6e 20 6c 69 62 an.class="tok-str">&quot;Run.lib
eb040 72 61 72 79 20 74 65 73 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e rary.tests&quot;</span>);</span>
eb060 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 5f 73 74 65 .<span.class="line">....test_ste
eb080 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 6d 61 69 6e 5f 74 65 73 74 73 2e 73 74 65 70 29 p.dependOn(&amp;main_tests.step)
eb0a0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 ;</span>.<span.class="line">}</s
eb0c0 70 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 0a 20 20 20 20 20 pan></code></pre></figure>......
eb0e0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 .........<h3.id="Compiling-C-Sou
eb100 72 63 65 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 69 6e rce-Code"><a.href="#toc-Compilin
eb120 67 2d 43 2d 53 6f 75 72 63 65 2d 43 6f 64 65 22 3e 43 6f 6d 70 69 6c 69 6e 67 20 43 20 53 6f 75 g-C-Source-Code">Compiling.C.Sou
eb140 72 63 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 65 66 rce.Code</a>.<a.class="hdr".href
eb160 3d 22 23 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 72 63 65 2d 43 6f 64 65 22 3e c2 a7 3c 2f ="#Compiling-C-Source-Code">..</
eb180 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.
eb1a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 69 62 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c 65 28 class="line">lib.addCSourceFile(
eb1c0 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 72 63 2f <span.class="tok-str">&quot;src/
eb1e0 6c 69 62 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 5b 5d 3c 73 lib.c&quot;</span>,.&amp;[_][]<s
eb200 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>.
eb220 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>
eb240 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
eb260 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 2d 57 61 6c <span.class="tok-str">&quot;-Wal
eb280 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 l&quot;</span>,</span>.<span.cla
eb2a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ss="line">....<span.class="tok-s
eb2c0 74 72 22 3e 26 71 75 6f 74 3b 2d 57 65 78 74 72 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c tr">&quot;-Wextra&quot;</span>,<
eb2e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
eb300 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 2d 57 65 72 72 6f pan.class="tok-str">&quot;-Werro
eb320 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r&quot;</span>,</span>.<span.cla
eb340 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ss="line">});</span></code></pre
eb360 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 43 >......................<h2.id="C
eb380 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 61 20 63 6c 61 73 "><a.href="#toc-C">C</a>.<a.clas
eb3a0 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 68 32 3e 0a 0a 20 s="hdr".href="#C">..</a></h2>...
eb3c0 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 67 20 69 73 20 69 .....<p>.......Although.Zig.is.i
eb3e0 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 6b 65 20 6d 6f 73 ndependent.of.C,.and,.unlike.mos
eb400 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 74 20 64 65 70 65 t.other.languages,.does.not.depe
eb420 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 6f 77 6c 65 64 67 nd.on.libc,.......Zig.acknowledg
eb440 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 61 63 74 69 6e 67 es.the.importance.of.interacting
eb460 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 20 20 20 3c 2f 70 .with.existing.C.code........</p
eb480 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 65 20 61 20 66 65 >.......<p>.......There.are.a.fe
eb4a0 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 73 20 43 20 69 6e w.ways.that.Zig.facilitates.C.in
eb4c0 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 33 20 69 64 3d 22 terop........</p>.......<h3.id="
eb4e0 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 3d 22 23 74 6f 63 C-Type-Primitives"><a.href="#toc
eb500 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 20 50 72 69 6d 69 -C-Type-Primitives">C.Type.Primi
eb520 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 72 65 66 3d 22 23 tives</a>.<a.class="hdr".href="#
eb540 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 2f 68 33 3e 0a 0a C-Type-Primitives">..</a></h3>..
eb560 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 20 67 75 61 72 61 ......<p>.......These.have.guara
eb580 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 61 6e 64 20 63 61 nteed.C.ABI.compatibility.and.ca
eb5a0 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 79 70 65 2e 0a 20 n.be.used.like.any.other.type...
eb5c0 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>...........<
eb5e0 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 li><code><span.class="line"><spa
eb600 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 63 68 61 72 3c 2f 73 70 61 6e 3e n.class="tok-type">c_char</span>
eb620 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
eb640 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e i><code><span.class="line"><span
eb660 20 63 6c 61 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 .class="tok-type">c_short</span>
eb680 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
eb6a0 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e i><code><span.class="line"><span
eb6c0 20 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 .class="tok-type">c_ushort</span
eb6e0 3e 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 ></span></code></li>...........<
eb700 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 li><code><span.class="line"><spa
eb720 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 3e 3c n.class="tok-type">c_int</span><
eb740 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
eb760 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
eb780 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f class="tok-type">c_uint</span></
eb7a0 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 3e span></code></li>...........<li>
eb7c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
eb7e0 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 61 6e 3e 3c 2f 73 lass="tok-type">c_long</span></s
eb800 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><
eb820 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
eb840 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 ass="tok-type">c_ulong</span></s
eb860 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><
eb880 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
eb8a0 61 73 73 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 ass="tok-type">c_longlong</span>
eb8c0 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
eb8e0 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e i><code><span.class="line"><span
eb900 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 3c 2f 73 .class="tok-type">c_ulonglong</s
eb920 70 61 6e 3e 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 pan></span></code></li>.........
eb940 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 6c 69 6e 65 22 3e 3c ..<li><code><span.class="line"><
eb960 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 64 6f 75 62 span.class="tok-type">c_longdoub
eb980 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 le</span></span></code></li>....
eb9a0 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 74 65 ...</ul>.......<p>.......To.inte
eb9c0 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 73 73 rop.with.the.C.<code><span.class
eb9e0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-type">v
eba00 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 79 70 65 2c 20 75 oid</span></span></code>.type,.u
eba20 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 se.<code><span.class="line"><spa
eba40 6e 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 n.class="tok-type">anyopaque</sp
eba60 61 6e 3e 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 an></span></code>........</p>...
eba80 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.
ebaa0 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 href="#Primitive-Types">Primitiv
ebac0 65 20 54 79 70 65 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 20 e.Types</a></li>.</ul>..........
ebae0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 .....<h3.id="Import-from-C-Heade
ebb00 72 2d 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6d 70 6f 72 74 2d 66 72 6f r-File"><a.href="#toc-Import-fro
ebb20 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 6f 6d 20 43 20 48 m-C-Header-File">Import.from.C.H
ebb40 65 61 64 65 72 20 46 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 eader.File</a>.<a.class="hdr".hr
ebb60 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 69 6c 65 22 3e ef="#Import-from-C-Header-File">
ebb80 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 54 68 65 ..</a></h3>........<p>.......The
ebba0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
ebbc0 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 2f 73 70 class="tok-builtin">@cImport</sp
ebbe0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 an></span></code>.builtin.functi
ebc00 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 64 69 72 65 63 74 6c 79 on.can.be.used.......to.directly
ebc20 20 69 6d 70 6f 72 74 20 73 79 6d 62 6f 6c 73 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c 61 73 73 .import.symbols.from.<code.class
ebc40 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 20 20 3c ="file">.h</code>.files:.......<
ebc60 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
ebc80 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"
ebca0 3e 63 49 6d 70 6f 72 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 >cImport_builtin.zig</cite></fig
ebcc0 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="
ebce0 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
ebd00 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 69 </span>.c.=.<span.class="tok-bui
ebd20 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c ltin">@cImport</span>({</span>.<
ebd40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
ebd60 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 74 70 73 3a 2f 2f 67 s="tok-comment">//.See.https://g
ebd80 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 31 35 ithub.com/ziglang/zig/issues/515
ebda0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
ebdc0 22 3e 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">
ebde0 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 6f 6b @cDefine</span>(<span.class="tok
ebe00 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 4e 4f 5f 43 52 54 5f 53 54 44 49 4f 5f 49 4e 4c 49 4e 45 -str">&quot;_NO_CRT_STDIO_INLINE
ebe20 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 6b 2d &quot;</span>,.<span.class="tok-
ebe40 73 74 72 22 3e 26 71 75 6f 74 3b 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 str">&quot;1&quot;</span>);</spa
ebe60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 n>.<span.class="line">....<span.
ebe80 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 64 65 3c 2f 73 class="tok-builtin">@cInclude</s
ebea0 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
ebec0 3b 73 74 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ;stdio.h&quot;</span>);</span>.<
ebee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 span.class="line">});</span>.<sp
ebf00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
ebf20 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
ebf40 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-
ebf60 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 3d 22 74 fn">main</span>().<span.class="t
ebf80 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
ebfa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 2e 70 72 69 6e 74 pan.class="line">...._.=.c.print
ebfc0 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 6f 74 3b 68 65 f(<span.class="tok-str">&quot;he
ebfe0 6c 6c 6f 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 llo\n&quot;</span>);</span>.<spa
ec000 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f n.class="line">}</span></code></
ec020 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
ec040 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
ec060 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
ec080 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 3c 2f 6b 62 -exe.cImport_builtin.zig.-lc</kb
ec0a0 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 2f 6b 62 64 d>.$.<kbd>./cImport_builtin</kbd
ec0c0 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 65 3e 0a 20 >.hello.</samp></pre></figure>..
ec0e0 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 61 6e 20 63 .....<p>.......The.<code><span.c
ec100 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 lass="line"><span.class="tok-bui
ec120 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ltin">@cImport</span></span></co
ec140 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e de>.function.takes.an.expression
ec160 20 61 73 20 61 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 54 68 69 73 20 65 78 70 72 .as.a.parameter........This.expr
ec180 65 73 73 69 6f 6e 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 ession.is.evaluated.at.compile-t
ec1a0 69 6d 65 20 61 6e 64 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 ime.and.is.used.to.control......
ec1c0 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 69 72 65 63 74 69 76 65 73 20 61 6e 64 20 69 6e 63 .preprocessor.directives.and.inc
ec1e0 6c 75 64 65 20 6d 75 6c 74 69 70 6c 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 lude.multiple.<code.class="file"
ec200 3e 2e 68 3c 2f 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 >.h</code>.files:.......</p>....
ec220 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
ec240 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 40 63 49 6d 70 6f g-cap"><cite.class="file">@cImpo
ec260 72 74 20 45 78 70 72 65 73 73 69 6f 6e 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e rt.Expression</cite></figcaption
ec280 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 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
ec2a0 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>
ec2c0 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 6c .builtin.=.<span.class="tok-buil
ec2e0 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=
ec300 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
ec320 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
ec340 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
ec360 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 20 n.class="tok-kw">const</span>.c.
ec380 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 63 49 6d =.<span.class="tok-builtin">@cIm
ec3a0 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 port</span>({</span>.<span.class
ec3c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ="line">....<span.class="tok-bui
ec3e0 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 6e 20 63 6c 61 73 ltin">@cDefine</span>(<span.clas
ec400 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4e 44 45 42 55 47 26 71 75 6f 74 3b 3c 2f s="tok-str">&quot;NDEBUG&quot;</
ec420 73 70 61 6e 3e 2c 20 62 75 69 6c 74 69 6e 2e 6d 6f 64 65 20 3d 3d 20 2e 52 65 6c 65 61 73 65 46 span>,.builtin.mode.==..ReleaseF
ec440 61 73 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ast);</span>.<span.class="line">
ec460 20 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
ec480 6e 3e 20 28 73 6f 6d 65 74 68 69 6e 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n>.(something).{</span>.<span.cl
ec4a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">........<span.class="
ec4c0 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
ec4e0 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 47 4e 55 5f 53 4f an.class="tok-str">&quot;_GNU_SO
ec500 55 52 43 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c URCE&quot;</span>,.{});</span>.<
ec520 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....}</span>.<
ec540 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
ec560 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 3e s="tok-builtin">@cInclude</span>
ec580 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
ec5a0 6c 69 62 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 lib.h&quot;</span>);</span>.<spa
ec5c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
ec5e0 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 3c tok-kw">if</span>.(something).{<
ec600 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
ec620 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 55 6e ..<span.class="tok-builtin">@cUn
ec640 64 65 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 73 74 72 22 def</span>(<span.class="tok-str"
ec660 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 2f 73 70 61 6e 3e 29 >&quot;_GNU_SOURCE&quot;</span>)
ec680 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
ec6a0 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 }</span>.<span.class="line">....
ec6c0 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 63 6c <span.class="tok-builtin">@cIncl
ec6e0 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 73 74 72 22 ude</span>(<span.class="tok-str"
ec700 3e 26 71 75 6f 74 3b 73 6f 75 6e 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c >&quot;soundio.h&quot;</span>);<
ec720 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 /span>.<span.class="line">});</s
ec740 70 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 0a 20 20 20 20 20 pan></code></pre></figure>......
ec760 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
ec780 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 69 3e 0a 3c f="#cImport">@cImport</a></li>.<
ec7a0 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 65 li><a.href="#cInclude">@cInclude
ec7c0 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 44 65 66 69 6e 65 22 </a></li>.<li><a.href="#cDefine"
ec7e0 3e 40 63 44 65 66 69 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 >@cDefine</a></li>.<li><a.href="
ec800 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 61 #cUndef">@cUndef</a></li>.<li><a
ec820 20 68 72 65 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 .href="#import">@import</a></li>
ec840 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 43 2d .</ul>................<h3.id="C-
ec860 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 Translation-CLI"><a.href="#toc-C
ec880 2d 54 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 -Translation-CLI">C.Translation.
ec8a0 43 4c 49 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 2d CLI</a>.<a.class="hdr".href="#C-
ec8c0 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c 49 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 Translation-CLI">..</a></h3>....
ec8e0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 27 73 20 43 20 74 72 61 6e 73 6c 61 74 69 6f ....<p>.......Zig's.C.translatio
ec900 6e 20 63 61 70 61 62 69 6c 69 74 79 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 43 n.capability.is.available.as.a.C
ec920 4c 49 20 74 6f 6f 6c 20 76 69 61 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 LI.tool.via.<kbd>zig.translate-c
ec940 3c 2f 6b 62 64 3e 2e 0a 20 20 20 20 20 20 49 74 20 72 65 71 75 69 72 65 73 20 61 20 73 69 6e 67 </kbd>........It.requires.a.sing
ec960 6c 65 20 66 69 6c 65 6e 61 6d 65 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2e 20 49 74 20 6d le.filename.as.an.argument..It.m
ec980 61 79 20 61 6c 73 6f 20 74 61 6b 65 20 61 20 73 65 74 20 6f 66 20 6f 70 74 69 6f 6e 61 6c 20 66 ay.also.take.a.set.of.optional.f
ec9a0 6c 61 67 73 20 74 68 61 74 20 61 72 65 0a 20 20 20 20 20 20 66 6f 72 77 61 72 64 65 64 20 74 6f lags.that.are.......forwarded.to
ec9c0 20 63 6c 61 6e 67 2e 20 49 74 20 77 72 69 74 65 73 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 .clang..It.writes.the.translated
ec9e0 20 66 69 6c 65 20 74 6f 20 73 74 64 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .file.to.stdout........</p>.....
eca00 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e 3c 61 ..<h4.id="Command-line-flags"><a
eca20 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e .href="#toc-Command-line-flags">
eca40 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 66 6c 61 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d Command.line.flags</a>.<a.class=
eca60 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 "hdr".href="#Command-line-flags"
eca80 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 >..</a></h4>........<ul>........
ecaa0 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 3e 3a 0a 20 .<li>...........<kbd>-I</kbd>:..
ecac0 20 20 20 20 20 20 20 20 20 53 70 65 63 69 66 79 20 61 20 73 65 61 72 63 68 20 64 69 72 65 63 74 .........Specify.a.search.direct
ecae0 6f 72 79 20 66 6f 72 20 69 6e 63 6c 75 64 65 20 66 69 6c 65 73 2e 20 4d 61 79 20 62 65 20 75 73 ory.for.include.files..May.be.us
ecb00 65 64 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2e 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f ed.multiple.times..Equivalent.to
ecb20 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 72 65 6c 65 ...........<a.href="https://rele
ecb40 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 6c 61 6e 67 ases.llvm.org/12.0.0/tools/clang
ecb60 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 6e 63 65 2e /docs/ClangCommandLineReference.
ecb80 68 74 6d 6c 23 63 6d 64 6f 70 74 69 6f 6e 2d 63 6c 61 6e 67 2d 69 2d 64 69 72 22 3e 0a 20 20 20 html#cmdoption-clang-i-dir">....
ecba0 20 20 20 20 20 20 20 63 6c 61 6e 67 27 73 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 3e 20 66 6c 61 .......clang's.<kbd>-I</kbd>.fla
ecbc0 67 3c 2f 61 3e 2e 20 54 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 g</a>..The.current.directory.is.
ecbe0 3c 65 6d 3e 6e 6f 74 3c 2f 65 6d 3e 20 69 6e 63 6c 75 64 65 64 20 62 79 20 64 65 66 61 75 6c 74 <em>not</em>.included.by.default
ecc00 3b 0a 20 20 20 20 20 20 20 20 20 20 75 73 65 20 3c 6b 62 64 3e 2d 49 2e 3c 2f 6b 62 64 3e 20 74 ;...........use.<kbd>-I.</kbd>.t
ecc20 6f 20 69 6e 63 6c 75 64 65 20 69 74 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 o.include.it..........</li>.....
ecc40 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 44 3c 2f 6b 62 64 3e ....<li>...........<kbd>-D</kbd>
ecc60 3a 20 44 65 66 69 6e 65 20 61 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 6d 61 63 72 6f 2e 20 45 :.Define.a.preprocessor.macro..E
ecc80 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 quivalent.to...........<a.href="
ecca0 68 74 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 https://releases.llvm.org/12.0.0
eccc0 2f 74 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 /tools/clang/docs/ClangCommandLi
ecce0 6e 65 52 65 66 65 72 65 6e 63 65 2e 68 74 6d 6c 23 63 6d 64 6f 70 74 69 6f 6e 2d 63 6c 61 6e 67 neReference.html#cmdoption-clang
ecd00 2d 64 2d 6d 61 63 72 6f 22 3e 0a 20 20 20 20 20 20 20 20 20 20 63 6c 61 6e 67 27 73 20 3c 6b 62 -d-macro">...........clang's.<kb
ecd20 64 3e 2d 44 3c 2f 6b 62 64 3e 20 66 6c 61 67 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c d>-D</kbd>.flag</a>..........</l
ecd40 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 3c 6b 62 64 3e 2d i>.........<li>...........<kbd>-
ecd60 63 66 6c 61 67 73 20 5b 66 6c 61 67 73 5d 20 2d 2d 3c 2f 6b 62 64 3e 3a 20 50 61 73 73 20 61 72 cflags.[flags].--</kbd>:.Pass.ar
ecd80 62 69 74 72 61 72 79 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 bitrary.additional...........<a.
ecda0 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 6d 2e 6f 72 67 2f href="https://releases.llvm.org/
ecdc0 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 61 6e 67 43 6f 6d 12.0.0/tools/clang/docs/ClangCom
ecde0 6d 61 6e 64 4c 69 6e 65 52 65 66 65 72 65 6e 63 65 2e 68 74 6d 6c 22 3e 63 6f 6d 6d 61 6e 64 20 mandLineReference.html">command.
ece00 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 3c 2f 61 3e 20 74 6f 20 63 6c 61 6e line...........flags</a>.to.clan
ece20 67 2e 20 4e 6f 74 65 3a 20 74 68 65 20 6c 69 73 74 20 6f 66 20 66 6c 61 67 73 20 6d 75 73 74 20 g..Note:.the.list.of.flags.must.
ece40 65 6e 64 20 77 69 74 68 20 3c 6b 62 64 3e 2d 2d 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 20 3c end.with.<kbd>--</kbd>.........<
ece60 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 20 3c 6b 62 64 /li>.........<li>...........<kbd
ece80 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 3a 20 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 54 61 >-target</kbd>:.The.<a.href="#Ta
ecea0 72 67 65 74 73 22 3e 74 61 72 67 65 74 20 74 72 69 70 6c 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 rgets">target.triple</a>.for.the
ecec0 20 74 72 61 6e 73 6c 61 74 65 64 20 5a 69 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 .translated.Zig.code............
ecee0 49 66 20 6e 6f 20 74 61 72 67 65 74 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 63 If.no.target.is.specified,.the.c
ecf00 75 72 72 65 6e 74 20 68 6f 73 74 20 74 61 72 67 65 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 2e urrent.host.target.will.be.used.
ecf20 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>......
ecf40 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e ........<h4.id="Using--target-an
ecf60 64 2d 2d 63 66 6c 61 67 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 55 73 69 6e 67 2d 2d d--cflags"><a.href="#toc-Using--
ecf80 74 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 target-and--cflags">Using.-targe
ecfa0 74 20 61 6e 64 20 2d 63 66 6c 61 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 t.and.-cflags</a>.<a.class="hdr"
ecfc0 20 68 72 65 66 3d 22 23 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 .href="#Using--target-and--cflag
ecfe0 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 20 20 20 20 s">..</a></h4>........<p>.......
ed000 20 20 3c 73 74 72 6f 6e 67 3e 49 6d 70 6f 72 74 61 6e 74 21 3c 2f 73 74 72 6f 6e 67 3e 20 57 68 ..<strong>Important!</strong>.Wh
ed020 65 6e 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 43 20 63 6f 64 65 20 77 69 74 68 20 3c 6b 62 64 3e en.translating.C.code.with.<kbd>
ed040 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 2c 0a 20 20 20 20 20 20 20 20 79 zig.translate-c</kbd>,.........y
ed060 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 75 73 65 20 74 68 65 ou.<strong>must</strong>.use.the
ed080 20 73 61 6d 65 20 3c 6b 62 64 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 20 74 72 69 70 6c 65 20 .same.<kbd>-target</kbd>.triple.
ed0a0 74 68 61 74 20 79 6f 75 20 77 69 6c 6c 20 75 73 65 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 that.you.will.use.when.compiling
ed0c0 0a 20 20 20 20 20 20 20 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 64 65 2e 20 49 6e .........the.translated.code..In
ed0e0 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20 3c 73 74 72 6f 6e 67 3e 6d 75 73 74 3c 2f 73 74 72 .addition,.you.<strong>must</str
ed100 6f 6e 67 3e 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 3c 6b 62 64 3e 2d 63 66 6c 61 67 ong>.ensure.that.the.<kbd>-cflag
ed120 73 3c 2f 6b 62 64 3e 20 75 73 65 64 2c 0a 20 20 20 20 20 20 20 20 69 66 20 61 6e 79 2c 20 6d 61 s</kbd>.used,.........if.any,.ma
ed140 74 63 68 20 74 68 65 20 63 66 6c 61 67 73 20 75 73 65 64 20 62 79 20 63 6f 64 65 20 6f 6e 20 74 tch.the.cflags.used.by.code.on.t
ed160 68 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e 20 55 73 69 6e 67 20 74 68 65 20 69 6e 63 6f he.target.system..Using.the.inco
ed180 72 72 65 63 74 20 3c 6b 62 64 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 rrect.<kbd>-target</kbd>........
ed1a0 20 6f 72 20 3c 6b 62 64 3e 2d 63 66 6c 61 67 73 3c 2f 6b 62 64 3e 20 63 6f 75 6c 64 20 72 65 73 .or.<kbd>-cflags</kbd>.could.res
ed1c0 75 6c 74 20 69 6e 20 63 6c 61 6e 67 20 6f 72 20 5a 69 67 20 70 61 72 73 65 20 66 61 69 6c 75 72 ult.in.clang.or.Zig.parse.failur
ed1e0 65 73 2c 20 6f 72 20 73 75 62 74 6c 65 20 41 42 49 20 69 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 es,.or.subtle.ABI.incompatibilit
ed200 69 65 73 0a 20 20 20 20 20 20 20 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 43 20 ies.........when.linking.with.C.
ed220 63 6f 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 code........</p>.......<figure><
ed240 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 63 figcaption.class="c-cap"><cite.c
ed260 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 79 74 61 72 67 65 74 2e 68 3c 2f 63 69 74 65 3e 3c lass="file">varytarget.h</cite><
ed280 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
ed2a0 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 6e 67 20 46 4f 4f 20 3d 20 5f 5f 4c 4f 4e 47 5f 4d 41 58 5f ss="line">long.FOO.=.__LONG_MAX_
ed2c0 5f 3b 3c 2f 73 70 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 0a _;</span></code></pre></figure>.
ed2e0 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=
ed300 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
ed320 72 65 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 re><samp>$.<kbd>zig.translate-c.
ed340 2d 74 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 -target.thumb-freestanding-gnuea
ed360 62 69 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 bihf.varytarget.h|grep.FOO</kbd>
ed380 0a 70 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 .pub.export.var.FOO:.c_long.=.21
ed3a0 34 37 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 47483647;.$.<kbd>zig.translate-c
ed3c0 20 2d 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 .-target.x86_64-macos-gnu.varyta
ed3e0 72 67 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 rget.h|grep.FOO</kbd>.pub.export
ed400 20 76 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 .var.FOO:.c_long.=.9223372036854
ed420 37 37 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 775807;.</samp></pre></figure>..
ed440 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="
ed460 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 3e 76 61 72 79 63 66 c-cap"><cite.class="file">varycf
ed480 6c 61 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 lags.h</cite></figcaption><pre><
ed4a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 75 6d 20 46 4f 4f code><span.class="line">enum.FOO
ed4c0 20 7b 20 42 41 52 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .{.BAR.};</span>.<span.class="li
ed4e0 6e 65 22 3e 69 6e 74 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 28 65 6e 75 6d 20 46 4f 4f 20 66 6f ne">int.do_something(enum.FOO.fo
ed500 6f 29 3b 3c 2f 73 70 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 o);</span></code></pre></figure>
ed520 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
ed540 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><
ed560 70 72 65 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 pre><samp>$.<kbd>zig.translate-c
ed580 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 20 64 6f 5f 73 6f 6d 65 74 68 .varycflags.h|grep.-B1.do_someth
ed5a0 69 6e 67 3c 2f 6b 62 64 3e 0a 70 75 62 20 63 6f 6e 73 74 20 65 6e 75 6d 5f 46 4f 4f 20 3d 20 63 ing</kbd>.pub.const.enum_FOO.=.c
ed5c0 5f 75 69 6e 74 3b 0a 70 75 62 20 65 78 74 65 72 6e 20 66 6e 20 64 6f 5f 73 6f 6d 65 74 68 69 6e _uint;.pub.extern.fn.do_somethin
ed5e0 67 28 66 6f 6f 3a 20 65 6e 75 6d 5f 46 4f 4f 29 20 63 5f 69 6e 74 3b 0a 24 20 3c 6b 62 64 3e 7a g(foo:.enum_FOO).c_int;.$.<kbd>z
ed600 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 2d 63 66 6c 61 67 73 20 2d 66 73 68 6f 72 74 2d 65 ig.translate-c.-cflags.-fshort-e
ed620 6e 75 6d 73 20 2d 2d 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 20 64 6f nums.--.varycflags.h|grep.-B1.do
ed640 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 75 6d 5f _something</kbd>.pub.const.enum_
ed660 46 4f 4f 20 3d 20 75 38 3b 0a 70 75 62 20 65 78 74 65 72 6e 20 66 6e 20 64 6f 5f 73 6f 6d 65 74 FOO.=.u8;.pub.extern.fn.do_somet
ed680 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 3b 0a 3c 2f 73 61 6d hing(foo:.enum_FOO).c_int;.</sam
ed6a0 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 20 3c p></pre></figure>..............<
ed6c0 68 34 20 69 64 3d 22 63 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e 3c h4.id="cImport-vs-translate-c"><
ed6e0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 74 a.href="#toc-cImport-vs-translat
ed700 65 2d 63 22 3e 40 63 49 6d 70 6f 72 74 20 76 73 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 61 3e e-c">@cImport.vs.translate-c</a>
ed720 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 6f 72 74 2d 76 .<a.class="hdr".href="#cImport-v
ed740 73 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 s-translate-c">..</a></h4>......
ed760 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ..<p><code><span.class="line"><s
ed780 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 6d 70 6f 72 74 pan.class="tok-builtin">@cImport
ed7a0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 6b 62 64 3e 7a </span></span></code>.and.<kbd>z
ed7c0 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 75 73 65 20 74 68 65 20 73 61 6d ig.translate-c</kbd>.use.the.sam
ed7e0 65 20 75 6e 64 65 72 6c 79 69 6e 67 0a 20 20 20 20 20 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e e.underlying.......C.translation
ed800 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2c 20 73 6f 20 6f 6e 20 61 20 74 65 63 68 6e 69 63 61 .functionality,.so.on.a.technica
ed820 6c 20 6c 65 76 65 6c 20 74 68 65 79 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 2e 20 49 6e 20 l.level.they.are.equivalent..In.
ed840 70 72 61 63 74 69 63 65 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 practice,.......<code><span.clas
ed860 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 s="line"><span.class="tok-builti
ed880 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e n">@cImport</span></span></code>
ed8a0 20 69 73 20 75 73 65 66 75 6c 20 61 73 20 61 20 77 61 79 20 74 6f 20 71 75 69 63 6b 6c 79 20 61 .is.useful.as.a.way.to.quickly.a
ed8c0 6e 64 20 65 61 73 69 6c 79 20 61 63 63 65 73 73 20 6e 75 6d 65 72 69 63 20 63 6f 6e 73 74 61 6e nd.easily.access.numeric.constan
ed8e0 74 73 2c 20 74 79 70 65 64 65 66 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 72 65 63 6f 72 64 20 74 ts,.typedefs,.......and.record.t
ed900 79 70 65 73 20 77 69 74 68 6f 75 74 20 6e 65 65 64 69 6e 67 20 61 6e 79 20 65 78 74 72 61 20 73 ypes.without.needing.any.extra.s
ed920 65 74 75 70 2e 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 61 73 73 20 3c 61 20 68 72 65 etup..If.you.need.to.pass.<a.hre
ed940 66 3d 22 23 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 63 f="#Using--target-and--cflags">c
ed960 66 6c 61 67 73 3c 2f 61 3e 0a 20 20 20 20 20 20 74 6f 20 63 6c 61 6e 67 2c 20 6f 72 20 69 66 20 flags</a>.......to.clang,.or.if.
ed980 79 6f 75 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 65 64 69 74 20 74 68 65 20 74 72 61 6e 73 you.would.like.to.edit.the.trans
ed9a0 6c 61 74 65 64 20 63 6f 64 65 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f lated.code,.it.is.recommended.to
ed9c0 20 75 73 65 0a 20 20 20 20 20 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c .use.......<kbd>zig.translate-c<
ed9e0 2f 6b 62 64 3e 20 61 6e 64 20 73 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 73 20 74 6f 20 61 20 /kbd>.and.save.the.results.to.a.
eda00 66 69 6c 65 2e 20 43 6f 6d 6d 6f 6e 20 72 65 61 73 6f 6e 73 20 66 6f 72 20 65 64 69 74 69 6e 67 file..Common.reasons.for.editing
eda20 0a 20 20 20 20 20 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 69 6e 63 6c 75 64 .......the.generated.code.includ
eda40 65 3a 20 63 68 61 6e 67 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e:.changing.<code><span.class="l
eda60 69 6e 65 22 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 79 70 ine"><span.class="tok-kw">anytyp
eda80 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 e</span></span></code>.parameter
edaa0 73 20 69 6e 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 s.in.function-like.macros.to.mor
edac0 65 0a 20 20 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 e.......specific.types;.changing
edae0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 63 5d 54 3c .<code><span.class="line">[*c]T<
edb00 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 3c 63 6f 64 65 3e /span></code>.pointers.to.<code>
edb20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 5d 54 3c 2f 73 70 61 6e 3e 3c 2f <span.class="line">[*]T</span></
edb40 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 code>.or.......<code><span.class
edb60 3d 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 6f 69 6e 74 65 72 ="line">*T</span></code>.pointer
edb80 73 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 74 79 70 65 20 73 61 66 65 74 79 3b 20 61 6e 64 0a s.for.improved.type.safety;.and.
edba0 20 20 20 20 20 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 79 ......<a.href="#setRuntimeSafety
edbc0 22 3e 65 6e 61 62 6c 69 6e 67 20 6f 72 20 64 69 73 61 62 6c 69 6e 67 20 72 75 6e 74 69 6d 65 20 ">enabling.or.disabling.runtime.
edbe0 73 61 66 65 74 79 3c 2f 61 3e 20 77 69 74 68 69 6e 20 73 70 65 63 69 66 69 63 20 66 75 6e 63 74 safety</a>.within.specific.funct
edc00 69 6f 6e 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 70 ions........</p>..............<p
edc20 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="
edc40 23 54 61 72 67 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 #Targets">Targets</a></li>.<li><
edc60 61 20 68 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 43 20 54 79 a.href="#C-Type-Primitives">C.Ty
edc80 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 pe.Primitives</a></li>.<li><a.hr
edca0 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 2f 6c 69 3e ef="#Pointers">Pointers</a></li>
edcc0 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 6f 69 .<li><a.href="#C-Pointers">C.Poi
edce0 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 49 6d 70 nters</a></li>.<li><a.href="#Imp
edd00 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 20 66 ort-from-C-Header-File">Import.f
edd20 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 3c 6c 69 3e 3c rom.C.Header.File</a></li>.<li><
edd40 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 3e a.href="#cInclude">@cInclude</a>
edd60 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 3e 40 63 49 </li>.<li><a.href="#cImport">@cI
edd80 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 23 73 65 74 mport</a></li>.<li><a.href="#set
edda0 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 66 65 74 79 RuntimeSafety">@setRuntimeSafety
eddc0 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
edde0 33 20 69 64 3d 22 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 3e 3c 61 20 3.id="C-Translation-Caching"><a.
ede00 68 72 65 66 3d 22 23 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 href="#toc-C-Translation-Caching
ede20 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 61 63 68 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 ">C.Translation.Caching</a>.<a.c
ede40 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 69 6f 6e 2d lass="hdr".href="#C-Translation-
ede60 43 61 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 20 3c 70 3e 0a Caching">..</a></h3>........<p>.
ede80 20 20 20 20 20 20 20 20 54 68 65 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 66 65 61 74 75 72 ........The.C.translation.featur
edea0 65 20 28 77 68 65 74 68 65 72 20 75 73 65 64 20 76 69 61 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 e.(whether.used.via.<kbd>zig.tra
edec0 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e nslate-c</kbd>.or.........<code>
edee0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
edf00 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 73 70 tok-builtin">@cImport</span></sp
edf20 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 6e 74 65 67 72 61 74 65 73 20 77 69 74 68 20 74 68 65 20 an></code>).integrates.with.the.
edf40 5a 69 67 20 63 61 63 68 69 6e 67 20 73 79 73 74 65 6d 2e 20 53 75 62 73 65 71 75 65 6e 74 20 72 Zig.caching.system..Subsequent.r
edf60 75 6e 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 73 6f 75 72 63 65 uns.with.........the.same.source
edf80 20 66 69 6c 65 2c 20 74 61 72 67 65 74 2c 20 61 6e 64 20 63 66 6c 61 67 73 20 77 69 6c 6c 20 75 .file,.target,.and.cflags.will.u
edfa0 73 65 20 74 68 65 20 63 61 63 68 65 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 70 65 61 74 65 64 se.the.cache.instead.of.repeated
edfc0 6c 79 20 74 72 61 6e 73 6c 61 74 69 6e 67 0a 20 20 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 ly.translating.........the.same.
edfe0 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 20 code........</p>.......<p>......
ee000 20 20 20 54 6f 20 73 65 65 20 77 68 65 72 65 20 74 68 65 20 63 61 63 68 65 64 20 66 69 6c 65 73 ...To.see.where.the.cached.files
ee020 20 61 72 65 20 73 74 6f 72 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 63 6f 64 65 20 .are.stored.when.compiling.code.
ee040 74 68 61 74 20 75 73 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e that.uses.<code><span.class="lin
ee060 65 22 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 e"><span.class="tok-builtin">@cI
ee080 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 mport</span></span></code>,.....
ee0a0 20 20 20 20 75 73 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 ....use.the.<kbd>--verbose-cimpo
ee0c0 72 74 3c 2f 6b 62 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 rt</kbd>.flag:.......</p>.......
ee0e0 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
ee100 61 70 22 3e 3c 63 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 ap"><cite.class="file">verbose_c
ee120 69 6d 70 6f 72 74 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 import_flag.zig</cite></figcapti
ee140 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 6c 69 6e 65 22 on><pre><code><span.class="line"
ee160 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
ee180 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 6e 22 n>.c.=.<span.class="tok-builtin"
ee1a0 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >@cImport</span>({</span>.<span.
ee1c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
ee1e0 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 6e k-builtin">@cDefine</span>(<span
ee200 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 5f 53 .class="tok-str">&quot;_NO_CRT_S
ee220 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 6e 20 TDIO_INLINE&quot;</span>,.<span.
ee240 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 2f 73 class="tok-str">&quot;1&quot;</s
ee260 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>);</span>.<span.class="line"
ee280 3e 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">@
ee2a0 63 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 cInclude</span>(<span.class="tok
ee2c0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e -str">&quot;stdio.h&quot;</span>
ee2e0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b );</span>.<span.class="line">});
ee300 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
ee320 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
ee340 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.
ee360 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
ee380 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>.
ee3a0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
ee3c0 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 _.=.c;</span>.<span.class="line"
ee3e0 3e 7d 3c 2f 73 70 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 >}</span></code></pre></figure><
ee400 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-
ee420 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
ee440 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 73 65 5f 63 p>$.<kbd>zig.build-exe.verbose_c
ee460 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 65 2d 63 69 import_flag.zig.-lc.--verbose-ci
ee480 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 29 3a 20 43 mport</kbd>.info(compilation):.C
ee4a0 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 69 6f 6e 73 .import.source:./home/ci/actions
ee4c0 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/
ee4e0 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 63 62 33 37 32 36 62 33 36 61 33 39 39 65 zig-local-cache/o/cb3726b36a399e
ee500 30 64 39 34 65 34 66 64 64 33 38 32 64 30 30 30 66 65 2f 63 69 6d 70 6f 72 74 2e 68 0a 69 6e 66 0d94e4fdd382d000fe/cimport.h.inf
ee520 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 66 69 6c 65 o(compilation):.C.import..d.file
ee540 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 72 6b 2f :./home/ci/actions-runner/_work/
ee560 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
ee580 65 2f 6f 2f 63 62 33 37 32 36 62 33 36 61 33 39 39 65 30 64 39 34 65 34 66 64 64 33 38 32 64 30 e/o/cb3726b36a399e0d94e4fdd382d0
ee5a0 30 30 66 65 2f 63 69 6d 70 6f 72 74 2e 68 2e 64 0a 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 00fe/cimport.h.d.info(compilatio
ee5c0 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 69 2f 61 63 n):.C.import.output:./home/ci/ac
ee5e0 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
ee600 2f 6f 75 74 2f 7a 69 67 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 2f 6f 2f 32 34 37 61 65 35 36 33 31 /out/zig-local-cache/o/247ae5631
ee620 36 31 61 62 36 37 37 33 31 34 61 36 35 38 64 62 34 35 65 39 31 64 61 2f 63 69 6d 70 6f 72 74 2e 61ab677314a658db45e91da/cimport.
ee640 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 5b 30 4b 4c zig.LLVM.Emit.Object....[20D[0KL
ee660 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 44 20 4c 69 LVM.Emit.Object....[20D[0KLLD.Li
ee680 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 70 6f 72 74 nk....[12D[0K$../verbose_cimport
ee6a0 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 0a 20 20 20 _flag.</samp></pre></figure>....
ee6c0 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 66 69 6c 65 ...<p>.........<code.class="file
ee6e0 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 74 68 65 20 ">cimport.h</code>.contains.the.
ee700 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 65 64 20 66 file.to.translate.(constructed.f
ee720 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 73 70 61 6e rom.calls.to.........<code><span
ee740 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 .class="line"><span.class="tok-b
ee760 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c uiltin">@cInclude</span></span><
ee780 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 6c 69 6e 65 22 /code>,.<code><span.class="line"
ee7a0 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 44 65 66 ><span.class="tok-builtin">@cDef
ee7c0 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 ine</span></span></code>,.and.<c
ee7e0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
ee800 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><
ee820 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2c 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c /span></code>),.........<code.cl
ee840 61 73 73 3d 22 66 69 6c 65 22 3e 63 69 6d 70 6f 72 74 2e 68 2e 64 3c 2f 63 6f 64 65 3e 20 69 73 ass="file">cimport.h.d</code>.is
ee860 20 74 68 65 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2c 20 .the.list.of.file.dependencies,.
ee880 61 6e 64 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 3e 63 and.........<code.class="file">c
ee8a0 69 6d 70 6f 72 74 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 74 import.zig</code>.contains.the.t
ee8c0 72 61 6e 73 6c 61 74 65 64 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ranslated.output........</p>....
ee8e0 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
ee900 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 69 6c 65 22 ref="#Import-from-C-Header-File"
ee920 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 61 3e 3c 2f >Import.from.C.Header.File</a></
ee940 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d li>.<li><a.href="#C-Translation-
ee960 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 3c 2f 6c 69 3e 0a CLI">C.Translation.CLI</a></li>.
ee980 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
ee9a0 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
ee9c0 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 ">@cImport</a></li>.</ul>.......
ee9e0 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c ........<h3.id="Translation-fail
eea00 75 72 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d ures"><a.href="#toc-Translation-
eea20 66 61 69 6c 75 72 65 73 22 3e 54 72 61 6e 73 6c 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 73 3c 2f failures">Translation.failures</
eea40 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 72 61 6e 73 6c 61 a>.<a.class="hdr".href="#Transla
eea60 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 tion-failures">..</a></h3>......
eea80 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 53 6f 6d 65 20 43 20 63 6f 6e 73 74 72 75 63 74 73 20 ..<p>.........Some.C.constructs.
eeaa0 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 5a 69 67 20 2d 20 66 6f cannot.be.translated.to.Zig.-.fo
eeac0 72 20 65 78 61 6d 70 6c 65 2c 20 3c 65 6d 3e 67 6f 74 6f 3c 2f 65 6d 3e 2c 0a 20 20 20 20 20 20 r.example,.<em>goto</em>,.......
eeae0 20 20 73 74 72 75 63 74 73 20 77 69 74 68 20 62 69 74 66 69 65 6c 64 73 2c 20 61 6e 64 20 74 6f ..structs.with.bitfields,.and.to
eeb00 6b 65 6e 2d 70 61 73 74 69 6e 67 20 6d 61 63 72 6f 73 2e 20 5a 69 67 20 65 6d 70 6c 6f 79 73 20 ken-pasting.macros..Zig.employs.
eeb20 3c 65 6d 3e 64 65 6d 6f 74 69 6f 6e 3c 2f 65 6d 3e 20 74 6f 20 61 6c 6c 6f 77 20 74 72 61 6e 73 <em>demotion</em>.to.allow.trans
eeb40 6c 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 69 6e 20 74 68 lation.........to.continue.in.th
eeb60 65 20 66 61 63 65 20 6f 66 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 65 6e 74 69 74 e.face.of.non-translatable.entit
eeb80 69 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 20 20 20 ies........</p>.......<p>.......
eeba0 20 20 44 65 6d 6f 74 69 6f 6e 20 63 6f 6d 65 73 20 69 6e 20 74 68 72 65 65 20 76 61 72 69 65 74 ..Demotion.comes.in.three.variet
eebc0 69 65 73 20 2d 20 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 ies.-.<a.href="#opaque">opaque</
eebe0 61 3e 2c 20 3c 65 6d 3e 65 78 74 65 72 6e 3c 2f 65 6d 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 a>,.<em>extern</em>,.and........
eec00 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
eec20 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 6f class="tok-builtin">@compileErro
eec40 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 0a 20 20 20 20 20 20 20 r</span></span></code>..........
eec60 20 43 20 73 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 .C.structs.and.unions.that.canno
eec80 74 20 62 65 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 t.be.translated.correctly.will.b
eeca0 65 20 74 72 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 e.translated.as.<code><span.clas
eecc0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 s="line"><span.class="tok-kw">op
eece0 61 71 75 65 3c 2f 73 70 61 6e 3e 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 aque</span>{}</span></code>.....
eed00 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 61 71 .....Functions.that.contain.opaq
eed20 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 61 74 ue.types.or.code.constructs.that
eed40 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 64 65 .cannot.be.translated.will.be.de
eed60 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 6c 61 moted.........to.<code><span.cla
eed80 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ss="line"><span.class="tok-kw">e
eeda0 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 xtern</span></span></code>.decla
eedc0 72 61 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 75 73 2c 20 6e 6f 6e 2d 74 72 61 6e rations...........Thus,.non-tran
eede0 73 6c 61 74 61 62 6c 65 20 74 79 70 65 73 20 63 61 6e 20 73 74 69 6c 6c 20 62 65 20 75 73 65 64 slatable.types.can.still.be.used
eee00 20 61 73 20 70 6f 69 6e 74 65 72 73 2c 20 61 6e 64 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 .as.pointers,.and.non-translatab
eee20 6c 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 63 61 6c 6c le.functions.........can.be.call
eee40 65 64 20 73 6f 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6c 69 6e 6b 65 72 20 69 73 20 61 77 61 72 ed.so.long.as.the.linker.is.awar
eee60 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 64 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 e.of.the.compiled.function......
eee80 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 3c 63 6f 64 65 3e 3c ..</p>.......<p>.........<code><
eeea0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
eeec0 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>
eeee0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 73 65 64 20 77 68 65 6e 20 74 6f 70 2d </span></code>.is.used.when.top-
eef00 6c 65 76 65 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 28 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 level.definitions.(global.variab
eef20 6c 65 73 2c 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 74 6f 74 79 70 65 73 les,.........function.prototypes
eef40 2c 20 6d 61 63 72 6f 73 29 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 6f ,.macros).cannot.be.translated.o
eef60 72 20 64 65 6d 6f 74 65 64 2e 20 53 69 6e 63 65 20 5a 69 67 20 75 73 65 73 20 6c 61 7a 79 20 61 r.demoted..Since.Zig.uses.lazy.a
eef80 6e 61 6c 79 73 69 73 20 66 6f 72 0a 20 20 20 20 20 20 20 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 nalysis.for.........top-level.de
eefa0 63 6c 61 72 61 74 69 6f 6e 73 2c 20 75 6e 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 65 6e 74 69 74 clarations,.untranslatable.entit
eefc0 69 65 73 20 77 69 6c 6c 20 6e 6f 74 20 63 61 75 73 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 ies.will.not.cause.a.compile.err
eefe0 6f 72 20 69 6e 20 79 6f 75 72 20 63 6f 64 65 20 75 6e 6c 65 73 73 0a 20 20 20 20 20 20 20 20 79 or.in.your.code.unless.........y
ef000 6f 75 20 61 63 74 75 61 6c 6c 79 20 75 73 65 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ou.actually.use.them........</p>
ef020 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>
ef040 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
ef060 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e 65 78 74 65 72 6e 3c 2f >.<li><a.href="#extern">extern</
ef080 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 72 72 a></li>.<li><a.href="#compileErr
ef0a0 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 2f 75 6c 3e or">@compileError</a></li>.</ul>
ef0c0 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 4d 61 63 72 6f 73 22 ...............<h3.id="C-Macros"
ef0e0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 4d 61 63 72 6f 73 22 3e 43 20 4d 61 63 72 6f ><a.href="#toc-C-Macros">C.Macro
ef100 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 2d 4d 61 s</a>.<a.class="hdr".href="#C-Ma
ef120 63 72 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 3e 0a 20 20 20 cros">..</a></h3>........<p>....
ef140 20 20 20 20 20 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 61 6b 65 73 20 61 20 62 65 73 74 2d .....C.Translation.makes.a.best-
ef160 65 66 66 6f 72 74 20 61 74 74 65 6d 70 74 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20 66 75 6e 63 effort.attempt.to.translate.func
ef180 74 69 6f 6e 2d 6c 69 6b 65 20 6d 61 63 72 6f 73 20 69 6e 74 6f 20 65 71 75 69 76 61 6c 65 6e 74 tion-like.macros.into.equivalent
ef1a0 0a 20 20 20 20 20 20 20 20 5a 69 67 20 66 75 6e 63 74 69 6f 6e 73 2e 20 53 69 6e 63 65 20 43 20 .........Zig.functions..Since.C.
ef1c0 6d 61 63 72 6f 73 20 6f 70 65 72 61 74 65 20 61 74 20 74 68 65 20 6c 65 76 65 6c 20 6f 66 20 6c macros.operate.at.the.level.of.l
ef1e0 65 78 69 63 61 6c 20 74 6f 6b 65 6e 73 2c 20 6e 6f 74 20 61 6c 6c 20 43 20 6d 61 63 72 6f 73 0a exical.tokens,.not.all.C.macros.
ef200 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 5a 69 67 ........can.be.translated.to.Zig
ef220 2e 20 4d 61 63 72 6f 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 ..Macros.that.cannot.be.translat
ef240 65 64 20 77 69 6c 6c 20 62 65 20 64 65 6d 6f 74 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 3c 63 ed.will.be.demoted.to.........<c
ef260 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
ef280 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</
ef2a0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4e 6f 74 65 20 74 68 61 74 20 43 span></span></code>..Note.that.C
ef2c0 20 63 6f 64 65 20 77 68 69 63 68 20 3c 65 6d 3e 75 73 65 73 3c 2f 65 6d 3e 20 6d 61 63 72 6f 73 .code.which.<em>uses</em>.macros
ef2e0 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 74 68 .will.be.........translated.with
ef300 6f 75 74 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 73 73 75 65 73 20 28 73 69 6e 63 65 out.any.additional.issues.(since
ef320 20 5a 69 67 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 70 72 65 2d 70 72 6f 63 65 73 73 .Zig.operates.on.the.pre-process
ef340 65 64 20 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 6d 61 63 72 6f 73 20 65 78 ed.source.........with.macros.ex
ef360 70 61 6e 64 65 64 29 2e 20 49 74 20 69 73 20 6d 65 72 65 6c 79 20 74 68 65 20 6d 61 63 72 6f 73 panded)..It.is.merely.the.macros
ef380 20 74 68 65 6d 73 65 6c 76 65 73 20 77 68 69 63 68 20 6d 61 79 20 6e 6f 74 20 62 65 20 74 72 61 .themselves.which.may.not.be.tra
ef3a0 6e 73 6c 61 74 61 62 6c 65 20 74 6f 0a 20 20 20 20 20 20 20 20 5a 69 67 2e 0a 20 20 20 20 20 20 nslatable.to.........Zig........
ef3c0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 43 6f 6e 73 69 64 65 72 20 74 68 65 20 66 6f 6c 6c 6f </p>.......<p>Consider.the.follo
ef3e0 77 69 6e 67 20 65 78 61 6d 70 6c 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e wing.example:</p>.......<figure>
ef400 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.
ef420 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 63 72 6f 2e 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 class="file">macro.c</cite></fig
ef440 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="
ef460 6c 69 6e 65 22 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 4e line">#define.MAKELOCAL(NAME,.IN
ef480 49 54 29 20 69 6e 74 20 4e 41 4d 45 20 3d 20 49 4e 49 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e IT).int.NAME.=.INIT</span>.<span
ef4a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 74 20 66 6f 6f 28 76 6f 69 64 29 20 7b 3c 2f 73 .class="line">int.foo(void).{</s
ef4c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 4d 41 4b 45 4c pan>.<span.class="line">...MAKEL
ef4e0 4f 43 41 4c 28 61 2c 20 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 OCAL(a,.1);</span>.<span.class="
ef500 6c 69 6e 65 22 3e 20 20 20 4d 41 4b 45 4c 4f 43 41 4c 28 62 2c 20 32 29 3b 3c 2f 73 70 61 6e 3e line">...MAKELOCAL(b,.2);</span>
ef520 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 72 65 74 75 72 6e 20 61 20 .<span.class="line">...return.a.
ef540 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d +.b;</span>.<span.class="line">}
ef560 3c 2f 73 70 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 0a 20 20 </span></code></pre></figure>...
ef580 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
ef5a0 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
ef5c0 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 6d 61 ><samp>$.<kbd>zig.translate-c.ma
ef5e0 63 72 6f 2e 63 20 26 67 74 3b 20 6d 61 63 72 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 6d cro.c.&gt;.macro.zig</kbd>.</sam
ef600 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 3e p></pre></figure>.......<figure>
ef620 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
ef640 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 63 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c e.class="file">macro.zig</cite><
ef660 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
ef680 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 ss="line"><span.class="tok-kw">p
ef6a0 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 65 ub</span>.<span.class="tok-kw">e
ef6c0 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 6f 6b 2d 6b 77 xport</span>.<span.class="tok-kw
ef6e0 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"
ef700 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 2d 74 >foo</span>().<span.class="tok-t
ef720 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ype">c_int</span>.{</span>.<span
ef740 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .class="line">....<span.class="t
ef760 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
ef780 3d 22 74 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 ="tok-type">c_int</span>.=.<span
ef7a0 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 3c 2f 73 .class="tok-number">1</span>;</s
ef7c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
ef7e0 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 3c n.class="tok-kw">var</span>.b:.<
ef800 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
ef820 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 3c n>.=.<span.class="tok-number">2<
ef840 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
ef860 22 3e 20 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 ">....<span.class="tok-kw">retur
ef880 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n</span>.a.+.b;</span>.<span.cla
ef8a0 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">}</span>.<span.class="
ef8c0 6c 69 6e 65 22 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 line"><span.class="tok-kw">pub</
ef8e0 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
ef900 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 73 73 3d </span>.MAKELOCAL.=.<span.class=
ef920 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 73 70 61 "tok-builtin">@compileError</spa
ef940 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 75 n>(<span.class="tok-str">&quot;u
ef960 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 65 78 70 nable.to.translate.C.expr:.unexp
ef980 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 6e 3e 29 ected.token..Equal&quot;</span>)
ef9a0 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 6d ;.<span.class="tok-comment">//.m
ef9c0 61 63 72 6f 2e 63 3a 31 3a 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c acro.c:1:9</span></span></code><
ef9e0 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 20 74 68 61 /pre></figure>.......<p>Note.tha
efa00 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 6f 6f 3c 2f t.<code><span.class="line">foo</
efa20 73 70 61 6e 3e 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 72 72 span></code>.was.translated.corr
efa40 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 73 6c ectly.despite.using.a.non-transl
efa60 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 3c 73 70 61 atable.........macro..<code><spa
efa80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 41 4b 45 4c 4f 43 41 4c 3c 2f 73 70 61 6e 3e 3c n.class="line">MAKELOCAL</span><
efaa0 2f 63 6f 64 65 3e 20 77 61 73 20 64 65 6d 6f 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 /code>.was.demoted.to.<code><spa
efac0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
efae0 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 3c 2f 73 builtin">@compileError</span></s
efb00 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 69 74 20 63 61 6e pan></code>.since.........it.can
efb20 6e 6f 74 20 62 65 20 65 78 70 72 65 73 73 65 64 20 61 73 20 61 20 5a 69 67 20 66 75 6e 63 74 69 not.be.expressed.as.a.Zig.functi
efb40 6f 6e 3b 20 74 68 69 73 20 73 69 6d 70 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 79 6f 75 20 63 on;.this.simply.means.that.you.c
efb60 61 6e 6e 6f 74 20 64 69 72 65 63 74 6c 79 20 75 73 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 annot.directly.use.........<code
efb80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 41 4b 45 4c 4f 43 41 4c 3c 2f 73 ><span.class="line">MAKELOCAL</s
efba0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e pan></code>.from.Zig........</p>
efbc0 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>
efbe0 3c 61 20 68 72 65 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 <a.href="#compileError">@compile
efc00 45 72 72 6f 72 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 Error</a></li>.</ul>............
efc20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d ....<h3.id="C-Pointers"><a.href=
efc40 22 23 74 6f 63 2d 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 3e "#toc-C-Pointers">C.Pointers</a>
efc60 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 .<a.class="hdr".href="#C-Pointer
efc80 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 20 s">..</a></h3>........<p>.......
efca0 54 68 69 73 20 74 79 70 65 20 69 73 20 74 6f 20 62 65 20 61 76 6f 69 64 65 64 20 77 68 65 6e 65 This.type.is.to.be.avoided.whene
efcc0 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 20 54 68 65 20 6f 6e 6c 79 20 76 61 6c 69 64 20 72 65 61 ver.possible..The.only.valid.rea
efce0 73 6f 6e 20 66 6f 72 20 75 73 69 6e 67 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 69 6e 0a son.for.using.a.C.pointer.is.in.
efd00 20 20 20 20 20 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 66 72 6f 6d 20 74 ......auto-generated.code.from.t
efd20 72 61 6e 73 6c 61 74 69 6e 67 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ranslating.C.code........</p>...
efd40 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 69 6d 70 6f 72 74 69 6e 67 20 43 20 68 ....<p>.......When.importing.C.h
efd60 65 61 64 65 72 20 66 69 6c 65 73 2c 20 69 74 20 69 73 20 61 6d 62 69 67 75 6f 75 73 20 77 68 65 eader.files,.it.is.ambiguous.whe
efd80 74 68 65 72 20 70 6f 69 6e 74 65 72 73 20 73 68 6f 75 6c 64 20 62 65 20 74 72 61 6e 73 6c 61 74 ther.pointers.should.be.translat
efda0 65 64 20 61 73 0a 20 20 20 20 20 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 ed.as.......single-item.pointers
efdc0 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 .(<code><span.class="line">*T</s
efde0 70 61 6e 3e 3c 2f 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 pan></code>).or.many-item.pointe
efe00 72 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 5d rs.(<code><span.class="line">[*]
efe20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 43 20 70 6f 69 6e 74 65 T</span></code>)........C.pointe
efe40 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.
efe60 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
efe80 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>...
efea0 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 6c 69 6e 65 22 3e ....<p><code><span.class="line">
efec0 5b 2a 63 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 43 20 70 6f 69 6e 74 65 72 2e [*c]T</span></code>.-.C.pointer.
efee0 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 53 75 70 70 </p>.......<ul>.........<li>Supp
eff00 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 20 6f 74 68 65 72 orts.all.the.syntax.of.the.other
eff20 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 3c 73 70 61 6e 20 .two.pointer.types.(<code><span.
eff40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 class="line">*T</span></code>).a
eff60 6e 64 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 5d nd.(<code><span.class="line">[*]
eff80 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c T</span></code>).</li>.........<
effa0 6c 69 3e 43 6f 65 72 63 65 73 20 74 6f 20 6f 74 68 65 72 20 70 6f 69 6e 74 65 72 20 74 79 70 65 li>Coerces.to.other.pointer.type
effc0 73 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c s,.as.well.as.<a.href="#Optional
effe0 2d 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 -Pointers">Optional.Pointers</a>
f0000 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 ..............When.a.C.pointer.i
f0020 73 20 63 6f 65 72 63 65 64 20 74 6f 20 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e s.coerced.to.a.non-optional.poin
f0040 74 65 72 2c 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 20 20 ter,.safety-checked.............
f0060 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 6e <a.href="#Undefined-Behavior">Un
f0080 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 6f 63 63 75 72 73 20 69 66 20 74 defined.Behavior</a>.occurs.if.t
f00a0 68 65 20 61 64 64 72 65 73 73 20 69 73 20 30 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 he.address.is.0..........</li>..
f00c0 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 6f 77 73 20 61 64 64 72 65 73 73 20 30 2e 20 4f 6e 20 .......<li>Allows.address.0..On.
f00e0 6e 6f 6e 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 20 74 61 72 67 65 74 73 2c 20 64 65 72 65 66 65 non-freestanding.targets,.derefe
f0100 72 65 6e 63 69 6e 67 20 61 64 64 72 65 73 73 20 30 20 69 73 20 73 61 66 65 74 79 2d 63 68 65 63 rencing.address.0.is.safety-chec
f0120 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 66 69 ked.............<a.href="#Undefi
f0140 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
f0160 3c 2f 61 3e 2e 20 4f 70 74 69 6f 6e 61 6c 20 43 20 70 6f 69 6e 74 65 72 73 20 69 6e 74 72 6f 64 </a>..Optional.C.pointers.introd
f0180 75 63 65 20 61 6e 6f 74 68 65 72 20 62 69 74 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 uce.another.bit.to.keep.track.of
f01a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 6a 75 73 74 20 6c 69 6b 65 20 3c 63 6f .............null,.just.like.<co
f01c0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 3c 73 70 61 6e 20 63 6c 61 de><span.class="line">?<span.cla
f01e0 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 73 70 61 6e ss="tok-type">usize</span></span
f0200 3e 3c 2f 63 6f 64 65 3e 2e 20 4e 6f 74 65 20 74 68 61 74 20 63 72 65 61 74 69 6e 67 20 61 6e 20 ></code>..Note.that.creating.an.
f0220 6f 70 74 69 6f 6e 61 6c 20 43 20 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 optional.C.pointer.............i
f0240 73 20 75 6e 6e 65 63 65 73 73 61 72 79 20 61 73 20 6f 6e 65 20 63 61 6e 20 75 73 65 20 6e 6f 72 s.unnecessary.as.one.can.use.nor
f0260 6d 61 6c 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 mal.<a.href="#Optional-Pointers"
f0280 3e 4f 70 74 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 >Optional.Pointers</a>..........
f02a0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 </li>.........<li>Supports.<a.hr
f02c0 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f ef="#Type-Coercion">Type.Coercio
f02e0 6e 3c 2f 61 3e 20 74 6f 20 61 6e 64 20 66 72 6f 6d 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e n</a>.to.and.from.integers.</li>
f0300 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 63 6f 6d 70 61 72 69 73 6f 6e .........<li>Supports.comparison
f0320 20 77 69 74 68 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 .with.integers.</li>.........<li
f0340 3e 44 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 5a 69 67 2d 6f 6e 6c 79 20 70 6f 69 6e 74 >Does.not.support.Zig-only.point
f0360 65 72 20 61 74 74 72 69 62 75 74 65 73 20 73 75 63 68 20 61 73 20 61 6c 69 67 6e 6d 65 6e 74 2e er.attributes.such.as.alignment.
f0380 20 55 73 65 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 .Use.normal.<a.href="#Pointers">
f03a0 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 70 6c 65 61 73 65 21 3c 2f 6c 69 Pointers</a>.........please!</li
f03c0 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 43 20 >.......</ul>.......<p>When.a.C.
f03e0 70 6f 69 6e 74 65 72 20 69 73 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 pointer.is.pointing.to.a.single.
f0400 73 74 72 75 63 74 20 28 6e 6f 74 20 61 6e 20 61 72 72 61 79 29 2c 20 64 65 72 65 66 65 72 65 6e struct.(not.an.array),.dereferen
f0420 63 65 20 74 68 65 20 43 20 70 6f 69 6e 74 65 72 20 74 6f 0a 20 20 20 20 20 20 20 20 61 63 63 65 ce.the.C.pointer.to.........acce
f0440 73 73 20 74 68 65 20 73 74 72 75 63 74 27 73 20 66 69 65 6c 64 73 20 6f 72 20 6d 65 6d 62 65 72 ss.the.struct's.fields.or.member
f0460 20 64 61 74 61 2e 20 54 68 61 74 20 73 79 6e 74 61 78 20 6c 6f 6f 6b 73 20 6c 69 6b 65 0a 20 20 .data..That.syntax.looks.like...
f0480 20 20 20 20 20 20 74 68 69 73 3a 20 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 ......this:.</p>.........<p><cod
f04a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 5f 74 6f 5f 73 74 72 75 e><span.class="line">ptr_to_stru
f04c0 63 74 2e 2a 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ct.*.struct_member</span></code>
f04e0 3c 2f 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 </p>.........<p>This.is.comparab
f0500 6c 65 20 74 6f 20 64 6f 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c le.to.doing.<code><span.class="l
f0520 69 6e 65 22 3e 2d 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 43 2e 3c 2f ine">-&gt;</span></code>.in.C.</
f0540 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 74 65 72 20 p>.........<p>.When.a.C.pointer.
f0560 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 74 72 75 63 is.pointing.to.an.array.of.struc
f0580 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 69 73 3a 3c ts,.the.syntax.reverts.to.this:<
f05a0 2f 70 3e 0a 20 20 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 /p>.........<p><code><span.class
f05c0 3d 22 6c 69 6e 65 22 3e 70 74 72 5f 74 6f 5f 73 74 72 75 63 74 5f 61 72 72 61 79 5b 69 6e 64 65 ="line">ptr_to_struct_array[inde
f05e0 78 5d 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f x].struct_member</span></code></
f0600 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 43 2d 56 61 72 69 61 p>...............<h3.id="C-Varia
f0620 64 69 63 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 43 2d 56 dic-Functions"><a.href="#toc-C-V
f0640 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 43 20 56 61 72 69 61 64 69 63 20 46 75 ariadic-Functions">C.Variadic.Fu
f0660 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 3d nctions</a>.<a.class="hdr".href=
f0680 22 23 43 2d 56 61 72 69 61 64 69 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f "#C-Variadic-Functions">..</a></
f06a0 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 65 78 74 65 72 h3>........<p>Zig.supports.exter
f06c0 6e 20 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 n.variadic.functions.</p>.......
f06e0 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
f0700 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 76 61 72 69 ap"><cite.class="file">test_vari
f0720 61 64 69 63 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 61 70 adic_function.zig</cite></figcap
f0740 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 6c 69 6e tion><pre><code><span.class="lin
f0760 65 22 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 e"><span.class="tok-kw">const</s
f0780 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
f07a0 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=
f07c0 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>
f07e0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 );</span>.<span.class="line"><sp
f0800 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 74 an.class="tok-kw">const</span>.t
f0820 65 73 74 69 6e 67 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 esting.=.std.testing;</span>.<sp
f0840 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
f0860 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
f0880 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">
f08a0 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
f08c0 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 6e 20 63 tr">&quot;c&quot;</span>.<span.c
f08e0 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
f0900 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 72 6d 61 ass="tok-fn">printf</span>(forma
f0920 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 22 3e 30 t:.[*:<span.class="tok-number">0
f0940 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 63 6f 6e </span>]<span.class="tok-kw">con
f0960 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"
f0980 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 22 74 6f >u8</span>,....).<span.class="to
f09a0 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-type">c_int</span>;</span>.<sp
f09c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
f09e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
f0a00 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
f0a20 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c ">&quot;variadic.function&quot;<
f0a40 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
f0a60 65 22 3e 20 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 e">....<span.class="tok-kw">try<
f0a80 2f 73 70 61 6e 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 /span>.testing.expect(printf(<sp
f0aa0 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 65 6c 6c 6f 2c 20 an.class="tok-str">&quot;Hello,.
f0ac0 77 6f 72 6c 64 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 world!\n&quot;</span>).==.<span.
f0ae0 63 6c 61 73 73 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 3c 2f class="tok-number">14</span>);</
f0b00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
f0b20 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 73 an.class="tok-kw">try</span>.tes
f0b40 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 69 ting.expect(<span.class="tok-bui
f0b60 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 61 ltin">@typeInfo</span>(<span.cla
f0b80 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>(
f0ba0 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 3c 2f 73 70 61 6e 3e printf)).Fn.is_var_args);</span>
f0bc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
f0be0 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
f0c00 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
f0c20 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.
f0c40 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.
f0c60 2d 6c 63 3c 2f 6b 62 64 3e 0a 31 2f 31 20 74 65 73 74 2e 76 61 72 69 61 64 69 63 20 66 75 6e 63 -lc</kbd>.1/1.test.variadic.func
f0c80 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 73 65 64 2e 0a 48 tion....OK.All.1.tests.passed..H
f0ca0 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 66 69 67 75 ello,.world!.</samp></pre></figu
f0cc0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 56 61 72 69 61 64 69 63 20 66 re>.......<p>.........Variadic.f
f0ce0 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e unctions.can.be.implemented.usin
f0d00 67 20 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 g.<a.href="#cVaStart">@cVaStart<
f0d20 2f 61 3e 2c 20 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 /a>,.<a.href="#cVaEnd">@cVaEnd</
f0d40 61 3e 2c 20 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 3c 2f 61 a>,.<a.href="#cVaArg">@cVaArg</a
f0d60 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 63 56 61 43 6f 70 79 22 3e 40 63 56 61 43 6f 70 >.and.<a.href="#cVaCopy">@cVaCop
f0d80 79 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 65 3e y</a>........</p>.......<figure>
f0da0 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
f0dc0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 64 65 66 69 6e 69 6e 67 5f 76 61 72 e.class="file">test_defining_var
f0de0 69 61 64 69 63 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 61 iadic_function.zig</cite></figca
f0e00 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 6c 69 ption><pre><code><span.class="li
f0e20 6e 65 22 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 ne"><span.class="tok-kw">const</
f0e40 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
f0e60 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
f0e80 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
f0ea0 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 >);</span>.<span.class="line"><s
f0ec0 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>.
f0ee0 74 65 73 74 69 6e 67 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 testing.=.std.testing;</span>.<s
f0f00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
f0f20 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
f0f40 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</
f0f60 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
f0f80 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a t;builtin&quot;</span>);</span>.
f0fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
f0fc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
f0fe0 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
f1000 22 3e 61 64 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 ">add</span>(count:.<span.class=
f1020 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 2e 2e 2e 29 20 3c 73 "tok-type">c_int</span>,....).<s
f1040 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 73 70 61 pan.class="tok-kw">callconv</spa
f1060 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 79 70 65 22 3e 63 5f n>(.C).<span.class="tok-type">c_
f1080 69 6e 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d int</span>.{</span>.<span.class=
f10a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e "line">....<span.class="tok-kw">
f10c0 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 6f 6b var</span>.ap.=.<span.class="tok
f10e0 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 3c 2f 73 -builtin">@cVaStart</span>();</s
f1100 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
f1120 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 3c 73 n.class="tok-kw">defer</span>.<s
f1140 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 56 61 45 6e 64 3c pan.class="tok-builtin">@cVaEnd<
f1160 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 61 70 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c /span>(&amp;ap);</span>.<span.cl
f1180 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
f11a0 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 73 3d 22 74 kw">var</span>.i:.<span.class="t
f11c0 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
f11e0 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 3c 2f 73 70 61 6e ass="tok-number">0</span>;</span
f1200 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
f1220 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
f1240 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
f1260 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</
f1280 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>;</span>.<span.class="line"
f12a0 3e 20 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<
f12c0 2f 73 70 61 6e 3e 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 /span>.(i.&lt;.count).:.(i.+=.<s
f12e0 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>)
f1300 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
f1320 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
f1340 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
f1360 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
f1380 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >);</span>.<span.class="line">..
f13a0 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ..}</span>.<span.class="line">..
f13c0 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
f13e0 70 61 6e 3e 20 73 75 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 pan>.sum;</span>.<span.class="li
f1400 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ne">}</span>.<span.class="line">
f1420 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
f1440 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
f1460 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 66 69 6e 69 6e 67 n.class="tok-str">&quot;defining
f1480 20 61 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 .a.variadic.function&quot;</span
f14a0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
f14c0 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 56 ..<span.class="tok-comment">//.V
f14e0 61 72 69 61 64 69 63 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 75 72 72 65 6e 74 6c 79 20 ariadic.functions.are.currently.
f1500 64 69 73 61 62 6c 65 64 20 6f 6e 20 73 6f 6d 65 20 74 61 72 67 65 74 73 20 64 75 65 20 74 6f 20 disabled.on.some.targets.due.to.
f1520 6d 69 73 63 6f 6d 70 69 6c 61 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c miscompilations.</span></span>.<
f1540 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 span.class="line">....<span.clas
f1560 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 63 70 s="tok-kw">if</span>.(builtin.cp
f1580 75 2e 61 72 63 68 20 3d 3d 20 2e 61 61 72 63 68 36 34 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 u.arch.==..aarch64.<span.class="
f15a0 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 73 2e 74 61 tok-kw">and</span>.builtin.os.ta
f15c0 67 20 21 3d 20 2e 77 69 6e 64 6f 77 73 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b g.!=..windows.<span.class="tok-k
f15e0 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 20 21 3d 20 w">and</span>.builtin.os.tag.!=.
f1600 2e 6d 61 63 6f 73 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 .macos).<span.class="tok-kw">ret
f1620 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">
f1640 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 3c 2f 73 70 61 6e 3e error</span>.SkipZigTest;</span>
f1660 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
f1680 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 69 6e 2e ass="tok-kw">if</span>.(builtin.
f16a0 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 73 73 3d cpu.arch.==..x86_64.<span.class=
f16c0 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 73 2e 74 "tok-kw">and</span>.builtin.os.t
f16e0 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 6f 6b ag.==..windows).<span.class="tok
f1700 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="
f1720 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 67 54 65 73 74 tok-kw">error</span>.SkipZigTest
f1740 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
f1760 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
f1780 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 2e 74 .class="tok-kw">try</span>.std.t
f17a0 65 73 74 69 6e 67 2e 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 esting.expectEqual(<span.class="
f17c0 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
f17e0 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
f1800 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 2c an.class="tok-number">0</span>),
f1820 20 61 64 64 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 30 3c .add(<span.class="tok-number">0<
f1840 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>));</span>.<span.class="li
f1860 6e 65 22 3e 20 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 ne">....<span.class="tok-kw">try
f1880 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 71 75 61 6c 28 </span>.std.testing.expectEqual(
f18a0 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 73 <span.class="tok-builtin">@as</s
f18c0 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 6e pan>(<span.class="tok-type">c_in
f18e0 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 65 t</span>,.<span.class="tok-numbe
f1900 72 22 3e 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 r">1</span>),.add(<span.class="t
f1920 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
f1940 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.
f1960 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 2c 20 3c class="tok-type">c_int</span>,.<
f1980 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>
f19a0 29 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 )));</span>.<span.class="line">.
f19c0 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
f19e0 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 61 6e n>.std.testing.expectEqual(<span
f1a00 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>(
f1a20 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
f1a40 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<
f1a60 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 6e 75 /span>),.add(<span.class="tok-nu
f1a80 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
f1aa0 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 73 -builtin">@as</span>(<span.class
f1ac0 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 6e 20 ="tok-type">c_int</span>,.<span.
f1ae0 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 20 3c 73 class="tok-number">1</span>),.<s
f1b00 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
f1b20 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<
f1b40 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"
f1b60 3e 32 3c 2f 73 70 61 6e 3e 29 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >2</span>)));</span>.<span.class
f1b80 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
f1ba0 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=
f1bc0 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
f1be0 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 65 re><samp>$.<kbd>zig.test.test_de
f1c00 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 6b 62 fining_variadic_function.zig</kb
f1c20 64 3e 0a 31 2f 31 20 74 65 73 74 2e 64 65 66 69 6e 69 6e 67 20 61 20 76 61 72 69 61 64 69 63 20 d>.1/1.test.defining.a.variadic.
f1c40 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 73 65 function....OK.All.1.tests.passe
f1c60 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>.......
f1c80 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 69 62 .......<h3.id="Exporting-a-C-Lib
f1ca0 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 61 2d rary"><a.href="#toc-Exporting-a-
f1cc0 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 72 79 C-Library">Exporting.a.C.Library
f1ce0 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 6f 72 </a>.<a.class="hdr".href="#Expor
f1d00 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 0a 20 ting-a-C-Library">..</a></h3>...
f1d20 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 61 72 .....<p>.......One.of.the.primar
f1d40 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 6e 67 y.use.cases.for.Zig.is.exporting
f1d60 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 6f 74 .a.library.with.the.C.ABI.for.ot
f1d80 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 20 20 her.programming.languages.......
f1da0 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 63 6c to.call.into..The.<code><span.cl
f1dc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
f1de0 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 export</span></span></code>.keyw
f1e00 6f 72 64 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 2c 20 76 61 72 69 61 ord.in.front.of.functions,.varia
f1e20 62 6c 65 73 2c 20 61 6e 64 20 74 79 70 65 73 20 63 61 75 73 65 73 20 74 68 65 6d 20 74 6f 0a 20 bles,.and.types.causes.them.to..
f1e40 20 20 20 20 20 62 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 20 41 50 49 3a .....be.part.of.the.library.API:
f1e60 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
f1e80 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
f1ea0 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 s="file">mathtest.zig</cite></fi
f1ec0 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=
f1ee0 22 6c 69 6e 65 22 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 6f "line"><span.class="tok-kw">expo
f1f00 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 66 rt</span>.<span.class="tok-kw">f
f1f20 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
f1f40 64 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 6b 2d 74 79 70 d</span>(a:.<span.class="tok-typ
f1f60 65 22 3e 69 33 32 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 e">i32</span>,.b:.<span.class="t
f1f80 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 73 73 ok-type">i32</span>).<span.class
f1fa0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ="tok-type">i32</span>.{</span>.
f1fc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
f1fe0 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 2b 20 62 3b ss="tok-kw">return</span>.a.+.b;
f2000 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 </span>.<span.class="line">}</sp
f2020 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 0a 20 20 20 20 20 20 an></code></pre></figure>.......
f2040 3c 70 3e 54 6f 20 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 <p>To.make.a.static.library:</p>
f2060 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
f2080 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><
f20a0 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 6c 69 62 20 6d pre><samp>$.<kbd>zig.build-lib.m
f20c0 61 74 68 74 65 73 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 athtest.zig</kbd>.</samp></pre><
f20e0 2f 66 69 67 75 72 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 /figure>.......<p>To.make.a.shar
f2100 65 64 20 6c 69 62 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 ed.library:</p>.......<figure><f
f2120 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
f2140 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>
f2160 7a 69 67 20 62 75 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 zig.build-lib.mathtest.zig.-dyna
f2180 6d 69 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 mic</kbd>.</samp></pre></figure>
f21a0 0a 20 20 20 20 20 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 .......<p>Here.is.an.example.wit
f21c0 68 20 74 68 65 20 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 h.the.<a.href="#Zig-Build-System
f21e0 22 3e 5a 69 67 20 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 ">Zig.Build.System</a>:</p>.....
f2200 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 63 ..<figure><figcaption.class="c-c
f2220 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 2f 63 ap"><cite.class="file">test.c</c
f2240 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
f2260 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 2f 20 54 68 69 73 20 68 65 61 64 65 72 20 69 73 n.class="line">//.This.header.is
f2280 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 74 68 74 65 73 74 2e .generated.by.zig.from.mathtest.
f22a0 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 zig</span>.<span.class="line">#i
f22c0 6e 63 6c 75 64 65 20 26 71 75 6f 74 3b 6d 61 74 68 74 65 73 74 2e 68 26 71 75 6f 74 3b 3c 2f 73 nclude.&quot;mathtest.h&quot;</s
f22e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 65 pan>.<span.class="line">#include
f2300 20 26 6c 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .&lt;stdio.h&gt;</span>.<span.cl
f2320 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
f2340 6c 69 6e 65 22 3e 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 line">int.main(int.argc,.char.**
f2360 61 72 67 76 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 argv).{</span>.<span.class="line
f2380 22 3e 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 34 32 2c 20 31 ">....int32_t.result.=.add(42,.1
f23a0 33 33 37 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 337);</span>.<span.class="line">
f23c0 20 20 20 20 70 72 69 6e 74 66 28 26 71 75 6f 74 3b 25 64 5c 6e 26 71 75 6f 74 3b 2c 20 72 65 73 ....printf(&quot;%d\n&quot;,.res
f23e0 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ult);</span>.<span.class="line">
f2400 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ....return.0;</span>.<span.class
f2420 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
f2440 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 69 6f 6e igure>.......<figure><figcaption
f2460 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
f2480 6c 65 22 3e 62 75 69 6c 64 5f 63 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 le">build_c.zig</cite></figcapti
f24a0 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 6c 69 6e 65 22 on><pre><code><span.class="line"
f24c0 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
f24e0 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
f2500 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
f2520 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>);
f2540 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
f2560 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 n>.<span.class="line"><span.clas
f2580 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
f25a0 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
f25c0 3d 22 74 6f 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 ="tok-fn">build</span>(b:.*std.B
f25e0 75 69 6c 64 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 uild).<span.class="tok-type">voi
f2600 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d</span>.{</span>.<span.class="l
f2620 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">co
f2640 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 62 20 3d 20 62 2e 61 64 64 53 68 61 72 65 64 4c 69 62 72 nst</span>.lib.=.b.addSharedLibr
f2660 61 72 79 28 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ary(.{</span>.<span.class="line"
f2680 3e 20 20 20 20 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 >.........name.=.<span.class="to
f26a0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 61 74 68 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 k-str">&quot;mathtest&quot;</spa
f26c0 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n>,</span>.<span.class="line">..
f26e0 20 20 20 20 20 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 .......root_source_file.=..{..pa
f2700 74 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 3e 26 71 75 6f 74 th.=.<span.class="tok-str">&quot
f2720 3b 6d 61 74 68 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 ;mathtest.zig&quot;</span>.},</s
f2740 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 pan>.<span.class="line">........
f2760 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 61 .version.=..{..major.=.<span.cla
f2780 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 72 ss="tok-number">1</span>,..minor
f27a0 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
f27c0 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 2d pan>,..patch.=.<span.class="tok-
f27e0 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e number">0</span>.},</span>.<span
f2800 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....});</span>.<sp
f2820 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an.class="line">....<span.class=
f2840 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 20 3d 20 62 2e 61 64 "tok-kw">const</span>.exe.=.b.ad
f2860 64 45 78 65 63 75 74 61 62 6c 65 28 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 dExecutable(.{</span>.<span.clas
f2880 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 s="line">.........name.=.<span.c
f28a0 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 26 71 75 6f 74 3b 3c lass="tok-str">&quot;test&quot;<
f28c0 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>,</span>.<span.class="line
f28e0 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ">....});</span>.<span.class="li
f2900 6e 65 22 3e 20 20 20 20 65 78 65 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c 65 28 3c 73 70 61 6e ne">....exe.addCSourceFile(<span
f2920 20 63 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 2e 63 26 71 75 .class="tok-str">&quot;test.c&qu
f2940 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 ot;</span>,.&amp;[_][]<span.clas
f2960 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
f2980 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 3c 73 70 61 6e 20 63 ass="tok-type">u8</span>{<span.c
f29a0 6c 61 73 73 3d 22 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 lass="tok-str">&quot;-std=c99&qu
f29c0 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ot;</span>});</span>.<span.class
f29e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 6c 69 6e 6b 4c 69 62 72 61 72 79 28 6c 69 62 29 ="line">....exe.linkLibrary(lib)
f2a00 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
f2a20 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 6e 20 63 6c 61 73 exe.linkSystemLibrary(<span.clas
f2a40 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 3e s="tok-str">&quot;c&quot;</span>
f2a60 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 );</span>.<span.class="line"></s
f2a80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 2e 64 65 pan>.<span.class="line">....b.de
f2aa0 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 65 2e 73 74 65 fault_step.dependOn(&amp;exe.ste
f2ac0 70 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f p);</span>.<span.class="line"></
f2ae0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
f2b00 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
f2b20 75 6e 5f 63 6d 64 20 3d 20 65 78 65 2e 72 75 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e un_cmd.=.exe.run();</span>.<span
f2b40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
f2b60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
f2b80 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 73 74 65 70 20 3d 20 62 2e 73 74 65 ">const</span>.test_step.=.b.ste
f2ba0 70 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 74 65 p(<span.class="tok-str">&quot;te
f2bc0 73 74 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 st&quot;</span>,.<span.class="to
f2be0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 54 65 73 74 20 74 68 65 20 70 72 6f 67 72 61 6d 26 71 75 k-str">&quot;Test.the.program&qu
f2c00 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ot;</span>);</span>.<span.class=
f2c20 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 "line">....test_step.dependOn(&a
f2c40 6d 70 3b 72 75 6e 5f 63 6d 64 2e 73 74 65 70 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mp;run_cmd.step);</span>.<span.c
f2c60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
f2c80 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
f2ca0 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
f2cc0 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
f2ce0 75 69 6c 64 20 74 65 73 74 3c 2f 6b 62 64 3e 0a 31 33 37 39 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 uild.test</kbd>.1379.</samp></pr
f2d00 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 2f e></figure>.......<p>See.also:</
f2d20 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e 65 78 70 p><ul>.<li><a.href="#export">exp
f2d40 6f 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 20 20 ort</a></li>.</ul>..............
f2d60 20 3c 68 33 20 69 64 3d 22 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 3c 61 .<h3.id="Mixing-Object-Files"><a
f2d80 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 .href="#toc-Mixing-Object-Files"
f2da0 3e 4d 69 78 69 6e 67 20 4f 62 6a 65 63 74 20 46 69 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 >Mixing.Object.Files</a>.<a.clas
f2dc0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c s="hdr".href="#Mixing-Object-Fil
f2de0 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>......
f2e00 20 59 6f 75 20 63 61 6e 20 6d 69 78 20 5a 69 67 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 77 69 .You.can.mix.Zig.object.files.wi
f2e20 74 68 20 61 6e 79 20 6f 74 68 65 72 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 74 68 61 74 20 72 th.any.other.object.files.that.r
f2e40 65 73 70 65 63 74 20 74 68 65 20 43 20 41 42 49 2e 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 espect.the.C.ABI..Example:......
f2e60 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.
f2e80 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
f2ea0 65 22 3e 62 61 73 65 36 34 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e e">base64.zig</cite></figcaption
f2ec0 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 6c 69 6e 65 22 3e 3c ><pre><code><span.class="line"><
f2ee0 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>
f2f00 20 62 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 .base64.=.<span.class="tok-built
f2f20 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="
f2f40 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>)
f2f60 2e 62 61 73 65 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .base64;</span>.<span.class="lin
f2f80 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e"></span>.<span.class="line"><s
f2fa0 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 3e pan.class="tok-kw">export</span>
f2fc0 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>.
f2fe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 63 6f 64 65 5f 62 61 73 65 <span.class="tok-fn">decode_base
f3000 5f 36 34 3c 2f 73 70 61 6e 3e 28 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 _64</span>(</span>.<span.class="
f3020 6c 69 6e 65 22 3e 20 20 20 20 64 65 73 74 5f 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 line">....dest_ptr:.[*]<span.cla
f3040 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a ss="tok-type">u8</span>,</span>.
f3060 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 73 74 5f 6c 65 6e 3a <span.class="line">....dest_len:
f3080 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
f30a0 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>,</span>.<span.class="line">
f30c0 20 20 20 20 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 ....source_ptr:.[*]<span.class="
f30e0 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 73 tok-kw">const</span>.<span.class
f3100 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ="tok-type">u8</span>,</span>.<s
f3120 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6f 75 72 63 65 5f 6c 65 6e 3a pan.class="line">....source_len:
f3140 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
f3160 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>,</span>.<span.class="line">
f3180 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</
f31a0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
f31c0 22 3e 20 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
f31e0 3c 2f 73 70 61 6e 3e 20 73 72 63 20 3d 20 73 6f 75 72 63 65 5f 70 74 72 5b 3c 73 70 61 6e 20 63 </span>.src.=.source_ptr[<span.c
f3200 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 73 6f 75 72 lass="tok-number">0</span>..sour
f3220 63 65 5f 6c 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ce_len];</span>.<span.class="lin
f3240 65 22 3e 20 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 e">....<span.class="tok-kw">cons
f3260 74 3c 2f 73 70 61 6e 3e 20 64 65 73 74 20 3d 20 64 65 73 74 5f 70 74 72 5b 3c 73 70 61 6e 20 63 t</span>.dest.=.dest_ptr[<span.c
f3280 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 64 65 73 74 lass="tok-number">0</span>..dest
f32a0 5f 6c 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 _len];</span>.<span.class="line"
f32c0 3e 20 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<
f32e0 2f 73 70 61 6e 3e 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 /span>.base64_decoder.=.base64.s
f3300 74 61 6e 64 61 72 64 2e 44 65 63 6f 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c tandard.Decoder;</span>.<span.cl
f3320 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ass="line">....<span.class="tok-
f3340 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.=.
f3360 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(
f3380 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<
f33a0 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
f33c0 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 achable</span>;</span>.<span.cla
f33e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 2e 64 65 63 ss="line">....base64_decoder.dec
f3400 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 6e 75 6d 62 65 72 ode(dest[<span.class="tok-number
f3420 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 20 73 72 63 29 20 ">0</span>..decoded_size],.src).
f3440 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 61 6e <span.class="tok-kw">catch</span
f3460 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 62 >.<span.class="tok-kw">unreachab
f3480 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c le</span>;</span>.<span.class="l
f34a0 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">re
f34c0 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 64 65 63 6f 64 65 64 5f 73 69 7a 65 3b 3c 2f 73 70 61 6e 3e turn</span>.decoded_size;</span>
f34e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .<span.class="line">}</span></co
f3500 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 75 72 65 de></pre></figure>.......<figure
f3520 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 69 74 65 ><figcaption.class="c-cap"><cite
f3540 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 66 69 67 .class="file">test.c</cite></fig
f3560 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="
f3580 6c 69 6e 65 22 3e 2f 2f 20 54 68 69 73 20 68 65 61 64 65 72 20 69 73 20 67 65 6e 65 72 61 74 65 line">//.This.header.is.generate
f35a0 64 20 62 79 20 7a 69 67 20 66 72 6f 6d 20 62 61 73 65 36 34 2e 7a 69 67 3c 2f 73 70 61 6e 3e 0a d.by.zig.from.base64.zig</span>.
f35c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 65 20 26 71 75 6f <span.class="line">#include.&quo
f35e0 74 3b 62 61 73 65 36 34 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c t;base64.h&quot;</span>.<span.cl
f3600 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
f3620 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 72 69 6e 67 2e 68 26 67 74 3b 3c line">#include.&lt;string.h&gt;<
f3640 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 /span>.<span.class="line">#inclu
f3660 64 65 20 26 6c 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 de.&lt;stdio.h&gt;</span>.<span.
f3680 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
f36a0 3d 22 6c 69 6e 65 22 3e 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 ="line">int.main(int.argc,.char.
f36c0 2a 2a 61 72 67 76 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 **argv).{</span>.<span.class="li
f36e0 6e 65 22 3e 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 26 71 ne">....const.char.*encoded.=.&q
f3700 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 56 73 uot;YWxsIHlvdXIgYmFzZSBhcmUgYmVs
f3720 62 32 35 6e 49 48 52 76 49 48 56 7a 26 71 75 6f 74 3b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e b25nIHRvIHVz&quot;;</span>.<span
f3740 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 68 61 72 20 62 75 66 5b 32 30 30 5d 3b .class="line">....char.buf[200];
f3760 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
f3780 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 69 7a 65 5f 74 n>.<span.class="line">....size_t
f37a0 20 6c 65 6e 20 3d 20 64 65 63 6f 64 65 5f 62 61 73 65 5f 36 34 28 62 75 66 2c 20 32 30 30 2c 20 .len.=.decode_base_64(buf,.200,.
f37c0 65 6e 63 6f 64 65 64 2c 20 73 74 72 6c 65 6e 28 65 6e 63 6f 64 65 64 29 29 3b 3c 2f 73 70 61 6e encoded,.strlen(encoded));</span
f37e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 75 66 5b 6c 65 6e >.<span.class="line">....buf[len
f3800 5d 20 3d 20 30 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ].=.0;</span>.<span.class="line"
f3820 3e 20 20 20 20 70 75 74 73 28 62 75 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >....puts(buf);</span>.<span.cla
f3840 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
f3860 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ine">....return.0;</span>.<span.
f3880 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 class="line">}</span></code></pr
f38a0 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 63 61 e></figure>.......<figure><figca
f38c0 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
f38e0 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 5f 6f 62 6a 65 63 74 2e 7a 69 67 3c 2f 63 69 74 65 3e s="file">build_object.zig</cite>
f3900 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
f3920 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
f3940 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="
f3960 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
f3980 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
f39a0 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ;</span>);</span>.<span.class="l
f39c0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
f39e0 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>.
f3a00 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>.<
f3a20 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 70 61 6e 3e span.class="tok-fn">build</span>
f3a40 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 22 74 6f 6b (b:.*std.Build).<span.class="tok
f3a60 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -type">void</span>.{</span>.<spa
f3a80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">....<span.class="
f3aa0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 62 6a 20 3d 20 62 2e 61 64 64 tok-kw">const</span>.obj.=.b.add
f3ac0 4f 62 6a 65 63 74 28 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 Object(.{</span>.<span.class="li
f3ae0 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ne">.........name.=.<span.class=
f3b00 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 26 71 75 6f 74 3b 3c 2f 73 70 "tok-str">&quot;base64&quot;</sp
f3b20 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 an>,</span>.<span.class="line">.
f3b40 20 20 20 20 20 20 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 ........root_source_file.=..{..p
f3b60 61 74 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 3e 26 71 75 6f ath.=.<span.class="tok-str">&quo
f3b80 74 3b 62 61 73 65 36 34 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 t;base64.zig&quot;</span>.},</sp
f3ba0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f an>.<span.class="line">....});</
f3bc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
f3be0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
f3c00 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 20 3d 20 ass="tok-kw">const</span>.exe.=.
f3c20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 b.addExecutable(.{</span>.<span.
f3c40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 class="line">.........name.=.<sp
f3c60 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 65 73 74 26 71 75 an.class="tok-str">&quot;test&qu
f3c80 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ot;</span>,</span>.<span.class="
f3ca0 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....});</span>.<span.class
f3cc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c 65 28 3c ="line">....exe.addCSourceFile(<
f3ce0 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 65 73 74 2e span.class="tok-str">&quot;test.
f3d00 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 5b 5d 3c 73 70 61 6e 20 c&quot;</span>,.&amp;[_][]<span.
f3d20 63 6c 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
f3d40 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 3c 73 70 n.class="tok-type">u8</span>{<sp
f3d60 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 2d 73 74 64 3d 63 39 an.class="tok-str">&quot;-std=c9
f3d80 39 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 9&quot;</span>});</span>.<span.c
f3da0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 61 64 64 4f 62 6a 65 63 74 28 6f 62 lass="line">....exe.addObject(ob
f3dc0 6a 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 j);</span>.<span.class="line">..
f3de0 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 6e 20 63 6c ..exe.linkSystemLibrary(<span.cl
f3e00 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 2f 73 70 61 ass="tok-str">&quot;c&quot;</spa
f3e20 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 n>);</span>.<span.class="line">.
f3e40 20 20 20 65 78 65 2e 69 6e 73 74 61 6c 6c 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ...exe.install();</span>.<span.c
f3e60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 lass="line">}</span></code></pre
f3e80 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
f3ea0 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
f3ec0 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
f3ee0 75 69 6c 64 3c 2f 6b 62 64 3e 0a 24 20 3c 6b 62 64 3e 2e 2f 7a 69 67 2d 6f 75 74 2f 62 69 6e 2f uild</kbd>.$.<kbd>./zig-out/bin/
f3f00 74 65 73 74 3c 2f 6b 62 64 3e 0a 61 6c 6c 20 79 6f 75 72 20 62 61 73 65 20 61 72 65 20 62 65 6c test</kbd>.all.your.base.are.bel
f3f20 6f 6e 67 20 74 6f 20 75 73 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e ong.to.us.</samp></pre></figure>
f3f40 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>
f3f60 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 2f 61 3e 3c 2f <a.href="#Targets">Targets</a></
f3f80 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 74 li>.<li><a.href="#Zig-Build-Syst
f3fa0 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 2f em">Zig.Build.System</a></li>.</
f3fc0 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=
f3fe0 22 57 65 62 41 73 73 65 6d 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 65 62 41 "WebAssembly"><a.href="#toc-WebA
f4000 73 73 65 6d 62 6c 79 22 3e 57 65 62 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 ssembly">WebAssembly</a>.<a.clas
f4020 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 65 62 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f s="hdr".href="#WebAssembly">..</
f4040 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 62 a></h2>........<p>Zig.supports.b
f4060 75 69 6c 64 69 6e 67 20 66 6f 72 20 57 65 62 41 73 73 65 6d 62 6c 79 20 6f 75 74 20 6f 66 20 74 uilding.for.WebAssembly.out.of.t
f4080 68 65 20 62 6f 78 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 72 65 65 73 74 he.box.</p>.......<h3.id="Freest
f40a0 61 6e 64 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 72 65 65 73 74 61 6e 64 69 anding"><a.href="#toc-Freestandi
f40c0 6e 67 22 3e 46 72 65 65 73 74 61 6e 64 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ng">Freestanding</a>.<a.class="h
f40e0 64 72 22 20 68 72 65 66 3d 22 23 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c dr".href="#Freestanding">..</a><
f4100 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 68 6f 73 74 20 65 6e 76 69 72 6f 6e 6d /h3>........<p>For.host.environm
f4120 65 6e 74 73 20 6c 69 6b 65 20 74 68 65 20 77 65 62 20 62 72 6f 77 73 65 72 20 61 6e 64 20 6e 6f ents.like.the.web.browser.and.no
f4140 64 65 6a 73 2c 20 62 75 69 6c 64 20 61 73 20 61 20 64 79 6e 61 6d 69 63 20 6c 69 62 72 61 72 79 dejs,.build.as.a.dynamic.library
f4160 20 75 73 69 6e 67 20 74 68 65 20 66 72 65 65 73 74 61 6e 64 69 6e 67 0a 20 20 20 20 20 20 4f 53 .using.the.freestanding.......OS
f4180 20 74 61 72 67 65 74 2e 20 48 65 72 65 27 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 72 75 .target..Here's.an.example.of.ru
f41a0 6e 6e 69 6e 67 20 5a 69 67 20 63 6f 64 65 20 63 6f 6d 70 69 6c 65 64 20 74 6f 20 57 65 62 41 73 nning.Zig.code.compiled.to.WebAs
f41c0 73 65 6d 62 6c 79 20 77 69 74 68 20 6e 6f 64 65 6a 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 sembly.with.nodejs.</p>.......<f
f41e0 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
f4200 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 2e 7a 69 67 3c 2f 63 "><cite.class="file">math.zig</c
f4220 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
f4240 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
f4260 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 3d 22 74 kw">extern</span>.<span.class="t
f4280 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
f42a0 6b 2d 66 6e 22 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 k-fn">print</span>(<span.class="
f42c0 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 73 tok-type">i32</span>).<span.clas
f42e0 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 3c 2f 73 70 61 6e 3e s="tok-type">void</span>;</span>
f4300 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
f4320 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
f4340 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
f4360 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
f4380 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=
f43a0 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.
f43c0 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
f43e0 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>.
f4400 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
f4420 70 72 69 6e 74 28 61 20 2b 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 print(a.+.b);</span>.<span.class
f4440 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 ="line">}</span></code></pre></f
f4460 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=
f4480 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
f44a0 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 6c 69 62 20 6d 61 re><samp>$.<kbd>zig.build-lib.ma
f44c0 74 68 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 66 72 65 65 73 74 61 6e 64 69 th.zig.-target.wasm32-freestandi
f44e0 6e 67 20 2d 64 79 6e 61 6d 69 63 20 2d 72 64 79 6e 61 6d 69 63 3c 2f 6b 62 64 3e 0a 3c 2f 73 61 ng.-dynamic.-rdynamic</kbd>.</sa
f4500 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
f4520 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 6a 61 76 61 73 63 72 69 70 74 2d 63 ><figcaption.class="javascript-c
f4540 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 6a 73 3c 2f ap"><cite.class="file">test.js</
f4560 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
f4580 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6e 73 74 20 66 73 20 3d 20 72 65 71 75 69 an.class="line">const.fs.=.requi
f45a0 72 65 28 27 66 73 27 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 re('fs');</span>.<span.class="li
f45c0 6e 65 22 3e 63 6f 6e 73 74 20 73 6f 75 72 63 65 20 3d 20 66 73 2e 72 65 61 64 46 69 6c 65 53 79 ne">const.source.=.fs.readFileSy
f45e0 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 3c 2f 73 70 nc(&quot;./math.wasm&quot;);</sp
f4600 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6e 73 74 20 74 79 70 an>.<span.class="line">const.typ
f4620 65 64 41 72 72 61 79 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 73 6f 75 72 63 65 29 edArray.=.new.Uint8Array(source)
f4640 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
f4660 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 65 62 41 73 73 65 6d 62 an>.<span.class="line">WebAssemb
f4680 6c 79 2e 69 6e 73 74 61 6e 74 69 61 74 65 28 74 79 70 65 64 41 72 72 61 79 2c 20 7b 3c 2f 73 70 ly.instantiate(typedArray,.{</sp
f46a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 65 6e 76 3a 20 7b 3c an>.<span.class="line">..env:.{<
f46c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 /span>.<span.class="line">....pr
f46e0 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 6c 6f int:.(result).=&gt;.{.console.lo
f4700 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 7d 3c g(`The.result.is.${result}`);.}<
f4720 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 7d 7d 29 2e /span>.<span.class="line">..}}).
f4740 74 68 65 6e 28 72 65 73 75 6c 74 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e then(result.=&gt;.{</span>.<span
f4760 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 6e 73 74 20 61 64 64 20 3d 20 72 65 73 75 .class="line">..const.add.=.resu
f4780 6c 74 2e 69 6e 73 74 61 6e 63 65 2e 65 78 70 6f 72 74 73 2e 61 64 64 3b 3c 2f 73 70 61 6e 3e 0a lt.instance.exports.add;</span>.
f47a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 64 64 28 31 2c 20 32 29 3b 3c <span.class="line">..add(1,.2);<
f47c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 /span>.<span.class="line">});</s
f47e0 70 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 0a 20 20 20 20 20 pan></code></pre></figure>......
f4800 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
f4820 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
f4840 61 6d 70 3e 24 20 3c 6b 62 64 3e 6e 6f 64 65 20 74 65 73 74 2e 6a 73 3c 2f 6b 62 64 3e 0a 54 68 amp>$.<kbd>node.test.js</kbd>.Th
f4860 65 20 72 65 73 75 6c 74 20 69 73 20 33 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 e.result.is.3.</samp></pre></fig
f4880 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 57 41 53 49 22 3e ure>..............<h3.id="WASI">
f48a0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 41 53 49 22 3e 57 41 53 49 3c 2f 61 3e 20 3c 61 20 <a.href="#toc-WASI">WASI</a>.<a.
f48c0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 41 53 49 22 3e c2 a7 3c 2f 61 3e 3c class="hdr".href="#WASI">..</a><
f48e0 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 27 73 20 73 75 70 70 6f 72 74 20 66 6f 72 /h3>........<p>Zig's.support.for
f4900 20 57 65 62 41 73 73 65 6d 62 6c 79 20 53 79 73 74 65 6d 20 49 6e 74 65 72 66 61 63 65 20 28 57 .WebAssembly.System.Interface.(W
f4920 41 53 49 29 20 69 73 20 75 6e 64 65 72 20 61 63 74 69 76 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 ASI).is.under.active.development
f4940 2e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 20 6f 66 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 ........Example.of.using.the.sta
f4960 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 61 6e 64 20 72 65 61 64 69 6e 67 20 63 6f 6d 6d 61 6e ndard.library.and.reading.comman
f4980 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 d.line.arguments:</p>.......<fig
f49a0 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">
f49c0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 61 73 69 5f 61 72 67 73 2e 7a 69 67 <cite.class="file">wasi_args.zig
f49e0 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><
f4a00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
f4a20 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.
f4a40 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
f4a60 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
f4a80 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 td&quot;</span>);</span>.<span.c
f4aa0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
f4ac0 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">pub<
f4ae0 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</
f4b00 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<
f4b20 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"
f4b40 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >void</span>.{</span>.<span.clas
f4b60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 s="line">....<span.class="tok-kw
f4b80 22 3e 76 61 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 ">var</span>.general_purpose_all
f4ba0 6f 63 61 74 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 ocator.=.std.heap.GeneralPurpose
f4bc0 41 6c 6c 6f 63 61 74 6f 72 28 2e 7b 7d 29 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 Allocator(.{}){};</span>.<span.c
f4be0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
f4c00 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 6c 5f -kw">const</span>.gpa.=.general_
f4c20 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 3c 2f purpose_allocator.allocator();</
f4c40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 span>.<span.class="line">....<sp
f4c60 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
f4c80 72 67 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 rgs.=.<span.class="tok-kw">try</
f4ca0 73 70 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 span>.std.process.argsAlloc(gpa)
f4cc0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
f4ce0 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 73 70 61 6e <span.class="tok-kw">defer</span
f4d00 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 61 72 67 73 >.std.process.argsFree(gpa,.args
f4d20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 );</span>.<span.class="line"></s
f4d40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
f4d60 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 61 72 67 n.class="tok-kw">for</span>.(arg
f4d80 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 22 3e 30 3c 2f 73 s,.<span.class="tok-number">0</s
f4da0 70 61 6e 3e 2e 2e 29 20 7c 61 72 67 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan>..).|arg,.i|.{</span>.<span.
f4dc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 class="line">........std.debug.p
f4de0 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
f4e00 3b 7b 7d 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 69 2c 20 61 ;{}:.{s}\n&quot;</span>,..{.i,.a
f4e20 72 67 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 rg.});</span>.<span.class="line"
f4e40 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....}</span>.<span.class="line"
f4e60 3e 7d 3c 2f 73 70 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 >}</span></code></pre></figure><
f4e80 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-
f4ea0 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
f4ec0 70 3e 24 20 3c 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 p>$.<kbd>zig.build-exe.wasi_args
f4ee0 2e 7a 69 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 .zig.-target.wasm32-wasi</kbd>.<
f4f00 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 66 69 67 /samp></pre></figure>.......<fig
f4f20 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
f4f40 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>$
f4f60 20 3c 6b 62 64 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 .<kbd>wasmtime.wasi_args.wasm.12
f4f80 33 20 68 65 6c 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 3.hello</kbd>.0:.wasi_args.wasm.
f4fa0 31 3a 20 31 32 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 1:.123.2:.hello.</samp></pre></f
f4fc0 69 67 75 72 65 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 igure>.......<p>A.more.interesti
f4fe0 6e 67 20 65 78 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 ng.example.would.be.extracting.t
f5000 68 65 20 6c 69 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 he.list.of.preopens.from.the.run
f5020 74 69 6d 65 2e 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 time........This.is.now.supporte
f5040 64 20 69 6e 20 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 d.in.the.standard.library.via.<c
f5060 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 66 73 2e 77 61 ode><span.class="line">std.fs.wa
f5080 73 69 2e 50 72 65 6f 70 65 6e 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 si.PreopenList</span></code>:</p
f50a0 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
f50c0 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 77 s="zig-cap"><cite.class="file">w
f50e0 61 73 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 asi_preopens.zig</cite></figcapt
f5100 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 6c 69 6e 65 ion><pre><code><span.class="line
f5120 22 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 "><span.class="tok-kw">const</sp
f5140 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
f5160 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="
f5180 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>)
f51a0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ;</span>.<span.class="line"><spa
f51c0 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 73 n.class="tok-kw">const</span>.fs
f51e0 20 3d 20 73 74 64 2e 66 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .=.std.fs;</span>.<span.class="l
f5200 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
f5220 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>.
f5240 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>.<
f5260 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>(
f5280 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 69 64 3c 2f ).!<span.class="tok-type">void</
f52a0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
f52c0 22 3e 20 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</
f52e0 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 6f 72 20 span>.general_purpose_allocator.
f5300 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 63 61 74 =.std.heap.GeneralPurposeAllocat
f5320 6f 72 28 2e 7b 7d 29 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c or(.{}){};</span>.<span.class="l
f5340 69 6e 65 22 3e 20 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 ine">....<span.class="tok-kw">co
f5360 6e 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 nst</span>.gpa.=.general_purpose
f5380 5f 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c _allocator.allocator();</span>.<
f53a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
f53c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
f53e0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 65 6e 61 5f 69 6e 73 74 61 6e 63 65 20 k-kw">var</span>.arena_instance.
f5400 3d 20 73 74 64 2e 68 65 61 70 2e 41 72 65 6e 61 41 6c 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 67 =.std.heap.ArenaAllocator.init(g
f5420 70 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pa);</span>.<span.class="line">.
f5440 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 73 ...<span.class="tok-kw">defer</s
f5460 70 61 6e 3e 20 61 72 65 6e 61 5f 69 6e 73 74 61 6e 63 65 2e 64 65 69 6e 69 74 28 29 3b 3c 2f 73 pan>.arena_instance.deinit();</s
f5480 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 pan>.<span.class="line">....<spa
f54a0 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 72 n.class="tok-kw">const</span>.ar
f54c0 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 29 ena.=.arena_instance.allocator()
f54e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
f5500 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e an>.<span.class="line">....<span
f5520 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 65 .class="tok-kw">const</span>.pre
f5540 6f 70 65 6e 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 opens.=.<span.class="tok-kw">try
f5560 3c 2f 73 70 61 6e 3e 20 66 73 2e 77 61 73 69 2e 70 72 65 6f 70 65 6e 73 41 6c 6c 6f 63 28 61 72 </span>.fs.wasi.preopensAlloc(ar
f5580 65 6e 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ena);</span>.<span.class="line">
f55a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
f55c0 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 28 span.class="tok-kw">for</span>.(
f55e0 70 72 65 6f 70 65 6e 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 preopens.names,.<span.class="tok
f5600 2d 6e 75 6d 62 65 72 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 -number">0</span>..).|preopen,.i
f5620 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 |.{</span>.<span.class="line">..
f5640 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 20 63 6c 61 73 ......std.debug.print(<span.clas
f5660 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 26 71 75 6f 74 s="tok-str">&quot;{}:.{s}\n&quot
f5680 3b 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 3c 2f 73 70 61 ;</span>,..{.i,.preopen.});</spa
f56a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 n>.<span.class="line">....}</spa
f56c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f n>.<span.class="line">}</span></
f56e0 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
f5700 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<
f5720 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
f5740 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 67 20 2d 74 g.build-exe.wasi_preopens.zig.-t
f5760 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 3e 3c arget.wasm32-wasi</kbd>.</samp><
f5780 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
f57a0 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
f57c0 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 77 </figcaption><pre><samp>$.<kbd>w
f57e0 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 73 2e 77 61 asmtime.--dir=..wasi_preopens.wa
f5800 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 32 3a 20 73 sm</kbd>.0:.stdin.1:.stdout.2:.s
f5820 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 67 75 72 65 tderr.3:...</samp></pre></figure
f5840 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 54 61 >.....................<h2.id="Ta
f5860 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 22 3e 54 61 rgets"><a.href="#toc-Targets">Ta
f5880 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 66 3d 22 23 rgets</a>.<a.class="hdr".href="#
f58a0 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 3c 70 3e 0a Targets">..</a></h2>........<p>.
f58c0 20 20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 67 65 6e 65 72 61 74 69 6e 67 20 63 6f ......Zig.supports.generating.co
f58e0 64 65 20 66 6f 72 20 61 6c 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 20 4c 4c 56 4d 20 73 75 70 de.for.all.targets.that.LLVM.sup
f5900 70 6f 72 74 73 2e 20 48 65 72 65 20 69 73 0a 20 20 20 20 20 20 77 68 61 74 20 69 74 20 6c 6f 6f ports..Here.is.......what.it.loo
f5920 6b 73 20 6c 69 6b 65 20 74 6f 20 65 78 65 63 75 74 65 20 3c 63 6f 64 65 3e 7a 69 67 20 74 61 72 ks.like.to.execute.<code>zig.tar
f5940 67 65 74 73 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 4c 69 6e 75 78 20 78 38 36 5f 36 34 0a 20 20 gets</code>.on.a.Linux.x86_64...
f5960 20 20 20 20 63 6f 6d 70 75 74 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ....computer:.......</p>.......<
f5980 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-
f59a0 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
f59c0 70 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 61 72 67 65 74 73 3c 2f 6b 62 64 3e 0a 41 72 63 68 69 p>$.<kbd>zig.targets</kbd>.Archi
f59e0 74 65 63 74 75 72 65 73 3a 0a 20 20 61 72 6d 0a 20 20 20 20 76 38 5f 34 61 0a 20 20 20 20 76 38 tectures:...arm.....v8_4a.....v8
f5a00 5f 33 61 0a 20 20 20 20 76 38 5f 32 61 0a 20 20 20 20 76 38 5f 31 61 0a 20 20 20 20 76 38 0a 20 _3a.....v8_2a.....v8_1a.....v8..
f5a20 20 20 20 76 38 72 0a 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 0a 20 20 20 20 76 38 6d 5f ...v8r.....v8m_baseline.....v8m_
f5a40 6d 61 69 6e 6c 69 6e 65 0a 20 20 20 20 76 37 0a 20 20 20 20 76 37 65 6d 0a 20 20 20 20 76 37 6d mainline.....v7.....v7em.....v7m
f5a60 0a 20 20 20 20 76 37 73 0a 20 20 20 20 76 37 6b 0a 20 20 20 20 76 37 76 65 0a 20 20 20 20 76 36 .....v7s.....v7k.....v7ve.....v6
f5a80 0a 20 20 20 20 76 36 6d 0a 20 20 20 20 76 36 6b 0a 20 20 20 20 76 36 74 32 0a 20 20 20 20 76 35 .....v6m.....v6k.....v6t2.....v5
f5aa0 0a 20 20 20 20 76 35 74 65 0a 20 20 20 20 76 34 74 0a 20 20 61 72 6d 65 62 0a 20 20 20 20 76 38 .....v5te.....v4t...armeb.....v8
f5ac0 5f 34 61 0a 20 20 20 20 76 38 5f 33 61 0a 20 20 20 20 76 38 5f 32 61 0a 20 20 20 20 76 38 5f 31 _4a.....v8_3a.....v8_2a.....v8_1
f5ae0 61 0a 20 20 20 20 76 38 0a 20 20 20 20 76 38 72 0a 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e a.....v8.....v8r.....v8m_baselin
f5b00 65 0a 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 0a 20 20 20 20 76 37 0a 20 20 20 20 76 37 e.....v8m_mainline.....v7.....v7
f5b20 65 6d 0a 20 20 20 20 76 37 6d 0a 20 20 20 20 76 37 73 0a 20 20 20 20 76 37 6b 0a 20 20 20 20 76 em.....v7m.....v7s.....v7k.....v
f5b40 37 76 65 0a 20 20 20 20 76 36 0a 20 20 20 20 76 36 6d 0a 20 20 20 20 76 36 6b 0a 20 20 20 20 76 7ve.....v6.....v6m.....v6k.....v
f5b60 36 74 32 0a 20 20 20 20 76 35 0a 20 20 20 20 76 35 74 65 0a 20 20 20 20 76 34 74 0a 20 20 61 61 6t2.....v5.....v5te.....v4t...aa
f5b80 72 63 68 36 34 0a 20 20 20 20 76 38 5f 34 61 0a 20 20 20 20 76 38 5f 33 61 0a 20 20 20 20 76 38 rch64.....v8_4a.....v8_3a.....v8
f5ba0 5f 32 61 0a 20 20 20 20 76 38 5f 31 61 0a 20 20 20 20 76 38 0a 20 20 20 20 76 38 72 0a 20 20 20 _2a.....v8_1a.....v8.....v8r....
f5bc0 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 0a 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 0a 20 .v8m_baseline.....v8m_mainline..
f5be0 20 61 61 72 63 68 36 34 5f 62 65 0a 20 20 20 20 76 38 5f 34 61 0a 20 20 20 20 76 38 5f 33 61 0a .aarch64_be.....v8_4a.....v8_3a.
f5c00 20 20 20 20 76 38 5f 32 61 0a 20 20 20 20 76 38 5f 31 61 0a 20 20 20 20 76 38 0a 20 20 20 20 76 ....v8_2a.....v8_1a.....v8.....v
f5c20 38 72 0a 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 0a 20 20 20 20 76 38 6d 5f 6d 61 69 6e 8r.....v8m_baseline.....v8m_main
f5c40 6c 69 6e 65 0a 20 20 61 76 72 0a 20 20 62 70 66 65 6c 0a 20 20 62 70 66 65 62 0a 20 20 68 65 78 line...avr...bpfel...bpfeb...hex
f5c60 61 67 6f 6e 0a 20 20 6d 69 70 73 0a 20 20 6d 69 70 73 65 6c 0a 20 20 6d 69 70 73 36 34 0a 20 20 agon...mips...mipsel...mips64...
f5c80 6d 69 70 73 36 34 65 6c 0a 20 20 6d 73 70 34 33 30 0a 20 20 70 6f 77 65 72 70 63 0a 20 20 70 6f mips64el...msp430...powerpc...po
f5ca0 77 65 72 70 63 36 34 0a 20 20 70 6f 77 65 72 70 63 36 34 6c 65 0a 20 20 72 36 30 30 0a 20 20 61 werpc64...powerpc64le...r600...a
f5cc0 6d 64 67 63 6e 0a 20 20 72 69 73 63 76 33 32 0a 20 20 72 69 73 63 76 36 34 0a 20 20 73 70 61 72 mdgcn...riscv32...riscv64...spar
f5ce0 63 0a 20 20 73 70 61 72 63 36 34 0a 20 20 73 70 61 72 63 65 6c 0a 20 20 73 33 39 30 78 0a 20 20 c...sparc64...sparcel...s390x...
f5d00 74 68 75 6d 62 0a 20 20 20 20 76 38 5f 34 61 0a 20 20 20 20 76 38 5f 33 61 0a 20 20 20 20 76 38 thumb.....v8_4a.....v8_3a.....v8
f5d20 5f 32 61 0a 20 20 20 20 76 38 5f 31 61 0a 20 20 20 20 76 38 0a 20 20 20 20 76 38 72 0a 20 20 20 _2a.....v8_1a.....v8.....v8r....
f5d40 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 0a 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 0a 20 .v8m_baseline.....v8m_mainline..
f5d60 20 20 20 76 37 0a 20 20 20 20 76 37 65 6d 0a 20 20 20 20 76 37 6d 0a 20 20 20 20 76 37 73 0a 20 ...v7.....v7em.....v7m.....v7s..
f5d80 20 20 20 76 37 6b 0a 20 20 20 20 76 37 76 65 0a 20 20 20 20 76 36 0a 20 20 20 20 76 36 6d 0a 20 ...v7k.....v7ve.....v6.....v6m..
f5da0 20 20 20 76 36 6b 0a 20 20 20 20 76 36 74 32 0a 20 20 20 20 76 35 0a 20 20 20 20 76 35 74 65 0a ...v6k.....v6t2.....v5.....v5te.
f5dc0 20 20 20 20 76 34 74 0a 20 20 74 68 75 6d 62 65 62 0a 20 20 20 20 76 38 5f 34 61 0a 20 20 20 20 ....v4t...thumbeb.....v8_4a.....
f5de0 76 38 5f 33 61 0a 20 20 20 20 76 38 5f 32 61 0a 20 20 20 20 76 38 5f 31 61 0a 20 20 20 20 76 38 v8_3a.....v8_2a.....v8_1a.....v8
f5e00 0a 20 20 20 20 76 38 72 0a 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 0a 20 20 20 20 76 38 .....v8r.....v8m_baseline.....v8
f5e20 6d 5f 6d 61 69 6e 6c 69 6e 65 0a 20 20 20 20 76 37 0a 20 20 20 20 76 37 65 6d 0a 20 20 20 20 76 m_mainline.....v7.....v7em.....v
f5e40 37 6d 0a 20 20 20 20 76 37 73 0a 20 20 20 20 76 37 6b 0a 20 20 20 20 76 37 76 65 0a 20 20 20 20 7m.....v7s.....v7k.....v7ve.....
f5e60 76 36 0a 20 20 20 20 76 36 6d 0a 20 20 20 20 76 36 6b 0a 20 20 20 20 76 36 74 32 0a 20 20 20 20 v6.....v6m.....v6k.....v6t2.....
f5e80 76 35 0a 20 20 20 20 76 35 74 65 0a 20 20 20 20 76 34 74 0a 20 20 78 38 36 0a 20 20 78 38 36 5f v5.....v5te.....v4t...x86...x86_
f5ea0 36 34 20 28 6e 61 74 69 76 65 29 0a 20 20 78 63 6f 72 65 0a 20 20 6e 76 70 74 78 0a 20 20 6e 76 64.(native)...xcore...nvptx...nv
f5ec0 70 74 78 36 34 0a 20 20 6c 61 6e 61 69 0a 20 20 77 61 73 6d 33 32 0a 20 20 77 61 73 6d 36 34 0a ptx64...lanai...wasm32...wasm64.
f5ee0 0a 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d 73 3a 0a 20 20 66 72 65 65 73 74 61 6e 64 69 .Operating.Systems:...freestandi
f5f00 6e 67 0a 20 20 61 6e 61 6e 61 73 0a 20 20 63 6c 6f 75 64 61 62 69 0a 20 20 64 72 61 67 6f 6e 66 ng...ananas...cloudabi...dragonf
f5f20 6c 79 0a 20 20 66 72 65 65 62 73 64 0a 20 20 66 75 63 68 73 69 61 0a 20 20 69 6f 73 0a 20 20 6b ly...freebsd...fuchsia...ios...k
f5f40 66 72 65 65 62 73 64 0a 20 20 6c 69 6e 75 78 20 28 6e 61 74 69 76 65 29 0a 20 20 6c 76 32 0a 20 freebsd...linux.(native)...lv2..
f5f60 20 6d 61 63 6f 73 0a 20 20 6e 65 74 62 73 64 0a 20 20 6f 70 65 6e 62 73 64 0a 20 20 73 6f 6c 61 .macos...netbsd...openbsd...sola
f5f80 72 69 73 0a 20 20 77 69 6e 64 6f 77 73 0a 20 20 68 61 69 6b 75 0a 20 20 6d 69 6e 69 78 0a 20 20 ris...windows...haiku...minix...
f5fa0 72 74 65 6d 73 0a 20 20 6e 61 63 6c 0a 20 20 63 6e 6b 0a 20 20 61 69 78 0a 20 20 63 75 64 61 0a rtems...nacl...cnk...aix...cuda.
f5fc0 20 20 6e 76 63 6c 0a 20 20 61 6d 64 68 73 61 0a 20 20 70 73 34 0a 20 20 65 6c 66 69 61 6d 63 75 ..nvcl...amdhsa...ps4...elfiamcu
f5fe0 0a 20 20 74 76 6f 73 0a 20 20 77 61 73 69 0a 20 20 77 61 74 63 68 6f 73 0a 20 20 6d 65 73 61 33 ...tvos...wasi...watchos...mesa3
f6000 64 0a 20 20 63 6f 6e 74 69 6b 69 0a 20 20 61 6d 64 70 61 6c 0a 20 20 7a 65 6e 0a 20 20 75 65 66 d...contiki...amdpal...zen...uef
f6020 69 0a 0a 43 20 41 42 49 73 3a 0a 20 20 6e 6f 6e 65 0a 20 20 67 6e 75 20 28 6e 61 74 69 76 65 29 i..C.ABIs:...none...gnu.(native)
f6040 0a 20 20 67 6e 75 61 62 69 6e 33 32 0a 20 20 67 6e 75 61 62 69 36 34 0a 20 20 67 6e 75 65 61 62 ...gnuabin32...gnuabi64...gnueab
f6060 69 0a 20 20 67 6e 75 65 61 62 69 68 66 0a 20 20 67 6e 75 78 33 32 0a 20 20 63 6f 64 65 31 36 0a i...gnueabihf...gnux32...code16.
f6080 20 20 65 61 62 69 0a 20 20 65 61 62 69 68 66 0a 20 20 61 6e 64 72 6f 69 64 0a 20 20 6d 75 73 6c ..eabi...eabihf...android...musl
f60a0 0a 20 20 6d 75 73 6c 65 61 62 69 0a 20 20 6d 75 73 6c 65 61 62 69 68 66 0a 20 20 6d 73 76 63 0a ...musleabi...musleabihf...msvc.
f60c0 20 20 69 74 61 6e 69 75 6d 0a 20 20 63 79 67 6e 75 73 0a 20 20 63 6f 72 65 63 6c 72 0a 20 20 73 ..itanium...cygnus...coreclr...s
f60e0 69 6d 75 6c 61 74 6f 72 0a 0a 41 76 61 69 6c 61 62 6c 65 20 6c 69 62 63 73 3a 0a 20 20 61 61 72 imulator..Available.libcs:...aar
f6100 63 68 36 34 5f 62 65 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 61 61 72 63 68 36 34 5f 62 65 2d 6c ch64_be-linux-gnu...aarch64_be-l
f6120 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 61 61 72 63 68 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 inux-musl...aarch64-linux-gnu...
f6140 61 61 72 63 68 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 0a 20 20 61 72 6d 65 62 2d 6c aarch64-linux-musleabi...armeb-l
f6160 69 6e 75 78 2d 67 6e 75 65 61 62 69 0a 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 inux-gnueabi...armeb-linux-gnuea
f6180 62 69 68 66 0a 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 0a 20 20 61 72 bihf...armeb-linux-musleabi...ar
f61a0 6d 65 62 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 68 66 0a 20 20 61 72 6d 2d 6c 69 6e 75 78 meb-linux-musleabihf...arm-linux
f61c0 2d 67 6e 75 65 61 62 69 0a 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 68 66 0a 20 -gnueabi...arm-linux-gnueabihf..
f61e0 20 61 72 6d 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 0a 20 20 61 72 6d 2d 6c 69 6e 75 78 2d .arm-linux-musleabi...arm-linux-
f6200 6d 75 73 6c 65 61 62 69 68 66 0a 20 20 78 38 36 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 78 38 36 musleabihf...x86-linux-gnu...x86
f6220 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 -linux-musl...mips64el-linux-gnu
f6240 61 62 69 36 34 0a 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 6e 33 32 abi64...mips64el-linux-gnuabin32
f6260 0a 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 6d 69 70 73 36 34 2d ...mips64el-linux-musl...mips64-
f6280 6c 69 6e 75 78 2d 67 6e 75 61 62 69 36 34 0a 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 78 2d 67 6e linux-gnuabi64...mips64-linux-gn
f62a0 75 61 62 69 6e 33 32 0a 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 6d 69 uabin32...mips64-linux-musl...mi
f62c0 70 73 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 6d 69 70 73 65 6c 2d 6c 69 6e 75 78 2d 6d 75 psel-linux-gnu...mipsel-linux-mu
f62e0 73 6c 0a 20 20 6d 69 70 73 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 6d 69 70 73 2d 6c 69 6e 75 78 sl...mips-linux-gnu...mips-linux
f6300 2d 6d 75 73 6c 0a 20 20 6e 69 6f 73 32 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 70 6f 77 65 72 70 -musl...nios2-linux-gnu...powerp
f6320 63 36 34 6c 65 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 70 6f 77 65 72 70 63 36 34 6c 65 2d 6c 69 c64le-linux-gnu...powerpc64le-li
f6340 6e 75 78 2d 6d 75 73 6c 0a 20 20 70 6f 77 65 72 70 63 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 nux-musl...powerpc64-linux-gnu..
f6360 20 70 6f 77 65 72 70 63 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 70 6f 77 65 72 70 63 2d .powerpc64-linux-musl...powerpc-
f6380 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 70 6f 77 65 72 70 63 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 linux-gnu...powerpc-linux-musl..
f63a0 20 72 69 73 63 76 33 32 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 72 69 73 63 76 36 34 2d 6c 69 .riscv32-linux-musl...riscv64-li
f63c0 6e 75 78 2d 67 6e 75 0a 20 20 72 69 73 63 76 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 73 nux-gnu...riscv64-linux-musl...s
f63e0 33 39 30 78 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 73 33 39 30 78 2d 6c 69 6e 75 78 2d 6d 75 73 390x-linux-gnu...s390x-linux-mus
f6400 6c 0a 20 20 73 70 61 72 63 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 73 70 61 72 63 36 34 2d 6c 69 l...sparc-linux-gnu...sparc64-li
f6420 6e 75 78 2d 67 6e 75 0a 20 20 77 61 73 6d 33 32 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 2d 6d 75 nux-gnu...wasm32-freestanding-mu
f6440 73 6c 0a 20 20 77 61 73 6d 33 32 2d 77 61 73 69 2d 6d 75 73 6c 0a 20 20 78 38 36 5f 36 34 2d 6c sl...wasm32-wasi-musl...x86_64-l
f6460 69 6e 75 78 2d 67 6e 75 0a 20 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 78 33 32 0a 20 inux-gnu...x86_64-linux-gnux32..
f6480 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e .x86_64-linux-musl.</samp></pre>
f64a0 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 20 5a 69 </figure>.......<p>.......The.Zi
f64c0 67 20 53 74 61 6e 64 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 g.Standard.Library.(<code><span.
f64e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
f6500 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
f6520 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
f6540 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 68 61 73 20 61 72 63 68 69 74 65 63 74 n>)</span></code>).has.architect
f6560 75 72 65 2c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6f 70 65 72 61 74 69 6e 67 20 ure,.environment,.and.operating.
f6580 73 79 73 74 65 6d 0a 20 20 20 20 20 20 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 61 6e 64 20 74 system.......abstractions,.and.t
f65a0 68 75 73 20 74 61 6b 65 73 20 61 64 64 69 74 69 6f 6e 61 6c 20 77 6f 72 6b 20 74 6f 20 73 75 70 hus.takes.additional.work.to.sup
f65c0 70 6f 72 74 20 6d 6f 72 65 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 4e 6f 74 20 61 port.more.platforms........Not.a
f65e0 6c 6c 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 63 6f 64 65 20 72 65 71 75 69 72 65 ll.standard.library.code.require
f6600 73 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 61 62 73 74 72 61 63 74 69 6f 6e 73 2c s.operating.system.abstractions,
f6620 20 68 6f 77 65 76 65 72 2c 0a 20 20 20 20 20 20 73 6f 20 74 68 69 6e 67 73 20 73 75 63 68 20 61 .however,.......so.things.such.a
f6640 73 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 6f 72 6b 20 6f s.generic.data.structures.work.o
f6660 6e 20 61 6c 6c 20 61 62 6f 76 65 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 n.all.above.platforms........</p
f6680 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 6f 66 20 74 >.......<p>The.current.list.of.t
f66a0 61 72 67 65 74 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 5a 69 67 20 53 74 61 6e argets.supported.by.the.Zig.Stan
f66c0 64 61 72 64 20 4c 69 62 72 61 72 79 20 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a dard.Library.is:</p>.......<ul>.
f66e0 20 20 20 20 20 20 3c 6c 69 3e 4c 69 6e 75 78 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 ......<li>Linux.x86_64</li>.....
f6700 20 20 3c 6c 69 3e 57 69 6e 64 6f 77 73 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ..<li>Windows.x86_64</li>.......
f6720 3c 6c 69 3e 6d 61 63 4f 53 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c <li>macOS.x86_64</li>.......</ul
f6740 3e 0a 20 20 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 >..............<h2.id="Style-Gui
f6760 64 65 22 3e 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 de"><a.href="#toc-Style-Guide">S
f6780 74 79 6c 65 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 tyle.Guide</a>.<a.class="hdr".hr
f67a0 65 66 3d 22 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 ef="#Style-Guide">..</a></h2>...
f67c0 20 20 20 20 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 .....<p>.These.coding.convention
f67e0 73 20 61 72 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 s.are.not.enforced.by.the.compil
f6800 65 72 2c 20 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 er,.but.they.are.shipped.in.this
f6820 20 64 6f 63 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 .documentation.along.with.the.co
f6840 6d 70 69 6c 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 mpiler.in.order.to.provide.a.poi
f6860 6e 74 20 6f 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 nt.of.reference,.should.anyone.w
f6880 69 73 68 20 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 ish.to.point.to.an.authority.on.
f68a0 61 67 72 65 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 agreed.upon.Zig.coding.style....
f68c0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 68 69 74 65 73 70 61 63 ....</p>.......<h3.id="Whitespac
f68e0 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 68 69 74 65 73 70 61 63 65 22 3e 57 68 69 e"><a.href="#toc-Whitespace">Whi
f6900 74 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 72 65 66 3d tespace</a>.<a.class="hdr".href=
f6920 22 23 57 68 69 74 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 "#Whitespace">..</a></h3>.......
f6940 20 3c 75 6c 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 34 20 73 .<ul>.........<li>...........4.s
f6960 70 61 63 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 pace.indentation.........</li>..
f6980 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 4f 70 65 6e 20 62 72 61 63 65 .......<li>...........Open.brace
f69a0 73 20 6f 6e 20 73 61 6d 65 20 6c 69 6e 65 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 6e 65 65 64 20 s.on.same.line,.unless.you.need.
f69c0 74 6f 20 77 72 61 70 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 to.wrap..........</li>.........<
f69e0 6c 69 3e 49 66 20 61 20 6c 69 73 74 20 6f 66 20 74 68 69 6e 67 73 20 69 73 20 6c 6f 6e 67 65 72 li>If.a.list.of.things.is.longer
f6a00 20 74 68 61 6e 20 32 2c 20 70 75 74 20 65 61 63 68 20 69 74 65 6d 20 6f 6e 20 69 74 73 20 6f 77 .than.2,.put.each.item.on.its.ow
f6a20 6e 20 6c 69 6e 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 65 78 65 72 63 69 73 65 20 74 68 n.line.and...........exercise.th
f6a40 65 20 61 62 69 6c 69 74 79 20 74 6f 20 70 75 74 20 61 6e 20 65 78 74 72 61 20 63 6f 6d 6d 61 20 e.ability.to.put.an.extra.comma.
f6a60 61 74 20 74 68 65 20 65 6e 64 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 at.the.end..........</li>.......
f6a80 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 4c 69 6e 65 20 6c 65 6e 67 74 68 3a 20 61 69 ..<li>...........Line.length:.ai
f6aa0 6d 20 66 6f 72 20 31 30 30 3b 20 75 73 65 20 63 6f 6d 6d 6f 6e 20 73 65 6e 73 65 2e 0a 20 20 20 m.for.100;.use.common.sense.....
f6ac0 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>..........
f6ae0 20 20 20 20 3c 68 33 20 69 64 3d 22 4e 61 6d 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ....<h3.id="Names"><a.href="#toc
f6b00 2d 4e 61 6d 65 73 22 3e 4e 61 6d 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 -Names">Names</a>.<a.class="hdr"
f6b20 20 68 72 65 66 3d 22 23 4e 61 6d 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 .href="#Names">..</a></h3>......
f6b40 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 6f 75 67 68 6c 79 20 73 70 65 61 6b 69 6e 67 3a 20 3c 63 ..<p>.......Roughly.speaking:.<c
f6b60 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 61 6d 65 6c 43 61 73 65 ode><span.class="line">camelCase
f6b80 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 FunctionName</span></code>,.<cod
f6ba0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 69 74 6c 65 43 61 73 65 54 79 e><span.class="line">TitleCaseTy
f6bc0 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 peName</span></code>,...........
f6be0 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6e 61 ....<code><span.class="line">sna
f6c00 6b 65 5f 63 61 73 65 5f 76 61 72 69 61 62 6c 65 5f 6e 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ke_case_variable_name</span></co
f6c20 64 65 3e 2e 20 4d 6f 72 65 20 70 72 65 63 69 73 65 6c 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a de>..More.precisely:.......</p>.
f6c40 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 20 20 20 20 20 20 ......<ul>.........<li>.........
f6c60 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....If.<code><span.class="line">
f6c80 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e x</span></code>.is.a.<code><span
f6ca0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .class="line"><span.class="tok-t
f6cc0 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 ype">type</span></span></code>..
f6ce0 20 20 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ...........then.<code><span.clas
f6d00 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 s="line">x</span></code>.should.
f6d20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 69 74 6c be.<code><span.class="line">Titl
f6d40 65 43 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 75 6e 6c 65 73 73 20 69 74 0a 20 eCase</span></code>,.unless.it..
f6d60 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
f6d80 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 s="line"><span.class="tok-kw">st
f6da0 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 30 ruct</span></span></code>.with.0
f6dc0 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 20 74 6f 20 62 65 .fields.and.is.never.meant.to.be
f6de0 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 20 69 6e 20 77 68 .instantiated,.............in.wh
f6e00 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 74 6f 20 62 65 20 ich.case.it.is.considered.to.be.
f6e20 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 64 65 3e 3c 73 70 a."namespace".and.uses.<code><sp
f6e40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 73 70 61 6e an.class="line">snake_case</span
f6e60 3e 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 20 20 ></code>..........</li>.........
f6e80 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 <li>.............If.<code><span.
f6ea0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 class="line">x</span></code>.is.
f6ec0 63 61 6c 6c 61 62 6c 65 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d callable,.and.<code><span.class=
f6ee0 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 27 73 20 72 65 74 75 72 6e 20 "line">x</span></code>'s.return.
f6f00 74 79 70 65 20 69 73 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 type.is.............<code><span.
f6f20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 class="line"><span.class="tok-ty
f6f40 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 pe">type</span></span></code>,.t
f6f60 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f hen.<code><span.class="line">x</
f6f80 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 span></code>.should.be.<code><sp
f6fa0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 69 74 6c 65 43 61 73 65 3c 2f 73 70 61 6e 3e an.class="line">TitleCase</span>
f6fc0 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 20 20 3c </code>..........</li>.........<
f6fe0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 li>.............If.<code><span.c
f7000 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6f lass="line">x</span></code>.is.o
f7020 74 68 65 72 77 69 73 65 20 63 61 6c 6c 61 62 6c 65 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 therwise.callable,.then.<code><s
f7040 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">x</span></code>
f7060 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 .should.............be.<code><sp
f7080 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 61 6d 65 6c 43 61 73 65 3c 2f 73 70 61 6e 3e an.class="line">camelCase</span>
f70a0 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 20 20 3c </code>..........</li>.........<
f70c0 6c 69 3e 0a 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 li>.............Otherwise,.<code
f70e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">x</span></co
f7100 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d de>.should.be.<code><span.class=
f7120 22 6c 69 6e 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e "line">snake_case</span></code>.
f7140 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>......
f7160 20 3c 70 3e 0a 20 20 20 20 20 20 41 63 72 6f 6e 79 6d 73 2c 20 69 6e 69 74 69 61 6c 69 73 6d 73 .<p>.......Acronyms,.initialisms
f7180 2c 20 70 72 6f 70 65 72 20 6e 6f 75 6e 73 2c 20 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 77 6f 72 ,.proper.nouns,.or.any.other.wor
f71a0 64 20 74 68 61 74 20 68 61 73 20 63 61 70 69 74 61 6c 69 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 d.that.has.capitalization.......
f71c0 72 75 6c 65 73 20 69 6e 20 77 72 69 74 74 65 6e 20 45 6e 67 6c 69 73 68 20 61 72 65 20 73 75 62 rules.in.written.English.are.sub
f71e0 6a 65 63 74 20 74 6f 20 6e 61 6d 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 6a 75 73 74 20 ject.to.naming.conventions.just.
f7200 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 0a 20 20 20 20 20 20 77 6f 72 64 2e 20 45 76 65 6e 20 like.any.other.......word..Even.
f7220 61 63 72 6f 6e 79 6d 73 20 74 68 61 74 20 61 72 65 20 6f 6e 6c 79 20 32 20 6c 65 74 74 65 72 73 acronyms.that.are.only.2.letters
f7240 20 6c 6f 6e 67 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 73 65 0a 20 20 20 20 20 .long.are.subject.to.these......
f7260 20 63 6f 6e 76 65 6e 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 .conventions........</p>.......<
f7280 70 3e 0a 20 20 20 20 20 20 46 69 6c 65 20 6e 61 6d 65 73 20 66 61 6c 6c 20 69 6e 74 6f 20 74 77 p>.......File.names.fall.into.tw
f72a0 6f 20 63 61 74 65 67 6f 72 69 65 73 3a 20 74 79 70 65 73 20 61 6e 64 20 6e 61 6d 65 73 70 61 63 o.categories:.types.and.namespac
f72c0 65 73 2e 20 49 66 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 28 69 6d 70 6c 69 63 69 74 6c es..If.the.file.......(implicitl
f72e0 79 20 61 20 73 74 72 75 63 74 29 20 68 61 73 20 74 6f 70 20 6c 65 76 65 6c 20 66 69 65 6c 64 73 y.a.struct).has.top.level.fields
f7300 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 6e 61 6d 65 64 20 6c 69 6b 65 20 61 6e 79 0a 20 20 ,.it.should.be.named.like.any...
f7320 20 20 20 20 6f 74 68 65 72 20 73 74 72 75 63 74 20 77 69 74 68 20 66 69 65 6c 64 73 20 75 73 69 ....other.struct.with.fields.usi
f7340 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 54 69 74 6c 65 43 61 73 65 3c ng.<code.class="file">TitleCase<
f7360 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 0a 20 20 20 20 20 20 69 74 20 73 68 6f 75 /code>..Otherwise,.......it.shou
f7380 6c 64 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 6e 61 6b 65 5f ld.use.<code.class="file">snake_
f73a0 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 20 44 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 73 20 73 68 6f case</code>..Directory.names.sho
f73c0 75 6c 64 20 62 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e uld.be.......<code.class="file">
f73e0 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 3c 2f 70 3e 0a 20 20 snake_case</code>........</p>...
f7400 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 61 72 65 20 67 65 6e 65 72 61 6c 20 ....<p>.......These.are.general.
f7420 72 75 6c 65 73 20 6f 66 20 74 68 75 6d 62 3b 20 69 66 20 69 74 20 6d 61 6b 65 73 20 73 65 6e 73 rules.of.thumb;.if.it.makes.sens
f7440 65 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 64 69 66 66 65 72 65 6e 74 2c 0a 20 20 20 e.to.do.something.different,....
f7460 20 20 20 64 6f 20 77 68 61 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 2e 20 46 6f 72 20 65 78 61 6d ...do.what.makes.sense..For.exam
f7480 70 6c 65 2c 20 69 66 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 73 74 61 62 6c 69 73 68 65 64 20 ple,.if.there.is.an.established.
f74a0 63 6f 6e 76 65 6e 74 69 6f 6e 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c convention.such.as.......<code><
f74c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 4e 4f 45 4e 54 3c 2f 73 70 61 6e 3e 3c span.class="line">ENOENT</span><
f74e0 2f 63 6f 64 65 3e 2c 20 66 6f 6c 6c 6f 77 20 74 68 65 20 65 73 74 61 62 6c 69 73 68 65 64 20 63 /code>,.follow.the.established.c
f7500 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 onvention........</p>...........
f7520 20 20 20 3c 68 33 20 69 64 3d 22 45 78 61 6d 70 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ...<h3.id="Examples"><a.href="#t
f7540 6f 63 2d 45 78 61 6d 70 6c 65 73 22 3e 45 78 61 6d 70 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 oc-Examples">Examples</a>.<a.cla
f7560 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 6d 70 6c 65 73 22 3e c2 a7 3c 2f 61 3e ss="hdr".href="#Examples">..</a>
f7580 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
f75a0 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
f75c0 6c 65 22 3e 73 74 79 6c 65 5f 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 le">style_example.zig</cite></fi
f75e0 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=
f7600 22 6c 69 6e 65 22 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 "line"><span.class="tok-kw">cons
f7620 74 3c 2f 73 70 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 t</span>.namespace_name.=.<span.
f7640 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
f7660 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 64 n>(<span.class="tok-str">&quot;d
f7680 69 72 5f 6e 61 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 ir_name/file_name.zig&quot;</spa
f76a0 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c n>);</span>.<span.class="line"><
f76c0 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>
f76e0 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 69 .TypeName.=.<span.class="tok-bui
f7700 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
f7720 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 61 ="tok-str">&quot;dir_name/TypeNa
f7740 6d 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 me.zig&quot;</span>);</span>.<sp
f7760 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
f7780 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 72 3a 20 3c 73 70 61 -kw">var</span>.global_var:.<spa
f77a0 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 20 n.class="tok-type">i32</span>.=.
f77c0 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 64 <span.class="tok-null">undefined
f77e0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
f7800 65 22 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 e"><span.class="tok-kw">const</s
f7820 70 61 6e 3e 20 63 6f 6e 73 74 5f 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>.const_name.=.<span.class="t
f7840 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-number">42</span>;</span>.<sp
f7860 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
f7880 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 69 74 69 76 65 5f 74 79 70 65 -kw">const</span>.primitive_type
f78a0 5f 61 6c 69 61 73 20 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 _alias.=.<span.class="tok-type">
f78c0 66 33 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 f32</span>;</span>.<span.class="
f78e0 6c 69 6e 65 22 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 line"><span.class="tok-kw">const
f7900 3c 2f 73 70 61 6e 3e 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 </span>.string_alias.=.[]<span.c
f7920 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 3b 3c 2f 73 70 61 6e lass="tok-type">u8</span>;</span
f7940 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
f7960 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
f7980 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 65 20 3d 20 3c -kw">const</span>.StructName.=.<
f79a0 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 6e span.class="tok-kw">struct</span
f79c0 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 >.{</span>.<span.class="line">..
f79e0 20 20 66 69 65 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 3e ..field:.<span.class="tok-type">
f7a00 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 i32</span>,</span>.<span.class="
f7a20 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e line">};</span>.<span.class="lin
f7a40 65 22 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 e"><span.class="tok-kw">const</s
f7a60 70 61 6e 3e 20 53 74 72 75 63 74 41 6c 69 61 73 20 3d 20 53 74 72 75 63 74 4e 61 6d 65 3b 3c 2f pan>.StructAlias.=.StructName;</
f7a80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
f7aa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
f7ac0 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="
f7ae0 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 61 72 61 tok-fn">functionName</span>(para
f7b00 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 3d 22 74 m_name:.TypeName).<span.class="t
f7b20 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">void</span>.{</span>.<s
f7b40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
f7b60 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 74 69 6f 6e 50 6f 69 ="tok-kw">var</span>.functionPoi
f7b80 6e 74 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nter.=.functionName;</span>.<spa
f7ba0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 n.class="line">....functionPoint
f7bc0 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e er();</span>.<span.class="line">
f7be0 20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 6f 74 68 65 72 46 75 6e 63 74 ....functionPointer.=.otherFunct
f7c00 69 6f 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ion;</span>.<span.class="line">.
f7c20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ...functionPointer();</span>.<sp
f7c40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an.class="line">}</span>.<span.c
f7c60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
f7c80 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 61 73 20 3d 20 66 75 >const</span>.functionAlias.=.fu
f7ca0 6e 63 74 69 6f 6e 4e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nctionName;</span>.<span.class="
f7cc0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
f7ce0 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 2f 73 70 61 6e 3e 20 ><span.class="tok-kw">fn</span>.
f7d00 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 54 65 6d 70 6c 61 74 <span.class="tok-fn">ListTemplat
f7d20 65 46 75 6e 63 74 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 eFunction</span>(<span.class="to
f7d40 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 43 68 69 6c 64 54 79 70 65 3a k-kw">comptime</span>.ChildType:
f7d60 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
f7d80 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 6d 70 74 69 an>,.<span.class="tok-kw">compti
f7da0 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 78 65 64 5f 73 69 7a 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 me</span>.fixed_size:.<span.clas
f7dc0 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 20 3c 73 70 61 6e s="tok-type">usize</span>).<span
f7de0 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 20 7b 3c .class="tok-type">type</span>.{<
f7e00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
f7e20 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>
f7e40 20 4c 69 73 74 28 43 68 69 6c 64 54 79 70 65 2c 20 66 69 78 65 64 5f 73 69 7a 65 29 3b 3c 2f 73 .List(ChildType,.fixed_size);</s
f7e60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e pan>.<span.class="line">}</span>
f7e80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
f7ea0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
f7ec0 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
f7ee0 6e 22 3e 53 68 6f 72 74 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d n">ShortList</span>(<span.class=
f7f00 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
f7f20 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>,.
f7f40 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
f7f60 70 61 6e 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 pan>.n:.<span.class="tok-type">u
f7f80 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 79 size</span>).<span.class="tok-ty
f7fa0 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pe">type</span>.{</span>.<span.c
f7fc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b lass="line">....<span.class="tok
f7fe0 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="
f8000 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-kw">struct</span>.{</span>.<
f8020 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 69 65 6c 64 5f span.class="line">........field_
f8040 6e 61 6d 65 3a 20 5b 6e 5d 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 name:.[n]T,</span>.<span.class="
f8060 6c 69 6e 65 22 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 6b line">........<span.class="tok-k
f8080 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
f80a0 22 3e 6d 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 ">methodName</span>().<span.clas
f80c0 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 73 70 61 s="tok-type">void</span>.{}</spa
f80e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 n>.<span.class="line">....};</sp
f8100 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 6e 3e 0a an>.<span.class="line">}</span>.
f8120 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
f8140 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 .class="line"><span.class="tok-c
f8160 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 77 6f 72 64 20 58 4d 4c 20 6c 6f 73 65 73 20 69 74 omment">//.The.word.XML.loses.it
f8180 73 20 63 61 73 69 6e 67 20 77 68 65 6e 20 75 73 65 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 s.casing.when.used.in.Zig.identi
f81a0 66 69 65 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 fiers.</span></span>.<span.class
f81c0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">con
f81e0 73 74 3c 2f 73 70 61 6e 3e 20 78 6d 6c 5f 64 6f 63 75 6d 65 6e 74 20 3d 3c 2f 73 70 61 6e 3e 0a st</span>.xml_document.=</span>.
f8200 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 <span.class="line">....<span.cla
f8220 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 3d ss="tok-str">\\&lt;?xml.version=
f8240 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 55 &quot;1.0&quot;.encoding=&quot;U
f8260 54 46 2d 38 26 71 75 6f 74 3b 3f 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 TF-8&quot;?&gt;</span></span>.<s
f8280 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 pan.class="line">....<span.class
f82a0 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 26 67 74 3b 3c 2f 73 ="tok-str">\\&lt;document&gt;</s
f82c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 pan></span>.<span.class="line">.
f82e0 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 26 6c 74 3b 2f ...<span.class="tok-str">\\&lt;/
f8300 64 6f 63 75 6d 65 6e 74 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e document&gt;</span></span>.<span
f8320 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .class="line">;</span>.<span.cla
f8340 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
f8360 6f 6e 73 74 3c 2f 73 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 onst</span>.XmlParser.=.<span.cl
f8380 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 3c 2f 73 70 ass="tok-kw">struct</span>.{</sp
f83a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 an>.<span.class="line">....field
f83c0 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
f83e0 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d an>,</span>.<span.class="line">}
f8400 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ;</span>.<span.class="line"></sp
f8420 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
f8440 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 69 6e 69 74 69 61 6c 73 ss="tok-comment">//.The.initials
f8460 20 42 45 20 28 42 69 67 20 45 6e 64 69 61 6e 29 20 61 72 65 20 6a 75 73 74 20 61 6e 6f 74 68 65 .BE.(Big.Endian).are.just.anothe
f8480 72 20 77 6f 72 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 73 2e 3c r.word.in.Zig.identifier.names.<
f84a0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 /span></span>.<span.class="line"
f84c0 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 2f 73 70 61 6e 3e 20 ><span.class="tok-kw">fn</span>.
f84e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 61 64 55 33 32 42 65 3c 2f <span.class="tok-fn">readU32Be</
f8500 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 75 span>().<span.class="tok-type">u
f8520 33 32 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 32</span>.{}</span></code></pre>
f8540 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 53 65 65 20 74 68 </figure>.......<p>.......See.th
f8560 65 20 3c 61 20 68 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 e.<a.href="#Zig-Standard-Library
f8580 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 20 66 6f 72 20 6d ">Zig.Standard.Library</a>.for.m
f85a0 6f 72 65 20 65 78 61 6d 70 6c 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a ore.examples........</p>........
f85c0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e ......<h3.id="Doc-Comment-Guidan
f85e0 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 ce"><a.href="#toc-Doc-Comment-Gu
f8600 69 64 61 6e 63 65 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 20 47 75 69 64 61 6e 63 65 3c 2f 61 3e idance">Doc.Comment.Guidance</a>
f8620 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 2d 43 6f 6d 6d 65 .<a.class="hdr".href="#Doc-Comme
f8640 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 nt-Guidance">..</a></h3>........
f8660 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6d 69 74 20 61 6e 79 20 69 6e 66 6f 72 6d <ul>.........<li>Omit.any.inform
f8680 61 74 69 6f 6e 20 74 68 61 74 20 69 73 20 72 65 64 75 6e 64 61 6e 74 20 62 61 73 65 64 20 6f 6e ation.that.is.redundant.based.on
f86a0 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 68 69 6e 67 20 62 65 69 6e 67 20 64 6f 63 .the.name.of.the.thing.being.doc
f86c0 75 6d 65 6e 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 75 70 6c 69 63 umented.</li>.........<li>Duplic
f86e0 61 74 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 74 6f 20 6d 75 6c 74 69 70 6c 65 20 ating.information.onto.multiple.
f8700 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 73 20 69 73 20 65 6e 63 6f 75 72 61 67 65 64 20 similar.functions.is.encouraged.
f8720 62 65 63 61 75 73 65 20 69 74 20 68 65 6c 70 73 20 49 44 45 73 20 61 6e 64 20 6f 74 68 65 72 20 because.it.helps.IDEs.and.other.
f8740 74 6f 6f 6c 73 20 70 72 6f 76 69 64 65 20 62 65 74 74 65 72 20 68 65 6c 70 20 74 65 78 74 2e 3c tools.provide.better.help.text.<
f8760 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 77 6f 72 64 20 3c 73 /li>.........<li>Use.the.word.<s
f8780 74 72 6f 6e 67 3e 61 73 73 75 6d 65 3c 2f 73 74 72 6f 6e 67 3e 20 74 6f 20 69 6e 64 69 63 61 74 trong>assume</strong>.to.indicat
f87a0 65 20 69 6e 76 61 72 69 61 6e 74 73 20 74 68 61 74 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d e.invariants.that.cause.<a.href=
f87c0 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.
f87e0 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 2f 6c 69 3e Behavior</a>.when.violated.</li>
f8800 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 77 6f 72 64 20 3c 73 74 72 6f 6e .........<li>Use.the.word.<stron
f8820 67 3e 61 73 73 65 72 74 3c 2f 73 74 72 6f 6e 67 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 69 6e g>assert</strong>.to.indicate.in
f8840 76 61 72 69 61 6e 74 73 20 74 68 61 74 20 63 61 75 73 65 20 3c 65 6d 3e 73 61 66 65 74 79 2d 63 variants.that.cause.<em>safety-c
f8860 68 65 63 6b 65 64 3c 2f 65 6d 3e 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d hecked</em>.<a.href="#Undefined-
f8880 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 2f 61 3e Behavior">Undefined.Behavior</a>
f88a0 20 77 68 65 6e 20 76 69 6f 6c 61 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e .when.violated.</li>.......</ul>
f88c0 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 53 6f 75 .....................<h2.id="Sou
f88e0 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 6f 75 72 rce-Encoding"><a.href="#toc-Sour
f8900 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>
f8920 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e .<a.class="hdr".href="#Source-En
f8940 63 6f 64 69 6e 67 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 coding">..</a></h2>........<p>Zi
f8960 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 6e 63 6f 64 65 64 20 69 6e 20 55 54 46 2d g.source.code.is.encoded.in.UTF-
f8980 38 2e 20 41 6e 20 69 6e 76 61 6c 69 64 20 55 54 46 2d 38 20 62 79 74 65 20 73 65 71 75 65 6e 63 8..An.invalid.UTF-8.byte.sequenc
f89a0 65 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 2f 70 e.results.in.a.compile.error.</p
f89c0 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 72 6f 75 67 68 6f 75 74 20 61 6c 6c 20 7a 69 67 20 73 6f >.......<p>Throughout.all.zig.so
f89e0 75 72 63 65 20 63 6f 64 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 69 6e 20 63 6f 6d 6d 65 6e 74 73 urce.code.(including.in.comments
f8a00 29 2c 20 73 6f 6d 65 20 63 6f 64 65 20 70 6f 69 6e 74 73 20 61 72 65 20 6e 65 76 65 72 20 61 6c ),.some.code.points.are.never.al
f8a20 6c 6f 77 65 64 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 lowed:</p>.......<ul>.........<l
f8a40 69 3e 41 73 63 69 69 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 73 2c 20 65 78 63 65 i>Ascii.control.characters,.exce
f8a60 70 74 20 66 6f 72 20 55 2b 30 30 30 61 20 28 4c 46 29 2c 20 55 2b 30 30 30 64 20 28 43 52 29 2c pt.for.U+000a.(LF),.U+000d.(CR),
f8a80 20 61 6e 64 20 55 2b 30 30 30 39 20 28 48 54 29 3a 20 55 2b 30 30 30 30 20 2d 20 55 2b 30 30 30 .and.U+0009.(HT):.U+0000.-.U+000
f8aa0 38 2c 20 55 2b 30 30 30 62 20 2d 20 55 2b 30 30 30 63 2c 20 55 2b 30 30 30 65 20 2d 20 55 2b 30 8,.U+000b.-.U+000c,.U+000e.-.U+0
f8ac0 30 30 31 66 2c 20 55 2b 30 30 37 66 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4e 001f,.U+007f.</li>.........<li>N
f8ae0 6f 6e 2d 41 73 63 69 69 20 55 6e 69 63 6f 64 65 20 6c 69 6e 65 20 65 6e 64 69 6e 67 73 3a 20 55 on-Ascii.Unicode.line.endings:.U
f8b00 2b 30 30 38 35 20 28 4e 45 4c 29 2c 20 55 2b 32 30 32 38 20 28 4c 53 29 2c 20 55 2b 32 30 32 39 +0085.(NEL),.U+2028.(LS),.U+2029
f8b20 20 28 50 53 29 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 .(PS).</li>.......</ul>.......<p
f8b40 3e 0a 20 20 20 20 20 20 4c 46 20 28 62 79 74 65 20 76 61 6c 75 65 20 30 78 30 61 2c 20 63 6f 64 >.......LF.(byte.value.0x0a,.cod
f8b60 65 20 70 6f 69 6e 74 20 55 2b 30 30 30 61 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 e.point.U+000a,.<code><span.clas
f8b80 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 s="line"><span.class="tok-str">'
f8ba0 5c 6e 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 73 20 74 68 65 \n'</span></span></code>).is.the
f8bc0 20 6c 69 6e 65 20 74 65 72 6d 69 6e 61 74 6f 72 20 69 6e 20 5a 69 67 20 73 6f 75 72 63 65 20 63 .line.terminator.in.Zig.source.c
f8be0 6f 64 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 62 79 74 65 20 76 61 6c 75 65 20 74 65 72 6d 69 ode........This.byte.value.termi
f8c00 6e 61 74 65 73 20 65 76 65 72 79 20 6c 69 6e 65 20 6f 66 20 7a 69 67 20 73 6f 75 72 63 65 20 63 nates.every.line.of.zig.source.c
f8c20 6f 64 65 20 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 ode.except.the.last.line.of.the.
f8c40 66 69 6c 65 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 file........It.is.recommended.th
f8c60 61 74 20 6e 6f 6e 2d 65 6d 70 74 79 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 65 6e 64 20 77 69 at.non-empty.source.files.end.wi
f8c80 74 68 20 61 6e 20 65 6d 70 74 79 20 6c 69 6e 65 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 th.an.empty.line,.which.means.th
f8ca0 65 20 6c 61 73 74 20 62 79 74 65 20 77 6f 75 6c 64 20 62 65 20 30 78 30 61 20 28 4c 46 29 2e 0a e.last.byte.would.be.0x0a.(LF)..
f8cc0 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 45 61 63 68 20 ......</p>.......<p>.......Each.
f8ce0 4c 46 20 6d 61 79 20 62 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 70 72 65 63 65 64 65 64 20 62 LF.may.be.immediately.preceded.b
f8d00 79 20 61 20 73 69 6e 67 6c 65 20 43 52 20 28 62 79 74 65 20 76 61 6c 75 65 20 30 78 30 64 2c 20 y.a.single.CR.(byte.value.0x0d,.
f8d20 63 6f 64 65 20 70 6f 69 6e 74 20 55 2b 30 30 30 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 code.point.U+000d,.<code><span.c
f8d40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 lass="line"><span.class="tok-str
f8d60 22 3e 27 5c 72 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 ">'\r'</span></span></code>)....
f8d80 20 20 20 74 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 ...to.form.a.Windows.style.line.
f8da0 65 6e 64 69 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 ending,.but.this.is.discouraged.
f8dc0 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 6d 75 6c 69 74 6c 69 6e 65 20 73 74 72 69 6e 67 73 2c .Note.that.in.mulitline.strings,
f8de0 20 43 52 4c 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 .CRLF.sequences.will.......be.en
f8e00 63 6f 64 65 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 coded.as.LF.when.compiled.into.a
f8e20 20 7a 69 67 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 .zig.program........A.CR.in.any.
f8e40 6f 74 68 65 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 other.context.is.not.allowed....
f8e60 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 54 20 68 61 72 64 ....</p>.......<p>.......HT.hard
f8e80 20 74 61 62 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 .tabs.(byte.value.0x09,.code.poi
f8ea0 6e 74 20 55 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 6c 69 nt.U+0009,.<code><span.class="li
f8ec0 6e 65 22 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 74 27 3c 2f ne"><span.class="tok-str">'\t'</
f8ee0 73 70 61 6e 3e 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 63 68 span></span></code>).are.interch
f8f00 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 28 62 angeable.with.......SP.spaces.(b
f8f20 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 30 32 yte.value.0x20,.code.point.U+002
f8f40 30 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 0,.<code><span.class="line"><spa
f8f60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 20 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 n.class="tok-str">'.'</span></sp
f8f80 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 73 20 61 20 74 6f 6b 65 6e 20 73 65 70 61 72 61 74 6f 72 an></code>).as.a.token.separator
f8fa0 2c 0a 20 20 20 20 20 20 62 75 74 20 75 73 65 20 6f 66 20 68 61 72 64 20 74 61 62 73 20 69 73 20 ,.......but.use.of.hard.tabs.is.
f8fc0 64 69 73 63 6f 75 72 61 67 65 64 2e 20 53 65 65 20 3c 61 20 68 72 65 66 3d 22 23 47 72 61 6d 6d discouraged..See.<a.href="#Gramm
f8fe0 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ar">Grammar</a>........</p>.....
f9000 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 ..<p>.......For.compatibility.wi
f9020 74 68 20 6f 74 68 65 72 20 74 6f 6f 6c 73 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 67 6e th.other.tools,.the.compiler.ign
f9040 6f 72 65 73 20 61 20 55 54 46 2d 38 2d 65 6e 63 6f 64 65 64 20 62 79 74 65 20 6f 72 64 65 72 20 ores.a.UTF-8-encoded.byte.order.
f9060 6d 61 72 6b 20 28 55 2b 46 45 46 46 29 0a 20 20 20 20 20 20 69 66 20 69 74 20 69 73 20 74 68 65 mark.(U+FEFF).......if.it.is.the
f9080 20 66 69 72 73 74 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 .first.Unicode.code.point.in.the
f90a0 20 73 6f 75 72 63 65 20 74 65 78 74 2e 20 41 20 62 79 74 65 20 6f 72 64 65 72 20 6d 61 72 6b 20 .source.text..A.byte.order.mark.
f90c0 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 61 6e 79 77 68 65 72 65 20 65 6c 73 65 20 69 6e 20 is.not.allowed.anywhere.else.in.
f90e0 74 68 65 20 73 6f 75 72 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e the.source........</p>.......<p>
f9100 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 72 75 6e 6e 69 6e 67 20 3c 6b 62 64 3e 7a 69 .......Note.that.running.<kbd>zi
f9120 67 20 66 6d 74 3c 2f 6b 62 64 3e 20 6f 6e 20 61 20 73 6f 75 72 63 65 20 66 69 6c 65 20 77 69 6c g.fmt</kbd>.on.a.source.file.wil
f9140 6c 20 69 6d 70 6c 65 6d 65 6e 74 20 61 6c 6c 20 72 65 63 6f 6d 6d 65 6e 64 61 74 69 6f 6e 73 20 l.implement.all.recommendations.
f9160 6d 65 6e 74 69 6f 6e 65 64 20 68 65 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 mentioned.here........</p>......
f9180 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 61 20 74 6f 6f 6c 20 72 65 61 64 .<p>.......Note.that.a.tool.read
f91a0 69 6e 67 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 61 6e 20 6d 61 6b 65 20 61 73 73 ing.Zig.source.code.can.make.ass
f91c0 75 6d 70 74 69 6f 6e 73 20 69 66 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 61 umptions.if.the.source.code.is.a
f91e0 73 73 75 6d 65 64 20 74 6f 20 62 65 20 63 6f 72 72 65 63 74 20 5a 69 67 20 63 6f 64 65 2e 0a 20 ssumed.to.be.correct.Zig.code...
f9200 20 20 20 20 20 46 6f 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 .....For.example,.when.identifyi
f9220 6e 67 20 74 68 65 20 65 6e 64 73 20 6f 66 20 6c 69 6e 65 73 2c 20 61 20 74 6f 6f 6c 20 63 61 6e ng.the.ends.of.lines,.a.tool.can
f9240 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 20 3c 63 6f 64 .use.a.naive.search.such.as.<cod
f9260 65 3e 2f 5c 6e 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 6f 72 20 61 6e 20 3c 61 20 68 72 e>/\n/</code>,.......or.an.<a.hr
f9280 65 66 3d 22 68 74 74 70 73 3a 2f 2f 6d 73 64 6e 2e 6d 69 63 72 6f 73 6f 66 74 2e 63 6f 6d 2f 65 ef="https://msdn.microsoft.com/e
f92a0 6e 2d 75 73 2f 6c 69 62 72 61 72 79 2f 64 64 34 30 39 37 39 37 2e 61 73 70 78 22 3e 61 64 76 61 n-us/library/dd409797.aspx">adva
f92c0 6e 63 65 64 3c 2f 61 3e 0a 20 20 20 20 20 20 73 65 61 72 63 68 20 73 75 63 68 20 61 73 20 3c 63 nced</a>.......search.such.as.<c
f92e0 6f 64 65 3e 2f 5c 72 5c 6e 3f 7c 5b 5c 6e 5c 75 30 30 38 35 5c 75 32 30 32 38 5c 75 32 30 32 39 ode>/\r\n?|[\n\u0085\u2028\u2029
f9300 5d 2f 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 69 6e 20 65 69 74 68 65 72 20 63 61 73 65 20 6c 69 ]/</code>,.and.in.either.case.li
f9320 6e 65 20 65 6e 64 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 63 6f 72 72 65 63 74 6c 79 20 69 64 65 ne.endings.will.be.correctly.ide
f9340 6e 74 69 66 69 65 64 2e 0a 20 20 20 20 20 20 46 6f 72 20 61 6e 6f 74 68 65 72 20 65 78 61 6d 70 ntified........For.another.examp
f9360 6c 65 2c 20 77 68 65 6e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 77 68 69 74 65 73 70 le,.when.identifying.the.whitesp
f9380 61 63 65 20 62 65 66 6f 72 65 20 74 68 65 20 66 69 72 73 74 20 74 6f 6b 65 6e 20 6f 6e 20 61 20 ace.before.the.first.token.on.a.
f93a0 6c 69 6e 65 2c 0a 20 20 20 20 20 20 61 20 74 6f 6f 6c 20 63 61 6e 20 65 69 74 68 65 72 20 75 73 line,.......a.tool.can.either.us
f93c0 65 20 61 20 6e 61 69 76 65 20 73 65 61 72 63 68 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 2f e.a.naive.search.such.as.<code>/
f93e0 5b 20 5c 74 5d 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 6f 72 20 61 6e 20 3c 61 20 68 72 [.\t]/</code>,.......or.an.<a.hr
f9400 65 66 3d 22 68 74 74 70 73 3a 2f 2f 74 63 33 39 2e 65 73 2f 65 63 6d 61 32 36 32 2f 23 73 65 63 ef="https://tc39.es/ecma262/#sec
f9420 2d 63 68 61 72 61 63 74 65 72 63 6c 61 73 73 65 73 63 61 70 65 22 3e 61 64 76 61 6e 63 65 64 3c -characterclassescape">advanced<
f9440 2f 61 3e 20 73 65 61 72 63 68 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 2f 5c 73 2f 3c 2f 63 /a>.search.such.as.<code>/\s/</c
f9460 6f 64 65 3e 2c 0a 20 20 20 20 20 20 61 6e 64 20 69 6e 20 65 69 74 68 65 72 20 63 61 73 65 20 77 ode>,.......and.in.either.case.w
f9480 68 69 74 65 73 70 61 63 65 20 77 69 6c 6c 20 62 65 20 63 6f 72 72 65 63 74 6c 79 20 69 64 65 6e hitespace.will.be.correctly.iden
f94a0 74 69 66 69 65 64 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 tified........</p>..............
f94c0 20 3c 68 32 20 69 64 3d 22 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 3c 61 20 68 .<h2.id="Keyword-Reference"><a.h
f94e0 72 65 66 3d 22 23 74 6f 63 2d 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 4b 65 79 ref="#toc-Keyword-Reference">Key
f9500 77 6f 72 64 20 52 65 66 65 72 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 word.Reference</a>.<a.class="hdr
f9520 22 20 68 72 65 66 3d 22 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e c2 a7 3c 2f ".href="#Keyword-Reference">..</
f9540 61 3e 3c 2f 68 32 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 65 a></h2>........<div.class="table
f9560 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 20 -wrapper">.......<table>........
f9580 20 3c 63 61 70 74 69 6f 6e 3e 4b 65 79 77 6f 72 64 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 .<caption>Keywords</caption>....
f95a0 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 20 20 20 .....<thead>.........<tr>.......
f95c0 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 2f 74 68 3e ....<th.scope="col">Keyword</th>
f95e0 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 65 73 63 72 ...........<th.scope="col">Descr
f9600 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 20 iption</th>.........</tr>.......
f9620 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 20 ..</thead>.........<tbody>......
f9640 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
f9660 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.
f9680 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
f96a0 22 3e 61 64 64 72 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ">addrspace</span></span></code>
f96c0 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>..........
f96e0 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 61 .<td>.............The.<code><spa
f9700 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
f9720 6b 77 22 3e 61 64 64 72 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 kw">addrspace</span></span></cod
f9740 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 3e 0a 20 20 20 e>.keyword..............<ul>....
f9760 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 75 6d 65 6e 74 ...........<li>TODO.add.document
f9780 61 74 69 6f 6e 20 66 6f 72 20 61 64 64 72 73 70 61 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ation.for.addrspace</li>........
f97a0 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>......
f97c0 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>...........
f97e0 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 72 <th.scope="row">.............<pr
f9800 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
f9820 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 3c 2f 73 70 .class="tok-kw">align</span></sp
f9840 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>
f9860 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
f9880 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
f98a0 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-kw">align</span></span></c
f98c0 6f 64 65 3e 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 ode>.can.be.used.to.specify.the.
f98e0 61 6c 69 67 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 alignment.of.a.pointer..........
f9900 20 20 20 20 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 ....It.can.also.be.used.after.a.
f9920 76 61 72 69 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 variable.or.function.declaration
f9940 20 74 6f 20 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 .to.specify.the.alignment.of.poi
f9960 6e 74 65 72 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 nters.to.that.variable.or.functi
f9980 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>............
f99a0 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 6c 69 67 6e 6d ...<li>See.also.<a.href="#Alignm
f99c0 65 6e 74 22 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 ent">Alignment</a></li>.........
f99e0 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>.......
f9a00 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>...........<
f9a20 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
f9a40 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
f9a60 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><
f9a80 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>...........</
f9aa0 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
f9ac0 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 61 6e he.pointer.attribute.<code><span
f9ae0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
f9b00 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 w">allowzero</span></span></code
f9b20 3e 20 61 6c 6c 6f 77 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 68 61 76 65 20 61 64 64 72 65 >.allows.a.pointer.to.have.addre
f9b40 73 73 20 7a 65 72 6f 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 ss.zero..............<ul>.......
f9b60 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 61 ........<li>See.also.<a.href="#a
f9b80 6c 6c 6f 77 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 llowzero">allowzero</a></li>....
f9ba0 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>..
f9bc0 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>.......
f9be0 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">............
f9c00 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 6c 69 6e 65 22 3e 3c .<pre><code><span.class="line"><
f9c20 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 6e 3e 3c 2f span.class="tok-kw">and</span></
f9c40 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 74 span></code></pre>...........</t
f9c60 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 68 h>...........<td>.............Th
f9c80 65 20 62 6f 6f 6c 65 61 6e 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 e.boolean.operator.<code><span.c
f9ca0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
f9cc0 3e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 >and</span></span></code>.......
f9ce0 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 65 .......<ul>...............<li>Se
f9d00 65 20 61 6c 73 6f 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 e.also.<a.href="#Operators">Oper
f9d20 61 74 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 3e ators</a></li>.............</ul>
f9d40 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>..
f9d60 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=
f9d80 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
f9da0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
f9dc0 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-kw">anyframe</span></span></co
f9de0 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>.......
f9e00 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
f9e20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
f9e40 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e w">anyframe</span></span></code>
f9e60 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
f9e80 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
f9ea0 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>...
f9ec0 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
f9ee0 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
f9f00 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>..
f9f20 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>....
f9f40 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
f9f60 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
f9f80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n.class="line"><span.class="tok-
f9fa0 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e kw">anytype</span></span></code>
f9fc0 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>..........
f9fe0 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 20 70 61 72 61 6d .<td>.............Function.param
fa000 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 20 3c 63 6f 64 65 eters.can.be.declared.with.<code
fa020 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
fa040 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 73 70 61 6e 3e 3c 2f "tok-kw">anytype</span></span></
fa060 63 6f 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 code>.in.place.of.the.type......
fa080 20 20 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 77 69 6c 6c 20 62 65 20 69 6e 66 65 72 72 65 ........The.type.will.be.inferre
fa0a0 64 20 77 68 65 72 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 2e 0a d.where.the.function.is.called..
fa0c0 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>...............<
fa0e0 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 6f 6e 2d 50 li>See.also.<a.href="#Function-P
fa100 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 46 75 6e 63 74 69 6f arameter-Type-Inference">Functio
fa120 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f n.Parameter.Type.Inference</a></
fa140 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>...........
fa160 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>
fa180 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">.....
fa1a0 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="
fa1c0 6c 69 6e 65 22 3e 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 line"><span.class="tok-kw">asm</
fa1e0 73 70 61 6e 3e 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 span></span></code></pre>.......
fa200 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>........
fa220 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .....<code><span.class="line"><s
fa240 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 73 pan.class="tok-kw">asm</span></s
fa260 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 67 69 6e 73 20 61 6e 20 69 6e 6c 69 6e 65 20 61 73 73 pan></code>.begins.an.inline.ass
fa280 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 66 6f embly.expression..This.allows.fo
fa2a0 72 20 64 69 72 65 63 74 6c 79 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6d 61 63 68 69 r.directly.controlling.the.machi
fa2c0 6e 65 20 63 6f 64 65 20 67 65 6e 65 72 61 74 65 64 20 6f 6e 20 63 6f 6d 70 69 6c 61 74 69 6f 6e ne.code.generated.on.compilation
fa2e0 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>..............
fa300 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 73 65 6d 62 6c 79 .<li>See.also.<a.href="#Assembly
fa320 22 3e 41 73 73 65 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 ">Assembly</a></li>.............
fa340 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>.........</
fa360 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
fa380 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
fa3a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
fa3c0 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 73 70 61 6e 3e 3c 2f s="tok-kw">async</span></span></
fa3e0 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>.....
fa400 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
fa420 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
fa440 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 -kw">async</span></span></code>.
fa460 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 6e 20 63 61 can.be.used.before.a.function.ca
fa480 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 75 6e 63 74 ll.to.get.a.pointer.to.the.funct
fa4a0 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 2e 0a 20 20 ion's.frame.when.it.suspends....
fa4c0 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
fa4e0 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 6e 63 74 69 >See.also.<a.href="#Async-Functi
fa500 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 3e 0a 20 20 ons">Async.Functions</a></li>...
fa520 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>.
fa540 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>......
fa560 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">...........
fa580 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 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
fa5a0 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 70 61 6e <span.class="tok-kw">await</span
fa5c0 3e 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 ></span></code></pre>...........
fa5e0 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>............
fa600 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
fa620 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 class="tok-kw">await</span></spa
fa640 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 73 75 73 70 65 6e 64 n></code>.can.be.used.to.suspend
fa660 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 75 6e 74 69 6c 20 74 68 65 20 .the.current.function.until.the.
fa680 66 72 61 6d 65 20 70 72 6f 76 69 64 65 64 20 61 66 74 65 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c frame.provided.after.the.<code><
fa6a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
fa6c0 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">await</span></span></code
fa6e0 3e 20 63 6f 6d 70 6c 65 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c >.completes..............<code><
fa700 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
fa720 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">await</span></span></code
fa740 3e 20 63 6f 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 >.copies.the.value.returned.from
fa760 20 74 68 65 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 .the.target.function's.frame.to.
fa780 74 68 65 20 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 the.caller..............<ul>....
fa7a0 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=
fa7c0 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 6f "#Async-Functions">Async.Functio
fa7e0 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>...
fa800 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>.....
fa820 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
fa840 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
fa860 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
fa880 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 w">break</span></span></code></p
fa8a0 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
fa8c0 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
fa8e0 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">bre
fa900 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 ak</span></span></code>.can.be.u
fa920 73 65 64 20 77 69 74 68 20 61 20 62 6c 6f 63 6b 20 6c 61 62 65 6c 20 74 6f 20 72 65 74 75 72 6e sed.with.a.block.label.to.return
fa940 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 .a.value.from.the.block.........
fa960 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 65 78 69 74 .....It.can.also.be.used.to.exit
fa980 20 61 20 6c 6f 6f 70 20 62 65 66 6f 72 65 20 69 74 65 72 61 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 .a.loop.before.iteration.complet
fa9a0 65 73 20 6e 61 74 75 72 61 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 es.naturally..............<ul>..
fa9c0 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
fa9e0 66 3d 22 23 42 6c 6f 63 6b 73 22 3e 42 6c 6f 63 6b 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d f="#Blocks">Blocks</a>,.<a.href=
faa00 22 23 77 68 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 "#while">while</a>,.<a.href="#fo
faa20 72 22 3e 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 2f 75 6c r">for</a></li>.............</ul
faa40 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>.
faa60 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
faa80 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><
faaa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
faac0 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">catch</span></span></code
faae0 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>.........
fab00 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 63 ..<td>.............<code><span.c
fab20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
fab40 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 >catch</span></span></code>.can.
fab60 62 65 20 75 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 be.used.to.evaluate.an.expressio
fab80 6e 20 69 66 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 n.if.the.expression.before.it.ev
faba0 61 6c 75 61 74 65 73 20 74 6f 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 aluates.to.an.error.............
fabc0 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 3c 63 6f 64 65 3e .The.expression.after.the.<code>
fabe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
fac00 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-kw">catch</span></span></cod
fac20 65 3e 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 63 61 70 74 75 72 65 20 74 68 65 20 65 72 e>.can.optionally.capture.the.er
fac40 72 6f 72 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 ror.value..............<ul>.....
fac60 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="
fac80 23 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 #catch">catch</a>,.<a.href="#Ope
faca0 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 20 20 20 rators">Operators</a></li>......
facc0 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>....
face0 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>.........
fad00 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">.............<
fad20 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
fad40 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
fad60 3e 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 ></span></code></pre>...........
fad80 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>............
fada0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
fadc0 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></
fade0 73 70 61 6e 3e 3c 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 span></code>.before.a.declaratio
fae00 6e 20 63 61 6e 20 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 n.can.be.used.to.label.variables
fae20 20 6f 72 20 66 75 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 .or.function.parameters.as.known
fae40 20 61 74 20 63 6f 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 .at.compile.time..............It
fae60 20 63 61 6e 20 61 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 .can.also.be.used.to.guarantee.a
fae80 6e 20 65 78 70 72 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 n.expression.is.run.at.compile.t
faea0 69 6d 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 20 20 20 20 20 ime..............<ul>...........
faec0 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 63 6f 6d 70 74 ....<li>See.also.<a.href="#compt
faee0 69 6d 65 22 3e 63 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 ime">comptime</a></li>..........
faf00 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>........
faf20 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
faf40 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>
faf60 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
faf80 6c 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 73 70 61 6e lass="tok-kw">const</span></span
fafa0 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>..
fafc0 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>
fafe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
fb000 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 tok-kw">const</span></span></cod
fb020 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 74 20 63 61 6e 20 e>.declares.a.variable.that.can.
fb040 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 20 20 20 55 73 65 not.be.modified..............Use
fb060 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 69 74 20 64 65 6e d.as.a.pointer.attribute,.it.den
fb080 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 62 79 20 74 68 65 otes.the.value.referenced.by.the
fb0a0 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 64 2e 0a 20 20 20 .pointer.cannot.be.modified.....
fb0c0 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>
fb0e0 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 65 73 22 3e 56 61 See.also.<a.href="#Variables">Va
fb100 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 20 20 20 3c 2f 75 riables</a></li>.............</u
fb120 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>
fb140 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
fb160 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>
fb180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
fb1a0 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 73 70 61 6e 3e 3c 2f tok-kw">continue</span></span></
fb1c0 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>.....
fb1e0 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
fb200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
fb220 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 -kw">continue</span></span></cod
fb240 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 61 20 6c 6f 6f 70 20 74 6f 20 6a 75 6d 70 e>.can.be.used.in.a.loop.to.jump
fb260 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 68 65 20 6c 6f .back.to.the.beginning.of.the.lo
fb280 6f 70 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 op..............<ul>............
fb2a0 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 77 68 69 6c 65 22 ...<li>See.also.<a.href="#while"
fb2c0 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 6f 72 3c 2f >while</a>,.<a.href="#for">for</
fb2e0 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>.......
fb300 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>.........
fb320 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">.
fb340 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
fb360 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 ss="line"><span.class="tok-kw">d
fb380 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a efer</span></span></code></pre>.
fb3a0 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>..
fb3c0 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 6c 69 ...........<code><span.class="li
fb3e0 6e 65 22 3e 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 ne"><span.class="tok-kw">defer</
fb400 73 70 61 6e 3e 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 span></span></code>.will.execute
fb420 20 61 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 .an.expression.when.control.flow
fb440 20 6c 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 .leaves.the.current.block.......
fb460 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 65 .......<ul>...............<li>Se
fb480 65 20 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 e.also.<a.href="#defer">defer</a
fb4a0 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>........
fb4c0 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>.........<
fb4e0 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">..
fb500 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
fb520 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c s="line"><span.class="tok-kw">el
fb540 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 se</span></span></code></pre>...
fb560 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>....
fb580 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 6c 69 6e 65 .........<code><span.class="line
fb5a0 22 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 "><span.class="tok-kw">else</spa
fb5c0 6e 3e 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 74 6f 20 n></span></code>.can.be.used.to.
fb5e0 70 72 6f 76 69 64 65 20 61 6e 20 61 6c 74 65 72 6e 61 74 65 20 62 72 61 6e 63 68 20 66 6f 72 20 provide.an.alternate.branch.for.
fb600 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
fb620 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 73 70 61 6e 3e 3c 2f lass="tok-kw">if</span></span></
fb640 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 6c 69 6e 65 22 3e code>,.<code><span.class="line">
fb660 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 61 <span.class="tok-kw">switch</spa
fb680 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 n></span></code>,.............<c
fb6a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
fb6c0 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 73 70 61 6e 3e 3c ss="tok-kw">while</span></span><
fb6e0 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 22 6c /code>,.and.<code><span.class="l
fb700 69 6e 65 22 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 ine"><span.class="tok-kw">for</s
fb720 70 61 6e 3e 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 2e 0a pan></span></code>.expressions..
fb740 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>...............<
fb760 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 69 6f li>If.used.after.an.if.expressio
fb780 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 63 75 n,.the.else.branch.will.be.execu
fb7a0 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 66 61 ted.if.the.test.value.returns.fa
fb7c0 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 20 20 lse,.null,.or.an.error.</li>....
fb7e0 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 61 20 ...........<li>If.used.within.a.
fb800 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 61 6e switch.expression,.the.else.bran
fb820 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 74 20 ch.will.be.executed.if.the.test.
fb840 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 2f 6c value.matches.no.other.cases.</l
fb860 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 66 74 i>...............<li>If.used.aft
fb880 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 20 62 er.a.loop.expression,.the.else.b
fb8a0 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 6c 6f ranch.will.be.executed.if.the.lo
fb8c0 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 2f 6c op.finishes.without.breaking.</l
fb8e0 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
fb900 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 73 77 .href="#if">if</a>,.<a.href="#sw
fb920 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 69 6c itch">switch</a>,.<a.href="#whil
fb940 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 6f 72 e">while</a>,.<a.href="#for">for
fb960 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 20 20 </a></li>.............</ul>.....
fb980 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 20 ......</td>.........</tr>.......
fb9a0 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 22 ..<tr>...........<th.scope="row"
fb9c0 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
fb9e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
fba00 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e >enum</span></span></code></pre>
fba20 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>.
fba40 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 6c ............<code><span.class="l
fba60 69 6e 65 22 3e 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 ine"><span.class="tok-kw">enum</
fba80 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 6e 20 65 span></span></code>.defines.an.e
fbaa0 6e 75 6d 20 74 79 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 num.type..............<ul>......
fbac0 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="#
fbae0 65 6e 75 6d 22 3e 65 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 enum">enum</a></li>.............
fbb00 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>.........</
fbb20 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
fbb40 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
fbb60 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 de><span.class="line"><span.clas
fbb80 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 73 70 61 6e s="tok-kw">errdefer</span></span
fbba0 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>..
fbbc0 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>
fbbe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
fbc00 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 73 70 61 6e 3e 3c 2f tok-kw">errdefer</span></span></
fbc20 63 6f 64 65 3e 20 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 code>.will.execute.an.expression
fbc40 20 77 68 65 6e 20 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 .when.control.flow.leaves.the.cu
fbc60 72 72 65 6e 74 20 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 rrent.block.if.the.function.retu
fbc80 72 6e 73 20 61 6e 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 rns.an.error,.the.errdefer.expre
fbca0 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 70 65 64 20 ssion.can.capture.the.unwrapped.
fbcc0 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 20 20 20 20 value..............<ul>.........
fbce0 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 65 72 72 ......<li>See.also.<a.href="#err
fbd00 64 65 66 65 72 22 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 defer">errdefer</a></li>........
fbd20 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>......
fbd40 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>...........
fbd60 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 72 <th.scope="row">.............<pr
fbd80 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e e><code><span.class="line"><span
fbda0 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 3c 2f 73 70 .class="tok-kw">error</span></sp
fbdc0 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>
fbde0 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
fbe00 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
fbe20 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-kw">error</span></span></c
fbe40 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 2e 0a 20 20 20 20 ode>.defines.an.error.type......
fbe60 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
fbe80 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 45 72 72 6f 72 73 ee.also.<a.href="#Errors">Errors
fbea0 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 20 20 </a></li>.............</ul>.....
fbec0 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 20 ......</td>.........</tr>.......
fbee0 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 22 ..<tr>...........<th.scope="row"
fbf00 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
fbf20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
fbf40 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 >export</span></span></code></pr
fbf60 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
fbf80 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=
fbfa0 22 6c 69 6e 65 22 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 6f "line"><span.class="tok-kw">expo
fbfc0 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 6b 65 73 20 61 20 rt</span></span></code>.makes.a.
fbfe0 66 75 6e 63 74 69 6f 6e 20 6f 72 20 76 61 72 69 61 62 6c 65 20 65 78 74 65 72 6e 61 6c 6c 79 20 function.or.variable.externally.
fc000 76 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 6f 62 6a 65 63 74 20 visible.in.the.generated.object.
fc020 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 78 70 6f 72 74 65 64 20 66 75 6e 63 74 file..............Exported.funct
fc040 69 6f 6e 73 20 64 65 66 61 75 6c 74 20 74 6f 20 74 68 65 20 43 20 63 61 6c 6c 69 6e 67 20 63 6f ions.default.to.the.C.calling.co
fc060 6e 76 65 6e 74 69 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 nvention..............<ul>......
fc080 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="#
fc0a0 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 3e 0a 20 20 Functions">Functions</a></li>...
fc0c0 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>.
fc0e0 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>......
fc100 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">...........
fc120 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 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
fc140 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
fc160 6e 3e 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 n></span></code></pre>..........
fc180 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>...........
fc1a0 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e ..<code><span.class="line"><span
fc1c0 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 3c 2f 73 .class="tok-kw">extern</span></s
fc1e0 70 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 64 65 63 6c 61 pan></code>.can.be.used.to.decla
fc200 72 65 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 re.a.function.or.variable.that.w
fc220 69 6c 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 ill.be.resolved.at.link.time,.wh
fc240 65 6e 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 en.linking.statically...........
fc260 20 20 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 ..or.at.runtime,.when.linking.dy
fc280 6e 61 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 namically..............<ul>.....
fc2a0 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="
fc2c0 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 3e 0a 20 #Functions">Functions</a></li>..
fc2e0 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>
fc300 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>.....
fc320 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 20 ......<th.scope="row">..........
fc340 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 6c 69 6e 65 22 ...<pre><code><span.class="line"
fc360 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 2f 73 70 61 6e 3e 3c ><span.class="tok-kw">fn</span><
fc380 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>...........</
fc3a0 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>.............<
fc3c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
fc3e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ass="tok-kw">fn</span></span></c
fc400 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 ode>.declares.a.function........
fc420 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
fc440 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 63 74 .also.<a.href="#Functions">Funct
fc460 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 3e 0a ions</a></li>.............</ul>.
fc480 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>...
fc4a0 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="
fc4c0 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
fc4e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an.class="line"><span.class="tok
fc500 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 -kw">for</span></span></code></p
fc520 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
fc540 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 61 6e 20 63 6c 61 d>.............A.<code><span.cla
fc560 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ss="line"><span.class="tok-kw">f
fc580 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 or</span></span></code>.expressi
fc5a0 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 74 on.can.be.used.to.iterate.over.t
fc5c0 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 61 20 73 6c 69 63 65 2c 20 61 72 72 61 79 2c 20 6f he.elements.of.a.slice,.array,.o
fc5e0 72 20 74 75 70 6c 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 20 r.tuple..............<ul>.......
fc600 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 66 ........<li>See.also.<a.href="#f
fc620 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 20 20 20 20 3c 2f 75 or">for</a></li>.............</u
fc640 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>
fc660 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
fc680 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>
fc6a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 <span.class="line"><span.class="
fc6c0 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c tok-kw">if</span></span></code><
fc6e0 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>...........
fc700 3c 74 64 3e 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 <td>.............An.<code><span.
fc720 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
fc740 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 ">if</span></span></code>.expres
fc760 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 6f 6e sion.can.test.boolean.expression
fc780 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 6e 69 s,.optional.values,.or.error.uni
fc7a0 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 76 61 ons..............For.optional.va
fc7c0 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 78 70 lues.or.error.unions,.the.if.exp
fc7e0 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 70 65 ression.can.capture.the.unwrappe
fc800 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 20 20 d.value..............<ul>.......
fc820 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
fc840 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 6c 3e f">if</a></li>.............</ul>
fc860 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>..
fc880 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=
fc8a0 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
fc8c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
fc8e0 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-kw">inline</span></span></code
fc900 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>.........
fc920 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 63 ..<td>.............<code><span.c
fc940 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
fc960 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e >inline</span></span></code>.can
fc980 20 62 65 20 75 73 65 64 20 74 6f 20 6c 61 62 65 6c 20 61 20 6c 6f 6f 70 20 65 78 70 72 65 73 73 .be.used.to.label.a.loop.express
fc9a0 69 6f 6e 20 73 75 63 68 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 6e 72 6f 6c 6c 65 ion.such.that.it.will.be.unrolle
fc9c0 64 20 61 74 20 63 6f 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 d.at.compile.time..............I
fc9e0 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 63 65 20 61 20 66 75 t.can.also.be.used.to.force.a.fu
fca00 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 69 6e 6c 69 6e 65 64 20 61 74 20 61 6c 6c 20 63 61 6c 6c nction.to.be.inlined.at.all.call
fca20 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 20 20 20 20 20 20 .sites..............<ul>........
fca40 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 6e .......<li>See.also.<a.href="#in
fca60 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 line-while">inline.while</a>,.<a
fca80 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 3c 2f .href="#inline-for">inline.for</
fcaa0 61 3e 2c 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 a>,.<a.href="#Functions">Functio
fcac0 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>...
fcae0 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>.....
fcb00 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
fcb20 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
fcb40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
fcb60 77 22 3e 6c 69 6e 6b 73 65 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f w">linksection</span></span></co
fcb80 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>.......
fcba0 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 3c 63 6f 64 65 3e 3c ....<td>.............The.<code><
fcbc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
fcbe0 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 73 70 61 6e 3e ok-kw">linksection</span></span>
fcc00 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
fcc20 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
fcc40 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 6c 69 6e 6b 73 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0a umentation.for.linksection</li>.
fcc60 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
fcc80 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>....
fcca0 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">.........
fccc0 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 6c 69 6e 65 ....<pre><code><span.class="line
fcce0 22 3e 3c 73 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 "><span.class="tok-kw">noalias</
fcd00 73 70 61 6e 3e 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 span></span></code></pre>.......
fcd20 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>........
fcd40 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 6c 69 6e 65 .....The.<code><span.class="line
fcd60 22 3e 3c 73 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 "><span.class="tok-kw">noalias</
fcd80 73 70 61 6e 3e 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 span></span></code>.keyword.....
fcda0 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>
fcdc0 54 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 6e 6f 61 6c 69 TODO.add.documentation.for.noali
fcde0 61 73 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 as</li>.............</ul>.......
fce00 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>.........
fce20 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">.
fce40 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
fce60 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e ss="line"><span.class="tok-kw">n
fce80 6f 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 oinline</span></span></code></pr
fcea0 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
fcec0 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=
fcee0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 69 6e "line"><span.class="tok-kw">noin
fcf00 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 69 73 61 6c 6c line</span></span></code>.disall
fcf20 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
fcf40 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>..
fcf60 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
fcf80 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
fcfa0 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>...........</
fcfc0 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>..
fcfe0 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">.......
fd000 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 6c 69 ......<pre><code><span.class="li
fd020 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 ne"><span.class="tok-kw">nosuspe
fd040 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 nd</span></span></code></pre>...
fd060 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>....
fd080 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="
fd0a0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 line"><span.class="tok-kw">nosus
fd0c0 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 pend</span></span></code>.keywor
fd0e0 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 62 6c 6f 63 d.can.be.used.in.front.of.a.bloc
fd100 6b 2c 20 73 74 61 74 65 6d 65 6e 74 20 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 6f 20 6d k,.statement.or.expression,.to.m
fd120 61 72 6b 20 61 20 73 63 6f 70 65 20 77 68 65 72 65 20 6e 6f 20 73 75 73 70 65 6e 73 69 6f 6e 20 ark.a.scope.where.no.suspension.
fd140 70 6f 69 6e 74 73 20 61 72 65 20 72 65 61 63 68 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 points.are.reached..............
fd160 49 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 69 6e 73 69 64 65 20 61 20 3c 63 6f 64 65 3e 3c 73 In.particular,.inside.a.<code><s
fd180 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
fd1a0 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 k-kw">nosuspend</span></span></c
fd1c0 6f 64 65 3e 20 73 63 6f 70 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 ode>.scope:.............<ul>....
fd1e0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c ...........<li>Using.the.<code><
fd200 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
fd220 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-kw">suspend</span></span></co
fd240 64 65 3e 20 6b 65 79 77 6f 72 64 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 63 6f 6d 70 69 6c 65 de>.keyword.results.in.a.compile
fd260 20 65 72 72 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 55 .error.</li>...............<li>U
fd280 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 sing.<code><span.class="line"><s
fd2a0 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 70 61 6e 3e 3c pan.class="tok-kw">await</span><
fd2c0 2f 73 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 /span></code>.on.a.function.fram
fd2e0 65 20 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 e.which.hasn't.completed.yet.res
fd300 75 6c 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 ults.in.safety-checked.<a.href="
fd320 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
fd340 65 68 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 ehavior</a>.</li>...............
fd360 3c 6c 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 <li>Calling.an.async.function.ma
fd380 79 20 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 y.result.in.safety-checked.<a.hr
fd3a0 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
fd3c0 65 64 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 ed.Behavior</a>,.because.it's.eq
fd3e0 75 69 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 uivalent.to.<code>await.async.so
fd400 6d 65 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 me_async_fn()</code>,.which.cont
fd420 61 69 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 6c 69 6e 65 22 ains.an.<code><span.class="line"
fd440 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 70 61 ><span.class="tok-kw">await</spa
fd460 6e 3e 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 20 20 20 n></span></code>.</li>..........
fd480 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 73 69 64 65 ...</ul>.............Code.inside
fd4a0 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 .a.<code><span.class="line"><spa
fd4c0 6e 20 63 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 n.class="tok-kw">nosuspend</span
fd4e0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 63 6f 70 65 20 64 6f 65 73 20 6e 6f 74 20 63 ></span></code>.scope.does.not.c
fd500 61 75 73 65 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 ause.the.enclosing.function.to.b
fd520 65 63 6f 6d 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f ecome.an.<a.href="#Async-Functio
fd540 6e 73 22 3e 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 ns">async.function</a>..........
fd560 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
fd580 6c 73 6f 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 3e 41 lso.<a.href="#Async-Functions">A
fd5a0 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 20 20 20 20 20 sync.Functions</a></li>.........
fd5c0 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>.......
fd5e0 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>...........<
fd600 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
fd620 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
fd640 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c class="tok-kw">or</span></span><
fd660 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>....
fd680 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 62 6f 6f 6c .......<td>.............The.bool
fd6a0 65 61 6e 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ean.operator.<code><span.class="
fd6c0 6c 69 6e 65 22 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 line"><span.class="tok-kw">or</s
fd6e0 70 61 6e 3e 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 pan></span></code>..............
fd700 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.
fd720 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 2f <a.href="#Operators">Operators</
fd740 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>.......
fd760 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>.........
fd780 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">.
fd7a0 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
fd7c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f ss="line"><span.class="tok-kw">o
fd7e0 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e relse</span></span></code></pre>
fd800 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>.
fd820 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 6c ............<code><span.class="l
fd840 69 6e 65 22 3e 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 ine"><span.class="tok-kw">orelse
fd860 3c 2f 73 70 61 6e 3e 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 </span></span></code>.can.be.use
fd880 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 20 74 d.to.evaluate.an.expression.if.t
fd8a0 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 74 65 he.expression.before.it.evaluate
fd8c0 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 20 20 s.to.null..............<ul>.....
fd8e0 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="
fd900 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 68 72 #Optionals">Optionals</a>,.<a.hr
fd920 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
fd940 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>...........<
fd960 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>.
fd980 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">......
fd9a0 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 6c .......<pre><code><span.class="l
fd9c0 69 6e 65 22 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 ine"><span.class="tok-kw">packed
fd9e0 3c 2f 73 70 61 6e 3e 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 </span></span></code></pre>.....
fda00 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 20 ......</th>...........<td>......
fda20 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 6c 69 .......The.<code><span.class="li
fda40 6e 65 22 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 3c ne"><span.class="tok-kw">packed<
fda60 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 62 65 66 /span></span></code>.keyword.bef
fda80 6f 72 65 20 61 20 73 74 72 75 63 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 63 68 61 6e 67 65 73 20 ore.a.struct.definition.changes.
fdaa0 74 68 65 20 73 74 72 75 63 74 27 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 0a 20 20 the.struct's.in-memory.layout...
fdac0 20 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 67 75 61 72 61 6e 74 65 65 64 20 3c 63 6f 64 ..........to.the.guaranteed.<cod
fdae0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
fdb00 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 73 70 61 6e 3e 3c 2f ="tok-kw">packed</span></span></
fdb20 63 6f 64 65 3e 20 6c 61 79 6f 75 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 code>.layout..............<ul>..
fdb40 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
fdb60 66 3d 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 f="#packed-struct">packed.struct
fdb80 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 20 20 </a></li>.............</ul>.....
fdba0 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 20 ......</td>.........</tr>.......
fdbc0 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 22 ..<tr>...........<th.scope="row"
fdbe0 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
fdc00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 lass="line"><span.class="tok-kw"
fdc20 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a >pub</span></span></code></pre>.
fdc40 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>..
fdc60 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 6c 61 73 73 ...........The.<code><span.class
fdc80 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">pub
fdca0 3c 2f 73 70 61 6e 3e 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 </span></span></code>.in.front.o
fdcc0 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.
fdce0 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.......
fdd00 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
fdd20 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
fdd40 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>.......
fdd60 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
fdd80 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>..........
fdda0 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>........
fddc0 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
fdde0 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>
fde00 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 <code><span.class="line"><span.c
fde20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-kw">resume</span></spa
fde40 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>.
fde60 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
fde80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
fdea0 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-kw">resume</span></span></c
fdec0 6f 64 65 3e 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 ode>.will.continue.execution.of.
fdee0 61 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 20 61 66 74 65 72 20 74 68 65 20 70 6f 69 6e 74 a.function.frame.after.the.point
fdf00 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 73 75 73 70 65 6e 64 65 64 2e 0a 20 20 20 .the.function.was.suspended.....
fdf20 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>......
fdf40 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
fdf60 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.
fdf80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 class="line"><span.class="tok-kw
fdfa0 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ">return</span></span></code></p
fdfc0 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
fdfe0 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
fe000 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">ret
fe020 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 69 74 73 20 61 urn</span></span></code>.exits.a
fe040 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 61 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 .function.with.a.value..........
fe060 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
fe080 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
fe0a0 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>...
fe0c0 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>.....
fe0e0 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
fe100 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
fe120 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
fe140 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f w">struct</span></span></code></
fe160 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 3c pre>...........</th>...........<
fe180 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 73 td>.............<code><span.clas
fe1a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 s="line"><span.class="tok-kw">st
fe1c0 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 ruct</span></span></code>.define
fe1e0 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 0a 20 20 20 s.a.struct..............<ul>....
fe200 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=
fe220 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 20 20 20 20 "#struct">struct</a></li>.......
fe240 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>.....
fe260 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>..........
fe280 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
fe2a0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
fe2c0 6e 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 n.class="tok-kw">suspend</span><
fe2e0 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>...........</
fe300 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>.............<
fe320 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c code><span.class="line"><span.cl
fe340 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 73 70 61 ass="tok-kw">suspend</span></spa
fe360 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 63 61 75 73 65 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f n></code>.will.cause.control.flo
fe380 77 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 74 68 65 20 63 61 6c 6c 20 73 69 74 65 20 6f 72 20 w.to.return.to.the.call.site.or.
fe3a0 72 65 73 75 6d 65 72 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 resumer.of.the.function.........
fe3c0 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .....<code><span.class="line"><s
fe3e0 70 61 6e 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 pan.class="tok-kw">suspend</span
fe400 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 ></span></code>.can.also.be.used
fe420 20 62 65 66 6f 72 65 20 61 20 62 6c 6f 63 6b 20 77 69 74 68 69 6e 20 61 20 66 75 6e 63 74 69 6f .before.a.block.within.a.functio
fe440 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 66 75 6e 63 n,.............to.allow.the.func
fe460 74 69 6f 6e 20 61 63 63 65 73 73 20 74 6f 20 69 74 73 20 66 72 61 6d 65 20 62 65 66 6f 72 65 20 tion.access.to.its.frame.before.
fe480 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 72 65 74 75 72 6e 73 20 74 6f 20 74 68 65 20 63 61 6c 6c control.flow.returns.to.the.call
fe4a0 20 73 69 74 65 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 3c .site............</td>.........<
fe4c0 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 20 /tr>.........<tr>...........<th.
fe4e0 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 63 scope="row">.............<pre><c
fe500 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 ode><span.class="line"><span.cla
fe520 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 73 70 61 6e 3e ss="tok-kw">switch</span></span>
fe540 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 20 </code></pre>...........</th>...
fe560 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 20 3c 63 6f 64 65 ........<td>.............A.<code
fe580 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
fe5a0 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-kw">switch</span></span></c
fe5c0 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 20 74 ode>.expression.can.be.used.to.t
fe5e0 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 20 20 est.values.of.a.common.type.....
fe600 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 6c 69 6e 65 .........<code><span.class="line
fe620 22 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 "><span.class="tok-kw">switch</s
fe640 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 73 65 73 20 63 61 6e 20 63 61 70 pan></span></code>.cases.can.cap
fe660 74 75 72 65 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 6f 66 20 61 20 3c 61 20 68 72 65 66 3d 22 ture.field.values.of.a.<a.href="
fe680 23 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 #Tagged-union">Tagged.union</a>.
fe6a0 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>...............
fe6c0 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 <li>See.also.<a.href="#switch">s
fe6e0 77 69 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 3c 2f 75 6c 3e witch</a></li>.............</ul>
fe700 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>..
fe720 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=
fe740 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
fe760 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
fe780 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c k-kw">test</span></span></code><
fe7a0 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>...........
fe7c0 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 61 6e <td>.............The.<code><span
fe7e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b .class="line"><span.class="tok-k
fe800 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 w">test</span></span></code>.key
fe820 77 6f 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 61 20 74 6f 70 word.can.be.used.to.denote.a.top
fe840 2d 6c 65 76 65 6c 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 -level.block.of.code............
fe860 20 75 73 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 62 65 68 61 76 69 6f 72 20 6d 65 65 74 .used.to.make.sure.behavior.meet
fe880 73 20 65 78 70 65 63 74 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e s.expectations..............<ul>
fe8a0 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
fe8c0 72 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 ref="#Zig-Test">Zig.Test</a></li
fe8e0 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>...........</
fe900 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>..
fe920 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">.......
fe940 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 6c 69 ......<pre><code><span.class="li
fe960 6e 65 22 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 6c ne"><span.class="tok-kw">threadl
fe980 6f 63 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a ocal</span></span></code></pre>.
fe9a0 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>..
fe9c0 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 6c 69 ...........<code><span.class="li
fe9e0 6e 65 22 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 6c ne"><span.class="tok-kw">threadl
fea00 6f 63 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 ocal</span></span></code>.can.be
fea20 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
fea40 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>...
fea60 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
fea80 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
feaa0 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>......
feac0 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>....
feae0 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>.........
feb00 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">.............<
feb20 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 pre><code><span.class="line"><sp
feb40 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 3c 2f 73 70 an.class="tok-kw">try</span></sp
feb60 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>
feb80 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
feba0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 e><span.class="line"><span.class
febc0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ="tok-kw">try</span></span></cod
febe0 65 3e 20 65 76 61 6c 75 61 74 65 73 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 65 78 70 72 e>.evaluates.an.error.union.expr
fec00 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 69 74 20 69 73 20 61 6e 20 ession..............If.it.is.an.
fec20 65 72 72 6f 72 2c 20 69 74 20 72 65 74 75 72 6e 73 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 error,.it.returns.from.the.curre
fec40 6e 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 2e nt.function.with.the.same.error.
fec60 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 65 78 70 72 .............Otherwise,.the.expr
fec80 65 73 73 69 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 ession.results.in.the.unwrapped.
feca0 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 20 20 20 20 value..............<ul>.........
fecc0 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 74 72 79 ......<li>See.also.<a.href="#try
fece0 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 20 3c 2f 75 6c 3e ">try</a></li>.............</ul>
fed00 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>..
fed20 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=
fed40 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
fed60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan.class="line"><span.class="to
fed80 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-kw">union</span></span></code>
feda0 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>..........
fedc0 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
fede0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
fee00 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e union</span></span></code>.defin
fee20 65 73 20 61 20 75 6e 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 es.a.union..............<ul>....
fee40 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=
fee60 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 "#union">union</a></li>.........
fee80 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>.......
feea0 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>...........<
feec0 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
feee0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 ><code><span.class="line"><span.
fef00 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
fef20 3e 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 ></span></code></pre>...........
fef40 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>............
fef60 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 .<code><span.class="line"><span.
fef80 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
fefa0 3e 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 74 6f 20 61 ></span></code>.can.be.used.to.a
fefc0 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 20 6e 65 76 ssert.that.control.flow.will.nev
fefe0 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 6c 6f 63 61 er.happen.upon.a.particular.loca
ff000 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 6f 6e 20 74 tion..............Depending.on.t
ff020 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 6c 61 73 73 he.build.mode,.<code><span.class
ff040 3d 22 6c 69 6e 65 22 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 ="line"><span.class="tok-kw">unr
ff060 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 eachable</span></span></code>.ma
ff080 79 20 65 6d 69 74 20 61 20 70 61 6e 69 63 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e y.emit.a.panic..............<ul>
ff0a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6d 69 74 73 20 61 20 70 61 6e 69 63 ...............<li>Emits.a.panic
ff0c0 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 65 62 .in.<code><span.class="line">Deb
ff0e0 75 67 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 73 70 61 6e ug</span></code>.and.<code><span
ff100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 73 70 61 6e 3e .class="line">ReleaseSafe</span>
ff120 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 20 6f 72 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 6b 62 64 </code>.mode,.or.when.using.<kbd
ff140 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 >zig.test</kbd>.</li>...........
ff160 20 20 20 20 3c 6c 69 3e 44 6f 65 73 20 6e 6f 74 20 65 6d 69 74 20 61 20 70 61 6e 69 63 20 69 6e ....<li>Does.not.emit.a.panic.in
ff180 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 .<code><span.class="line">Releas
ff1a0 65 46 61 73 74 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 73 eFast</span></code>.and.<code><s
ff1c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 73 pan.class="line">ReleaseSmall</s
ff1e0 70 61 6e 3e 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 20 20 pan></code>.mode.</li>..........
ff200 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 72 65 .....<li>See.also.<a.href="#unre
ff220 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 20 20 achable">unreachable</a></li>...
ff240 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>.
ff260 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>......
ff280 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">...........
ff2a0 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 6c 69 6e 65 22 3e ..<pre><code><span.class="line">
ff2c0 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
ff2e0 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 ace</span></span></code></pre>..
ff300 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 20 .........</th>...........<td>...
ff320 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 6c 69 6e ..........<code><span.class="lin
ff340 65 22 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 6e 67 6e 61 6d e"><span.class="tok-kw">usingnam
ff360 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 espace</span></span></code>.is.a
ff380 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 68 61 74 20 69 6d 70 6f .top-level.declaration.that.impo
ff3a0 72 74 73 20 61 6c 6c 20 74 68 65 20 70 75 62 6c 69 63 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 rts.all.the.public.declarations.
ff3c0 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 63 of.the.operand,.............whic
ff3e0 68 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 75 63 74 2c 20 75 6e 69 6f 6e 2c 20 6f 72 20 65 6e h.must.be.a.struct,.union,.or.en
ff400 75 6d 2c 20 69 6e 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 63 6f 70 65 2e 0a 20 20 20 20 um,.into.the.current.scope......
ff420 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
ff440 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 ee.also.<a.href="#usingnamespace
ff460 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ">usingnamespace</a></li>.......
ff480 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>.....
ff4a0 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>..........
ff4c0 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
ff4e0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 re><code><span.class="line"><spa
ff500 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 3c 2f 73 70 61 n.class="tok-kw">var</span></spa
ff520 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>.
ff540 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
ff560 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
ff580 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 "tok-kw">var</span></span></code
ff5a0 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 74 20 6d 61 79 20 62 >.declares.a.variable.that.may.b
ff5c0 65 20 6d 6f 64 69 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 e.modified..............<ul>....
ff5e0 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=
ff600 22 23 56 61 72 69 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 "#Variables">Variables</a></li>.
ff620 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
ff640 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>....
ff660 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">.........
ff680 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 6c 69 6e 65 ....<pre><code><span.class="line
ff6a0 22 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 "><span.class="tok-kw">volatile<
ff6c0 2f 73 70 61 6e 3e 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 /span></span></code></pre>......
ff6e0 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>.......
ff700 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 6c 69 6e 65 22 3e 3c ......<code><span.class="line"><
ff720 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 70 span.class="tok-kw">volatile</sp
ff740 61 6e 3e 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 74 6f an></span></code>.can.be.used.to
ff760 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 20 61 20 70 6f 69 .denote.loads.or.stores.of.a.poi
ff780 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 20 20 20 20 20 20 nter.have.side.effects..........
ff7a0 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 69 6e 6c 69 6e 65 ....It.can.also.modify.an.inline
ff7c0 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 6e 6f 74 65 20 69 .assembly.expression.to.denote.i
ff7e0 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 20 20 20 20 20 20 t.has.side.effects..............
ff800 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.
ff820 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 6c 65 3c 2f 61 3e <a.href="#volatile">volatile</a>
ff840 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 6d 62 6c 79 3c 2f ,.<a.href="#Assembly">Assembly</
ff860 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>.......
ff880 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>.........
ff8a0 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">.
ff8c0 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
ff8e0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 ss="line"><span.class="tok-kw">w
ff900 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a hile</span></span></code></pre>.
ff920 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>..
ff940 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...........A.<code><span.class="
ff960 6c 69 6e 65 22 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 line"><span.class="tok-kw">while
ff980 3c 2f 73 70 61 6e 3e 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 </span></span></code>.expression
ff9a0 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 70 65 61 74 65 64 6c 79 20 74 65 73 74 20 .can.be.used.to.repeatedly.test.
ff9c0 61 20 62 6f 6f 6c 65 61 6e 2c 20 6f 70 74 69 6f 6e 61 6c 2c 20 6f 72 20 65 72 72 6f 72 20 75 6e a.boolean,.optional,.or.error.un
ff9e0 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 ion.expression,.............and.
ffa00 63 65 61 73 65 20 6c 6f 6f 70 69 6e 67 20 77 68 65 6e 20 74 68 61 74 20 65 78 70 72 65 73 73 69 cease.looping.when.that.expressi
ffa20 6f 6e 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 6f 72 20 on.evaluates.to.false,.null,.or.
ffa40 61 6e 20 65 72 72 6f 72 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 an.error,.respectively..........
ffa60 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
ffa80 6c 73 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 3c 2f lso.<a.href="#while">while</a></
ffaa0 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>...........
ffac0 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 2f 74 62 </td>.........</tr>.........</tb
ffae0 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>
ffb00 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 70 70 65 6e 64 69 78 22 ...............<h2.id="Appendix"
ffb20 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 70 70 65 6e 64 69 78 22 3e 41 70 70 65 6e 64 69 ><a.href="#toc-Appendix">Appendi
ffb40 78 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 70 70 65 x</a>.<a.class="hdr".href="#Appe
ffb60 6e 64 69 78 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 ndix">..</a></h2>........<h3.id=
ffb80 22 43 6f 6e 74 61 69 6e 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6e 74 61 "Containers"><a.href="#toc-Conta
ffba0 69 6e 65 72 73 22 3e 43 6f 6e 74 61 69 6e 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 iners">Containers</a>.<a.class="
ffbc0 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f hdr".href="#Containers">..</a></
ffbe0 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c 65 6d 3e 63 6f 6e 74 61 h3>........<p>.......A.<em>conta
ffc00 69 6e 65 72 3c 2f 65 6d 3e 20 69 6e 20 5a 69 67 20 69 73 20 61 6e 79 20 73 79 6e 74 61 63 74 69 iner</em>.in.Zig.is.any.syntacti
ffc20 63 61 6c 20 63 6f 6e 73 74 72 75 63 74 20 74 68 61 74 20 61 63 74 73 20 61 73 20 61 20 6e 61 6d cal.construct.that.acts.as.a.nam
ffc40 65 73 70 61 63 65 20 74 6f 20 68 6f 6c 64 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e espace.to.hold.<a.href="#Contain
ffc60 65 72 2d 4c 65 76 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 er-Level-Variables">variable</a>
ffc80 20 61 6e 64 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 63 74 69 .and.<a.href="#Functions">functi
ffca0 6f 6e 3c 2f 61 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 43 6f 6e 74 61 on</a>.declarations........Conta
ffcc0 69 6e 65 72 73 20 61 72 65 20 61 6c 73 6f 20 74 79 70 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 iners.are.also.type.definitions.
ffce0 77 68 69 63 68 20 63 61 6e 20 62 65 20 69 6e 73 74 61 6e 74 69 61 74 65 64 2e 0a 20 20 20 20 20 which.can.be.instantiated.......
ffd00 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 53 74 72 75 63 74 73 3c 2f 61 3e 2c 20 .<a.href="#struct">Structs</a>,.
ffd20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 <a.href="#enum">enums</a>,.<a.hr
ffd40 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 68 72 65 66 3d ef="#union">unions</a>,.<a.href=
ffd60 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 73 3c 2f 61 3e 2c 20 61 6e 64 20 65 76 65 6e 20 "#opaque">opaques</a>,.and.even.
ffd80 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 74 68 65 6d 73 65 6c 76 65 73 20 61 72 65 20 Zig.source.files.themselves.are.
ffda0 63 6f 6e 74 61 69 6e 65 72 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e containers........</p>.......<p>
ffdc0 0a 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 63 6f 6e 74 61 69 6e 65 72 73 20 28 65 78 63 65 .......Although.containers.(exce
ffde0 70 74 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 73 29 20 75 73 65 20 63 75 72 6c 79 20 62 pt.Zig.source.files).use.curly.b
ffe00 72 61 63 65 73 20 74 6f 20 73 75 72 72 6f 75 6e 64 20 74 68 65 69 72 20 64 65 66 69 6e 69 74 69 races.to.surround.their.definiti
ffe20 6f 6e 2c 20 74 68 65 79 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 6f 6e 66 75 73 65 64 20 on,.they.should.not.be.confused.
ffe40 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 42 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f 61 with.<a.href="#Blocks">blocks</a
ffe60 3e 20 6f 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 73 >.or.functions........Containers
ffe80 20 64 6f 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 73 74 61 74 65 6d 65 6e 74 73 2e 0a 20 20 20 20 .do.not.contain.statements......
ffea0 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 47 72 61 ..</p>...............<h3.id="Gra
ffec0 6d 6d 61 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 47 72 61 6d 6d 61 72 22 3e 47 72 61 mmar"><a.href="#toc-Grammar">Gra
ffee0 6d 6d 61 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 47 mmar</a>.<a.class="hdr".href="#G
fff00 72 61 6d 6d 61 72 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 rammar">..</a></h3>........<figu
fff20 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 70 65 67 2d 63 61 70 22 3e 3c re><figcaption.class="peg-cap"><
fff40 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 67 72 61 6d 6d 61 72 2e 70 65 67 3c 2f 63 cite.class="file">grammar.peg</c
fff60 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
fff80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 6f 6f 74 20 26 6c 74 3b 2d 20 73 6b 69 70 20 63 n.class="line">Root.&lt;-.skip.c
fffa0 6f 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 ontainer_doc_comment?.ContainerM
fffc0 65 6d 62 65 72 73 20 65 6f 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c embers.eof</span>.<span.class="l
fffe0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
100000 23 20 2a 2a 2a 20 54 6f 70 20 6c 65 76 65 6c 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e #.***.Top.level.***</span>.<span
100020 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 26 .class="line">ContainerMembers.&
100040 6c 74 3b 2d 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 20 28 43 6f 6e 74 lt;-.ContainerDeclarations.(Cont
100060 61 69 6e 65 72 46 69 65 6c 64 20 43 4f 4d 4d 41 29 2a 20 28 43 6f 6e 74 61 69 6e 65 72 46 69 65 ainerField.COMMA)*.(ContainerFie
100080 6c 64 20 2f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 29 3c 2f 73 70 61 ld./.ContainerDeclarations)</spa
1000a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
1000c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 pan.class="line">ContainerDeclar
1000e0 61 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ations</span>.<span.class="line"
100100 3e 20 20 20 20 26 6c 74 3b 2d 20 54 65 73 74 44 65 63 6c 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 >....&lt;-.TestDecl.ContainerDec
100120 6c 61 72 61 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 larations</span>.<span.class="li
100140 6e 65 22 3e 20 20 20 20 20 2f 20 43 6f 6d 70 74 69 6d 65 44 65 63 6c 20 43 6f 6e 74 61 69 6e 65 ne">...../.ComptimeDecl.Containe
100160 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 rDeclarations</span>.<span.class
100180 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 4b 45 59 57 ="line">...../.doc_comment?.KEYW
1001a0 4f 52 44 5f 70 75 62 3f 20 44 65 63 6c 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 ORD_pub?.Decl.ContainerDeclarati
1001c0 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ons</span>.<span.class="line">..
1001e0 20 20 20 2f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .../</span>.<span.class="line"><
100200 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 65 73 74 44 65 /span>.<span.class="line">TestDe
100220 63 6c 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 74 65 73 74 20 28 53 54 52 49 4e 47 4c 49 54 cl.&lt;-.KEYWORD_test.(STRINGLIT
100240 45 52 41 4c 53 49 4e 47 4c 45 20 2f 20 49 44 45 4e 54 49 46 49 45 52 29 3f 20 42 6c 6f 63 6b 3c ERALSINGLE./.IDENTIFIER)?.Block<
100260 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
100280 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6d 70 74 69 6d 65 44 65 63 >.<span.class="line">ComptimeDec
1002a0 6c 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 42 6c 6f 63 6b 3c 2f l.&lt;-.KEYWORD_comptime.Block</
1002c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
1002e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a .<span.class="line">Decl</span>.
100300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 28 4b 45 <span.class="line">....&lt;-.(KE
100320 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 65 72 6e 20 53 54 YWORD_export./.KEYWORD_extern.ST
100340 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 20 2f 20 28 4b 45 59 57 4f 52 44 5f 69 6e RINGLITERALSINGLE?./.(KEYWORD_in
100360 6c 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 29 29 3f 20 46 6e 50 72 6f line./.KEYWORD_noinline))?.FnPro
100380 74 6f 20 28 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 42 6c 6f 63 6b 29 3c 2f 73 70 61 6e 3e 0a 3c 73 to.(SEMICOLON./.Block)</span>.<s
1003a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 28 4b 45 59 57 4f 52 44 pan.class="line">...../.(KEYWORD
1003c0 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 53 54 52 49 4e 47 4c _export./.KEYWORD_extern.STRINGL
1003e0 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 29 3f 20 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f ITERALSINGLE?)?.KEYWORD_threadlo
100400 63 61 6c 3f 20 56 61 72 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d cal?.VarDecl</span>.<span.class=
100420 22 6c 69 6e 65 22 3e 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 "line">...../.KEYWORD_usingnames
100440 70 61 63 65 20 45 78 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pace.Expr.SEMICOLON</span>.<span
100460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
100480 73 3d 22 6c 69 6e 65 22 3e 46 6e 50 72 6f 74 6f 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 66 s="line">FnProto.&lt;-.KEYWORD_f
1004a0 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 6c 4c 69 n.IDENTIFIER?.LPAREN.ParamDeclLi
1004c0 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 65 3f 20 st.RPAREN.ByteAlign?.AddrSpace?.
1004e0 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 41 54 49 LinkSection?.CallConv?.EXCLAMATI
100500 4f 4e 4d 41 52 4b 3f 20 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ONMARK?.TypeExpr</span>.<span.cl
100520 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
100540 6c 69 6e 65 22 3e 56 61 72 44 65 63 6c 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 63 6f 6e line">VarDecl.&lt;-.(KEYWORD_con
100560 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 76 61 72 29 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f st./.KEYWORD_var).IDENTIFIER.(CO
100580 4c 4f 4e 20 54 79 70 65 45 78 70 72 29 3f 20 42 79 74 65 41 6c 69 67 6e 3f 20 41 64 64 72 53 70 LON.TypeExpr)?.ByteAlign?.AddrSp
1005a0 61 63 65 3f 20 4c 69 6e 6b 53 65 63 74 69 6f 6e 3f 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 20 ace?.LinkSection?.(EQUAL.Expr)?.
1005c0 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 SEMICOLON</span>.<span.class="li
1005e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 ne"></span>.<span.class="line">C
100600 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ontainerField</span>.<span.class
100620 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 ="line">.....&lt;-.doc_comment?.
100640 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f KEYWORD_comptime?.IDENTIFIER.(CO
100660 4c 4f 4e 20 54 79 70 65 45 78 70 72 29 3f 20 42 79 74 65 41 6c 69 67 6e 3f 20 28 45 51 55 41 4c LON.TypeExpr)?.ByteAlign?.(EQUAL
100680 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .Expr)?</span>.<span.class="line
1006a0 22 3e 20 20 20 20 20 20 2f 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 4b 45 59 57 4f 52 44 5f 63 ">....../.doc_comment?.KEYWORD_c
1006c0 6f 6d 70 74 69 6d 65 3f 20 28 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 29 3f 20 21 4b 45 omptime?.(IDENTIFIER.COLON)?.!KE
1006e0 59 57 4f 52 44 5f 66 6e 20 54 79 70 65 45 78 70 72 20 42 79 74 65 41 6c 69 67 6e 3f 20 28 45 51 YWORD_fn.TypeExpr.ByteAlign?.(EQ
100700 55 41 4c 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c UAL.Expr)?</span>.<span.class="l
100720 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
100740 23 20 2a 2a 2a 20 42 6c 6f 63 6b 20 4c 65 76 65 6c 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 #.***.Block.Level.***</span>.<sp
100760 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e an.class="line">Statement</span>
100780 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4b 45 .<span.class="line">....&lt;-.KE
1007a0 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 3f 20 56 61 72 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c YWORD_comptime?.VarDecl</span>.<
1007c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 span.class="line">...../.KEYWORD
1007e0 5f 63 6f 6d 70 74 69 6d 65 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 _comptime.BlockExprStatement</sp
100800 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 an>.<span.class="line">...../.KE
100820 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 YWORD_nosuspend.BlockExprStateme
100840 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 nt</span>.<span.class="line">...
100860 20 20 2f 20 4b 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 ../.KEYWORD_suspend.BlockExprSta
100880 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 tement</span>.<span.class="line"
1008a0 3e 20 20 20 20 20 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 >...../.KEYWORD_defer.BlockExprS
1008c0 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tatement</span>.<span.class="lin
1008e0 65 22 3e 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 e">...../.KEYWORD_errdefer.Paylo
100900 61 64 3f 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 ad?.BlockExprStatement</span>.<s
100920 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 53 74 61 74 65 6d pan.class="line">...../.IfStatem
100940 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ent</span>.<span.class="line">..
100960 20 20 20 2f 20 4c 61 62 65 6c 65 64 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .../.LabeledStatement</span>.<sp
100980 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 77 69 74 63 68 45 78 70 an.class="line">...../.SwitchExp
1009a0 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 r</span>.<span.class="line">....
1009c0 20 2f 20 41 73 73 69 67 6e 45 78 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c ./.AssignExpr.SEMICOLON</span>.<
1009e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
100a00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 66 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a class="line">IfStatement</span>.
100a20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 49 66 50 <span.class="line">....&lt;-.IfP
100a40 72 65 66 69 78 20 42 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 refix.BlockExpr.(.KEYWORD_else.P
100a60 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ayload?.Statement.)?</span>.<spa
100a80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 50 72 65 66 69 78 20 41 n.class="line">...../.IfPrefix.A
100aa0 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 44 5f ssignExpr.(.SEMICOLON./.KEYWORD_
100ac0 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 3c 2f 73 70 61 6e 3e else.Payload?.Statement.)</span>
100ae0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
100b00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 61 62 65 6c 65 64 53 74 61 74 65 6d 65 6e 74 20 n.class="line">LabeledStatement.
100b20 26 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 &lt;-.BlockLabel?.(Block./.LoopS
100b40 74 61 74 65 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 tatement)</span>.<span.class="li
100b60 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c ne"></span>.<span.class="line">L
100b80 6f 6f 70 53 74 61 74 65 6d 65 6e 74 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e oopStatement.&lt;-.KEYWORD_inlin
100ba0 65 3f 20 28 46 6f 72 53 74 61 74 65 6d 65 6e 74 20 2f 20 57 68 69 6c 65 53 74 61 74 65 6d 65 6e e?.(ForStatement./.WhileStatemen
100bc0 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 t)</span>.<span.class="line"></s
100be0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 53 74 61 74 65 pan>.<span.class="line">ForState
100c00 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ment</span>.<span.class="line">.
100c20 20 20 20 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 ...&lt;-.ForPrefix.BlockExpr.(.K
100c40 45 59 57 4f 52 44 5f 65 6c 73 65 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 61 6e 3e 0a EYWORD_else.Statement.)?</span>.
100c60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 46 6f 72 50 72 65 <span.class="line">...../.ForPre
100c80 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 4b 45 59 fix.AssignExpr.(.SEMICOLON./.KEY
100ca0 57 4f 52 44 5f 65 6c 73 65 20 53 74 61 74 65 6d 65 6e 74 20 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 WORD_else.Statement.)</span>.<sp
100cc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c an.class="line"></span>.<span.cl
100ce0 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e ass="line">WhileStatement</span>
100d00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 57 68 .<span.class="line">....&lt;-.Wh
100d20 69 6c 65 50 72 65 66 69 78 20 42 6c 6f 63 6b 45 78 70 72 20 28 20 4b 45 59 57 4f 52 44 5f 65 6c ilePrefix.BlockExpr.(.KEYWORD_el
100d40 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 61 6e 3e 0a se.Payload?.Statement.)?</span>.
100d60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 57 68 69 6c 65 50 <span.class="line">...../.WhileP
100d80 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 4b refix.AssignExpr.(.SEMICOLON./.K
100da0 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.)
100dc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
100de0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b 45 78 70 72 53 n>.<span.class="line">BlockExprS
100e00 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tatement</span>.<span.class="lin
100e20 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 e">....&lt;-.BlockExpr</span>.<s
100e40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 73 73 69 67 6e 45 78 pan.class="line">...../.AssignEx
100e60 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pr.SEMICOLON</span>.<span.class=
100e80 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
100ea0 22 3e 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 ">BlockExpr.&lt;-.BlockLabel?.Bl
100ec0 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ock</span>.<span.class="line"></
100ee0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 45 span>.<span.class="line">#.***.E
100f00 78 70 72 65 73 73 69 6f 6e 20 4c 65 76 65 6c 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e xpression.Level.***</span>.<span
100f20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 73 69 67 6e 45 78 70 72 20 26 6c 74 3b 2d 20 45 .class="line">AssignExpr.&lt;-.E
100f40 78 70 72 20 28 41 73 73 69 67 6e 4f 70 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 xpr.(AssignOp.Expr)?</span>.<spa
100f60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
100f80 73 73 3d 22 6c 69 6e 65 22 3e 45 78 70 72 20 26 6c 74 3b 2d 20 42 6f 6f 6c 4f 72 45 78 70 72 3c ss="line">Expr.&lt;-.BoolOrExpr<
100fa0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
100fc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6f 6f 6c 4f 72 45 78 70 72 20 >.<span.class="line">BoolOrExpr.
100fe0 26 6c 74 3b 2d 20 42 6f 6f 6c 41 6e 64 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 6f 72 20 42 6f &lt;-.BoolAndExpr.(KEYWORD_or.Bo
101000 6f 6c 41 6e 64 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 olAndExpr)*</span>.<span.class="
101020 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
101040 3e 42 6f 6f 6c 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 >BoolAndExpr.&lt;-.CompareExpr.(
101060 4b 45 59 57 4f 52 44 5f 61 6e 64 20 43 6f 6d 70 61 72 65 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e KEYWORD_and.CompareExpr)*</span>
101080 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
1010a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6d 70 61 72 65 45 78 70 72 20 26 6c 74 3b 2d n.class="line">CompareExpr.&lt;-
1010c0 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 69 74 77 69 73 65 45 .BitwiseExpr.(CompareOp.BitwiseE
1010e0 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e xpr)?</span>.<span.class="line">
101100 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 69 74 77 69 </span>.<span.class="line">Bitwi
101120 73 65 45 78 70 72 20 26 6c 74 3b 2d 20 42 69 74 53 68 69 66 74 45 78 70 72 20 28 42 69 74 77 69 seExpr.&lt;-.BitShiftExpr.(Bitwi
101140 73 65 4f 70 20 42 69 74 53 68 69 66 74 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e seOp.BitShiftExpr)*</span>.<span
101160 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
101180 73 3d 22 6c 69 6e 65 22 3e 42 69 74 53 68 69 66 74 45 78 70 72 20 26 6c 74 3b 2d 20 41 64 64 69 s="line">BitShiftExpr.&lt;-.Addi
1011a0 74 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 tionExpr.(BitShiftOp.AdditionExp
1011c0 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f r)*</span>.<span.class="line"></
1011e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 64 64 69 74 69 6f span>.<span.class="line">Additio
101200 6e 45 78 70 72 20 26 6c 74 3b 2d 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 20 28 41 64 64 69 74 69 nExpr.&lt;-.MultiplyExpr.(Additi
101220 6f 6e 4f 70 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e onOp.MultiplyExpr)*</span>.<span
101240 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
101260 73 3d 22 6c 69 6e 65 22 3e 4d 75 6c 74 69 70 6c 79 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 s="line">MultiplyExpr.&lt;-.Pref
101280 69 78 45 78 70 72 20 28 4d 75 6c 74 69 70 6c 79 4f 70 20 50 72 65 66 69 78 45 78 70 72 29 2a 3c ixExpr.(MultiplyOp.PrefixExpr)*<
1012a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
1012c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 65 66 69 78 45 78 70 72 20 >.<span.class="line">PrefixExpr.
1012e0 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 3c 2f 73 70 61 &lt;-.PrefixOp*.PrimaryExpr</spa
101300 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
101320 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 69 6d 61 72 79 45 78 70 72 3c 2f 73 70 pan.class="line">PrimaryExpr</sp
101340 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d an>.<span.class="line">....&lt;-
101360 20 41 73 6d 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .AsmExpr</span>.<span.class="lin
101380 65 22 3e 20 20 20 20 20 2f 20 49 66 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">...../.IfExpr</span>.<span.cl
1013a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 ass="line">...../.KEYWORD_break.
1013c0 42 72 65 61 6b 4c 61 62 65 6c 3f 20 45 78 70 72 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 BreakLabel?.Expr?</span>.<span.c
1013e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 lass="line">...../.KEYWORD_compt
101400 69 6d 65 20 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ime.Expr</span>.<span.class="lin
101420 65 22 3e 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 45 78 70 72 e">...../.KEYWORD_nosuspend.Expr
101440 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
101460 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 74 69 6e 75 65 20 42 72 65 61 6b 4c 61 62 65 6c 3f 3c 2f /.KEYWORD_continue.BreakLabel?</
101480 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 span>.<span.class="line">...../.
1014a0 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e KEYWORD_resume.Expr</span>.<span
1014c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 74 .class="line">...../.KEYWORD_ret
1014e0 75 72 6e 20 45 78 70 72 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 urn.Expr?</span>.<span.class="li
101500 6e 65 22 3e 20 20 20 20 20 2f 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 4c 6f 6f 70 45 78 70 72 3c ne">...../.BlockLabel?.LoopExpr<
101520 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
101540 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .Block</span>.<span.class="line"
101560 3e 20 20 20 20 20 2f 20 43 75 72 6c 79 53 75 66 66 69 78 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c >...../.CurlySuffixExpr</span>.<
101580 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
1015a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 66 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 class="line">IfExpr.&lt;-.IfPref
1015c0 69 78 20 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 ix.Expr.(KEYWORD_else.Payload?.E
1015e0 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e xpr)?</span>.<span.class="line">
101600 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b </span>.<span.class="line">Block
101620 20 26 6c 74 3b 2d 20 4c 42 52 41 43 45 20 53 74 61 74 65 6d 65 6e 74 2a 20 52 42 52 41 43 45 3c .&lt;-.LBRACE.Statement*.RBRACE<
101640 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
101660 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 6f 6f 70 45 78 70 72 20 26 6c >.<span.class="line">LoopExpr.&l
101680 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 28 46 6f 72 45 78 70 72 20 2f 20 57 t;-.KEYWORD_inline?.(ForExpr./.W
1016a0 68 69 6c 65 45 78 70 72 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 hileExpr)</span>.<span.class="li
1016c0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 ne"></span>.<span.class="line">F
1016e0 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 59 orExpr.&lt;-.ForPrefix.Expr.(KEY
101700 57 4f 52 44 5f 65 6c 73 65 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c WORD_else.Expr)?</span>.<span.cl
101720 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
101740 6c 69 6e 65 22 3e 57 68 69 6c 65 45 78 70 72 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 line">WhileExpr.&lt;-.WhilePrefi
101760 78 20 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 x.Expr.(KEYWORD_else.Payload?.Ex
101780 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pr)?</span>.<span.class="line"><
1017a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 75 72 6c 79 53 /span>.<span.class="line">CurlyS
1017c0 75 66 66 69 78 45 78 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 uffixExpr.&lt;-.TypeExpr.InitLis
1017e0 74 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 t?</span>.<span.class="line"></s
101800 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 6e 69 74 4c 69 73 74 pan>.<span.class="line">InitList
101820 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 </span>.<span.class="line">....&
101840 6c 74 3b 2d 20 4c 42 52 41 43 45 20 46 69 65 6c 64 49 6e 69 74 20 28 43 4f 4d 4d 41 20 46 69 65 lt;-.LBRACE.FieldInit.(COMMA.Fie
101860 6c 64 49 6e 69 74 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 ldInit)*.COMMA?.RBRACE</span>.<s
101880 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 42 52 41 43 45 20 45 pan.class="line">...../.LBRACE.E
1018a0 78 70 72 20 28 43 4f 4d 4d 41 20 45 78 70 72 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 45 3c xpr.(COMMA.Expr)*.COMMA?.RBRACE<
1018c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
1018e0 20 4c 42 52 41 43 45 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .LBRACE.RBRACE</span>.<span.clas
101900 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
101920 6e 65 22 3e 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 4f 70 2a ne">TypeExpr.&lt;-.PrefixTypeOp*
101940 20 45 72 72 6f 72 55 6e 69 6f 6e 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .ErrorUnionExpr</span>.<span.cla
101960 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
101980 69 6e 65 22 3e 45 72 72 6f 72 55 6e 69 6f 6e 45 78 70 72 20 26 6c 74 3b 2d 20 53 75 66 66 69 78 ine">ErrorUnionExpr.&lt;-.Suffix
1019a0 45 78 70 72 20 28 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 20 54 79 70 65 45 78 70 72 29 3f Expr.(EXCLAMATIONMARK.TypeExpr)?
1019c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
1019e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 75 66 66 69 78 45 78 70 72 n>.<span.class="line">SuffixExpr
101a00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 </span>.<span.class="line">....&
101a20 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 78 lt;-.KEYWORD_async.PrimaryTypeEx
101a40 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 3c 2f 73 70 pr.SuffixOp*.FnCallArguments</sp
101a60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 72 an>.<span.class="line">...../.Pr
101a80 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 20 46 6e 43 61 6c 6c imaryTypeExpr.(SuffixOp./.FnCall
101aa0 41 72 67 75 6d 65 6e 74 73 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 Arguments)*</span>.<span.class="
101ac0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
101ae0 3e 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >PrimaryTypeExpr</span>.<span.cl
101b00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 42 55 49 4c 54 49 4e 49 44 45 4e ass="line">....&lt;-.BUILTINIDEN
101b20 54 49 46 49 45 52 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 TIFIER.FnCallArguments</span>.<s
101b40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 48 41 52 5f 4c 49 54 pan.class="line">...../.CHAR_LIT
101b60 45 52 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ERAL</span>.<span.class="line">.
101b80 20 20 20 20 2f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ..../.ContainerDecl</span>.<span
101ba0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 20 49 44 45 4e 54 49 46 .class="line">...../.DOT.IDENTIF
101bc0 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 IER</span>.<span.class="line">..
101be0 20 20 20 2f 20 44 4f 54 20 49 6e 69 74 4c 69 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .../.DOT.InitList</span>.<span.c
101c00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 45 72 72 6f 72 53 65 74 44 65 63 6c 3c lass="line">...../.ErrorSetDecl<
101c20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
101c40 20 46 4c 4f 41 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .FLOAT</span>.<span.class="line"
101c60 3e 20 20 20 20 20 2f 20 46 6e 50 72 6f 74 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >...../.FnProto</span>.<span.cla
101c80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 47 72 6f 75 70 65 64 45 78 70 72 3c 2f 73 70 ss="line">...../.GroupedExpr</sp
101ca0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 61 an>.<span.class="line">...../.La
101cc0 62 65 6c 65 64 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 beledTypeExpr</span>.<span.class
101ce0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e ="line">...../.IDENTIFIER</span>
101d00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 54 79 70 .<span.class="line">...../.IfTyp
101d20 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e eExpr</span>.<span.class="line">
101d40 20 20 20 20 20 2f 20 49 4e 54 45 47 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ...../.INTEGER</span>.<span.clas
101d60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 s="line">...../.KEYWORD_comptime
101d80 20 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .TypeExpr</span>.<span.class="li
101da0 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 44 4f 54 20 49 44 45 ne">...../.KEYWORD_error.DOT.IDE
101dc0 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 NTIFIER</span>.<span.class="line
101de0 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e ">...../.KEYWORD_anyframe</span>
101e00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f .<span.class="line">...../.KEYWO
101e20 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 RD_unreachable</span>.<span.clas
101e40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 3c 2f 73 s="line">...../.STRINGLITERAL</s
101e60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 pan>.<span.class="line">...../.S
101e80 77 69 74 63 68 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 witchExpr</span>.<span.class="li
101ea0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 ne"></span>.<span.class="line">C
101ec0 6f 6e 74 61 69 6e 65 72 44 65 63 6c 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 74 65 ontainerDecl.&lt;-.(KEYWORD_exte
101ee0 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 29 3f 20 43 6f 6e 74 61 69 6e 65 72 44 rn./.KEYWORD_packed)?.ContainerD
101f00 65 63 6c 41 75 74 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 eclAuto</span>.<span.class="line
101f20 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 72 72 "></span>.<span.class="line">Err
101f40 6f 72 53 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 orSetDecl.&lt;-.KEYWORD_error.LB
101f60 52 41 43 45 20 49 64 65 6e 74 69 66 69 65 72 4c 69 73 74 20 52 42 52 41 43 45 3c 2f 73 70 61 6e RACE.IdentifierList.RBRACE</span
101f80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
101fa0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 47 72 6f 75 70 65 64 45 78 70 72 20 26 6c 74 3b an.class="line">GroupedExpr.&lt;
101fc0 2d 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -.LPAREN.Expr.RPAREN</span>.<spa
101fe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
102000 73 73 3d 22 6c 69 6e 65 22 3e 49 66 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 50 72 65 ss="line">IfTypeExpr.&lt;-.IfPre
102020 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f fix.TypeExpr.(KEYWORD_else.Paylo
102040 61 64 3f 20 54 79 70 65 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ad?.TypeExpr)?</span>.<span.clas
102060 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
102080 6e 65 22 3e 4c 61 62 65 6c 65 64 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ne">LabeledTypeExpr</span>.<span
1020a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 .class="line">....&lt;-.BlockLab
1020c0 65 6c 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e el.Block</span>.<span.class="lin
1020e0 65 22 3e 20 20 20 20 20 2f 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 4c 6f 6f 70 54 79 70 65 45 78 e">...../.BlockLabel?.LoopTypeEx
102100 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 pr</span>.<span.class="line"></s
102120 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 6f 6f 70 54 79 70 65 pan>.<span.class="line">LoopType
102140 45 78 70 72 20 26 6c 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 Expr.&lt;-.KEYWORD_inline?.(ForT
102160 79 70 65 45 78 70 72 20 2f 20 57 68 69 6c 65 54 79 70 65 45 78 70 72 29 3c 2f 73 70 61 6e 3e 0a ypeExpr./.WhileTypeExpr)</span>.
102180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
1021a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 .class="line">ForTypeExpr.&lt;-.
1021c0 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 5f 65 6c 73 65 ForPrefix.TypeExpr.(KEYWORD_else
1021e0 20 54 79 70 65 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .TypeExpr)?</span>.<span.class="
102200 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
102220 3e 57 68 69 6c 65 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 >WhileTypeExpr.&lt;-.WhilePrefix
102240 20 54 79 70 65 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 .TypeExpr.(KEYWORD_else.Payload?
102260 20 54 79 70 65 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .TypeExpr)?</span>.<span.class="
102280 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
1022a0 3e 53 77 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 >SwitchExpr.&lt;-.KEYWORD_switch
1022c0 20 4c 50 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 .LPAREN.Expr.RPAREN.LBRACE.Switc
1022e0 68 50 72 6f 6e 67 4c 69 73 74 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 hProngList.RBRACE</span>.<span.c
102300 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
102320 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 41 73 73 65 6d 62 6c 79 20 2a 2a 2a 3c 2f 73 70 61 6e 3e "line">#.***.Assembly.***</span>
102340 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 45 78 70 72 20 26 6c 74 3b .<span.class="line">AsmExpr.&lt;
102360 2d 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 3f 20 -.KEYWORD_asm.KEYWORD_volatile?.
102380 4c 50 41 52 45 4e 20 45 78 70 72 20 41 73 6d 4f 75 74 70 75 74 3f 20 52 50 41 52 45 4e 3c 2f 73 LPAREN.Expr.AsmOutput?.RPAREN</s
1023a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
1023c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 70 75 74 20 26 6c 74 <span.class="line">AsmOutput.&lt
1023e0 3b 2d 20 43 4f 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 ;-.COLON.AsmOutputList.AsmInput?
102400 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
102420 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 70 75 74 49 n>.<span.class="line">AsmOutputI
102440 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 46 49 45 52 20 52 42 tem.&lt;-.LBRACKET.IDENTIFIER.RB
102460 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 45 4e 20 28 4d 49 4e RACKET.STRINGLITERAL.LPAREN.(MIN
102480 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 49 46 49 45 52 29 20 USRARROW.TypeExpr./.IDENTIFIER).
1024a0 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 RPAREN</span>.<span.class="line"
1024c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 49 ></span>.<span.class="line">AsmI
1024e0 6e 70 75 74 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 41 73 6d 49 6e 70 75 74 4c 69 73 74 20 41 73 nput.&lt;-.COLON.AsmInputList.As
102500 6d 43 6c 6f 62 62 65 72 73 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c mClobbers?</span>.<span.class="l
102520 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
102540 41 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 AsmInputItem.&lt;-.LBRACKET.IDEN
102560 54 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 TIFIER.RBRACKET.STRINGLITERAL.LP
102580 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c AREN.Expr.RPAREN</span>.<span.cl
1025a0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
1025c0 6c 69 6e 65 22 3e 41 73 6d 43 6c 6f 62 62 65 72 73 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 53 74 line">AsmClobbers.&lt;-.COLON.St
1025e0 72 69 6e 67 4c 69 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ringList</span>.<span.class="lin
102600 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 e"></span>.<span.class="line">#.
102620 2a 2a 2a 20 48 65 6c 70 65 72 20 67 72 61 6d 6d 61 72 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 ***.Helper.grammar.***</span>.<s
102640 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 72 65 61 6b 4c 61 62 65 6c 20 26 6c 74 3b pan.class="line">BreakLabel.&lt;
102660 2d 20 43 4f 4c 4f 4e 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -.COLON.IDENTIFIER</span>.<span.
102680 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
1026a0 3d 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b 4c 61 62 65 6c 20 26 6c 74 3b 2d 20 49 44 45 4e 54 49 46 ="line">BlockLabel.&lt;-.IDENTIF
1026c0 49 45 52 20 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 IER.COLON</span>.<span.class="li
1026e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 ne"></span>.<span.class="line">F
102700 69 65 6c 64 49 6e 69 74 20 26 6c 74 3b 2d 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 20 45 51 ieldInit.&lt;-.DOT.IDENTIFIER.EQ
102720 55 41 4c 20 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e UAL.Expr</span>.<span.class="lin
102740 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 e"></span>.<span.class="line">Wh
102760 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 52 ileContinueExpr.&lt;-.COLON.LPAR
102780 45 4e 20 41 73 73 69 67 6e 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 EN.AssignExpr.RPAREN</span>.<spa
1027a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n.class="line"></span>.<span.cla
1027c0 73 73 3d 22 6c 69 6e 65 22 3e 4c 69 6e 6b 53 65 63 74 69 6f 6e 20 26 6c 74 3b 2d 20 4b 45 59 57 ss="line">LinkSection.&lt;-.KEYW
1027e0 4f 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f 6e 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 ORD_linksection.LPAREN.Expr.RPAR
102800 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 EN</span>.<span.class="line"></s
102820 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 64 64 72 53 70 61 63 pan>.<span.class="line">AddrSpac
102840 65 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 4c 50 41 52 45 4e e.&lt;-.KEYWORD_addrspace.LPAREN
102860 20 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .Expr.RPAREN</span>.<span.class=
102880 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 "line"></span>.<span.class="line
1028a0 22 3e 23 20 46 6e 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">#.Fn.specific</span>.<span.cla
1028c0 73 73 3d 22 6c 69 6e 65 22 3e 43 61 6c 6c 43 6f 6e 76 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 ss="line">CallConv.&lt;-.KEYWORD
1028e0 5f 63 61 6c 6c 63 6f 6e 76 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 _callconv.LPAREN.Expr.RPAREN</sp
102900 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
102920 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 72 61 6d 44 65 63 6c 3c 2f 73 70 61 span.class="line">ParamDecl</spa
102940 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 n>.<span.class="line">....&lt;-.
102960 64 6f 63 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 doc_comment?.(KEYWORD_noalias./.
102980 4b 45 59 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 KEYWORD_comptime)?.(IDENTIFIER.C
1029a0 4f 4c 4f 4e 29 3f 20 50 61 72 61 6d 54 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c OLON)?.ParamType</span>.<span.cl
1029c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 33 3c 2f 73 70 61 6e 3e 0a 3c 73 ass="line">...../.DOT3</span>.<s
1029e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
102a00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 72 61 6d 54 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="line">ParamType</span>.<sp
102a20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 an.class="line">....&lt;-.KEYWOR
102a40 44 5f 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 D_anytype</span>.<span.class="li
102a60 6e 65 22 3e 20 20 20 20 20 2f 20 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ne">...../.TypeExpr</span>.<span
102a80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
102aa0 73 3d 22 6c 69 6e 65 22 3e 23 20 43 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 70 72 65 66 69 78 65 73 s="line">#.Control.flow.prefixes
102ac0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 66 50 72 65 </span>.<span.class="line">IfPre
102ae0 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 66 20 4c 50 41 52 45 4e 20 45 78 70 72 fix.&lt;-.KEYWORD_if.LPAREN.Expr
102b00 20 52 50 41 52 45 4e 20 50 74 72 50 61 79 6c 6f 61 64 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .RPAREN.PtrPayload?</span>.<span
102b20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
102b40 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f s="line">WhilePrefix.&lt;-.KEYWO
102b60 52 44 5f 77 68 69 6c 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 RD_while.LPAREN.Expr.RPAREN.PtrP
102b80 61 79 6c 6f 61 64 3f 20 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 3f 3c 2f 73 70 61 6e ayload?.WhileContinueExpr?</span
102ba0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
102bc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 an.class="line">ForPrefix.&lt;-.
102be0 4b 45 59 57 4f 52 44 5f 66 6f 72 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 50 KEYWORD_for.LPAREN.Expr.RPAREN.P
102c00 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 trIndexPayload</span>.<span.clas
102c20 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
102c40 6e 65 22 3e 23 20 50 61 79 6c 6f 61 64 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ne">#.Payloads</span>.<span.clas
102c60 73 3d 22 6c 69 6e 65 22 3e 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 49 44 45 4e s="line">Payload.&lt;-.PIPE.IDEN
102c80 54 49 46 49 45 52 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 TIFIER.PIPE</span>.<span.class="
102ca0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
102cc0 3e 50 74 72 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 41 53 54 45 52 49 53 4b 3f >PtrPayload.&lt;-.PIPE.ASTERISK?
102ce0 20 49 44 45 4e 54 49 46 49 45 52 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .IDENTIFIER.PIPE</span>.<span.cl
102d00 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
102d20 6c 69 6e 65 22 3e 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 line">PtrIndexPayload.&lt;-.PIPE
102d40 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 49 44 45 .ASTERISK?.IDENTIFIER.(COMMA.IDE
102d60 4e 54 49 46 49 45 52 29 3f 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 NTIFIER)?.PIPE</span>.<span.clas
102d80 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
102da0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 ne"></span>.<span.class="line">#
102dc0 20 53 77 69 74 63 68 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .Switch.specific</span>.<span.cl
102de0 61 73 73 3d 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 50 72 6f 6e 67 20 26 6c 74 3b 2d 20 4b 45 59 ass="line">SwitchProng.&lt;-.KEY
102e00 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 53 77 69 74 63 68 43 61 73 65 20 45 51 55 41 4c 52 41 52 WORD_inline?.SwitchCase.EQUALRAR
102e20 52 4f 57 20 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 3f 20 41 73 73 69 67 6e 45 78 70 72 3c ROW.PtrIndexPayload?.AssignExpr<
102e40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
102e60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 43 61 73 65 3c >.<span.class="line">SwitchCase<
102e80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c /span>.<span.class="line">....&l
102ea0 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 74 65 6d t;-.SwitchItem.(COMMA.SwitchItem
102ec0 29 2a 20 43 4f 4d 4d 41 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 )*.COMMA?</span>.<span.class="li
102ee0 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c ne">...../.KEYWORD_else</span>.<
102f00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span.class="line"></span>.<span.
102f20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 49 74 65 6d 20 26 6c 74 3b 2d 20 45 78 class="line">SwitchItem.&lt;-.Ex
102f40 70 72 20 28 44 4f 54 33 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pr.(DOT3.Expr)?</span>.<span.cla
102f60 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
102f80 69 6e 65 22 3e 23 20 4f 70 65 72 61 74 6f 72 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ine">#.Operators</span>.<span.cl
102fa0 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 73 69 67 6e 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ass="line">AssignOp</span>.<span
102fc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 45 52 49 53 4b .class="line">....&lt;-.ASTERISK
102fe0 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e EQUAL</span>.<span.class="line">
103000 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 49 50 45 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a ...../.ASTERISKPIPEEQUAL</span>.
103020 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 4c 41 53 48 45 <span.class="line">...../.SLASHE
103040 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 QUAL</span>.<span.class="line">.
103060 20 20 20 20 2f 20 50 45 52 43 45 4e 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ..../.PERCENTEQUAL</span>.<span.
103080 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 4c 55 53 45 51 55 41 4c 3c 2f 73 class="line">...../.PLUSEQUAL</s
1030a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 pan>.<span.class="line">...../.P
1030c0 4c 55 53 50 49 50 45 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d LUSPIPEEQUAL</span>.<span.class=
1030e0 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a "line">...../.MINUSEQUAL</span>.
103100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 <span.class="line">...../.MINUSP
103120 49 50 45 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e IPEEQUAL</span>.<span.class="lin
103140 65 22 3e 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 32 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 e">...../.LARROW2EQUAL</span>.<s
103160 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 32 50 pan.class="line">...../.LARROW2P
103180 49 50 45 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e IPEEQUAL</span>.<span.class="lin
1031a0 65 22 3e 20 20 20 20 20 2f 20 52 41 52 52 4f 57 32 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 e">...../.RARROW2EQUAL</span>.<s
1031c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e pan.class="line">...../.AMPERSAN
1031e0 44 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 DEQUAL</span>.<span.class="line"
103200 3e 20 20 20 20 20 2f 20 43 41 52 45 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >...../.CARETEQUAL</span>.<span.
103220 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 49 50 45 45 51 55 41 4c 3c 2f 73 class="line">...../.PIPEEQUAL</s
103240 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 pan>.<span.class="line">...../.A
103260 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e STERISKPERCENTEQUAL</span>.<span
103280 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 .class="line">...../.PLUSPERCENT
1032a0 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e EQUAL</span>.<span.class="line">
1032c0 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a ...../.MINUSPERCENTEQUAL</span>.
1032e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 45 51 55 41 4c 3c <span.class="line">...../.EQUAL<
103300 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e /span>.<span.class="line"></span
103320 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6d 70 61 72 65 4f 70 3c 2f >.<span.class="line">CompareOp</
103340 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 span>.<span.class="line">....&lt
103360 3b 2d 20 45 51 55 41 4c 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ;-.EQUALEQUAL</span>.<span.class
103380 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 51 ="line">...../.EXCLAMATIONMARKEQ
1033a0 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 UAL</span>.<span.class="line">..
1033c0 20 20 20 2f 20 4c 41 52 52 4f 57 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .../.LARROW</span>.<span.class="
1033e0 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 52 4f 57 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e line">...../.RARROW</span>.<span
103400 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 45 51 55 41 4c .class="line">...../.LARROWEQUAL
103420 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
103440 2f 20 52 41 52 52 4f 57 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 /.RARROWEQUAL</span>.<span.class
103460 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
103480 65 22 3e 42 69 74 77 69 73 65 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">BitwiseOp</span>.<span.class=
1034a0 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 41 4d 50 45 52 53 41 4e 44 3c 2f 73 70 61 6e "line">....&lt;-.AMPERSAND</span
1034c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 41 52 45 >.<span.class="line">...../.CARE
1034e0 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 T</span>.<span.class="line">....
103500 20 2f 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ./.PIPE</span>.<span.class="line
103520 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c ">...../.KEYWORD_orelse</span>.<
103540 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 span.class="line">...../.KEYWORD
103560 5f 63 61 74 63 68 20 50 61 79 6c 6f 61 64 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 _catch.Payload?</span>.<span.cla
103580 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ss="line"></span>.<span.class="l
1035a0 69 6e 65 22 3e 42 69 74 53 68 69 66 74 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ine">BitShiftOp</span>.<span.cla
1035c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4c 41 52 52 4f 57 32 3c 2f 73 70 61 ss="line">....&lt;-.LARROW2</spa
1035e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 n>.<span.class="line">...../.RAR
103600 52 4f 57 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ROW2</span>.<span.class="line">.
103620 20 20 20 20 2f 20 4c 41 52 52 4f 57 32 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ..../.LARROW2PIPE</span>.<span.c
103640 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line"></span>.<span.class=
103660 22 6c 69 6e 65 22 3e 41 64 64 69 74 69 6f 6e 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 "line">AdditionOp</span>.<span.c
103680 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 50 4c 55 53 3c 2f 73 70 61 6e lass="line">....&lt;-.PLUS</span
1036a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 >.<span.class="line">...../.MINU
1036c0 53 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 S</span>.<span.class="line">....
1036e0 20 2f 20 50 4c 55 53 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ./.PLUS2</span>.<span.class="lin
103700 65 22 3e 20 20 20 20 20 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e">...../.PLUSPERCENT</span>.<sp
103720 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 an.class="line">...../.MINUSPERC
103740 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ENT</span>.<span.class="line">..
103760 20 20 20 2f 20 50 4c 55 53 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .../.PLUSPIPE</span>.<span.class
103780 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 49 50 45 3c 2f 73 70 61 6e 3e 0a ="line">...../.MINUSPIPE</span>.
1037a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e <span.class="line"></span>.<span
1037c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 75 6c 74 69 70 6c 79 4f 70 3c 2f 73 70 61 6e 3e 0a .class="line">MultiplyOp</span>.
1037e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 50 49 50 <span.class="line">....&lt;-.PIP
103800 45 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 E2</span>.<span.class="line">...
103820 20 20 2f 20 41 53 54 45 52 49 53 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ../.ASTERISK</span>.<span.class=
103840 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 4c 41 53 48 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e "line">...../.SLASH</span>.<span
103860 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 45 52 43 45 4e 54 3c 2f 73 70 .class="line">...../.PERCENT</sp
103880 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 53 an>.<span.class="line">...../.AS
1038a0 54 45 52 49 53 4b 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 TERISK2</span>.<span.class="line
1038c0 22 3e 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a ">...../.ASTERISKPERCENT</span>.
1038e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 53 54 45 52 49 <span.class="line">...../.ASTERI
103900 53 4b 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 SKPIPE</span>.<span.class="line"
103920 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 65 66 ></span>.<span.class="line">Pref
103940 69 78 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ixOp</span>.<span.class="line">.
103960 20 20 20 26 6c 74 3b 2d 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 3c 2f 73 70 61 6e 3e 0a ...&lt;-.EXCLAMATIONMARK</span>.
103980 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 3c <span.class="line">...../.MINUS<
1039a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
1039c0 20 54 49 4c 44 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .TILDE</span>.<span.class="line"
1039e0 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >...../.MINUSPERCENT</span>.<spa
103a00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e 44 3c n.class="line">...../.AMPERSAND<
103a20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
103a40 20 4b 45 59 57 4f 52 44 5f 74 72 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .KEYWORD_try</span>.<span.class=
103a60 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 3c 2f 73 70 61 "line">...../.KEYWORD_await</spa
103a80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
103aa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 65 66 69 78 54 79 70 65 4f 70 3c 2f 73 pan.class="line">PrefixTypeOp</s
103ac0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b pan>.<span.class="line">....&lt;
103ae0 2d 20 51 55 45 53 54 49 4f 4e 4d 41 52 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 -.QUESTIONMARK</span>.<span.clas
103b00 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 s="line">...../.KEYWORD_anyframe
103b20 20 4d 49 4e 55 53 52 41 52 52 4f 57 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .MINUSRARROW</span>.<span.class=
103b40 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 6c 69 63 65 54 79 70 65 53 74 61 72 74 20 28 42 79 "line">...../.SliceTypeStart.(By
103b60 74 65 41 6c 69 67 6e 20 2f 20 41 64 64 72 53 70 61 63 65 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f teAlign./.AddrSpace./.KEYWORD_co
103b80 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 nst./.KEYWORD_volatile./.KEYWORD
103ba0 5f 61 6c 6c 6f 77 7a 65 72 6f 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d _allowzero)*</span>.<span.class=
103bc0 22 6c 69 6e 65 22 3e 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 "line">...../.PtrTypeStart.(Addr
103be0 53 70 61 63 65 20 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 Space./.KEYWORD_align.LPAREN.Exp
103c00 72 20 28 43 4f 4c 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 r.(COLON.Expr.COLON.Expr)?.RPARE
103c20 4e 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 76 6f 6c 61 N./.KEYWORD_const./.KEYWORD_vola
103c40 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 3c 2f 73 70 61 6e tile./.KEYWORD_allowzero)*</span
103c60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 72 72 61 >.<span.class="line">...../.Arra
103c80 79 54 79 70 65 53 74 61 72 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c yTypeStart</span>.<span.class="l
103ca0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
103cc0 53 75 66 66 69 78 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e SuffixOp</span>.<span.class="lin
103ce0 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 45 78 70 72 20 28 44 4f 54 32 e">....&lt;-.LBRACKET.Expr.(DOT2
103d00 20 28 45 78 70 72 3f 20 28 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 29 3f 29 3f 20 52 42 52 41 43 4b .(Expr?.(COLON.Expr)?)?)?.RBRACK
103d20 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ET</span>.<span.class="line">...
103d40 20 20 2f 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ../.DOT.IDENTIFIER</span>.<span.
103d60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 41 53 54 45 52 49 53 4b 3c class="line">...../.DOTASTERISK<
103d80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
103da0 20 44 4f 54 51 55 45 53 54 49 4f 4e 4d 41 52 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .DOTQUESTIONMARK</span>.<span.cl
103dc0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line"></span>.<span.class="
103de0 6c 69 6e 65 22 3e 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 20 26 6c 74 3b 2d 20 4c 50 41 52 line">FnCallArguments.&lt;-.LPAR
103e00 45 4e 20 45 78 70 72 4c 69 73 74 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 EN.ExprList.RPAREN</span>.<span.
103e20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
103e40 3d 22 6c 69 6e 65 22 3e 23 20 50 74 72 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 6e 3e 0a 3c 73 ="line">#.Ptr.specific</span>.<s
103e60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 6c 69 63 65 54 79 70 65 53 74 61 72 74 20 pan.class="line">SliceTypeStart.
103e80 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 42 52 &lt;-.LBRACKET.(COLON.Expr)?.RBR
103ea0 41 43 4b 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ACKET</span>.<span.class="line">
103ec0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 74 72 54 79 </span>.<span.class="line">PtrTy
103ee0 70 65 53 74 61 72 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 peStart</span>.<span.class="line
103f00 22 3e 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 45 52 49 53 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">....&lt;-.ASTERISK</span>.<spa
103f20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 32 3c n.class="line">...../.ASTERISK2<
103f40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f /span>.<span.class="line">...../
103f60 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
103f80 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e LON.Expr)?.RBRACKET</span>.<span
103fa0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
103fc0 73 3d 22 6c 69 6e 65 22 3e 41 72 72 61 79 54 79 70 65 53 74 61 72 74 20 26 6c 74 3b 2d 20 4c 42 s="line">ArrayTypeStart.&lt;-.LB
103fe0 52 41 43 4b 45 54 20 45 78 70 72 20 28 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b RACKET.Expr.(COLON.Expr)?.RBRACK
104000 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 ET</span>.<span.class="line"></s
104020 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 43 6f 6e 74 61 69 pan>.<span.class="line">#.Contai
104040 6e 65 72 44 65 63 6c 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c nerDecl.specific</span>.<span.cl
104060 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 41 75 74 6f 20 26 6c 74 ass="line">ContainerDeclAuto.&lt
104080 3b 2d 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 ;-.ContainerDeclType.LBRACE.cont
1040a0 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 6d 62 ainer_doc_comment?.ContainerMemb
1040c0 65 72 73 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ers.RBRACE</span>.<span.class="l
1040e0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
104100 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 54 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ContainerDeclType</span>.<span.c
104120 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 73 74 lass="line">....&lt;-.KEYWORD_st
104140 72 75 63 74 20 28 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 29 3f 3c 2f 73 70 61 6e ruct.(LPAREN.Expr.RPAREN)?</span
104160 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 >.<span.class="line">...../.KEYW
104180 4f 52 44 5f 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ORD_opaque</span>.<span.class="l
1041a0 69 6e 65 22 3e 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 ine">...../.KEYWORD_enum.(LPAREN
1041c0 20 45 78 70 72 20 52 50 41 52 45 4e 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .Expr.RPAREN)?</span>.<span.clas
1041e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 28 4c s="line">...../.KEYWORD_union.(L
104200 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 70 72 PAREN.(KEYWORD_enum.(LPAREN.Expr
104220 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 3c 2f 73 70 61 6e .RPAREN)?./.Expr).RPAREN)?</span
104240 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >.<span.class="line"></span>.<sp
104260 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 an.class="line">#.Alignment</spa
104280 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 79 74 65 41 6c 69 67 6e 20 n>.<span.class="line">ByteAlign.
1042a0 26 6c 74 3b 2d 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 &lt;-.KEYWORD_align.LPAREN.Expr.
1042c0 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 RPAREN</span>.<span.class="line"
1042e0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 4c 69 ></span>.<span.class="line">#.Li
104300 73 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 64 sts</span>.<span.class="line">Id
104320 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 6d 6d 65 6e 74 3f entifierList.&lt;-.(doc_comment?
104340 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 6f 6d 6d 65 6e 74 .IDENTIFIER.COMMA)*.(doc_comment
104360 3f 20 49 44 45 4e 54 49 46 49 45 52 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ?.IDENTIFIER)?</span>.<span.clas
104380 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s="line"></span>.<span.class="li
1043a0 6e 65 22 3e 53 77 69 74 63 68 50 72 6f 6e 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 77 69 74 63 ne">SwitchProngList.&lt;-.(Switc
1043c0 68 50 72 6f 6e 67 20 43 4f 4d 4d 41 29 2a 20 53 77 69 74 63 68 50 72 6f 6e 67 3f 3c 2f 73 70 61 hProng.COMMA)*.SwitchProng?</spa
1043e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 n>.<span.class="line"></span>.<s
104400 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 70 75 74 4c 69 73 74 20 26 pan.class="line">AsmOutputList.&
104420 6c 74 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 lt;-.(AsmOutputItem.COMMA)*.AsmO
104440 75 74 70 75 74 49 74 65 6d 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c utputItem?</span>.<span.class="l
104460 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ine"></span>.<span.class="line">
104480 41 73 6d 49 6e 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 28 41 73 6d 49 6e 70 75 74 49 74 65 6d AsmInputList.&lt;-.(AsmInputItem
1044a0 20 43 4f 4d 4d 41 29 2a 20 41 73 6d 49 6e 70 75 74 49 74 65 6d 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 .COMMA)*.AsmInputItem?</span>.<s
1044c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
1044e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 72 69 6e 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 54 lass="line">StringList.&lt;-.(ST
104500 52 49 4e 47 4c 49 54 45 52 41 4c 20 43 4f 4d 4d 41 29 2a 20 53 54 52 49 4e 47 4c 49 54 45 52 41 RINGLITERAL.COMMA)*.STRINGLITERA
104520 4c 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 L?</span>.<span.class="line"></s
104540 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 72 61 6d 44 65 63 pan>.<span.class="line">ParamDec
104560 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 20 50 lList.&lt;-.(ParamDecl.COMMA)*.P
104580 61 72 61 6d 44 65 63 6c 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 aramDecl?</span>.<span.class="li
1045a0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 ne"></span>.<span.class="line">E
1045c0 78 70 72 4c 69 73 74 20 26 6c 74 3b 2d 20 28 45 78 70 72 20 43 4f 4d 4d 41 29 2a 20 45 78 70 72 xprList.&lt;-.(Expr.COMMA)*.Expr
1045e0 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 ?</span>.<span.class="line"></sp
104600 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 54 6f 6b an>.<span.class="line">#.***.Tok
104620 65 6e 73 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ens.***</span>.<span.class="line
104640 22 3e 65 6f 66 20 26 6c 74 3b 2d 20 21 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">eof.&lt;-.!.</span>.<span.clas
104660 73 3d 22 6c 69 6e 65 22 3e 62 69 6e 20 26 6c 74 3b 2d 20 5b 30 31 5d 3c 2f 73 70 61 6e 3e 0a 3c s="line">bin.&lt;-.[01]</span>.<
104680 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 69 6e 5f 20 26 6c 74 3b 2d 20 27 5f 27 span.class="line">bin_.&lt;-.'_'
1046a0 3f 20 62 69 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ?.bin</span>.<span.class="line">
1046c0 6f 63 74 20 26 6c 74 3b 2d 20 5b 30 2d 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 oct.&lt;-.[0-7]</span>.<span.cla
1046e0 73 73 3d 22 6c 69 6e 65 22 3e 6f 63 74 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 6f 63 74 3c 2f 73 ss="line">oct_.&lt;-.'_'?.oct</s
104700 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 78 20 26 6c 74 3b pan>.<span.class="line">hex.&lt;
104720 2d 20 5b 30 2d 39 61 2d 66 41 2d 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 -.[0-9a-fA-F]</span>.<span.class
104740 3d 22 6c 69 6e 65 22 3e 68 65 78 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 68 65 78 3c 2f 73 70 61 ="line">hex_.&lt;-.'_'?.hex</spa
104760 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 63 20 26 6c 74 3b 2d 20 n>.<span.class="line">dec.&lt;-.
104780 5b 30 2d 39 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e [0-9]</span>.<span.class="line">
1047a0 64 65 63 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 64 65 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e dec_.&lt;-.'_'?.dec</span>.<span
1047c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .class="line"></span>.<span.clas
1047e0 73 3d 22 6c 69 6e 65 22 3e 62 69 6e 5f 69 6e 74 20 26 6c 74 3b 2d 20 62 69 6e 20 62 69 6e 5f 2a s="line">bin_int.&lt;-.bin.bin_*
104800 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 63 74 5f 69 </span>.<span.class="line">oct_i
104820 6e 74 20 26 6c 74 3b 2d 20 6f 63 74 20 6f 63 74 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nt.&lt;-.oct.oct_*</span>.<span.
104840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 63 5f 69 6e 74 20 26 6c 74 3b 2d 20 64 65 63 20 64 class="line">dec_int.&lt;-.dec.d
104860 65 63 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 ec_*</span>.<span.class="line">h
104880 65 78 5f 69 6e 74 20 26 6c 74 3b 2d 20 68 65 78 20 68 65 78 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 ex_int.&lt;-.hex.hex_*</span>.<s
1048a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pan.class="line"></span>.<span.c
1048c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 38 30 5f 6f 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 lass="line">ox80_oxBF.&lt;-.[\20
1048e0 30 2d 5c 32 37 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 0-\277]</span>.<span.class="line
104900 22 3e 6f 78 46 34 20 26 6c 74 3b 2d 20 27 5c 33 36 34 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">oxF4.&lt;-.'\364'</span>.<span
104920 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 38 30 5f 6f 78 38 46 20 26 6c 74 3b 2d 20 5b 5c .class="line">ox80_ox8F.&lt;-.[\
104940 32 30 30 2d 5c 32 31 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 200-\217]</span>.<span.class="li
104960 6e 65 22 3e 6f 78 46 31 5f 6f 78 46 33 20 26 6c 74 3b 2d 20 5b 5c 33 36 31 2d 5c 33 36 33 5d 3c ne">oxF1_oxF3.&lt;-.[\361-\363]<
104980 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 46 30 20 26 /span>.<span.class="line">oxF0.&
1049a0 6c 74 3b 2d 20 27 5c 33 36 30 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lt;-.'\360'</span>.<span.class="
1049c0 6c 69 6e 65 22 3e 6f 78 39 30 5f 30 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 32 30 2d 5c 32 37 37 line">ox90_0xBF.&lt;-.[\220-\277
1049e0 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 45 ]</span>.<span.class="line">oxEE
104a00 5f 6f 78 45 46 20 26 6c 74 3b 2d 20 5b 5c 33 35 36 2d 5c 33 35 37 5d 3c 2f 73 70 61 6e 3e 0a 3c _oxEF.&lt;-.[\356-\357]</span>.<
104a20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 44 20 26 6c 74 3b 2d 20 27 5c 33 span.class="line">oxED.&lt;-.'\3
104a40 35 35 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 55'</span>.<span.class="line">ox
104a60 38 30 5f 6f 78 39 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 33 37 5d 3c 2f 73 70 61 6e 3e 80_ox9F.&lt;-.[\200-\237]</span>
104a80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 31 5f 6f 78 45 43 20 26 6c .<span.class="line">oxE1_oxEC.&l
104aa0 74 3b 2d 20 5b 5c 33 34 31 2d 5c 33 35 34 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t;-.[\341-\354]</span>.<span.cla
104ac0 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 30 20 26 6c 74 3b 2d 20 27 5c 33 34 30 27 3c 2f 73 70 61 ss="line">oxE0.&lt;-.'\340'</spa
104ae0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 41 30 5f 6f 78 42 46 20 n>.<span.class="line">oxA0_oxBF.
104b00 26 6c 74 3b 2d 20 5b 5c 32 34 30 2d 5c 32 37 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 &lt;-.[\240-\277]</span>.<span.c
104b20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 43 32 5f 6f 78 44 46 20 26 6c 74 3b 2d 20 5b 5c 33 30 lass="line">oxC2_oxDF.&lt;-.[\30
104b40 32 2d 5c 33 33 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 2-\337]</span>.<span.class="line
104b60 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 46 "></span>.<span.class="line">#.F
104b80 72 6f 6d 20 68 74 74 70 73 3a 2f 2f 6c 65 6d 69 72 65 2e 6d 65 2f 62 6c 6f 67 2f 32 30 31 38 2f rom.https://lemire.me/blog/2018/
104ba0 30 35 2f 30 39 2f 68 6f 77 2d 71 75 69 63 6b 6c 79 2d 63 61 6e 2d 79 6f 75 2d 63 68 65 63 6b 2d 05/09/how-quickly-can-you-check-
104bc0 74 68 61 74 2d 61 2d 73 74 72 69 6e 67 2d 69 73 2d 76 61 6c 69 64 2d 75 6e 69 63 6f 64 65 2d 75 that-a-string-is-valid-unicode-u
104be0 74 66 2d 38 2f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e tf-8/</span>.<span.class="line">
104c00 23 20 46 69 72 73 74 20 42 79 74 65 20 20 20 20 20 20 53 65 63 6f 6e 64 20 42 79 74 65 20 20 20 #.First.Byte......Second.Byte...
104c20 20 20 54 68 69 72 64 20 42 79 74 65 20 20 20 20 20 20 46 6f 75 72 74 68 20 42 79 74 65 3c 2f 73 ..Third.Byte......Fourth.Byte</s
104c40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 30 30 2c pan>.<span.class="line">#.[0x00,
104c60 30 78 37 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 0x7F]</span>.<span.class="line">
104c80 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 3c 2f 73 #.[0xC2,0xDF].....[0x80,0xBF]</s
104ca0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 20 20 20 30 78 45 pan>.<span.class="line">#....0xE
104cc0 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 5b 30 78 38 30 2c 0.........[0xA0,0xBF].....[0x80,
104ce0 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 0xBF]</span>.<span.class="line">
104d00 23 20 5b 30 78 45 31 2c 30 78 45 43 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 #.[0xE1,0xEC].....[0x80,0xBF]...
104d20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..[0x80,0xBF]</span>.<span.class
104d40 3d 22 6c 69 6e 65 22 3e 23 20 20 20 20 30 78 45 44 20 20 20 20 20 20 20 20 20 5b 30 78 38 30 2c ="line">#....0xED.........[0x80,
104d60 30 78 39 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 0x9F].....[0x80,0xBF]</span>.<sp
104d80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 45 45 2c 30 78 45 46 5d 20 20 20 an.class="line">#.[0xEE,0xEF]...
104da0 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 5d 3c 2f 73 ..[0x80,0xBF].....[0x80,0xBF]</s
104dc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 20 20 20 30 78 46 pan>.<span.class="line">#....0xF
104de0 30 20 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 0.........[0x90,0xBF].....[0x80,
104e00 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 0xBF].....[0x80,0xBF]</span>.<sp
104e20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 46 31 2c 30 78 46 33 5d 20 20 20 an.class="line">#.[0xF1,0xF3]...
104e40 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 5d 20 20 20 ..[0x80,0xBF].....[0x80,0xBF]...
104e60 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..[0x80,0xBF]</span>.<span.class
104e80 3d 22 6c 69 6e 65 22 3e 23 20 20 20 20 30 78 46 34 20 20 20 20 20 20 20 20 20 5b 30 78 38 30 2c ="line">#....0xF4.........[0x80,
104ea0 30 78 38 46 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 0x8F].....[0x80,0xBF].....[0x80,
104ec0 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 0xBF]</span>.<span.class="line">
104ee0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 62 5f 75 74 </span>.<span.class="line">mb_ut
104f00 66 38 5f 6c 69 74 65 72 61 6c 20 26 6c 74 3b 2d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c f8_literal.&lt;-</span>.<span.cl
104f20 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 6f 78 46 34 20 20 20 20 20 20 6f 78 38 30 ass="line">.......oxF4......ox80
104f40 5f 6f 78 38 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e _ox8F.ox80_oxBF.ox80_oxBF</span>
104f60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 46 31 5f .<span.class="line">...../.oxF1_
104f80 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 6f 78 oxF3.ox80_oxBF.ox80_oxBF.ox80_ox
104fa0 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 BF</span>.<span.class="line">...
104fc0 20 20 2f 20 6f 78 46 30 20 20 20 20 20 20 6f 78 39 30 5f 30 78 42 46 20 6f 78 38 30 5f 6f 78 42 ../.oxF0......ox90_0xBF.ox80_oxB
104fe0 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 F.ox80_oxBF</span>.<span.class="
105000 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 45 45 5f 6f 78 45 46 20 6f 78 38 30 5f 6f 78 42 46 line">...../.oxEE_oxEF.ox80_oxBF
105020 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .ox80_oxBF</span>.<span.class="l
105040 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 45 44 20 20 20 20 20 20 6f 78 38 30 5f 6f 78 39 46 20 ine">...../.oxED......ox80_ox9F.
105060 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ox80_oxBF</span>.<span.class="li
105080 6e 65 22 3e 20 20 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 ne">...../.oxE1_oxEC.ox80_oxBF.o
1050a0 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e x80_oxBF</span>.<span.class="lin
1050c0 65 22 3e 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 e">...../.oxE0......oxA0_oxBF.ox
1050e0 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 80_oxBF</span>.<span.class="line
105100 22 3e 20 20 20 20 20 2f 20 6f 78 43 32 5f 6f 78 44 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 ">...../.oxC2_oxDF.ox80_oxBF</sp
105120 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c an>.<span.class="line"></span>.<
105140 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 73 63 69 69 5f 63 68 61 72 5f 6e 6f 74 span.class="line">ascii_char_not
105160 5f 6e 6c 5f 73 6c 61 73 68 5f 73 71 75 6f 74 65 20 26 6c 74 3b 2d 20 5b 5c 30 30 30 2d 5c 30 31 _nl_slash_squote.&lt;-.[\000-\01
105180 31 5c 30 31 33 2d 5c 30 34 36 2d 5c 30 35 30 2d 5c 31 33 33 5c 31 33 35 2d 5c 31 37 37 5d 3c 2f 1\013-\046-\050-\133\135-\177]</
1051a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
1051c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 68 61 72 5f 65 73 63 61 70 65 3c .<span.class="line">char_escape<
1051e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c /span>.<span.class="line">....&l
105200 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 3c 2f 73 70 61 t;-.&quot;\\x&quot;.hex.hex</spa
105220 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 n>.<span.class="line">...../.&qu
105240 6f 74 3b 5c 5c 75 7b 26 71 75 6f 74 3b 20 68 65 78 2b 20 26 71 75 6f 74 3b 7d 26 71 75 6f 74 3b ot;\\u{&quot;.hex+.&quot;}&quot;
105260 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
105280 2f 20 26 71 75 6f 74 3b 5c 5c 26 71 75 6f 74 3b 20 5b 6e 72 5c 5c 74 27 26 71 75 6f 74 3b 5d 3c /.&quot;\\&quot;.[nr\\t'&quot;]<
1052a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 68 61 72 5f 63 /span>.<span.class="line">char_c
1052c0 68 61 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 har</span>.<span.class="line">..
1052e0 20 20 26 6c 74 3b 2d 20 6d 62 5f 75 74 66 38 5f 6c 69 74 65 72 61 6c 3c 2f 73 70 61 6e 3e 0a 3c ..&lt;-.mb_utf8_literal</span>.<
105300 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 63 68 61 72 5f 65 73 span.class="line">...../.char_es
105320 63 61 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 cape</span>.<span.class="line">.
105340 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 6c 61 73 68 5f 73 71 ..../.ascii_char_not_nl_slash_sq
105360 75 6f 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c uote</span>.<span.class="line"><
105380 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 72 69 6e 67 /span>.<span.class="line">string
1053a0 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e _char</span>.<span.class="line">
1053c0 20 20 20 20 26 6c 74 3b 2d 20 63 68 61 72 5f 65 73 63 61 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ....&lt;-.char_escape</span>.<sp
1053e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 5b 5e 5c 5c 26 71 75 6f 74 an.class="line">...../.[^\\&quot
105400 3b 5c 6e 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ;\n]</span>.<span.class="line"><
105420 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6e 74 61 69 /span>.<span.class="line">contai
105440 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 28 27 2f 2f 21 27 20 5b 5e 5c ner_doc_comment.&lt;-.('//!'.[^\
105460 6e 5d 2a 20 5b 20 5c 6e 5d 2a 20 73 6b 69 70 29 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n]*.[.\n]*.skip)+</span>.<span.c
105480 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 28 27 lass="line">doc_comment.&lt;-.('
1054a0 2f 2f 2f 27 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a 20 73 6b 69 70 29 2b 3c 2f 73 70 61 6e 3e ///'.[^\n]*.[.\n]*.skip)+</span>
1054c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 69 6e 65 5f 63 6f 6d 6d 65 6e 74 .<span.class="line">line_comment
1054e0 20 26 6c 74 3b 2d 20 27 2f 2f 27 20 21 5b 21 2f 5d 5b 5e 5c 6e 5d 2a 20 2f 20 27 2f 2f 2f 2f 27 .&lt;-.'//'.![!/][^\n]*./.'////'
105500 20 5b 5e 5c 6e 5d 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .[^\n]*</span>.<span.class="line
105520 22 3e 6c 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 ">line_string.&lt;-.(&quot;\\\\&
105540 71 75 6f 74 3b 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a 29 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 quot;.[^\n]*.[.\n]*)+</span>.<sp
105560 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6b 69 70 20 26 6c 74 3b 2d 20 28 5b 20 5c 6e an.class="line">skip.&lt;-.([.\n
105580 5d 20 2f 20 6c 69 6e 65 5f 63 6f 6d 6d 65 6e 74 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ]./.line_comment)*</span>.<span.
1055a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 class="line"></span>.<span.class
1055c0 3d 22 6c 69 6e 65 22 3e 43 48 41 52 5f 4c 49 54 45 52 41 4c 20 26 6c 74 3b 2d 20 26 71 75 6f 74 ="line">CHAR_LITERAL.&lt;-.&quot
1055e0 3b 27 26 71 75 6f 74 3b 20 63 68 61 72 5f 63 68 61 72 20 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b ;'&quot;.char_char.&quot;'&quot;
105600 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
105620 46 4c 4f 41 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e FLOAT</span>.<span.class="line">
105640 20 20 20 20 26 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 ....&lt;-.&quot;0x&quot;.hex_int
105660 20 26 71 75 6f 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 .&quot;.&quot;.hex_int.([pP].[-+
105680 5d 3f 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ]?.dec_int)?.skip</span>.<span.c
1056a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 lass="line">...../......dec_int.
1056c0 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 5d &quot;.&quot;.dec_int.([eE].[-+]
1056e0 3f 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ?.dec_int)?.skip</span>.<span.cl
105700 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 30 78 26 71 75 6f 74 3b ass="line">...../.&quot;0x&quot;
105720 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 6e 74 20 73 6b 69 70 .hex_int.[pP].[-+]?.dec_int.skip
105740 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
105760 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 5b 65 45 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e /......dec_int.[eE].[-+]?.dec_in
105780 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 t.skip</span>.<span.class="line"
1057a0 3e 49 4e 54 45 47 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >INTEGER</span>.<span.class="lin
1057c0 65 22 3e 20 20 20 20 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 e">....&lt;-.&quot;0b&quot;.bin_
1057e0 69 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e int.skip</span>.<span.class="lin
105800 65 22 3e 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 e">...../.&quot;0o&quot;.oct_int
105820 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
105840 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 6e 74 20 73 6b ...../.&quot;0x&quot;.hex_int.sk
105860 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ip</span>.<span.class="line">...
105880 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c ../......dec_int...skip</span>.<
1058a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 span.class="line">STRINGLITERALS
1058c0 49 4e 47 4c 45 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 INGLE.&lt;-.&quot;\&quot;&quot;.
1058e0 73 74 72 69 6e 67 5f 63 68 61 72 2a 20 26 71 75 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b string_char*.&quot;\&quot;&quot;
105900 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
105920 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 STRINGLITERAL</span>.<span.class
105940 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 ="line">....&lt;-.STRINGLITERALS
105960 49 4e 47 4c 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e INGLE</span>.<span.class="line">
105980 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 20 20 20 ...../.(line_string.............
1059a0 20 20 20 20 73 6b 69 70 29 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ....skip)+</span>.<span.class="l
1059c0 69 6e 65 22 3e 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ine">IDENTIFIER</span>.<span.cla
1059e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 21 6b 65 79 77 6f 72 64 20 5b 41 2d ss="line">....&lt;-.!keyword.[A-
105a00 5a 61 2d 7a 5f 5d 20 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 5d 2a 20 73 6b 69 70 3c 2f 73 70 61 6e 3e Za-z_].[A-Za-z0-9_]*.skip</span>
105a20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 .<span.class="line">...../.&quot
105a40 3b 40 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 75 ;@\&quot;&quot;.string_char*.&qu
105a60 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ot;\&quot;&quot;................
105a80 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ............skip</span>.<span.cl
105aa0 61 73 73 3d 22 6c 69 6e 65 22 3e 42 55 49 4c 54 49 4e 49 44 45 4e 54 49 46 49 45 52 20 26 6c 74 ass="line">BUILTINIDENTIFIER.&lt
105ac0 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 5b 41 2d 5a 61 2d 7a ;-.&quot;@&quot;[A-Za-z_][A-Za-z
105ae0 30 2d 39 5f 5d 2a 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 0-9_]*.skip</span>.<span.class="
105b00 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
105b20 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 4d 50 45 ></span>.<span.class="line">AMPE
105b40 52 53 41 4e 44 20 20 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 RSAND............&lt;-.'&amp;'..
105b60 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ....![=]......skip</span>.<span.
105b80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 4d 50 45 52 53 41 4e 44 45 51 55 41 4c 20 20 20 20 20 class="line">AMPERSANDEQUAL.....
105ba0 20 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 ..&lt;-.'&amp;='...............s
105bc0 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 kip</span>.<span.class="line">AS
105be0 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 27 20 20 20 20 TERISK.............&lt;-.'*'....
105c00 20 20 21 5b 2a 25 3d 7c 5d 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ..![*%=|]...skip</span>.<span.cl
105c20 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 32 20 20 20 20 20 20 20 20 20 20 20 20 ass="line">ASTERISK2............
105c40 26 6c 74 3b 2d 20 27 2a 2a 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 &lt;-.'**'...............skip</s
105c60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b pan>.<span.class="line">ASTERISK
105c80 45 51 55 41 4c 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 3d 27 20 20 20 20 20 20 20 20 20 EQUAL........&lt;-.'*='.........
105ca0 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ......skip</span>.<span.class="l
105cc0 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 20 20 20 20 20 20 26 6c 74 3b 2d 20 ine">ASTERISKPERCENT......&lt;-.
105ce0 27 2a 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c '*%'.....![=]......skip</span>.<
105d00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e span.class="line">ASTERISKPERCEN
105d20 54 45 51 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 TEQUAL.&lt;-.'*%='..............
105d40 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 skip</span>.<span.class="line">A
105d60 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 27 20 20 STERISKPIPE.........&lt;-.'*|'..
105d80 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ...![=]......skip</span>.<span.c
105da0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 50 49 50 45 45 51 55 41 4c 20 20 20 lass="line">ASTERISKPIPEEQUAL...
105dc0 20 26 6c 74 3b 2d 20 27 2a 7c 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f .&lt;-.'*|='..............skip</
105de0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 41 52 45 54 20 20 span>.<span.class="line">CARET..
105e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5e 27 20 20 20 20 20 20 21 5b 3d ..............&lt;-.'^'......![=
105e20 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ]......skip</span>.<span.class="
105e40 6c 69 6e 65 22 3e 43 41 52 45 54 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d line">CARETEQUAL...........&lt;-
105e60 20 27 5e 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a .'^='...............skip</span>.
105e80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 <span.class="line">COLON........
105ea0 20 20 20 20 20 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 ........&lt;-.':'...............
105ec0 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
105ee0 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 20 COMMA................&lt;-.','..
105f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ..............skip</span>.<span.
105f20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 class="line">DOT................
105f40 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 20 20 73 6b 69 70 3c ..&lt;-.'.'......![*.?]....skip<
105f60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 32 20 20 /span>.<span.class="line">DOT2..
105f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 2e 27 20 20 20 20 20 21 5b ...............&lt;-.'..'.....![
105fa0 2e 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .]......skip</span>.<span.class=
105fc0 22 6c 69 6e 65 22 3e 44 4f 54 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b "line">DOT3.................&lt;
105fe0 2d 20 27 2e 2e 2e 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e -.'...'..............skip</span>
106000 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 41 53 54 45 52 49 53 4b 20 .<span.class="line">DOTASTERISK.
106020 20 20 20 20 20 20 20 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 .........&lt;-.'.*'.............
106040 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..skip</span>.<span.class="line"
106060 3e 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 >DOTQUESTIONMARK......&lt;-.'.?'
106080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ...............skip</span>.<span
1060a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 .class="line">EQUAL.............
1060c0 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 20 20 20 20 73 ...&lt;-.'='......![&gt;=].....s
1060e0 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 51 kip</span>.<span.class="line">EQ
106100 55 41 4c 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 3d 27 20 20 20 UALEQUAL...........&lt;-.'=='...
106120 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ............skip</span>.<span.cl
106140 61 73 73 3d 22 6c 69 6e 65 22 3e 45 51 55 41 4c 52 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 ass="line">EQUALRARROW..........
106160 26 6c 74 3b 2d 20 27 3d 26 67 74 3b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 &lt;-.'=&gt;'...............skip
106180 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 58 43 4c 41 </span>.<span.class="line">EXCLA
1061a0 4d 41 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 21 27 20 20 20 20 20 20 21 MATIONMARK......&lt;-.'!'......!
1061c0 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 [=]......skip</span>.<span.class
1061e0 3d 22 6c 69 6e 65 22 3e 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 51 55 41 4c 20 26 6c 74 ="line">EXCLAMATIONMARKEQUAL.&lt
106200 3b 2d 20 27 21 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e ;-.'!='...............skip</span
106220 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 20 20 20 20 20 >.<span.class="line">LARROW.....
106240 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 5b 26 6c ..........&lt;-.'&lt;'......![&l
106260 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t;=].....skip</span>.<span.class
106280 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 ="line">LARROW2..............&lt
1062a0 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 27 20 20 20 20 20 21 5b 3d 7c 5d 20 20 20 20 20 73 6b 69 70 ;-.'&lt;&lt;'.....![=|].....skip
1062c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f </span>.<span.class="line">LARRO
1062e0 57 32 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 3d W2EQUAL.........&lt;-.'&lt;&lt;=
106300 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e '..............skip</span>.<span
106320 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 32 50 49 50 45 20 20 20 20 20 20 20 .class="line">LARROW2PIPE.......
106340 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 7c 27 20 20 20 20 21 5b 3d 5d 20 20 20 20 ...&lt;-.'&lt;&lt;|'....![=]....
106360 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..skip</span>.<span.class="line"
106380 3e 4c 41 52 52 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 >LARROW2PIPEEQUAL.....&lt;-.'&lt
1063a0 3b 26 6c 74 3b 7c 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e ;&lt;|='.............skip</span>
1063c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 45 51 55 41 4c 20 .<span.class="line">LARROWEQUAL.
1063e0 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 20 .........&lt;-.'&lt;='..........
106400 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .....skip</span>.<span.class="li
106420 6e 65 22 3e 4c 42 52 41 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 ne">LBRACE...............&lt;-.'
106440 7b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 {'................skip</span>.<s
106460 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 42 52 41 43 4b 45 54 20 20 20 20 20 20 20 pan.class="line">LBRACKET.......
106480 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 ......&lt;-.'['................s
1064a0 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 50 kip</span>.<span.class="line">LP
1064c0 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 28 27 20 20 20 20 AREN...............&lt;-.'('....
1064e0 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ............skip</span>.<span.cl
106500 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ass="line">MINUS................
106520 26 6c 74 3b 2d 20 27 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 &lt;-.'-'......![%=&gt;|]...skip
106540 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 </span>.<span.class="line">MINUS
106560 45 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 EQUAL...........&lt;-.'-='......
106580 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .........skip</span>.<span.class
1065a0 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 26 6c 74 ="line">MINUSPERCENT.........&lt
1065c0 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 3c 2f 73 70 61 6e ;-.'-%'.....![=]......skip</span
1065e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 50 45 52 43 45 4e >.<span.class="line">MINUSPERCEN
106600 54 45 51 55 41 4c 20 20 20 20 26 6c 74 3b 2d 20 27 2d 25 3d 27 20 20 20 20 20 20 20 20 20 20 20 TEQUAL....&lt;-.'-%='...........
106620 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ...skip</span>.<span.class="line
106640 22 3e 4d 49 4e 55 53 50 49 50 45 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 7c ">MINUSPIPE............&lt;-.'-|
106660 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 '.....![=]......skip</span>.<spa
106680 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 50 49 50 45 45 51 55 41 4c 20 20 20 n.class="line">MINUSPIPEEQUAL...
1066a0 20 20 20 20 26 6c 74 3b 2d 20 27 2d 7c 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 ....&lt;-.'-|='..............ski
1066c0 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 p</span>.<span.class="line">MINU
1066e0 53 52 41 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 SRARROW..........&lt;-.'-&gt;'..
106700 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .............skip</span>.<span.c
106720 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 20 20 20 lass="line">PERCENT.............
106740 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 70 3c 2f .&lt;-.'%'......![=]......skip</
106760 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 45 52 43 45 4e 54 span>.<span.class="line">PERCENT
106780 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 25 3d 27 20 20 20 20 20 20 20 20 EQUAL.........&lt;-.'%='........
1067a0 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .......skip</span>.<span.class="
1067c0 6c 69 6e 65 22 3e 50 49 50 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d line">PIPE.................&lt;-
1067e0 20 27 7c 27 20 20 20 20 20 20 21 5b 7c 3d 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a .'|'......![|=].....skip</span>.
106800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 49 50 45 32 20 20 20 20 20 20 20 20 <span.class="line">PIPE2........
106820 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7c 7c 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.'||'..............
106840 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
106860 50 49 50 45 45 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 PIPEEQUAL............&lt;-.'|='.
106880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ..............skip</span>.<span.
1068a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 class="line">PLUS...............
1068c0 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 3c ..&lt;-.'+'......![%+=|]...skip<
1068e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 32 20 /span>.<span.class="line">PLUS2.
106900 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 20 20 20 20 20 20 20 ...............&lt;-.'++'.......
106920 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ........skip</span>.<span.class=
106940 22 6c 69 6e 65 22 3e 50 4c 55 53 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b "line">PLUSEQUAL............&lt;
106960 2d 20 27 2b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e -.'+='...............skip</span>
106980 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 50 45 52 43 45 4e 54 20 .<span.class="line">PLUSPERCENT.
1069a0 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 .........&lt;-.'+%'.....![=]....
1069c0 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..skip</span>.<span.class="line"
1069e0 3e 50 4c 55 53 50 45 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 >PLUSPERCENTEQUAL.....&lt;-.'+%=
106a00 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e '..............skip</span>.<span
106a20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 50 49 50 45 20 20 20 20 20 20 20 20 20 20 .class="line">PLUSPIPE..........
106a40 20 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 ...&lt;-.'+|'.....![=]......skip
106a60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 50 </span>.<span.class="line">PLUSP
106a80 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 20 20 20 20 20 IPEEQUAL........&lt;-.'+|='.....
106aa0 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .........skip</span>.<span.class
106ac0 3d 22 6c 69 6e 65 22 3e 4c 45 54 54 45 52 43 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 ="line">LETTERC..............&lt
106ae0 3b 2d 20 27 63 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e ;-.'c'................skip</span
106b00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 51 55 45 53 54 49 4f 4e 4d 41 52 >.<span.class="line">QUESTIONMAR
106b20 4b 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3f 27 20 20 20 20 20 20 20 20 20 20 20 20 20 K.........&lt;-.'?'.............
106b40 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ...skip</span>.<span.class="line
106b60 22 3e 52 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 ">RARROW...............&lt;-.'&g
106b80 74 3b 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e t;'......![&gt;=].....skip</span
106ba0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f 57 32 20 20 20 20 >.<span.class="line">RARROW2....
106bc0 20 20 20 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 ..........&lt;-.'&gt;&gt;'.....!
106be0 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 [=]......skip</span>.<span.class
106c00 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f 57 32 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 ="line">RARROW2EQUAL.........&lt
106c20 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 6b 69 70 ;-.'&gt;&gt;='..............skip
106c40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f </span>.<span.class="line">RARRO
106c60 57 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 3d 27 20 20 20 WEQUAL..........&lt;-.'&gt;='...
106c80 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ............skip</span>.<span.cl
106ca0 61 73 73 3d 22 6c 69 6e 65 22 3e 52 42 52 41 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ass="line">RBRACE...............
106cc0 26 6c 74 3b 2d 20 27 7d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 &lt;-.'}'................skip</s
106ce0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 42 52 41 43 4b 45 54 pan>.<span.class="line">RBRACKET
106d00 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5d 27 20 20 20 20 20 20 20 20 20 20 .............&lt;-.']'..........
106d20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ......skip</span>.<span.class="l
106d40 69 6e 65 22 3e 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 ine">RPAREN...............&lt;-.
106d60 27 29 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c ')'................skip</span>.<
106d80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 45 4d 49 43 4f 4c 4f 4e 20 20 20 20 20 span.class="line">SEMICOLON.....
106da0 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 20 .......&lt;-.';'................
106dc0 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 skip</span>.<span.class="line">S
106de0 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 20 27 2f 27 20 20 20 LASH................&lt;-.'/'...
106e00 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ...![=]......skip</span>.<span.c
106e20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 4c 41 53 48 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 lass="line">SLASHEQUAL..........
106e40 20 26 6c 74 3b 2d 20 27 2f 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f .&lt;-.'/='...............skip</
106e60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 49 4c 44 45 20 20 span>.<span.class="line">TILDE..
106e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7e 27 20 20 20 20 20 20 20 20 20 ..............&lt;-.'~'.........
106ea0 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .......skip</span>.<span.class="
106ec0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 line"></span>.<span.class="line"
106ee0 3e 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 >end_of_word.&lt;-.![a-zA-Z0-9_]
106f00 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .skip</span>.<span.class="line">
106f20 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 61 64 64 72 73 KEYWORD_addrspace...&lt;-.'addrs
106f40 70 61 63 65 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pace'...end_of_word</span>.<span
106f60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 20 20 20 20 .class="line">KEYWORD_align.....
106f80 20 20 26 6c 74 3b 2d 20 27 61 6c 69 67 6e 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 ..&lt;-.'align'.......end_of_wor
106fa0 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 d</span>.<span.class="line">KEYW
106fc0 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 20 20 26 6c 74 3b 2d 20 27 61 6c 6c 6f 77 7a 65 72 6f ORD_allowzero...&lt;-.'allowzero
106fe0 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 '...end_of_word</span>.<span.cla
107000 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6e 64 20 20 20 20 20 20 20 20 20 26 6c ss="line">KEYWORD_and.........&l
107020 74 3b 2d 20 27 61 6e 64 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 t;-.'and'.........end_of_word</s
107040 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f pan>.<span.class="line">KEYWORD_
107060 61 6e 79 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 anyframe....&lt;-.'anyframe'....
107080 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 end_of_word</span>.<span.class="
1070a0 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 20 20 20 20 26 6c 74 3b 2d 20 line">KEYWORD_anytype.....&lt;-.
1070c0 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 3c 2f 73 70 61 6e 3e 'anytype'.....end_of_word</span>
1070e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 73 6d 20 .<span.class="line">KEYWORD_asm.
107100 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 73 6d 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f ........&lt;-.'asm'.........end_
107120 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 of_word</span>.<span.class="line
107140 22 3e 4b 45 59 57 4f 52 44 5f 61 73 79 6e 63 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 73 79 ">KEYWORD_async.......&lt;-.'asy
107160 6e 63 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 nc'.......end_of_word</span>.<sp
107180 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 20 20 20 an.class="line">KEYWORD_await...
1071a0 20 20 20 20 26 6c 74 3b 2d 20 27 61 77 61 69 74 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 ....&lt;-.'await'.......end_of_w
1071c0 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 ord</span>.<span.class="line">KE
1071e0 59 57 4f 52 44 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 YWORD_break.......&lt;-.'break'.
107200 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ......end_of_word</span>.<span.c
107220 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 20 20 20 lass="line">KEYWORD_callconv....
107240 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 3c &lt;-.'callconv'....end_of_word<
107260 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 /span>.<span.class="line">KEYWOR
107280 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 68 27 20 20 20 20 20 D_catch.......&lt;-.'catch'.....
1072a0 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..end_of_word</span>.<span.class
1072c0 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 20 20 20 26 6c 74 3b ="line">KEYWORD_comptime....&lt;
1072e0 2d 20 27 63 6f 6d 70 74 69 6d 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 -.'comptime'....end_of_word</spa
107300 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 6f n>.<span.class="line">KEYWORD_co
107320 6e 73 74 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6e 73 74 27 20 20 20 20 20 20 20 65 6e nst.......&lt;-.'const'.......en
107340 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d_of_word</span>.<span.class="li
107360 6e 65 22 3e 4b 45 59 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 ne">KEYWORD_continue....&lt;-.'c
107380 6f 6e 74 69 6e 75 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c ontinue'....end_of_word</span>.<
1073a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 span.class="line">KEYWORD_defer.
1073c0 20 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 ......&lt;-.'defer'.......end_of
1073e0 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e _word</span>.<span.class="line">
107400 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 65 6c 73 65 27 KEYWORD_else........&lt;-.'else'
107420 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ........end_of_word</span>.<span
107440 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 20 20 20 20 20 .class="line">KEYWORD_enum......
107460 20 20 26 6c 74 3b 2d 20 27 65 6e 75 6d 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 ..&lt;-.'enum'........end_of_wor
107480 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 d</span>.<span.class="line">KEYW
1074a0 4f 52 44 5f 65 72 72 64 65 66 65 72 20 20 20 20 26 6c 74 3b 2d 20 27 65 72 72 64 65 66 65 72 27 ORD_errdefer....&lt;-.'errdefer'
1074c0 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ....end_of_word</span>.<span.cla
1074e0 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 20 20 20 20 20 20 26 6c ss="line">KEYWORD_error.......&l
107500 74 3b 2d 20 27 65 72 72 6f 72 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 t;-.'error'.......end_of_word</s
107520 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f pan>.<span.class="line">KEYWORD_
107540 65 78 70 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 export......&lt;-.'export'......
107560 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 end_of_word</span>.<span.class="
107580 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 20 20 20 20 20 26 6c 74 3b 2d 20 line">KEYWORD_extern......&lt;-.
1075a0 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 3c 2f 73 70 61 6e 3e 'extern'......end_of_word</span>
1075c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 66 6e 20 20 .<span.class="line">KEYWORD_fn..
1075e0 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 6e 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f ........&lt;-.'fn'..........end_
107600 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 of_word</span>.<span.class="line
107620 22 3e 4b 45 59 57 4f 52 44 5f 66 6f 72 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 6f 72 ">KEYWORD_for.........&lt;-.'for
107640 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 '.........end_of_word</span>.<sp
107660 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 69 66 20 20 20 20 20 20 an.class="line">KEYWORD_if......
107680 20 20 20 20 26 6c 74 3b 2d 20 27 69 66 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 ....&lt;-.'if'..........end_of_w
1076a0 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 ord</span>.<span.class="line">KE
1076c0 59 57 4f 52 44 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 YWORD_inline......&lt;-.'inline'
1076e0 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ......end_of_word</span>.<span.c
107700 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 20 20 20 20 lass="line">KEYWORD_noalias.....
107720 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 3c &lt;-.'noalias'.....end_of_word<
107740 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 /span>.<span.class="line">KEYWOR
107760 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 73 70 65 6e 64 27 20 D_nosuspend...&lt;-.'nosuspend'.
107780 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..end_of_word</span>.<span.class
1077a0 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 20 20 20 20 26 6c 74 3b ="line">KEYWORD_noinline....&lt;
1077c0 2d 20 27 6e 6f 69 6e 6c 69 6e 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 -.'noinline'....end_of_word</spa
1077e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6f 70 n>.<span.class="line">KEYWORD_op
107800 61 71 75 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 70 61 71 75 65 27 20 20 20 20 20 20 65 6e aque......&lt;-.'opaque'......en
107820 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d_of_word</span>.<span.class="li
107840 6e 65 22 3e 4b 45 59 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 ne">KEYWORD_or..........&lt;-.'o
107860 72 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c r'..........end_of_word</span>.<
107880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 span.class="line">KEYWORD_orelse
1078a0 20 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 ......&lt;-.'orelse'......end_of
1078c0 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e _word</span>.<span.class="line">
1078e0 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 70 61 63 6b 65 KEYWORD_packed......&lt;-.'packe
107900 64 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e d'......end_of_word</span>.<span
107920 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 70 75 62 20 20 20 20 20 20 20 .class="line">KEYWORD_pub.......
107940 20 20 26 6c 74 3b 2d 20 27 70 75 62 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 ..&lt;-.'pub'.........end_of_wor
107960 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 d</span>.<span.class="line">KEYW
107980 4f 52 44 5f 72 65 73 75 6d 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 72 65 73 75 6d 65 27 20 20 ORD_resume......&lt;-.'resume'..
1079a0 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ....end_of_word</span>.<span.cla
1079c0 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 72 65 74 75 72 6e 20 20 20 20 20 20 26 6c ss="line">KEYWORD_return......&l
1079e0 74 3b 2d 20 27 72 65 74 75 72 6e 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 t;-.'return'......end_of_word</s
107a00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f pan>.<span.class="line">KEYWORD_
107a20 6c 69 6e 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 linksection.&lt;-.'linksection'.
107a40 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 end_of_word</span>.<span.class="
107a60 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 20 20 20 20 20 20 26 6c 74 3b 2d 20 line">KEYWORD_struct......&lt;-.
107a80 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 3c 2f 73 70 61 6e 3e 'struct'......end_of_word</span>
107aa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 73 75 73 70 .<span.class="line">KEYWORD_susp
107ac0 65 6e 64 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 75 73 70 65 6e 64 27 20 20 20 20 20 65 6e 64 5f end.....&lt;-.'suspend'.....end_
107ae0 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 of_word</span>.<span.class="line
107b00 22 3e 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 77 69 ">KEYWORD_switch......&lt;-.'swi
107b20 74 63 68 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tch'......end_of_word</span>.<sp
107b40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 74 65 73 74 20 20 20 20 an.class="line">KEYWORD_test....
107b60 20 20 20 20 26 6c 74 3b 2d 20 27 74 65 73 74 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 ....&lt;-.'test'........end_of_w
107b80 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 ord</span>.<span.class="line">KE
107ba0 59 57 4f 52 44 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 YWORD_threadlocal.&lt;-.'threadl
107bc0 6f 63 61 6c 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ocal'.end_of_word</span>.<span.c
107be0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 74 72 79 20 20 20 20 20 20 20 20 20 lass="line">KEYWORD_try.........
107c00 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 3c &lt;-.'try'.........end_of_word<
107c20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 /span>.<span.class="line">KEYWOR
107c40 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 6e 27 20 20 20 20 20 D_union.......&lt;-.'union'.....
107c60 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..end_of_word</span>.<span.class
107c80 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 20 26 6c 74 3b ="line">KEYWORD_unreachable.&lt;
107ca0 2d 20 27 75 6e 72 65 61 63 68 61 62 6c 65 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 -.'unreachable'.end_of_word</spa
107cc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 75 73 n>.<span.class="line">KEYWORD_us
107ce0 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 26 6c 74 3b 2d 20 27 75 73 69 6e 67 6e 61 6d 65 73 70 61 ingnamespace.&lt;-.'usingnamespa
107d00 63 65 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ce'.end_of_word</span>.<span.cla
107d20 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 76 61 72 20 20 20 20 20 20 20 20 20 26 6c ss="line">KEYWORD_var.........&l
107d40 74 3b 2d 20 27 76 61 72 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 t;-.'var'.........end_of_word</s
107d60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f pan>.<span.class="line">KEYWORD_
107d80 76 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 volatile....&lt;-.'volatile'....
107da0 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 end_of_word</span>.<span.class="
107dc0 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 line">KEYWORD_while.......&lt;-.
107de0 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 3c 2f 73 70 61 6e 3e 'while'.......end_of_word</span>
107e00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .<span.class="line"></span>.<spa
107e20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6b 65 79 77 6f 72 64 20 26 6c 74 3b 2d 20 4b 45 59 n.class="line">keyword.&lt;-.KEY
107e40 57 4f 52 44 5f 61 64 64 72 73 70 61 63 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 2f WORD_addrspace./.KEYWORD_align./
107e60 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 64 .KEYWORD_allowzero./.KEYWORD_and
107e80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
107ea0 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 20 2f 20 4b 45 59 57 4f 52 44 ..../.KEYWORD_anyframe./.KEYWORD
107ec0 5f 61 6e 79 74 79 70 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 2f 20 4b 45 59 57 4f 52 44 _anytype./.KEYWORD_asm./.KEYWORD
107ee0 5f 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 _async</span>.<span.class="line"
107f00 3e 20 20 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 >........./.KEYWORD_await./.KEYW
107f20 4f 52 44 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 ORD_break./.KEYWORD_callconv./.K
107f40 45 59 57 4f 52 44 5f 63 61 74 63 68 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d EYWORD_catch</span>.<span.class=
107f60 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 "line">........./.KEYWORD_compti
107f80 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 63 6f 6e me./.KEYWORD_const./.KEYWORD_con
107fa0 74 69 6e 75 65 20 2f 20 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tinue./.KEYWORD_defer</span>.<sp
107fc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f an.class="line">........./.KEYWO
107fe0 52 44 5f 65 6c 73 65 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 2f 20 4b 45 59 57 4f 52 44 RD_else./.KEYWORD_enum./.KEYWORD
108000 5f 65 72 72 64 65 66 65 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 2f 20 4b 45 59 57 _errdefer./.KEYWORD_error./.KEYW
108020 4f 52 44 5f 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ORD_export</span>.<span.class="l
108040 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 2f ine">........./.KEYWORD_extern./
108060 20 4b 45 59 57 4f 52 44 5f 66 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 6f 72 20 2f 20 4b 45 59 57 .KEYWORD_fn./.KEYWORD_for./.KEYW
108080 4f 52 44 5f 69 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ORD_if</span>.<span.class="line"
1080a0 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 2f 20 4b 45 59 >........./.KEYWORD_inline./.KEY
1080c0 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 WORD_noalias./.KEYWORD_nosuspend
1080e0 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ./.KEYWORD_noinline</span>.<span
108100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 .class="line">........./.KEYWORD
108120 5f 6f 70 61 71 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 _opaque./.KEYWORD_or./.KEYWORD_o
108140 72 65 6c 73 65 20 2f 20 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 relse./.KEYWORD_packed</span>.<s
108160 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 pan.class="line">........./.KEYW
108180 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 4f ORD_pub./.KEYWORD_resume./.KEYWO
1081a0 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 3c RD_return./.KEYWORD_linksection<
1081c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
1081e0 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 57 4f 52 44 5f 73 75 .../.KEYWORD_struct./.KEYWORD_su
108200 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 4b 45 59 57 4f 52 44 spend./.KEYWORD_switch./.KEYWORD
108220 5f 74 65 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e _test</span>.<span.class="line">
108240 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 20 2f ........./.KEYWORD_threadlocal./
108260 20 4b 45 59 57 4f 52 44 5f 74 72 79 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 2f 20 4b .KEYWORD_try./.KEYWORD_union./.K
108280 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 EYWORD_unreachable</span>.<span.
1082a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f class="line">........./.KEYWORD_
1082c0 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 2f 20 4b 45 59 57 4f 52 44 5f 76 61 72 20 2f 20 4b usingnamespace./.KEYWORD_var./.K
1082e0 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 3c EYWORD_volatile./.KEYWORD_while<
108300 2f 73 70 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 0a 20 20 20 /span></code></pre></figure>....
108320 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 5a 65 6e 22 3e 3c 61 20 68 72 65 66 3d 22 ..........<h3.id="Zen"><a.href="
108340 23 74 6f 63 2d 5a 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 #toc-Zen">Zen</a>.<a.class="hdr"
108360 20 68 72 65 66 3d 22 23 5a 65 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 .href="#Zen">..</a></h3>........
108380 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 6d 75 6e 69 63 61 74 65 20 69 6e 74 <ul>.........<li>Communicate.int
1083a0 65 6e 74 20 70 72 65 63 69 73 65 6c 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e ent.precisely.</li>.........<li>
1083c0 45 64 67 65 20 63 61 73 65 73 20 6d 61 74 74 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 Edge.cases.matter.</li>.........
1083e0 3c 6c 69 3e 46 61 76 6f 72 20 72 65 61 64 69 6e 67 20 63 6f 64 65 20 6f 76 65 72 20 77 72 69 74 <li>Favor.reading.code.over.writ
108400 69 6e 67 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 ing.code.</li>.........<li>Only.
108420 6f 6e 65 20 6f 62 76 69 6f 75 73 20 77 61 79 20 74 6f 20 64 6f 20 74 68 69 6e 67 73 2e 3c 2f 6c one.obvious.way.to.do.things.</l
108440 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 75 6e 74 69 6d 65 20 63 72 61 73 68 65 73 20 61 i>.........<li>Runtime.crashes.a
108460 72 65 20 62 65 74 74 65 72 20 74 68 61 6e 20 62 75 67 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 re.better.than.bugs.</li>.......
108480 20 20 3c 6c 69 3e 43 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 20 61 72 65 20 62 65 74 74 65 72 20 ..<li>Compile.errors.are.better.
1084a0 74 68 61 6e 20 72 75 6e 74 69 6d 65 20 63 72 61 73 68 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 than.runtime.crashes.</li>......
1084c0 20 20 20 3c 6c 69 3e 49 6e 63 72 65 6d 65 6e 74 61 6c 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e ...<li>Incremental.improvements.
1084e0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 76 6f 69 64 20 6c 6f 63 61 6c 20 6d 61 </li>.........<li>Avoid.local.ma
108500 78 69 6d 75 6d 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 64 75 63 65 20 ximums.</li>.........<li>Reduce.
108520 74 68 65 20 61 6d 6f 75 6e 74 20 6f 6e 65 20 6d 75 73 74 20 72 65 6d 65 6d 62 65 72 2e 3c 2f 6c the.amount.one.must.remember.</l
108540 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 6f 63 75 73 20 6f 6e 20 63 6f 64 65 20 72 61 74 i>.........<li>Focus.on.code.rat
108560 68 65 72 20 74 68 61 6e 20 73 74 79 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 her.than.style.</li>.........<li
108580 3e 52 65 73 6f 75 72 63 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 6d 61 79 20 66 61 69 6c 3b 20 72 >Resource.allocation.may.fail;.r
1085a0 65 73 6f 75 72 63 65 20 64 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 6d 75 73 74 20 73 75 63 63 65 65 esource.deallocation.must.succee
1085c0 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 65 6d 6f 72 79 20 69 73 20 61 20 d.</li>.........<li>Memory.is.a.
1085e0 72 65 73 6f 75 72 63 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 67 65 74 resource.</li>.........<li>Toget
108600 68 65 72 20 77 65 20 73 65 72 76 65 20 74 68 65 20 75 73 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 her.we.serve.the.users.</li>....
108620 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 2f 6d ...</ul>.....................</m
108640 61 69 6e 3e 3c 2f 64 69 76 3e 0a 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a ain></div>.....</div>...</body>.
108660 3c 2f 68 74 6d 6c 3e 0a 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 6f 61 ab 2c 14 00 00 00 </html>.PK............!Roa.,....
108680 14 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6d 69 6d 65 74 79 70 65 50 4b ......................mimetypePK
1086a0 01 02 14 00 14 00 00 00 00 00 00 00 21 52 6f 92 d0 0a fc 00 00 00 fc 00 00 00 16 00 00 00 00 00 ............!Ro.................
1086c0 00 00 00 00 00 00 00 00 3a 00 00 00 4d 45 54 41 2d 49 4e 46 2f 63 6f 6e 74 61 69 6e 65 72 2e 78 ........:...META-INF/container.x
1086e0 6d 6c 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 af 51 13 00 c4 02 00 00 c4 02 00 00 11 00 mlPK............!R.Q............
108700 00 00 00 00 00 00 00 00 00 00 00 00 6a 01 00 00 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 ............j...OEBPS/content.op
108720 66 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 77 35 16 6e 84 86 00 00 84 86 00 00 0f 00 00 fPK............!Rw5.n...........
108740 00 00 00 00 00 00 00 00 00 00 00 5d 04 00 00 4f 45 42 50 53 2f 6e 61 76 2e 78 68 74 6d 6c 50 4b ...........]...OEBPS/nav.xhtmlPK
108760 01 02 14 00 14 00 00 00 00 00 00 00 21 52 5d 01 15 db 2b fb 0f 00 2b fb 0f 00 11 00 00 00 00 00 ............!R]...+...+.........
108780 00 00 00 00 00 00 00 00 0e 8b 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 6d 6c 50 4b 05 ............OEBPS/index.xhtmlPK.
1087a0 06 00 00 00 00 05 00 05 00 35 01 00 00 68 86 10 00 00 00 .........5...h.....